블로그 | NGINX

F5 NGINX App Protect 및 F5 NGINX Plus로 보안을 자동화하여 침해 비용 절감

NGINX-F5-수평-검정-유형-RGB의 일부
Thelen Blum 썸네일
텔렌 블럼
2022년 7월 7일 게시
Matthieu Dierick 썸네일
마티유 디에릭
2022년 7월 7일 게시

자동화와 인공 지능(AI)을 이용해 보안 태세를 개선하는 데 투자한 돈이 훨씬 더 많은 비용을 절감할 수 있다는 사실을 알면 놀라실지도 모릅니다. IBM 보안팀은 2021년 데이터 침해 비용 보고서 에서 보안 자동화 및 AI가 없는 조직의 보안 침해 비용이 완전 구축된 자동화 및 AI가 있는 조직보다 평균적으로 무려 80% 더 높다고 밝혔습니다. 671만 달러 에 비해 290만 달러로 381만 달러 차이가 납니다. 보안 자동화와 AI를 우선시함으로써 조직은 침해를 더 빠르게 식별하고 봉쇄하여 비용과 시간을 모두 절약할 수 있습니다.

보안 자동화 배포 수준에 따른 데이터 침해의 평균 비용을 보여주는 막대형 차트
보안 자동화 및 AI가 없는 조직은 데이터 침해로 인해 수백만 달러의 추가 손실을 입습니다.
(원천: 데이터 침해 비용 2021 보고서 )

하지만 CI/CD 파이프라인에 보안을 통합할 때 도구에 과부하를 주지 않는 것이 중요합니다. 트래픽을 검사하는 횟수가 적을수록 지연 시간이 줄어듭니다. 사업상의 당연한 귀결은 기술적 복잡성이 민첩성의 적이다는 것입니다.

F5 NGINX에서는 소프트웨어 개발 라이프사이클 동안 팀이 " 보안을 좌측으로 전환 "하는 데 도움이 되는 원활한 통합과 기능 면에서 독보적인 보안 플랫폼을 제공합니다. 조직이 "코드로서의 보안"을 CI/CD 파이프라인에 통합하면 보안 자동화 및 AI가 가능해져 IBM이 설명한 대로 막대한 비용 절감 효과가 발생합니다. 애플리케이션과 API 개발의 각 단계에 보안이 내장되어 있으므로 구성 및 보안 정책 파일은 코드로 사용되고 SecOps 팀은 DevOps에서 앱을 빌드할 때 사용할 선언적 보안 정책을 만들고 유지 관리할 수 있습니다. 동일한 정책을 새 앱에 반복적으로 적용하여 CI/CD 파이프라인에서 보안을 자동화할 수 있습니다.

양파 껍질을 벗기고 F5 NGINX App Protect와 F5 NGINX Plus가 보안 보호를 자동화하는 데 도움이 되는 트래픽 처리의 세 가지 단계를 살펴보겠습니다.

  • 1단계 – F5 NGINX App Protect DoS는 서비스 거부(DoS) 공격을 탐지하고 방어합니다.
  • 2단계 – F5 NGINX App Protect WAF는 OWASP Top 10 공격 및 악성 봇으로부터 보호합니다.
  • 3단계 – F5 NGINX Plus는 네이티브 기능 및 타사 SSO(Single Sign‑on) 솔루션과의 통합을 사용하여 앱 및 API 클라이언트를 인증하고 권한 부여 요구 사항을 적용합니다.
NGINX App Protect DoS 및 WAF와 NGINX Plus를 사용하여 불법 트래픽을 차단하고 보안을 자동화하기 위한 효율적인 애플리케이션 트래픽 관리를 위한 3단계 보안 솔루션 다이어그램
불법 트래픽을 차단하고 보안을 자동화하여 시간과 비용을 절감하는 효율적인 애플리케이션 트래픽 관리를 위한 3단계 보안 솔루션

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

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

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

F5는 WAF 정책 구축 및 베이스라인 설정을 개발 프로세스에 통합합니다. 이는 애플리케이션 개발 파이프라인에서 "보안을 좌측으로 이동"하고 애플리케이션 배포를 자동화하는 데 중요한 부분입니다.

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

