NGINX App Protect 및 NGINX Plus 보안 자동화 비용 절감하기

해당 포스트에서는 NGINX App Protect 및 NGINX Plus 가 보안 보호를 자동화하는 데 도움이 되는 트래픽 처리의 3단계를 살펴보겠습니다.

자동화 및 인공 지능(AI)을 통해 보안 태세를 개선하는 데 지출하는 비용이 결국 훨씬 더 큰 비용을 절약할 수 있다는 사실을 알게 되면 놀랄 것입니다. IBM 보안팀은 2021년 데이터 유출 비용 보고서에서 보안 자동화와 AI를 도입하지 않은 조직은 보안 유출로 인해 자동화 및 AI를 완전히 구축한 조직보다 평균 80% 더 많은 비용(671만 달러 대 290만 달러, 381만 달러의 차이)이 발생한다고 밝혔습니다. 보안 자동화와 AI에 우선순위를 두고 보안 침해를 더 빠르게 식별하고 억제하여 비용과 시간을 모두 절약할 수 있습니다.

보안 자동화 배포 수준별 평균 데이터 유출 비용을 보여주는 막대 차트

(출처: 2021년 데이터 유출 비용 보고서)

그러나 CI/CD 파이프라인에 보안을 통합할 때는 도구에 과부하가 걸리지 않도록 하는 것이 중요합니다. 트래픽을 검사하는 횟수가 적을수록 지연 시간이 줄어듭니다. 기술적 복잡성은 민첩성의 적이라는 것이 비즈니스의 결론입니다.

NGINX는 원활한 통합과 소프트웨어 개발 수명 주기 동안 팀이 “shift security left”할 수 있도록 지원하는 독보적인 보안 플랫폼을 제공합니다. 조직이 CI/CD 파이프라인에 “코드형 보안”을 통합하면 보안 자동화와 AI가 활성화되어 IBM이 설명하는 엄청난 비용 절감 효과를 얻을 수 있습니다. 애플리케이션 및 API 개발의 각 단계에 보안이 내장되면 구성 및 보안 정책 파일이 코드로 사용되며, 보안팀은 DevOps가 앱을 빌드할 때 사용할 선언적 보안 정책을 생성하고 유지할 수 있습니다. 이러한 동일한 정책을 새 앱에 반복적으로 적용할 수 있으므로 CI/CD 파이프라인으로 보안을 자동화할 수 있습니다.

NGINX 앱 프로텍트 DoS, WAF와 NGINX 플러스를 사용하여 불법 트래픽을 차단하고 보안을 자동화하는 효율적인 애플리케이션 트래픽 관리를 위한 3단계 보안 솔루션 구성도

효율적인 애플리케이션 트래픽 관리를 위한 3단계 보안 솔루션으로 불법 트래픽을 차단하고 보안을 자동화하여 시간과 비용을 절약합니다.

이 세 가지로 구성된 보안 솔루션은 특히 퍼블릭 클라우드 환경에서 두 가지 방식으로 비용을 절감해 줍니다.

  1. NGINX App Protect DoS가 DoS 공격으로부터 트래픽을 필터링하고 NGINX App Protect WAF가 OWASP Top 10과 같은 여러 공격 벡터를 제거하기 때문에 합법적인 트래픽만 앱에 도달합니다.
  2. NGINX Plus 의 고효율 이벤트 중심 설계는 낮은 CPU 소비량으로 초당 엄청난 수의 요청을 처리할 수 있음을 의미합니다. 고효율 플랫폼에서 합법적인 애플리케이션 트래픽만 처리하면 훨씬 적은 컴퓨팅 리소스가 필요하므로 시간과 비용을 절약하고 툴에 부담을 주지 않으면서도 여러 공격 벡터로부터 보호할 수 있습니다.

