DDoS 공격에 대한 전쟁은 계속해서 변화하고 있습니다. F5 Labs는 2023년 DDoS 공격 추세 보고서 에서 분산 서비스 거부 (DDoS) 공격에 대한 최근 3년간의 데이터를 분석한 결과, 공격자는 여전히 복잡한 다중 벡터 DDoS 공격을 사용하지만 순수하게 애플리케이션 계층(7계층) 공격을 시작하는 방향으로 전환하고 있다는 사실을 발견했습니다. 2022년 한 해에만 7계층 공격의 유행이 165% 증가했습니다.
일반적으로 공격자는 목표를 달성하기 위해 가장 쉬운 경로를 택합니다. 즉, 웹사이트 운영을 방해하거나 타겟에게 돈을 갈취하는 것입니다. 7계층 공격의 증가는 볼륨형 또는 프로토콜 전략만으로는 DDoS 공격을 실행하기가 점점 더 어려워지고 있으며, 애플리케이션 계층 공격이 더 효과적인 것으로 나타나고 있다는 신호일 수 있습니다.
DDoS 공격으로부터 애플리케이션을 방어할 때 가능한 한 기술의 발전을 활용하여 애플리케이션을 계속 사용할 수 있는 가능성(및 사용자 만족도)을 극대화하는 것이 중요합니다. eXpress Data Path (XDP) 기술을 탑재 한 확장된 Berkeley Packet Filter (eBPF)는 2014년부터 출시되었지만, 마이크로서비스와 클라우드 기반 아키텍처의 도입이 증가함에 따라 개발자, SRE 및 운영 커뮤니티에서 인기가 급상승하고 있습니다.
eBPF는 사용자가 프로그램을 안전하고 효율적으로 실행할 수 있도록 하는 Linux 커널의 데이터 링크 계층 가상 머신(VM)입니다. 또한 커널 소스 코드를 변경하거나 추가 커널 모듈을 추가하지 않고도 런타임에 커널의 기능을 확장합니다. eBPF는 이벤트 트리거 방식입니다. 즉, Linux 호스트에서 특정 활동을 감지하고 특정 조치를 취합니다. 이 기술은 마이크로서비스와 최종 사용자 간의 연결과 거래를 추적하는 기능을 통해 앱과 앱 서비스에 대한 전체 스택 가시성을 제공합니다. 이용 가능한 데이터의 범위는 매우 광범위합니다. 이 솔루션은 급성적인 관찰 가능성을 처리하고, 네트워크 트래픽 관리와 런타임 보안 요구 사항을 분석하고, 근본적으로 효율적인 설계를 사용하여 컴퓨팅 비용을 절감할 수 있는 기능을 갖추고 있습니다.
F5 DevCentral에서 eBPF 기술에 대한 간략한 개요를 설명하는 비디오 'eBPF란 무엇인가?' 를 확인하세요.
XDP는 고성능 네트워킹의 이점을 제공합니다. 사용자 공간 프로그램이 네트워크 패킷 데이터를 직접 읽고 쓸 수 있고, 커널 수준에 도달하기 전에 패킷을 처리하는 방법을 결정할 수 있습니다. 이 기술을 사용하면 개발자는 Linux 커널 내의 네트워크 장치 드라이버가 구현하는 저수준 후크에 eBPF 프로그램을 첨부할 수 있습니다.
NGINX App Protect DoS 는 NGINX Plus와 NGINX Ingress Controller에서 실행되는 고급 동작 기반 레이어 7 DDoS 완화 솔루션으로, Slowloris 와 HTTP Flood 와 같은 공격으로부터 HTTP 및 HTTP/2 앱을 방어합니다. 간단히 말해, NGINX App Protect DoS는 간단한 네트워크 DDoS 솔루션으로는 감지할 수 없는 애플리케이션 계층 공격으로부터 보호합니다.
NGINX App Protect DoS와 함께 사용할 경우 eBPF는 DDoS 공격 흡수 용량을 크게 향상시킬 수 있습니다. NGINX App Protect DoS는 NGINX Ingress Controller 자체에서는 사용할 수 없는 eBPF를 다중 계층 솔루션의 일부로 사용하여 소스 IP 주소나 TLS 지문을 단독으로 또는 함께 사용하여 식별된 나쁜 행위자의 트래픽을 차단하여 완화 성능을 가속화합니다.
다음으로, NGINX App Protect DoS 가 이상 탐지 , 동적 규칙 생성 및 적응 학습 , 규칙 적용의 세 단계로 작동하는 기본적인 메커니즘을 살펴보겠습니다.
NGINX App Protect DoS는 보호된 애플리케이션을 지속적으로 모니터링하고 머신 러닝을 사용하여 애플리케이션과 클라이언트 동작에 대한 통계적 사이트 모델을 구축합니다. 실시간으로 트래픽을 관찰하고 300개 이상의 HTTP 요청 메트릭을 추적하여 지속적으로 업데이트된 포괄적인 활동 및 성능 기준을 만듭니다. NGINX App Protect DoS는 애플리케이션 트래픽을 수동으로 모니터링하는 것 외에도 활성 애플리케이션 상태 검사를 수행하고 응답 시간, 삭제된 요청과 같은 측정 항목을 모니터링합니다.
애플리케이션이 7계층 DDoS 공격을 받으면 애플리케이션 응답 시간(또는 오류율)이 학습된 모델과 달라지고 애플리케이션 보호 시스템이 트리거됩니다.
이상이 감지되면 NGINX App Protect DoS는 동적으로 규칙을 생성하여 악성 트래픽을 식별하고 차단합니다. 악의적인 공격자를 차단하는 동시에 합법적인 사용자가 애플리케이션에 액세스할 수 있도록 하는 것이 목표이며, 클라이언트 동작에 대한 통계적 그림을 만들어 어떤 사용자가 공격에 기여하고 있는지, 아니면 기여하지 않는지를 파악합니다.
NGINX App Protect DoS는 공격을 차단하기 위해 동적 서명을 배포하는 것 외에도 완화 효과를 지속적으로 측정하고 적응형 학습을 적용하여 강력한 앱 보안을 지속적으로 제공하고 제로데이 공격을 차단합니다. 공격을 일으키는 클라이언트와 요청이 식별되면 해당 트래픽을 거부하는 규칙을 구축합니다.
NGINX App Protect DoS는 다음을 포함하는 다층 방어 전략을 구현합니다.
이러한 세 가지 완화책은 합법적 사용자에게 영향을 미치지 않으면서 공격자를 최대한 차단하기 위해 점진적으로 적용됩니다. 그러나 대부분의 차단 활동은 IP 주소와 TLS 지문 차단 또는 IP 주소만 차단하는 초기 단계에서 자주 발생합니다. 다행히도 eBPF 프로그램을 통해 효과적으로 시행할 수 있는 정확한 규칙 유형은 다음과 같습니다.
NGINX App Protect DoS는 생성된 규칙을 사용하여 들어오는 애플리케이션 트래픽에 적용하여 악성 요청을 차단합니다. 모든 애플리케이션 트래픽은 NGINX Plus 프록시를 통해 백엔드(또는 업스트림 ) 애플리케이션으로 프록시되므로 차단 규칙과 일치하는 모든 요청은 간단히 삭제되고 백엔드 애플리케이션으로 전달되지 않습니다.
NGINX Plus가 고성능 프록시이기는 하지만 공격 및 완화 규칙으로 인해 생성된 추가 작업 부하가 NGINX가 실행되는 플랫폼의 사용 가능한 리소스를 압도할 가능성이 있습니다. 여기서 eBPF가 등장합니다. IP 주소 전용 차단을 적용하거나 커널에서 IP 주소 및 TLS 지문 차단과 결합하면 악성 트래픽을 조기에 평가하여 전송 계층(4계층)에서 차단할 수 있습니다. 이 방법은 사용자 공간에서 실행되는 NGINX에서 수행하는 방법보다 훨씬 더 효율적입니다.
지원되는 플랫폼에서 NGINX App Protect DoS가 소스 IP 주소나 TLS 지문을 기반으로 공격자를 차단하는 규칙을 생성할 때, 해당 규칙은 네트워크 이벤트(후크라고 함)가 발생할 때 커널에서 실행되는 eBPF 바이트코드 프로그램으로 컴파일됩니다. 특정 네트워크 이벤트가 규칙을 트리거하면 트래픽은 레이어 4에서 조기에 삭제됩니다. 이는 7계층에 도달하기 전에 DDoS 완화를 가속화하는 데 도움이 됩니다. 이 활동은 모두 커널에서 발생하므로 매우 효율적이며 사용자 공간에서 규칙을 구현하는 경우보다 리소스가 고갈되기 전에 더 많은 트래픽을 필터링할 수 있습니다.
NGINX App Protect DoS 가속 완화 기능은 다음 Linux 배포판에서 사용할 수 있습니다.
가속화된 DDoS 완화를 활성화하려면 다음 단계를 따르세요.
NGINX Plus 구성의 http{}
블록에 다음 지침을 추가합니다.
protect_dos_accelerated_mitigation이 켜짐;
NGINX 구성을 다시 로드합니다.
$ sudo nginx -t && nginx -s 다시 로드
NGINX App Protect DoS의 적응형 학습 기능과 eBPF 커널 실행의 고효율 트래픽 처리를 결합하면 오늘날의 다중 벡터 및 애플리케이션 중심 DDoS 공격에 대한 개선된 기능을 갖춘 다계층 가속화된 Layer 7 DDoS 완화 전략이 제공됩니다. 또한 DDoS 공격을 완화하는 데 필요한 리소스를 줄여 인프라 및 컴퓨팅 비용을 절감합니다.
30일 무료 체험판을 통해 NGINX App Protect DoS를 직접 테스트해 보거나, 사용 사례에 대해 논의하려면 저희에게 문의하세요 .
"이 블로그 게시물에는 더 이상 사용할 수 없거나 더 이상 지원되지 않는 제품이 참조될 수 있습니다. 사용 가능한 F5 NGINX 제품과 솔루션에 대한 최신 정보를 보려면 NGINX 제품군을 살펴보세요. NGINX는 이제 F5의 일부가 되었습니다. 이전의 모든 NGINX.com 링크는 F5.com의 유사한 NGINX 콘텐츠로 리디렉션됩니다."