1단계: NGINX App Protect DoS는 DoS 공격으로부터 방어합니다.

보안 트래픽 관리 여정의 첫 번째 단계는 서비스 거부(DoS) 공격을 제거하는 것입니다. 이런 학대를 처음부터 막는 것이 필요한 첫 번째 방어선입니다.

우리는 공격자들이 점점 더 기존의 볼륨 공격에서 HTTP 및 HTTPS 요청이나 API 호출을 사용하여 7계층 공격을 하는 모습을 확인했습니다. 왜? 그들은 저항이 가장 적은 길을 따라가고 있습니다. 인프라 엔지니어들은 수년간 3계층과 4계층 공격을 막아내는 효과적인 방어 수단을 구축해 왔으며, 이를 통해 이러한 공격을 차단하기 쉽게 만들고 성공 가능성을 낮추었습니다. 7계층 공격은 이러한 전통적인 방어수단을 우회할 수 있습니다.

모든 DoS 공격이 볼륨형인 것은 아닙니다. Slow POST 또는 Slowloris와 같은 "낮고 느린" 방법을 통해 서버 리소스를 소모하도록 설계된 공격은 합법적인 트래픽에 쉽게 숨길 수 있습니다. gRPC 와 같은 오픈소스 HTTP/2 원격 프로시저 호출 프레임워크는 최신 앱에 필요한 속도와 유연성을 제공하지만, 특징적인 개방적 특성으로 인해 독점 프로토콜보다 DoS 공격에 더 취약할 가능성이 있습니다.

기존 DoS 보호와 달리 NGINX App Protect DoS는 자동화된 사용자 및 사이트 동작 분석, 사전적 상태 점검, 무접촉 구성을 활용하여 오늘날의 공격을 탐지합니다. HTTP GET 플러드, HTTP POST 플러드, Slowloris, Slow read, Slow POST를 포함한 일반적인 공격을 차단하기 위한 저지연 솔루션 입니다.

이러한 공격에 대처하기 위해 SecOps 및 DevOps 팀은 CI/CD 워크플로에 "코드로서의 보안" 자동화를 통합해야 합니다. 이는 Shift-Left 사고방식의 일부입니다. NGINX App Protect DoS가 이를 지원합니다. 이 모델은 가벼운 소프트웨어 패키지, 지속적인 위협 완화 피드백 루프, RESTful API를 통한 익숙한 DevOps 도구와의 통합을 통해 DoS 위협으로부터 고급 보호 기능을 제공하여 최신 분산 앱과 API를 보호하고, 때로는 충돌하는 SecOps와 DevOps의 우선 순위를 맞추는 데 도움이 됩니다.

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

NGINX App Protect WAF 및 DoS가 차단하는 8가지 공격 유형을 나타내는 다이어그램
보안 솔루션 1단계 및 2단계: 효율적인 트래픽 처리를 통한 애플리케이션 보안
NGINX 앱 보호 DoS 및 WAF

2단계: NGINX App Protect WAF는 OWASP Top Ten에 대한 보호 기능을 제공합니다.

DoS 보호 기능이 악성 트래픽이 인프라에 침입하는 것을 확실히 차단하더라도 공격은 여전히 가능합니다. 성공적인 방어의 다음 단계를 위해서는 합법적인 것처럼 위장한 나쁜 행위자의 트래픽에 초점을 맞춘 웹 애플리케이션 방화벽(WAF)이 필요한 이유입니다.

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

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

최신 공격 역시 빠르게 변화하고 적응합니다. 바로 여기서 AI가 등장하며, IBM이 AI의 중요성을 언급한 이유가 여기에 있습니다. NGINX App Protect DoS와 마찬가지로 NGINX App Protect WAF의 풍부한 ML 시스템을 통해 Platform Ops, DevOps 및 SecOps 팀이 공격 동향과 데이터를 쉽게 공유할 수 있습니다. 새로운 기능 중 하나인 적응형 위반 평가 기능은 애플리케이션의 동작이 변경될 때를 감지하여 ML을 더욱 활용할 수 있습니다. 이러한 ML 기능을 통해 NGINX App Protect WAF는 각 애플리케이션에 대한 예측 동작을 지속적으로 평가합니다. 이러한 학습을 바탕으로 기존에는 차단되었을 클라이언트 요청을 활성화하여 앱의 위반 평가 점수를 낮추고 거짓 긍정을 크게 줄여 더 낮은 관리 비용으로 더 나은 사용자 경험을 제공할 수 있습니다.

