Application Gateway WAF에 대한 제로 트러스트 권장 사항

Application Gateway의 Azure 웹 애플리케이션 방화벽은 일반적인 악용 및 취약성으로부터 웹 애플리케이션을 보호합니다. 다음 권장 사항은 WAF가 제대로 구성되고 모니터링되는지 확인하는 데 도움이 됩니다.

모든 Azure 네트워크 보안 제로 트러스트 권장 사항에 대한 요약은 Azure 네트워크 보안 제로 트러스트 권장 사항을 참조하세요.

권장 사항

Application Gateway WAF가 방지 모드에서 사용하도록 설정됨

Azure Application Gateway WAF(웹 애플리케이션 방화벽)는 SQL 삽입, 사이트 간 스크립팅 및 기타 OWASP(Open Worldwide Application Security Project) 상위 10가지 위협과 같은 일반적인 악용 및 취약성으로부터 웹 애플리케이션을 보호합니다. WAF는 두 가지 모드로 작동합니다. 검색 모드는 들어오는 요청 및 로그 일치를 평가하지만 트래픽을 차단하지는 않지만 방지 모드는 요청을 평가하고 WAF 규칙을 위반하는 악의적인 요청을 적극적으로 차단합니다. 예방 모드에서 WAF를 실행하는 것은 일반적인 웹 공격으로부터 애플리케이션을 적극적으로 보호하는 데 중요합니다. WAF가 검색 모드인 경우 악의적인 트래픽만 기록되고 방지되지 않으므로 애플리케이션이 악용에 노출됩니다.

수정 작업

Application Gateway WAF에서 요청 본문 검사를 사용하도록 설정됨

Azure Application Gateway WAF(웹 애플리케이션 방화벽)는 지역 수준에서 일반적인 악용 및 취약성에 대해 웹 애플리케이션에 대한 중앙 집중식 보호를 제공합니다. 요청 본문 검사를 사용하면 WAF가 SQL 삽입, 사이트 간 스크립팅 및 명령 삽입 페이로드를 비롯한 악의적인 패턴에 대한 HTTP POST, PUT 및 PATCH 요청 본문을 분석할 수 있습니다. 요청 본문 검사를 사용하지 않도록 설정하면 위협 행위자가 모든 WAF 규칙 평가를 우회하는 양식 제출, API 호출 또는 파일 업로드 내에 악성 콘텐츠를 포함할 수 있습니다. 이렇게 하면 공격자가 보호되지 않는 엔드포인트를 통해 초기 액세스 권한을 얻고, 백 엔드 데이터베이스에 대해 임의의 명령을 실행하고, 중요한 데이터를 반출하고, 내부 시스템으로 피벗하는 악용에 대한 직접적인 경로가 만들어집니다. OWASP(Open Worldwide Application Security Project) 핵심 규칙 집합 및 Microsoft Bot Manager 규칙을 비롯한 WAF의 관리되는 규칙 집합은 볼 수 없는 위협을 평가할 수 없으므로 이러한 보호는 일반적인 신체 기반 공격 벡터에 대해 비효율적입니다.

수정 작업

Application Gateway WAF에서 기본 규칙 집합을 사용하도록 설정됨

Azure Application Gateway WAF(웹 애플리케이션 방화벽)는 알려진 공격 패턴에 대한 미리 구성된 검색 서명을 포함하는 관리되는 규칙 집합을 통해 웹 애플리케이션에 대한 중앙 집중식 보호를 제공합니다. Microsoft 기본 규칙 집합 및 OWASP(Open Worldwide Application Security Project) 핵심 규칙 집합은 보안 전문 지식을 구성하지 않고도 가장 일반적이고 위험한 웹 취약성으로부터 보호하는 관리형 규칙 집합을 지속적으로 업데이트합니다. 관리되는 규칙 집합이 활성화되지 않은 경우 WAF 정책은 알려진 공격 패턴에 대한 보호를 제공하지 않으며 배포에도 불구하고 통과로 효과적으로 작동합니다. 위협 행위자가 정기적으로 보호되지 않는 웹 애플리케이션을 검색하고 자동화된 도구 키트를 사용하여 잘 문서화된 취약성을 악용합니다. 관리되는 규칙이 없으면 공격자는 백 엔드 서버에 대한 SQL 삽입, 사이트 간 스크립팅 및 명령 주입을 비롯한 일반적인 취약성을 악용할 수 있습니다.

수정 작업

Application Gateway WAF에서 봇 보호 규칙 집합이 활성화되고 할당됨

Azure Application Gateway WAF(웹 애플리케이션 방화벽)는 동작 패턴, 알려진 봇 서명 및 IP 평판에 따라 자동화된 트래픽을 식별하고 분류하는 Microsoft Bot Manager 규칙 집합을 통해 봇 보호를 제공합니다. 봇 보호를 사용하도록 설정하지 않으면 위협 행위자가 자격 증명 스터핑 공격, 콘텐츠 스크래핑, 인벤토리 비장 및 애플리케이션 계층 서비스 거부 공격에 자동화된 도구를 활용할 수 있습니다. 이러한 공격은 간단한 속도 제한을 피하기 위해 IP 주소를 회전하는 분산 봇넷에서 발생하는 경우가 많으므로 서명 기반 봇 검색이 필수적입니다. Bot Manager 규칙 집합은 봇을 알려진 좋은 봇, 알려진 잘못된 봇 및 알 수 없는 봇으로 분류하여 세분화된 정책 적용을 허용합니다. 이 분류가 없으면 악의적인 봇 트래픽이 합법적인 요청과 혼합되어 애플리케이션 리소스를 사용하고 사기 행위를 활성화합니다.