현재 데이터 센터에서 실행 중인 앱을 보호하기 위해 F5 BIG-IP Advanced WAF를 사용하고 있는 경우, 최신 애플리케이션을 확장 및 보호하고 클라우드에서 Kubernetes 앱을 오케스트레이션 하는 포괄적인 솔루션으로 NGINX App Protect DoS 및 WAF와 함께 Kubernetes용 Ingress Controller로 NGINX Plus 를 추가하는 것이 간단합니다. F5의 코드형 보안 접근 방식을 사용하면 선언적 API 또는 파일 내 선언적 JSON 형식의 정의를 통해 인프라 및 보안 정책 제어를 코드로 정의할 수 있으며, BIG-IP XML 파일을 JSON 파일로 변환할 수도 있습니다. SecOps에서 소유하고 유지 관리하는 표준 기업 보안 제어인 정책을 코드 리포지토리에 저장하여 다른 코드와 마찬가지로 가져와서 개발 파이프라인에 통합할 수 있습니다. 이러한 접근 방식은 DevOps와 SecOps가 운영 격차를 해소하고 더 낮은 비용과 더 나은 보안으로 앱을 더 빠르게 시장에 출시하는 데 도움이 됩니다.

F5는 애플리케이션 개발 파이프라인에서 “shifting security left”하고 애플리케이션 배포를 자동화하는 데 중요한 부분인 WAF 정책 구축 및 베이스라인을 개발 프로세스에 통합합니다.

BIG-IP와 NGINX의 가시성 도구는 서로를 보완하며 보안팀이 DevOps 라이프사이클 초기에 자동화 프로세스를 구축할 수 있도록 지원합니다. BIG-IP를 사용하면 팀이 XML 파일을 NGINX에서 사용하는 JSON 파일로 변환하여 일관된 보안 정책을 유지할 수 있습니다. NGINX를 통해 팀은 이미 구축된 앱을 미세 조정하는 동시에 최신 앱 보안 자동화를 도입하여 향후 발생할 수 있는 보안 침해와 잠재적 공격으로 인한 비용을 상쇄할 수 있습니다.

목차

1. 1단계: NGINX App Protect DoS가 DoS 공격을 방어합니다.
2. 2단계: NGINX App Protect WAF는 OWASP Top 10을 방어합니다.
3. 3단계: NGINX Plus 가 앱 및 API 클라이언트를 인증하고 권한을 부여합니다.
3-1. API 엔드포인트에서 인증 없음
3-2. Broken API Authentication
3-3. 손상된 API 권한 부여
4. 시작해 보세요.

1. 1단계: NGINX App Protect DoS가 DoS 공격을 방어합니다.

보안 트래픽 관리 여정의 첫 번째 단계는 서비스 거부(DoS) 공격을 차단하는 것입니다. 이러한 악용을 처음부터 차단하는 것은 필수적인 첫 번째 방어입니다.

앞서 공격자들이 기준의 볼륨 공격에서 HTTP 및 HTTPS 요청 또는 API 호출을 사용하여 Layer 7에서 공격하는 방식으로 점점 더 많이 전환하고 있다는 점에 주목한 바 있습니다. 왜 그럴까요? 공격자들은 저항이 가장 적은 경로를 따르기 때문입니다. 인프라 엔지니어들은 수년간 Layer 3 및 Layer 4 공격에 대한 효과적인 방어 체계를 구축해 왔으며, 이를 통해 공격을 차단하기가 더 쉬워지고 성공할 가능성도 낮아졌습니다. Layer 7 공격은 이러한 기존 방어 체계를 우회할 수 있습니다.

모든 DoS 공격이 볼륨 공격은 아닙니다. 슬로우 포스트나 슬로우로리스와 같은 “low and slow” 방식으로 서버 리소스를 소모하도록 설계된 공격은 합법적인 트래픽에 쉽게 숨길 수 있습니다. 또한 gRPC와 같은 오픈 소스 HTTP/2 remote 프로시저 호출 프레임워크는 최신 앱에 필요한 속도와 유연성을 제공하지만, 개발적인 특성으로 인해 독점 프로토콜보다 DoS 공격에 더 취약할 수 있습니다.

기존 DoS 방어와 달리 NGINX App Protect DoS는 자동화된 사용자 및 사이트 행동 분석, 사전 예방적 health check, 노터치 구성을 활용하여 오늘날의 공격을 탐지합니다. HTTP GET flood, HTTP POST flood, Sloworis, Slow read, Slow POST 지연 시간이 짧은 솔루션입니다.

