기술 뉴스를 보다 보면 흔히 “하루가 멀다 하고 또 보안 침해 사고가 터지는구나”라는 생각이 듭니다. 그런데 최근에는 보안 침해가 API 공격의 형태로 발생하는 경우가 점점 늘고 있습니다. 운동을 하며 잠시 쉬는 동안에도 안심할 수 없습니다. 최근 한 보안 연구원이 실내 자전거 업체인 Peloton의 API가 인증되지 않은 요청에도 사용자의 비공개 계정 데이터를 제공한다는 사실을 발견했습니다!
F5의 2021년 애플리케이션 전략 현황 보고서에 따르면, 응답자의 58%가 애플리케이션 현대화를 위해 API 계층을 구축하고 있다고 답했습니다. DevOps, 클라우드 및 마이크로서비스가 부상함에 따라 애플리케이션과 이를 뒷받침하는 API는 다음을 포함하되 이에 국한되지 않는 분산 환경 전반에서 지원되어야 합니다.
- 온프레미스, 클라우드 및 하이브리드 환경
- 개발, 테스트, 스테이징, 샌드박스 및 프로덕션 환경
- 내부 API를 통해 개발자 간 협업을 촉진하고 데이터 사일로를 해소
- 고객, 파트너 및 서드 파티 개발자에게 공개되는 외부 API
API 게이트웨이는 요청을 라우팅하고 API 클라이언트를 인증 및 승인하며 속도 제한을 적용함으로써 API 트래픽을 중재하고, API 기반 서비스를 과부하로부터 보호합니다. 많은 NGINX 고객이 앞서 언급한 다양한 분산 환경에 API 게이트웨이를 성공적으로 배포했지만, 동시에 API가 새로운 공격 벡터로 부상하는 상황을 목격했습니다. F5의 「2021년 애플리케이션 보호 보고서」에 따르면, API 사고의 약 3분의 2는 API가 완전히 노출되어 인증 또는 승인 메커니즘이 전혀 없었기 때문에 발생했습니다.
The NGINX Controller API 관리 모듈은 다음을 비롯하여 API를 보호하기 위한 다양한 메커니즘을 제공합니다:
- 요청 속도 제한 – 요청 속도 제한 정책은 일정 기간 동안 API 게이트웨이가 각 API 클라이언트로부터 수락하는 요청 수를 제한하여 API에 과도한 부하가 걸리지 않도록 보호하고 DDoS 공격을 완화합니다. 이는 리소스 부족 및 요청 속도 제한 미흡(API4) 취약점에 대응하는 데 도움이 됩니다. 이 취약점은 OWASP API 보안 10대 위험 2019에 포함되어 있습니다.
- 인증 및 권한 부여 – 인증 및 권한 부여 메커니즘은 적절한 액세스 권한이 있는 클라이언트만 API를 사용할 수 있도록 보장합니다. 이러한 메커니즘 중 하나는 JSON 웹 토큰(JWT)의 클레임입니다. 이는 OWASP API 보안 10대 위험 2019에 포함된 세 가지 취약점을 해결하는 데 도움이 됩니다. 객체 수준 권한 부여 취약점(API1), 사용자 인증 취약점(API2), 기능 수준 권한 부여 취약점(API5)입니다.
API 관리를 위한 NGINX Controller App Security 애드온 소개
이제 NGINX Controller API Management Module용 NGINX Controller App Security 애드온을 통해 API 보안을 한층 더 강화할 수 있습니다.
모든 환경에서의 분산형 API 보안
Controller App Security를 사용하면 이제 웹 애플리케이션 방화벽(WAF)을 배포하여 멀티 클라우드 분산 환경 전반에서 API를 보호할 수 있습니다. 이 애드온을 통해 퍼블릭 클라우드, 프라이빗 클라우드, 베어메탈, VM 또는 컨테이너 등 어디에나 배포된 NGINX API 게이트웨이에 강력한 보안 기능을 원활하게 통합할 수 있습니다.

NGINX의 ‘핵심 가치’에 충실한 Controller App Security는 가볍고 플랫폼에 구애받지 않으며 높은 성능을 제공합니다. 이러한 고성능은 어떻게 구현될까요? WAF가 NGINX API 게이트웨이와 같은 위치에 배치되므로 API 트래픽의 홉이 하나 줄어들어 지연 시간과 복잡성이 모두 감소합니다. 이는 WAF와 통합되지 않는 일반적인 API 관리 솔루션과는 확연히 다릅니다. 일반적인 솔루션에서는 WAF를 별도로 배포해야 하며, 설정이 완료된 후에도 API 트래픽이 WAF와 API 게이트웨이를 각각 거쳐야 합니다. Controller App Security는 긴밀한 통합을 통해 보안을 저해하지 않으면서도 높은 성능을 제공합니다.
F5의 검증된 보안 전문성을 기반으로 하는 Controller App Security는 OWASP API Security Top 10 취약점뿐만 아니라 SQL 인젝션 및 원격 명령 실행(RCE)과 같은 일반적인 취약점도 즉시 방어합니다. 이 애드온은 잘못된 형식의 쿠키, JSON 및 XML을 검사하고, 허용된 파일 형식과 응답 상태 코드도 검증합니다. 또한 HTTP RFC 준수를 보장하고 공격을 은폐하는 데 사용되는 회피 기법을 탐지합니다.
향상된 가시성 및 분석
Controller App Security는 다양한 공격 유형에 관한 여러 메트릭과 인사이트를 제공합니다. 여기에는 주요 WAF 위협 및 표적이 된 API, 오탐 조사에 사용되는 주요 시그니처, WAF 처리 결과 통계, WAF 위반 이벤트가 포함됩니다. 이러한 수준의 가시성은 OWASP API Security Top 10 2019의 불충분한 로깅 및 모니터링 취약점(API10)을 해결하는 데 도움이 됩니다.
다음 스크린샷은 추적할 수 있는 여러 메트릭 중 일부를 보여줍니다:
- 지난 3시간 동안 발생한 특정 위반 유형의 건수를 전날 같은 시간대와 비교합니다.