NGINX App Protect WAF는 봇 보호 기능도 제공합니다. 오늘날 인터넷 트래픽의 거의 50%가 봇에서 발생합니다 . NGINX App Protect WAF는 알려진 악성 트래픽을 미리 제거하여 Bot Signature 데이터베이스를 사용하여 봇 트래픽을 신속하게 차단할 수 있습니다.

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

3단계: NGINX Plus는 앱 및 API 클라이언트를 인증하고 승인합니다.

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

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

보안 솔루션 3단계: NGINX Plus 및 OAuth 2.0/OIDC IdP 호환 SSO 예제를 사용한 인증 및 권한 부여

API는 개방적인 특성을 가지고 있어 취약한 대상입니다. Gartner Research는 연례 보고서에서 API가 2022년에 가장 흔한 공격 벡터가 될 것이며, 이로 인해 기업 웹 앱에 대한 수많은 데이터 침해가 발생할 것이라고 예측했습니다 . 2022년이 다가오면서 조직 전반에서 API 공격 표면이 계속 확대되는 모습을 살펴보면 그 예측이 사실임을 알 수 있습니다.

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

  1. API 엔드포인트에서 인증 없음
  2. API 인증이 끊어짐
  3. API 권한 손상

API 엔드포인트에서 인증 없음

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

그러나 시중에 판매되는 API 중 상당수는 인증 계층에서 보호되지 않습니다. 2021년, 대화형 피트니스 플랫폼 펠로톤이 누출된 API를 가지고 있는 것으로 밝혀졌습니다 . 보안 연구원은 펠로톤의 API에 인증되지 않은 요청을 할 수 있고, 인증 없이 사용자 데이터를 쉽게 검색할 수 있다는 것을 발견했습니다. Peloton은 심각한 침해가 발생하기 전에 코드를 수정했지만, 이번 사고는 보안에 대한 일체형 접근 방식이 API 구조의 본질적인 다양성과 이를 방어하는 데 있어 민첩성의 필요성을 고려하지 않는다는 점을 보여줍니다.

API 인증이 끊어짐

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

API 인증 토큰을 적절하게 검증하지 않으면 공격자가 API 취약점을 악용할 수 있습니다. 이러한 유형의 취약점이 연구원이 아닌 악의적인 행위자에 의해 발견될 경우, 전체 기업이 손상될 수 있습니다.

API 권한 손상

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

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

오늘 시작하세요

보안을 자동화하는 것은 모든 사람의 책임입니다. 보안 자동화를 우선시함으로써 조직은 보다 안정적인 앱을 구축하고, 위험을 완화하고, OpEx를 줄이고, 출시 속도를 가속화할 수 있습니다. 이는 귀사의 마이크로서비스, 앱 및 API가 오늘날의 경쟁에 발맞추기에 충분히 빠르고 확장 가능한 민첩한 보안을 갖추게 된다는 것을 의미합니다.

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

NGINX Plus와 NGINX App Protect를 직접 사용해 볼 준비가 되셨나요? 오늘 30일 무료 체험판을 시작하거나, 저희에게 연락해 사용 사례에 대해 논의해보세요 .


"이 블로그 게시물에는 더 이상 사용할 수 없거나 더 이상 지원되지 않는 제품이 참조될 수 있습니다. 사용 가능한 F5 NGINX 제품과 솔루션에 대한 최신 정보를 보려면 NGINX 제품군을 살펴보세요. NGINX는 이제 F5의 일부가 되었습니다. 이전의 모든 NGINX.com 링크는 F5.com의 유사한 NGINX 콘텐츠로 리디렉션됩니다."