애플리케이션(레이어 7) DDoS 보호
Azure WAF에는 DDoS(분산 서비스 거부) 공격을 방지하는 데 도움이 되는 몇 가지 방어 메커니즘이 있습니다. DDoS 공격은 네트워크 레이어(L3/L4) 또는 애플리케이션 레이어(L7) 모두를 대상으로 할 수 있습니다. Azure DDoS는 대규모 네트워크 레이어 볼륨 공격으로부터 고객을 보호합니다. 레이어 7에서 작동하는 Azure WAF는 HTTP Flood와 같은 L7 DDoS 공격으로부터 웹 애플리케이션을 보호합니다. 이러한 방어는 공격자가 애플리케이션에 도달하지 못하게 하고 애플리케이션의 가용성 및 성능에 영향을 줄 수 있습니다.
서비스를 어떻게 보호할 수 있나요?
이러한 공격은 WAF(웹 애플리케이션 방화벽)를 추가하거나 서비스 앞에 DDoS를 배치하여 잘못된 요청을 필터링하여 완화할 수 있습니다. Azure는 Azure Front Door를 사용하여 네트워크 에지 및 Application Gateway를 사용하여 데이터 센터에서 실행되는 WAF를 제공합니다. 이러한 단계는 일반화된 목록이며 애플리케이션 요구 사항 서비스에 맞게 조정해야 합니다.
- Azure Front Door 프리미엄 또는 Application Gateway WAF v2 SKU를 사용하여 WAF(Web Application Firewall) 배포하여 L7 애플리케이션 레이어 공격으로부터 보호합니다.
- 여유 용량이 충분하도록 원본 인스턴스 수를 확장합니다.
- 원본 공용 IP에서 Azure DDoS Protection을 사용하도록 설정하여 레이어 3(L3) 및 레이어 4(L4) DDoS 공격으로부터 공용 IP를 보호합니다. Azure의 DDoS 제품은 웹 사이트에 대량의 패킷을 보내는 L3 및 L4 대량 공격으로부터 대부분의 사이트를 자동으로 보호할 수 있습니다. 또한 Azure는 기본적으로 Azure에서 호스트되는 모든 사이트에 인프라 수준 보호를 제공합니다.
Azure Front Door가 포함된 Azure WAF
Azure WAF에는 HTTP Flood, 캐시 바이패스, 봇넷에서 시작된 공격 등 다양한 유형의 공격을 완화하는 데 사용할 수 있는 많은 기능이 있습니다.
봇 보호 관리 규칙 집합을 사용하여 알려진 잘못된 봇으로부터 보호합니다. 자세한 내용은 봇 보호 구성을 참조하세요.
IP 주소가 서비스를 너무 자주 호출하지 못하도록 속도 제한을 적용합니다. 자세한 내용은 속도 제한을 참조하세요.
악의적인 것으로 식별된 IP 주소 및 범위를 차단합니다. 자세한 내용은 IP 제한을 참조하세요.
정의된 지리적 지역 외부 또는 애플리케이션 트래픽 패턴에 맞지 않는 정의된 지역 내에서 발생하는 트래픽을 차단하거나 정적 웹 페이지로 리디렉션합니다. 자세한 내용은 지역 필터링을 참조하세요.
사용자 지정 WAF 규칙을 만들어 알려진 서명이 있는 HTTP 또는 HTTPS 공격을 자동으로 차단 및 속도 제한합니다. 특정 사용자 에이전트와 같은 서명 또는 헤더, 쿠키, 쿼리 문자열 매개 변수 또는 여러 서명의 조합을 포함한 특정 트래픽 패턴입니다.
WAF 외에도 Azure Front Door는 L3/4 DDoS 공격으로부터 보호하기 위한 기본 Azure 인프라 DDoS 보호를 제공합니다. Azure Front Door에서 캐싱을 사용하도록 설정하면 에지의 갑작스런 최대 트래픽 볼륨을 흡수하고 공격으로부터 백 엔드 원본을 보호할 수 있습니다.
Azure Front Door의 기능 및 DDoS 보호에 대한 자세한 내용은 Azure Front Door의 DDoS 보호를 참조하세요.
Azure Application Gateway를 사용한 Azure WAF
L7 DDoS 완화 기능을 비롯한 최신 기능과 함께 제공되는 Application Gateway WAF v2 SKU를 사용하여 L7 DDoS 공격을 방어하는 것이 좋습니다.
Application Gateway WAF SKU를 사용하여 많은 L7 DDoS 공격을 완화할 수 있습니다.
자동 스케일 업하고 최대 인스턴스 수를 적용하지 않도록 Application Gateway를 설정합니다.
봇 보호 관리 규칙 집합을 사용하여 알려진 잘못된 봇으로부터 보호 기능을 제공합니다. 자세한 내용은 봇 보호 구성을 참조하세요.
IP 주소가 서비스를 너무 자주 호출하지 못하도록 속도 제한을 적용합니다. 자세한 내용은 속도 제한 사용자 지정 규칙 구성을 참조하세요.
악의적인 것으로 식별된 IP 주소 및 범위를 차단합니다. 자세한 내용은 v2 사용자 지정 규칙만들기 및 사용의 예제를 참조하세요.
정의된 지리적 지역 외부 또는 애플리케이션 트래픽 패턴에 맞지 않는 정의된 지역 내에서 발생하는 트래픽을 차단하거나 정적 웹 페이지로 리디렉션합니다. 자세한 내용은 v2 사용자 지정 규칙만들기 및 사용의 예제를 참조하세요.
사용자 지정 WAF 규칙을 만들어 알려진 서명이 있는 HTTP 또는 HTTPS 공격을 자동으로 차단 및 속도 제한합니다. 특정 사용자 에이전트와 같은 서명 또는 헤더, 쿠키, 쿼리 문자열 매개 변수 또는 여러 서명의 조합을 포함한 특정 트래픽 패턴입니다.
기타 고려 사항
원본에서 공용 IP에 대한 액세스를 잠그고 Azure Front Door 또는 Application Gateway에서 원본으로의 트래픽만 허용하도록 인바운드 트래픽을 제한합니다. Azure Front Door에 대한 지침을 참조하세요. Application Gateway는 가상 네트워크에 배포되며 공개적으로 노출된 IP가 없는지 확인합니다.
WAF 정책을 방지 모드로 전환합니다. 검색 모드에서 정책을 배포하는 것은 로그에서만 작동하며 트래픽을 차단하지 않습니다. 가양성 문제를 줄이기 위해 프로덕션 트래픽 및 미세 조정을 사용하여 WAF 정책을 확인하고 테스트한 후에는 정책을 방지 모드(차단/방어 모드)로 전환해야 합니다.
Azure WAF 로그를 사용하여 변칙이 있는지 트래픽을 모니터링합니다. 비정상적으로 많은 수의 요청을 보내는 의심스러운 IP, 비정상적인 사용자 에이전트 문자열, 비정상적인 쿼리 문자열 패턴 등 잘못된 트래픽을 차단하는 사용자 지정 규칙을 만들 수 있습니다.
가양성을 줄이기 위해 허용 작업으로 일치 사용자 지정 규칙을 만들어 알려진 합법적인 트래픽에 대해 WAF를 우회할 수 있습니다. 이러한 규칙은 다른 차단 및 속도 제한 규칙보다 높은 우선 순위(낮은 숫자 값)로 구성해야 합니다.
최소한 단일 IP 주소에서 높은 요청 속도를 차단하는 속도 제한 규칙이 있어야 합니다. 예를 들어 단일 클라이언트 IP 주소가 창당 XXX 이상의 트래픽을 사이트로 보내는 것을 허용하지 않도록 속도 제한 규칙을 구성할 수 있습니다. Azure WAF는 요청을 추적하기 위한 2가지 기간(1분 및 5분)을 지원합니다. HTTP Flood 공격을 더 효과적으로 완화하려면 5분 기간을 사용하는 것이 좋습니다. 이 규칙은 이 규칙보다 먼저 일치하도록 보다 구체적인 속도 제한 규칙 또는 일치 규칙을 만들 수 있도록 가장 낮은 우선 순위 규칙(우선 순위는 1이 가장 높은 우선 순위임)이어야 합니다. Application Gateway WAF v2를 사용하는 경우 추가 속도 제한 구성을 사용하여 클라이언트 IP 이외의 방법으로 클라이언트를 추적하고 차단할 수 있습니다. Application Gateway waf의 속도 제한에 대한 자세한 내용은 속도 제한 개요에서 확인할 수 있습니다.
다음 Log Analytics 쿼리는 위의 규칙에 사용해야 하는 임계값을 결정하는 데 도움이 될 수 있습니다. Application Gateway를 사용하는 유사한 쿼리의 경우 "FrontdoorAccessLog"를 "ApplicationGatewayAccessLog"로 바꿉니다.
AzureDiagnostics | where Category == "FrontdoorAccessLog" | summarize count() by bin(TimeGenerated, 5m), clientIp_s | summarize max(count_), percentile(count_, 99), percentile(count_, 95)
DDoS 공격에 대한 방어를 직접 목표로 삼지는 않지만 관리되는 규칙은 다른 일반적인 공격에 대한 보호를 제공합니다. 자세한 내용은 관리되는 규칙(Azure Front Door) 또는 관리되는 규칙(Application Gateway)을 참조하여 이러한 규칙이 보호할 수 있는 다양한 공격 유형에 대해 자세히 알아보세요.
WAF 로그 분석
다음 쿼리를 사용하여 Log Analytics에서 WAF 로그를 분석할 수 있습니다.
Azure Front Door
AzureDiagnostics
| where Category == "FrontdoorWebApplicationFirewallLog"
자세한 내용은 Azure Front Door가 포함된 Azure WAF를 참조하세요.
Azure Application Gateway
AzureDiagnostics
| where Category == "ApplicationGatewayFirewallLog"
자세한 내용은 Azure Application Gateway가 포함된 Azure WAF를 참조하세요.
다음 단계
Azure Front Door에 대한 WAF 정책을 만듭니다.
Web Application Firewall을 사용하는 Application Gateway를 만듭니다.
Azure Front Door가 DDoS 공격으로부터 보호하는 방법을 알아봅니다.
Azure DDoS 네트워크 보호로 애플리케이션 게이트웨이를 보호합니다.
Azure DDoS Protection에 대해 자세히 알아봅니다.