이러한 공격에 대응하기 위해 보안 운영팀과 개발팀은 CI/CD 워크플로우에 “코드형 보안” 자동화를 통합해야 하며, 이는 shift-left 사고방식의 일부입니다. NGINX App Protect DoS는 이를 가능하게 합니다. 이 제품은 DoS 위협으로부터 고급 보호 기능을 통해 최신 분산 앱과 API를 보호하고, 경량 소프트웨어 패키지, 지속적인 위협 완화 피드백 루프, RESTful API를 통한 친숙한 DevOps 도구와의 통합으로 이 모델을 촉진하여 때때로 충돌하는 SecOps와 DevOps의 우선순위를 조정하는 데 도움을 줍니다.

NGINX App Protect DoS는 IBM Security 보고서에서 상당한 비용 절감의 핵심을 강조하는 머신 서닝(ML) 기술을 통합합니다. 클라이언트 행동과 애플리케이션 상태를 분석하여 정상적인 트래픽 패턴을 모델링하고, 고유한 알고리즘을 사용하여 가장 정확한 보호 기능을 제공하는 동적 통계 모델을 생성하며, 동적 시그니처를 배포하여 공격을 자동으로 완화합니다. 또한 지속적으로 방어 효과를 측정하고 변화하는 행동 또는 상태 조건에 맞게 조정합니다. 이러한 기능을 통해 NGINX App Protect DoS는 각 공격 요청이 완전히 합법적인 것처럼 보이는 DoS 공격을 차단할 수 있으며, 단일 공격자가 평균적인 합법적인 사용자보다 적은 트래픽을 생성할 수 있습니다.

NGINX 앱 프로텍트가 차단하는 8가지 유형의 공격 및 DoS를 설명하는 다이어그램

2. 2단계: NGINX App Protect WAF는 OWASP Top 10을 방어합니다.

DoS 방어는 악성 트래픽이 인프라에 침입하는 것을 확실히 차단하지만, 공격은 여전히 통과할 수 있습니다. 따라서 다음 단계의 성공적인 방어를 위해서는 합법적인 것으로 위장된 악의적인 공격자의 트래픽에 집중하는 웹 애플리케이션 방화벽(WAF)이 필요합니다.

가볍고 성능이 뛰어난 NGINX App Protect WAF는 응답 검사, HTTP 프로토콜 준수 적용, 회피 기법 탐지, Data Guard로 신용카드 번호 및 기타 민감한 정보 마스킹, 허용되지 않는 메타문자 및 파일 형식, 잘못된 JSON 및 XML, 민감한 매개변수를 검사하는 포괄적인 보안 보호 기능을 제공합니다. 또한 업데이트된 OWASP Top 10으로부터 보호합니다.

A03:2021 Injection과 같은 OWASP Top 10개 취약점에 대한 사이버 공격이 여전히 인기 있는 것은 놀라운 일이 아닙니다. 2021년 7월 오픈 소스 전자상거래 사이트인 WooCommerce는 많은 플러그인이 SQL Injection에 취약하다고 발표했으며, 당시 여러 공격이 발생하고 있었습니다. 기업과 고객이 주로 온라인에서 운영되기 때문에 공격자가 웹 기반 앱에 집중하는 것은 당연한 일이며, 이러한 앱은 종종 복잡하고 마이크로서비스로 구성되며 많은 API가 서로 통신하는 분산 환경에 걸쳐 있어 익스플로잇에 취약한 엔드포인트의 수가 증가합니다.

또한 최신 공격은 빠르게 변화하고 적응합니다. 바로 이 점이 IBM이 AI의 중요성을 언급한 이유입니다. NGINX App Protect DoS에서와 마찬가지로, NGINX App Protect WAF의 풍부한 ML 시스템은 플랫폼 운영, 개발 운영, 보안 운영팀이 공격 동향과 데이터를 쉽게 공유할 수 있도록 지원합니다. 새로운 기능 중 하나인 적응형 위반 등급 기능은 애플리케이션의 동작이 변경되는 시점을 감지하여 ML을 더욱 활용합니다. 이 ML 기능을 통해 NGINX App Protect WAF는 각 애플리케이션에 대한 예측 동작을 지속적으로 평가합니다. 이러한 학습을 기반으로 다른 방법으로는 차단되었을 클라이언트 요청을 허용하여 앱의 위반 등급 점수를 낮추고 오탐을 크게 줄여 관리 비용을 절감하면서 더 나은 사용자 경험을 제공할 수 있습니다.

