Azure Front Door의 Azure 웹 애플리케이션 방화벽
Azure Front Door의 Azure Web Application Firewall은 웹 애플리케이션을 중앙 집중식으로 보호합니다. WAF(웹 애플리케이션 방화벽)는 일반적인 악용 및 취약성으로부터 웹 서비스를 보호합니다. 사용자의 서비스 가용성을 높게 유지하고 규정 준수 요구 사항을 충족하는 데 유용합니다.
Azure Front Door의 Azure Web Application Firewall은 글로벌 및 중앙 집중식 솔루션입니다. 전 세계 Azure 네트워크 에지 위치에 배포됩니다. WAF 지원 웹 애플리케이션은 네트워크 에지에서 Azure Front Door가 전달하는 수신 요청을 모두 검사합니다.
WAF는 공격 소스에 가까운 악의적인 공격이 가상 네트워크에 침입하기 전에 차단합니다. 성능을 저하시키지 않으면서 대규모로 글로벌 보호를 받을 수 있습니다. WAF 정책은 구독의 Azure Front Door 프로필에 쉽게 연결됩니다. 몇 분 내에 새로운 규칙을 배포할 수 있기 때문에 변화하는 위협 패턴에 신속하게 대응할 수 있습니다.
참고 항목
웹 워크로드의 경우 Azure DDoS Protection 및 웹 애플리케이션 방화벽을 활용하여 새로운 DDoS 공격으로부터 보호하는 것이 좋습니다. 또 다른 옵션은 웹 애플리케이션 방화벽과 함께 Azure Front Door를 사용하는 것입니다. Azure Front Door는 네트워크 수준 DDoS 공격에 대한 플랫폼 수준 보호를 제공합니다. 자세한 내용은 Azure 서비스에 대한 보안 기준을 참조하세요.
Azure Front Door에는 두 계층이 있습니다.
- Standard
- Premium
Azure Web Application Firewall은 기본적으로 전체 기능을 갖춘 Azure Front Door 프리미엄과 통합됩니다. Azure Front Door 표준의 경우 사용자 지정 규칙만 지원됩니다.
보호
Azure Web Application Firewall은 다음을 보호합니다.
- 백 엔드 코드를 수정하지 않고 웹 취약점 및 공격을 받는 웹 애플리케이션을 보호합니다.
- IP 평판 규칙 집합을 사용하여 악의적인 봇으로부터 웹 애플리케이션을 보호합니다.
- DDoS 공격으로부터 애플리케이션을 보호합니다. 자세한 내용은 애플리케이션 DDoS 보호를 참조하세요.
WAF 정책 및 규칙
WAF 정책을 구성하고 해당 정책을 보호할 하나 이상의 Azure Front Door 도메인에 연결할 수 있습니다. WAF 정책은 다음 두 가지 유형의 보안 규칙으로 구성됩니다.
- 고객이 만든 사용자 지정 규칙
- 미리 구성된 Azure 관리형 규칙 집합의 컬렉션인 관리형 규칙 집합
두 규칙이 모두 존재하는 경우 관리형 규칙 세트의 규칙을 처리하기 전에 사용자 지정 규칙이 처리됩니다. 규칙은 일치 조건, 우선 순위 및 작업으로 구성됩니다. 지원되는 작업 유형은 ALLOW, BLOCK, LOG, REDIRECT입니다. 관리형 규칙과 사용자 지정 규칙을 결합하여 특정 애플리케이션 보호 요구 사항을 충족하는 완전히 사용자 지정된 정책을 만들 수 있습니다.
정책 내 규칙은 우선 순위에 따라 처리됩니다. 우선 순위는 처리할 규칙의 순서를 정의하는 고유한 정수입니다. 정수 값이 작을수록 우선 순위가 높고 이러한 규칙은 정수 값이 높은 규칙보다 먼저 평가됩니다. 규칙이 일치하면 규칙에 정의된 해당 작업이 요청에 적용됩니다. 이러한 일치가 처리되면 우선 순위가 낮은 규칙은 더 이상 처리되지 않습니다.
Azure Front Door가 제공하는 웹 애플리케이션에는 한 번에 하나의 WAF 정책만 연결될 수 있습니다. 그러나 WAF 정책이 연결되지 않은 Azure Front Door 구성도 사용할 수 있습니다. WAF 정책이 있으면 전 세계적으로 일관된 보안 정책을 보장하기 위해 모든 에지 위치에 복제됩니다.
WAF 모드
WAF 정책을 다음 두 가지 모드로 실행하도록 구성할 수 있습니다.
- 탐지: WAF를 탐지 모드로 실행하면 요청 및 일치하는 WAF 규칙을 모니터링하고 WAF 로그에 기록하는 작업만 수행합니다. 다른 작업은 수행하지 않습니다. Azure Front Door에 대한 로깅 진단 기능을 켤 수 있습니다. 포털을 사용하는 경우 진단 섹션으로 이동하세요.
- 방지: 방지 모드에서는 요청이 규칙과 일치하면 WAF가 지정된 작업을 수행합니다. 일치하는 항목이 발견되면 우선 순위가 낮은 규칙이 더 이상 평가되지 않습니다. 일치하는 모든 요청은 WAF 로그에도 기록됩니다.
WAF 작업
WAF 고객은 요청이 규칙의 조건과 일치하는 경우 작업 중 하나를 실행하도록 선택할 수 있습니다.
- 허용: 요청이 WAF를 통과하여 원본에 전달됩니다. 더 낮은 우선 순위 규칙으로는 이 요청을 차단할 수 없습니다.
- 차단: 요청이 차단되며 WAF는 요청을 원본에 전달하지 않고 클라이언트에 응답을 보냅니다.
- 로그: 요청이 WAF 로그에 기록되고 WAF는 우선 순위가 낮은 규칙을 계속 평가합니다.
- 리디렉션: WAF는 요청을 지정된 URI로 리디렉션합니다. 지정된 URI는 정책 수준 설정입니다. 구성을 마치면 리디렉션 작업과 일치하는 모든 요청이 해당 URI로 전송됩니다.
- 변칙 점수: 총 변칙 점수는 이 작업이 포함된 규칙이 일치할 경우 점진적으로 증가합니다. 이 기본 작업은 기본 규칙 집합 2.0 이상에서 수행됩니다. 봇 관리자 규칙 집합에는 해당되지 않습니다.
WAF 규칙
WAF 정책은 다음 두 가지 유형의 보안 규칙으로 구성될 수 있습니다.
- 고객 및 관리형 규칙 집합에서 작성한 사용자 지정 규칙
- 미리 구성된 Azure 관리형 규칙 집합
사용자 작성 규칙
WAF에 대한 사용자 지정 규칙을 구성하려면 다음 컨트롤을 사용합니다.
- IP 허용 목록 및 차단 목록: 클라이언트 IP 주소 또는 IP 주소 범위를 기반으로 웹 애플리케이션에 대한 액세스를 제어할 수 있습니다. IPv4 및 IPv6 주소 형식이 모두 지원됩니다. 이 목록은 원본 IP가 목록의 IP와 일치하는 요청을 차단하거나 허용하도록 구성할 수 있습니다.
- 지리 기반 액세스 제어: 클라이언트의 IP 주소와 연결된 국가 번호를 기반으로 웹 애플리케이션에 대한 액세스를 제어할 수 있습니다.
- HTTP 매개 변수 기반 액세스 제어: HTTP/HTTPS 요청 매개 변수에서 문자열 일치를 기반으로 규칙을 만들 수 있습니다. 예를 들어 쿼리 문자열, POST 인수, 요청 URI, 요청 헤더 및 요청 본문이 있습니다.
- 요청 메서드 기반 액세스 제어: 요청의 HTTP 요청 메서드에 대한 규칙을 기반으로 합니다. 예를 들어 GET, PUT 또는 HEAD가 있습니다.
- 크기 제약 조건: 쿼리 문자열, URI 또는 요청 본문과 같은 요청의 특정 부분 길이를 기반으로 규칙을 만들 수 있습니다.
- 속도 제한 규칙: 속도 제한 규칙은 모든 클라이언트 IP 주소에서 오는 비정상적으로 높은 트래픽을 제한합니다. 1분 동안 클라이언트 IP에서 허용하는 웹 요청 수에 대한 임계값을 구성할 수 있습니다. 이 규칙은 클라이언트 IP의 요청을 모두 허용하거나 모두 차단하는 IP 목록 기반 허용/사용자 지정 차단 규칙과는 다릅니다. 속도 제한은 세부적인 속도 제어를 위해 HTTP(S) 매개 변수 일치와 같은 다른 일치 조건과 결합할 수 있습니다.
Azure 관리형 규칙 세트
Azure 관리형 규칙 세트는 일반적인 보안 위협에 대한 보호를 쉽게 배포할 수 있는 방법을 제공합니다. Azure에서 이러한 규칙 집합을 관리하므로 규칙이 새로운 공격 서명으로부터 보호가 필요할 때 업데이트됩니다. Azure 관리형 기본 규칙 세트에는 다음 위협 범주에 대한 규칙이 포함됩니다.
- 사이트 간 스크립팅
- Java 공격
- 로컬 파일 포함
- PHP 삽입 공격
- 원격 명령 실행
- 원격 파일 포함
- 세션 고정
- SQL 삽입 공격 보호
- 프로토콜 공격자
사용자 지정 규칙은 항상 기본 규칙 세트의 규칙을 평가하기 전에 적용됩니다. 요청이 사용자 지정 규칙과 일치하면 해당 규칙 동작이 적용됩니다. 요청이 차단되거나 백 엔드로 전달됩니다. 다른 사용자 지정 규칙이나 기본 규칙 세트의 규칙은 처리되지 않습니다. WAF 정책에서 기본 규칙 세트를 제거할 수도 있습니다.
자세한 내용은 웹 애플리케이션 방화벽 기본 규칙 집합 그룹 및 규칙을 참조하세요.
봇 보호 규칙 세트
모든 봇 범주의 요청에 대해 사용자 지정 작업을 수행하도록 관리형 봇 보호 규칙 세트를 설정할 수 있습니다.
세 가지 봇 범주가 지원 됩니다. 잘못된 범주, 양호 및 알 수 없음. Bot 서명은 WAF 플랫폼에 의해 관리되고 동적으로 업데이트됩니다.
- 잘못된: 잘못된 봇은 악의적인 IP 주소가 있는 봇과 ID를 위조한 봇입니다. 잘못된 봇에는 Microsoft 위협 인텔리전스 피드의 높은 신뢰도 IP 표시기 손상 및 IP 평판 피드에서 제공되는 악성 IP 주소가 포함됩니다. 잘못된 봇에는 자신을 좋은 봇으로 식별하는 봇도 포함되지만 해당 IP 주소는 합법적인 봇 게시자에 속하지 않습니다.
- 양호: 좋은 봇은 신뢰할 수 있는 사용자 에이전트입니다. 좋은 봇 규칙은 WAF 정책 구성에 대한 세부적인 제어를 제공하기 위해 여러 범주로 분류됩니다. 이러한 범주에는 확인된 검색 엔진 봇(예: Googlebot 및 Bingbot), 검증된 링크 검사기 봇, 확인된 소셜 미디어 봇(예: Facebookbot 및 LinkedInBot), 확인된 광고 봇, 확인된 콘텐츠 검사기 봇 및 유효성이 검사된 기타 봇이 포함됩니다.
- 알 수 없음: 알 수 없는 봇은 추가 유효성 검사 없이 사용자 에이전트입니다. 알 수 없는 봇에는 Microsoft 위협 인텔리전스 피드의 중간 신뢰도 IP 손상 지표에서 가져온 악성 IP 주소도 포함됩니다.
WAF 플랫폼은 봇 서명을 관리하고 동적으로 업데이트합니다. 다양한 종류의 봇을 차단, 허용, 기록 또는 리디렉션하도록 사용자 지정 작업을 설정할 수 있습니다.
봇 보호를 사용하도록 설정하면 구성된 작업에 따라 봇 규칙과 일치하는 들어오는 요청이 차단, 허용 또는 기록됩니다. 잘못된 봇이 차단되고, 좋은 봇이 허용되고, 알 수 없는 봇이 기본적으로 기록됩니다. 다양한 유형의 봇에 대해 사용자 지정 작업을 차단, 허용, 로그 또는 JS 챌린지로 설정할 수 있습니다. 스토리지 계정, 이벤트 허브, 로그 분석에서 WAF 로그에 액세스하거나 로그를 파트너 솔루션으로 보낼 수 있습니다.
Bot Manager 1.1 규칙 집합은 Azure Front Door 프리미엄 버전에서 사용할 수 있습니다.
자세한 내용은 Azure WAF의 Bot Manager 1.1 및 JavaScript 챌린지: 봇 위협 지형 탐색을 참조 하세요.
구성
Azure Portal, REST API, Azure Resource Manager 템플릿 및 Azure PowerShell을 사용하여 모든 WAF 정책을 구성하고 배포할 수 있습니다. Firewall Manager 통합을 사용하여 대규모로 Azure WAF 정책을 구성하고 관리할 수도 있습니다. 자세한 내용은 Azure Firewall Manager를 사용하여 Azure Web Application Firewall 정책 관리를 참조하세요.
모니터링
Azure Front Door의 WAF 모니터링은 경고를 추적하고 트래픽 추세를 쉽게 모니터링 하기 위해 Azure Monitor와 통합됩니다. 자세한 내용은 Azure Web Application Firewall 모니터링 및 로깅을 참조하세요.
다음 단계
- Azure Application Gateway의 Azure Web Application Firewall에 대해 자세히 알아봅니다.
- Azure 네트워크 보안에 대해 자세히 알아봅니다.