- 지난 3시간 동안 API 트래픽에 적용된 시행 모드.

- 지난 6시간 동안 가장 많이 발생한 공격 유형입니다.

- 지난 30분 동안의 보안 이벤트 로그.

유연하고 세밀하게 조정된 정책
Controller App Security를 사용하면 보안 정책을 유연하고 세밀하게 제어할 수 있습니다. 이 스크린샷에서 볼 수 있듯이 차단 모드와 모니터링 전용 적용 모드를 모두 설정할 수 있습니다. 모니터링 전용 모드에서는 악성 트래픽이 로그에 기록되지만 API 서버로 계속 전달됩니다. 또한 오탐을 줄이기 위해 기본 시그니처를 비활성화할 수도 있습니다.

이 스크린샷에는 가장 많은 API 호출을 차단하는 시그니처 목록이 표시됩니다. 이 정보를 활용하면 오탐을 줄이기 위해 조정해야 할 시그니처의 우선순위를 정할 수 있습니다.

DevOps 친화적인 API 보안
Controller App Security를 사용하면 셀프서비스를 지원하고 보안 팀과 DevOps 팀 간의 운영 병목 현상을 해소하는 동시에 자동화를 지원하고 WAF를 CI/CD 파이프라인에 기본 통합하여 DevOps 역량을 강화할 수 있습니다. 이러한 기능은 시프트 레프트 운동을 촉진합니다. 이는 개발자와 DevOps 팀이 보안을 CI/CD 파이프라인에 통합하여 소프트웨어 개발 주기 초기 단계(특히 테스트 단계)에 적용하는 방식입니다. API 보안은 나중에 덧붙이는 요소가 아니라 API 개발 프로세스의 필수 요소로 취급되므로 프로덕션 환경에서 발생하는 문제가 줄어듭니다.
API Management용 NGINX Controller App Security를 사용해 보고 싶으신가요? 30일 무료 평가판을 다운로드하세요 또는 API 보안 요구 사항에 대해 논의하려면 문의해 주세요.
작성자 소개

관련 블로그 게시물
시청하기: KubeCon North America 2023에서의 NGINX Gateway Fabric
이 영상에서는 KubeCon의 NGINX 부스를 찾아가, 저희가 공개한 Kubernetes Gateway API 구현을 살펴봅니다.
F5 NGINX로 대규모 WAF 플릿을 확인하고 관리하는 2가지 방법
앱 보안을 강화하는 두 가지 방법을 소개합니다. NGINX Management Suite를 통해 WAF 운영에 대한 가시성을 높이고, NGINX App Protect WAF를 활용해 코드형 보안을 구현하는 것입니다.
Ingress 컨트롤러 선택 가이드, 4부: NGINX Ingress Controller 옵션
개발 주체, 개발 철학, 프로덕션 환경 준비도, 보안 및 지원을 기준으로 어떤 NGINX Ingress 컨트롤러가 가장 적합한지 알아보세요.
진화하는 공격 환경에 NGINX App Protect Denial of Service가 적응하는 방법
NGINX App Protect Denial of Service(DoS)가 계층 7 DoS 공격을 방어하기 위해 완화 방법을 실시간으로 조정하는 방식을 설명합니다. 정상적인 사용자 행동과 서버 상태에 대한 모델을 생성하여 공격을 나타내는 이상 징후를 감지하고 맞춤형 완화 시그니처를 적용할 수 있습니다.
NGINX Instance Manager를 활용한 대규모 구성 업데이트 및 인증서 관리
NGINX Instance Manager 버전 1.0에는 두 가지 새로운 기능이 도입되었습니다. NGINX 인스턴스에 태그와 사용자 역할을 지정하면 전체 그룹에 구성을 한 번에 적용할 수 있습니다. 인증서 검사는 만료 예정인 인증서를 감지하여 서비스 중단을 방지할 수 있도록 인증서를 교체할 수 있게 해줍니다.
Netflix가 자사 CDN의 핵심으로 NGINX를 선택한 이유
Netflix가 글로벌 콘텐츠 전송 네트워크인 Open Connect의 스트리밍 미디어 기술로 NGINX를 선택한 이유를 NGINX 개발자 Gleb Smirnoff에게서 알아보세요.