NGINX App Protect WAF 는 Bot Defense 기능도 제공합니다. 오늘날 인터넷 트래픽의 거의 50%가 봇(Bot)에서 발생합니다. 알려진 악성 트래픽을 사전에 제거함으로써 NGINX App Protect WAF는 봇(Bot) 시그니처 데이터베이스를 사용하여 봇 트래픽을 신속하게 차단할 수 있습니다.

CI/CD 파이프라인 초기에 보안 레이어로 WAF를 도입하면 보안 위험을 완화하는 데 도움이 됩니다. NGINX App Protect WAF는 CI/CD 친화적이므로 애플리케이션 개발 프로세스 초기에 보안을 코드로 구현하고 자동화할 수 있습니다. 보안을 조기에 인식하고 팀 간 적절한 협업을 통해 백홀 위험과 같은 병목 현상도 제거할 수 있습니다. 다단계 DoS 및 WAF 보호는 많은 검사 지점을 생성하여 보안팀은 앱 사용에 대한 가시성을 확보하고 앱팀은 앱이 어떻게 유지 관리되고 있는지 파악할 수 있습니다.

3. 3단계: NGINX Plus 가 앱 및 API 클라이언트를 인증하고 권한을 부여합니다.

NGINX App Protect DoS와 NGINX App Protect WAF가 악성 트래픽을 걸러낸 후에도 클라이언트가 합법적인지, 요청하는 리소스에 액세스할 권한이 있는지 확인해야 합니다. 이때 NGINX Plus 가 인증 및 권한 부여를 처리한 다음 요청을 적절한 서버로 라우팅하는 역할을 합니다. NGINX Plus 를 API Gateway로 배포하면 여러 API에 대해 하나의 일관된 진입점을 제공하고 스택을 단순화할 수 있습니다.

또한 Single Sign-On(SSO)을 통해 인증 및 권한 부여를 자동화하여 DevOps팀이 원하는 민첩성을 유지할 수 있도록 지원할 수 있습니다. NGINX Plus는 OAuth 2.0 프로토콜 위에 있는 ID 계층인 OIDC(OpenID Connect)를 지원합니다. NGINX 문서에서는 OIDC를 사용하여 NGINX Plus에서 프록시하는 애플리케이션에 대해 SSO를 활성화하는 방법을 설명합니다.

SSO를 위한 NGINX Plus 및 OAuth 2.0/OIDC IdP 호환 예제를 사용한 인증 및 권한 부여

API는 그 개방적인 특성으로 인해 취약한 공격 대상입니다. Gartner Research는 연례 보고서에서 2022년에 API가 가장 일반적인 공격 벡터가 되어 엔터프라이즈 웹 앱에 수많은 데이터 유출을 일으킬 것이라고 예측했습니다. 2022년에 접어들면서 조직 전반에서 API 공격 표면이 계속 증가하는 것을 관찰하면서 이 예측은 사실로 드러나고 있습니다.

API 인증 사고: F5 Labs의 2020 애플리케이션 보호 보고서는 API 인시던트가 발생하는 세 가지 일반적인 이유를 강조합니다.

3-1. API 엔드포인트에서 인증 없음

API 트래픽의 인증을 구현하면 신원을 성공적으로 증명한 클라이언트는 신뢰할 수 있는 ID 공급자로부터 토큰을 받습니다. 그런 다음 클라이언트는 각 HTTP 요청과 함께 액세스 토큰을 제시합니다. 요청이 애플리케이션에 배포되기 전에 NGINX Plus는 토큰의 유효성을 검사하고 토큰에 인코딩된 신원 및 기타 데이터(예: 그룹 멤버십)를 추출하여 클라이언트의 인증 및 권한 부여를 보장합니다. 토큰의 유효성이 검사되고 클라이언트가 리소스에 액세스할 권한이 있다고 가정하면 요청이 애플리케이션 서버로 배포됩니다. 이 유효성 검사를 수행하는 방법에는 여러 가지가 있지만, OAuth 2.0 프로토콜을 기반으로 하는 OpenID Connect는 API 요청에 대한 third-party 인증을 활성화하는 데 널리 사용되는 방법입니다.