수정 작업

Application Gateway WAF에서 HTTP DDoS 보호 규칙 집합이 사용하도록 설정됨

Azure Application Gateway WAF(웹 애플리케이션 방화벽)는 애플리케이션 계층에서 대량 HTTP 기반 공격을 감지하고 완화하는 Microsoft HTTP DDoS 규칙 집합을 통해 HTTP DDoS(분산 서비스 거부) 보호를 제공합니다. 대역폭을 대상으로 하는 네트워크 계층 DDoS 공격과 달리 HTTP 기반 DDoS 공격은 서버 리소스, 데이터베이스 연결 및 애플리케이션 스레드를 소진하기 위해 대량으로 합법적인 HTTP 요청을 전송하여 애플리케이션 계층을 악용합니다. HTTP DDoS 보호가 활성화되지 않으면 위협 행위자가 백엔드 서버를 압도하는 HTTP 홍수 공격, 연결을 열어두어 연결 풀을 소진시키는 slowloris 공격, 그리고 리소스 소모가 큰 작업을 유발하도록 설계된 높은 빈도의 요청 패턴을 실행할 수 있습니다. HTTP DDoS 규칙 집합에는 구성 가능한 민감도 수준에 따라 비정상적인 요청 속도를 검색하고 백 엔드 애플리케이션 서버에 영향을 주기 전에 악성 트래픽을 차단, 로그 또는 리디렉션할 수 있는 규칙 그룹이 포함되어 있습니다.

수정 작업

Application Gateway WAF에서 속도 제한 사용

Azure Application Gateway WAF(웹 애플리케이션 방화벽)는 지정된 기간 내에 클라이언트가 수행할 수 있는 요청 수를 제한하는 사용자 지정 규칙을 통해 속도 제한을 지원합니다. 속도 제한은 무차별 암호 대입 공격, 자격 증명 스터핑, API 남용 및 과도한 요청으로 엔드포인트를 범람하는 애플리케이션 계층 서비스 거부 공격으로부터 애플리케이션을 보호합니다. 속도 제한을 구성하지 않으면 위협 행위자가 인증 엔드포인트에 대해 분당 수천 개의 암호 조합을 시도하고, 도난당한 자격 증명을 대규모로 테스트하고, 대량의 데이터를 추출하고, 서버 용량을 초과할 수 있습니다. 속도 제한 규칙을 사용하면 관리자가 분당 요청 수에 따라 임계값을 정의하고 IP 주소별로 개별 클라이언트를 추적할 수 있습니다. 클라이언트가 구성된 임계값을 초과하면 WAF는 후속 요청을 차단하거나 위반을 기록하거나 사용자 지정 페이지로 리디렉션할 수 있습니다.

수정 작업

Application Gateway WAF에서 JavaScript 챌린지를 사용하도록 설정됨

Azure Application Gateway WAF(웹 애플리케이션 방화벽)는 자동화된 봇 및 헤드리스 브라우저에 대한 방어 메커니즘으로 JavaScript 챌린지(현재 미리 보기 상태)를 지원합니다. 요청이 챌린지를 트리거하는 경우 WAF는 클라이언트 브라우저가 유효한 챌린지 쿠키를 얻기 위해 실행해야 하는 JavaScript 코드 조각을 제공하며, 요청이 간단한 HTTP 클라이언트 또는 봇이 아닌 실제 브라우저에서 발생했음을 증명합니다. 챌린지를 성공적으로 실행한 클라이언트는 쿠키가 만료될 때까지 정상적으로 진행되지만 JavaScript를 실행할 수 없는 봇 및 자동화된 도구는 차단됩니다. 이 메커니즘은 JavaScript 엔진 없이 간단한 HTTP 라이브러리를 사용하는 자격 증명 스터핑 봇, 웹 스크레이퍼 및 애플리케이션 계층 DDoS(분산 서비스 거부) 봇에 대해 효과적입니다. JavaScript 챌린지는 모든 트래픽을 허용하고 의심되는 봇을 완전히 차단하고 CAPTCHA와 같은 사용자 상호 작용을 요구하지 않고 브라우저 기능을 확인하는 중간 지점을 제공합니다.

수정 작업

Application Gateway WAF에서 진단 로깅을 사용하도록 설정됨

Azure Application Gateway WAF(웹 애플리케이션 방화벽)는 SQL 삽입, 사이트 간 스크립팅 및 OWASP(Open Worldwide Application Security Project) 상위 10가지 위협을 비롯한 일반적인 악용으로부터 웹 애플리케이션을 보호합니다. 진단 로깅을 사용하도록 설정하지 않으면 보안 팀은 차단된 공격, 규칙 일치, 액세스 패턴 및 방화벽 이벤트에 대한 가시성을 잃게 됩니다. 로깅이 없으면 악용이 감지되지 않으며 인시던트 응답자는 WAF 이벤트를 다른 원격 분석과 상호 연결하거나 공격 타임라인을 생성할 수 없습니다. Application Gateway WAF는 보안 모니터링을 위해 Log Analytics, 스토리지 계정 또는 이벤트 허브로 라우팅해야 하는 액세스 로그, 성능 로그 및 방화벽 로그를 비롯한 여러 로그 범주를 제공합니다.

수정 작업