그러나 시중에 나와 있는 많은 API는 인증 계층에서 보호되지 않습니다. 2021년에는 대화형 피트니스 플랫폼 Peloton에서 API가 유출된 것으로 밝혀졌습니다. 한 보안 연구원이 Peloton의 API에 인증되지 않은 요청을 할 수 있고, 인증 없이도 사용자 데이터를 쉽게 검색할 수 있다는 사실을 발견했습니다. Peloton은 대규모 침해가 발생하기 전에 코드를 수정했지만, 이 사고는 보안에 대한 획일적인 접근 방식이 API 구조의 다양성과 그에 따른 민첩한 방어의 필요성을 고려하지 못한다는 점을 강조합니다.

3-2. Broken API Authentication

API는 컴퓨터와 컴퓨터를 연결하기 위해 설계되었기 때문에 많은 Devops팀은 사람이 API 엔드포인트와 통신하지 않는다고 가정합니다. F5 Labs 보고서의 한 예로, 한 연구원이 모바일 앱에서 수십만 달러의 크레딧을 “획득”하기 위해 여러 API 요청을 연결한 사례가 있습니다. 이 앱은 남용을 방지하기 위해 설계된 토큰을 지속적으로 생성했지만, 만료일을 설정하지 않아 토큰을 계속해서 사용할 수 있었습니다.

API 인증 토큰의 유효성을 제대로 확인하지 않으면 공격자가 API 취약점을 악용할 수 있습니다. 이러한 유형의 취약점이 연구자가 아닌 악의적인 공격자에 의해 발견되면 비즈니스 전체가 손상될 수 있습니다.

3-3. 손상된 API 권한 부여

API 인증에 실패하면 자연스럽게 API 권한 부여가 중단됩니다. F5 Labs 보고서에서는 운영체제의 버그로 인해 악성 HTTP 요청이 API에 허용되어 악의적인 공격자가 권한 부여 토큰에 쉽게 액세스할 수 있었던 사건에 대해서도 설명합니다. 공격자가 이 권한 부여 토큰을 획득하면 관리자 권한을 갖게 됩니다.

NGINX는 API를 보호하고 API 클라이언트를 인증하기 위한 여러 가지 접근 방식을 제공합니다. 자세한 내용은 IP 주소 기반 ACL(Access Control Lists), 디지털 인증서 인증, HTTP 기본 인증에 대한 설명서를 참조하세요. 또한 NGINX Plus는 기본적으로 API 인증을 위한 JSON 웹 토큰(JWT)의 유효성 검사를 지원합니다. 자세한 내용은 블로그의 JWT 및 NGINX Plus로 API 클라이언트 인증하기에서 확인하세요.

4. 시작해 보세요.

보안 자동화는 모든 사람의 책임입니다. 보안 자동화에 우선순위를 두면 조직은 더욱 안정적인 앱을 구축하고, 위험을 완화하고, 운영 비용을 절감하고, 릴리스 속도를 가속화할 수 있습니다. 즉, 마이크로서비스, 앱, API가 오늘날의 경쟁에 발맞출 수 있을 만큼 확장 가능하고 빠른 민첩한 보안을 제공받을 수 있습니다.

또한 이 3단계 보안 구조는 DoS 공격으로 인한 트래픽을 검사하는 WAF가 느려지거나 악의적인 공격자를 인증하고 권한을 부여하는 데 귀중한 리소스를 낭비하지 않기 때문에 최상의 흐름을 제공합니다. 쉽게 식별할 수 있는 공격을 조기에 제거하면 시간과 비용을 절약하고 앱 성능을 가속화할 수 있습니다.

NGINX Plus와 NGINX App Protect를 직접 사용해 볼 준비가 되셨나요? 지금 30일 무료 체험을 시작하거나 NGINX STORE에 문의하여 사용 사례에 대해 논의하세요.

NGINX에 대한 최신 정보들을 빠르게 전달받고 싶으시다면, 아래의 뉴스레터를 구독하세요.

NGINX STORE를 통한 솔루션 도입 및 기술지원 무료 상담 신청

* indicates required