Azure 웹 애플리케이션 방화벽 배포 보안

AZURE WAF(웹 애플리케이션 방화벽)는 SQL 삽입, 사이트 간 스크립팅 및 기타 OWASP 상위 10개 공격과 같은 일반적인 악용 및 취약성으로부터 웹 애플리케이션에 대한 중앙 집중식 보호를 제공합니다. 애플리케이션과 잠재적 위협 사이에 있는 중요한 보안 구성 요소로서 WAF 배포를 적절하게 보호하여 효율성을 극대화하고 전반적인 보안 태세를 유지하는 것이 중요합니다.

이 문서에서는 Azure Web Application Firewall 배포를 가장 안전하게 보호하는 방법에 대한 지침을 제공합니다.

네트워크 보안

Azure Web Application Firewall의 네트워크 보안은 적절한 트래픽 관리를 통해 애플리케이션을 보호하고, 악의적인 IP 주소를 차단하고, WAF 모드를 적절하게 구성하는 데 중점을 둡니다. 이러한 컨트롤은 웹 기반 공격에 대한 포괄적인 보호를 유지하면서 합법적인 트래픽만 애플리케이션에 도달하도록 하는 데 도움이 됩니다.

  • 초기 단계의 기준 설정 기간 후 방지 모드에서 WAF 구성: 탐지 모드로 시작하여 트래픽 패턴을 이해하고 오탐지를 식별한 다음, 방지 모드로 전환하여 공격을 적극적으로 차단합니다. 방지 모드는 규칙에 의해 감지된 침입 및 공격을 차단하여 공격자에게 "403 권한 없는 액세스" 예외를 보냅니다. Application Gateway 의 WAF 모드와 Front Door 의 WAF 모드를 참조하세요.

  • 사용자 지정 규칙을 사용하여 악의적인 IP 주소를 차단합니다. IP 주소, 범위 또는 지리적 위치에 따라 트래픽을 허용하고 차단하는 사용자 지정 규칙을 만듭니다. 이렇게 하면 애플리케이션에 액세스할 수 있는 사용자를 세부적으로 제어할 수 있으며 알려진 악의적인 행위자의 공격을 방지할 수 있습니다. 웹 애플리케이션 방화벽 CRS 규칙 그룹 및 규칙을 참조하세요.

  • 오탐을 줄이기 위한 WAF 규칙 사용자 지정: 웹 애플리케이션 요구 사항에 맞게 사이트별 WAF 정책을 적용하고 규칙 및 규칙 그룹을 사용자 지정합니다. 이는 오탐을 제거하여 진정한 위협에 대한 방어를 유지하는 데 도움이 됩니다. 사이트별 구성을 허용하도록 각 사이트에 대해 고유한 Azure WAF 정책을 연결합니다.

  • 포괄적인 로깅 및 모니터링 사용: 검색 모드에서 작동할 때 진단 및 WAF 로그를 켜서 모든 위협 경고를 모니터링하고 기록합니다. 이렇게 하면 WAF가 평가, 일치 및 차단하는 항목을 확인할 수 있습니다. 로깅 개요를 참조하세요.

  • 구성된 네트워크 보안 관리에 태그 사용: Azure Application Gateway 서브넷 및 관련 네트워크 보안 리소스에서 WAF와 연결된 네트워크 보안 그룹에 태그를 적용합니다. 개별 NSG 규칙에 대해 "설명" 필드를 사용하여 비즈니스 요구 사항 및 기간을 지정합니다. 태그를 만들고 사용하는 방법을 참조하세요.

  • 네트워크 리소스 구성 모니터링: Azure 활동 로그를 사용하여 네트워크 리소스 구성을 모니터링하고 WAF 배포와 관련된 네트워크 설정 및 리소스에 대한 변경 내용을 검색합니다. 중요한 네트워크 설정 변경이 발생할 때 트리거되는 Azure Monitor 내에서 경고를 만듭니다. Azure 활동 로그 이벤트를 보고 검색하는 방법을 참조하세요.

  • DDoS 공격을 방지하기 위한 속도 제한 구현: 지정된 기간 동안 각 클라이언트 IP 주소에서 허용되는 요청 수를 제어하도록 속도 제한 규칙을 구성합니다. 재시도 폭풍 및 DDoS 공격으로부터 보호하는 동안 합법적인 트래픽을 차단하지 않도록 속도 제한 임계값을 충분히 높게 설정합니다. Azure Front Door에 대한 속도 제한은 무엇인가요?

  • 악성 봇을 차단하는 봇 보호 사용: 검색 엔진 크롤러와 같은 합법적인 봇을 허용하면서 봇 보호 관리 규칙 집합을 사용하여 잘못된 봇을 식별하고 차단합니다. 봇 보호 규칙은 봇을 양호, 불량 또는 알 수 없음으로 분류하고 악의적인 봇 트래픽을 자동으로 차단할 수 있습니다. 웹 애플리케이션 방화벽에 대한 봇 보호 구성을 참조하세요.

  • 지역 애플리케이션에 대한 지역 필터링 구현: 애플리케이션이 특정 지리적 지역의 사용자에게 서비스를 제공하는 경우 외부 예상 국가 또는 지역의 요청을 차단하도록 지역 필터링을 구성합니다. 매핑되지 않은 IP 주소에서 유효한 요청을 차단하지 않도록 알 수 없는(ZZ) 위치를 포함합니다. Azure Front Door의 도메인에 대한 지역 필터링이란?

  • 최신 관리형 규칙 집합 버전을 사용합니다. 최신 Azure 관리형 규칙 집합 버전으로 정기적으로 업데이트하여 현재 위협으로부터 보호합니다. Microsoft는 위협 환경 및 OWASP 상위 10개 공격 유형에 따라 관리되는 규칙을 정기적으로 업데이트합니다. Azure Web Application Firewall DRS 규칙 그룹 및 규칙을 참조하세요.

ID 관리

Azure Web Application Firewall에 대한 ID 관리를 통해 WAF 리소스에 대한 관리 액세스가 제대로 제어되고 모니터링됩니다. 여기에는 관리 계정의 인벤토리 유지 관리, 중앙 집중식 ID 시스템 사용, WAF 배포를 관리하는 모든 사용자를 위한 강력한 인증 메커니즘 구현이 포함됩니다.

  • 중앙 집중식 인증에 Azure Active Directory 사용: WAF 리소스를 관리하기 위한 중앙 인증 및 권한 부여 시스템으로 Azure AD를 사용합니다. Azure AD는 강력한 암호화를 사용하여 데이터를 보호하고 Azure 환경에서 일관된 ID 관리를 제공합니다. Azure AD 인스턴스를 만들고 구성하는 방법을 참조하세요.

  • 관리 계정의 인벤토리 유지 관리: 쿼리 가능하고 명시적으로 할당되어야 하는 Azure AD 기본 제공 역할을 사용합니다. Azure AD PowerShell 모듈을 사용하여 쿼리를 수행하고 WAF 리소스에 액세스할 수 있는 관리 그룹의 멤버인 계정을 검색합니다. PowerShell을 사용하여 Azure AD에서 디렉터리 역할을 가져오는 방법을 참조하세요.

  • 관리 액세스에 다단계 인증 사용: WAF 리소스에 대한 관리 액세스 권한이 있는 모든 사용자에 대해 MFA가 필요합니다. 이렇게 하면 암호가 손상된 경우에도 중요한 추가 보안 계층이 추가됩니다. 클라우드용 Microsoft Defender의 ID 및 액세스 관리 권장 사항을 따릅니다. Azure에서 다단계 인증을 사용하도록 설정하는 방법을 참조하세요.

  • 표준 절차와 함께 전용 관리 계정 사용: Azure WAF 인스턴스에 액세스할 수 있는 전용 관리 계정 사용을 중심으로 표준 운영 절차를 만듭니다. 클라우드용 Microsoft Defender의 ID 및 액세스 관리 기능을 사용하여 관리 계정 수를 모니터링합니다. 클라우드 ID 및 액세스에 대한 Microsoft Defender 이해 참조

  • 승인된 위치에서만 액세스 관리: 명명된 위치로 조건부 액세스 정책을 구성하여 WAF 리소스에 대한 액세스를 제한합니다. IP 주소 범위 또는 국가 및 지역의 논리적 그룹을 만들고 구성된 명명된 위치로 중요한 리소스에 대한 액세스를 제한합니다. Azure Active Directory 조건부 액세스의 위치 조건은 무엇인가요?

  • 의심스러운 계정 활동 모니터링 및 경고: Azure AD 보안 보고서 및 클라우드용 Microsoft Defender를 사용하여 ID를 모니터링하고 활동에 액세스합니다. 의심스럽거나 안전하지 않은 활동에 대한 경고를 설정하고 고급 위협 탐지를 위해 Microsoft Sentinel과 통합합니다. 위험한 활동에 대한 플래그가 지정된 Azure AD 사용자를 식별하는 방법을 참조하세요.

권한 있는 액세스

Azure Web Application Firewall에 대한 권한 있는 액세스 제어는 WAF 리소스에 대한 관리 액세스를 제한하고 모니터링하는 데 중점을 줍니다. 이러한 조치는 보안 구성에 대한 무단 변경을 방지하고 권한 있는 작업이 제대로 추적 및 감사되도록 하는 데 도움이 됩니다.

  • Azure RBAC를 사용하여 리소스 액세스 제어: Azure 역할 기반 액세스 제어를 사용하여 Azure WAF 리소스에 대한 액세스를 제어합니다. 사용자 및 서비스에 필요한 최소 권한만 할당하여 최소 권한 원칙을 적용합니다. Azure에서 Azure RBAC를 구성하는 방법을 참조하세요.

  • 관리 작업에 Privileged Access Workstations 사용: Azure WAF 및 관련 리소스에 로그인하고 구성하도록 구성된 다단계 인증을 사용하여 강화된 전용 워크스테이션을 사용합니다. 이렇게 하면 표준 사용자 워크스테이션을 통해 관리 손상의 위험이 줄어듭니다. Privileged Access 워크스테이션에 대한 자세한 내용을 참조하세요.

  • 정기적으로 사용자 액세스 검토 및 조정: Azure ID 액세스 검토를 사용하여 그룹 멤버 자격, 엔터프라이즈 애플리케이션에 대한 액세스 및 WAF 리소스에 대한 역할 할당을 효율적으로 관리합니다. 정기적으로 사용자 액세스를 검토하여 활성 사용자만 계속 액세스할 수 있는지 확인합니다. Azure ID 액세스 검토를 사용하는 방법을 참조하세요.

  • 비활성화된 자격 증명에 대한 액세스 모니터링: Azure AD 로그인 활동, 감사 및 위험 이벤트 로그 원본을 Microsoft Sentinel 또는 기타 SIEM 도구와 통합합니다. Azure AD 사용자 계정에 대한 진단 설정을 만들고 모니터링을 위해 Log Analytics 작업 영역에 감사 및 로그인 로그를 보냅니다. Azure 활동 로그를 Azure Monitor에 통합하는 방법을 참조하세요.

  • 의심스러운 활동에 대한 자동화된 응답 구성: Azure AD의 위험 및 ID 보호 기능을 사용하여 사용자 ID와 관련된 검색된 의심스러운 작업에 대한 자동화된 응답을 구성합니다. 추가 조사 및 응답을 위해 Microsoft Sentinel에 데이터를 수집합니다. ID 보호 위험 정책을 구성하고 사용하도록 설정하는 방법을 참조하세요.

로깅 및 위협 감지

포괄적인 로깅 및 위협 탐지는 웹 애플리케이션 방화벽의 보안 상태에 대한 가시성을 유지하는 데 필수적입니다. 이러한 기능은 WAF 배포 전반에서 보안 이벤트를 수집하고 분석하여 위협을 감지하고 인시던트 조사 및 규정 준수를 유지하는 데 도움이 됩니다.

  • Microsoft Sentinel을 사용하여 중앙 집중식 로그 관리 사용: Microsoft Sentinel 또는 타사 SIEM으로 보낼 Azure WAF 로그를 구성합니다. 여기에는 WAF가 평가, 일치 및 차단하는 데이터에 대한 인사이트를 제공하는 Azure 활동, 진단 및 실시간 WAF 로그가 포함됩니다. Microsoft 웹 애플리케이션 방화벽에서 Microsoft Sentinel로의 데이터 연결을 참조하세요.

  • 포괄적인 감사 로깅 사용: Azure WAF 리소스에 대한 로깅을 켜서 감사, 보안 및 진단 로그를 캡처합니다. Azure WAF는 이벤트 원본, 날짜, 사용자, 타임스탬프 및 주소를 포함하여 구성된 진단 로그를 통해 검색된 각 위협에 대한 자세한 보고를 제공합니다. 로깅 개요를 참조하세요.

  • 로그 스토리지 보존 정책 구성: Azure WAF 로그를 사용자 지정 스토리지 계정으로 보내고 조직의 규정 준수 요구 사항에 따라 보존 정책을 정의합니다. Azure Monitor를 사용하여 Log Analytics 작업 영역 보존 기간을 적절하게 설정합니다. 스토리지 계정에 대한 모니터링 구성을 참조하세요.

  • 정기적으로 로그 모니터링 및 검토: 검색된 각 위협에 대한 자세한 보고를 제공하는 WAF 로그를 검토합니다. Microsoft Defender for Cloud의 권장 사항을 사용하여 보호되지 않는 웹 애플리케이션을 검색하고 취약한 리소스를 보호합니다. 보안 이벤트 개요를 위해 Microsoft Sentinel의 기본 제공 WAF 통합 문서를 활용합니다. Azure Application Gateway에 대한 진단 설정을 사용하도록 설정하는 방법을 참조하세요.

  • 비정상적인 활동에 대한 경고 만들기: Azure 활동 로그 진단 설정 및 WAF 진단 설정을 사용하도록 설정하고 Log Analytics 작업 영역으로 로그를 보냅니다. 차단된 요청이 정의된 임계값을 초과하는 경우와 같이 WAF 메트릭을 기반으로 비정상적인 활동에 대한 경고를 만듭니다. Azure 내에서 경고를 만드는 방법을 참조하세요.

  • 승인된 시간 동기화 원본 사용: Azure WAF에 대한 네트워크 규칙을 만들어 UDP를 통한 포트 123과 같은 적절한 포트 및 프로토콜이 있는 NTP 서버에 대한 액세스를 허용하여 로그 및 이벤트에서 정확한 타임스탬프를 보장합니다.

  • 로그 스크러빙을 사용하여 중요한 데이터 보호 사용: WAF 로그에서 암호, IP 주소 및 개인 데이터와 같은 중요한 정보를 제거하도록 로그 스크러빙 규칙을 구성합니다. 이렇게 하면 보안 가시성을 유지하면서 고객 데이터를 보호합니다. Azure Web Application Firewall 중요한 데이터 보호란?Azure 웹 애플리케이션 방화벽 중요한 데이터 보호를 참조하세요.

  • 포괄적인 로깅에 대한 진단 설정 구성: WAF 리소스에서 진단 설정을 사용하도록 설정하여 Log Analytics, Storage 계정 또는 Event Hub에 로그를 저장합니다. 정기적인 로그 검토는 WAF 정책을 조정하고 애플리케이션에 대한 공격 패턴을 이해하는 데 도움이 됩니다. Azure Web Application Firewall 모니터링 및 로깅을 참조하세요.

데이터 보호

Azure Web Application Firewall에 대한 데이터 보호에는 WAF에서 처리하는 중요한 정보 보호, 적절한 암호화 구현 및 적절한 액세스 제어 유지 관리가 포함됩니다. 이러한 조치는 무단 액세스 및 공개로부터 애플리케이션 및 해당 애플리케이션이 처리하는 데이터를 보호하는 데 도움이 됩니다.

  • 중요한 정보를 처리하는 태그 리소스: 태그를 사용하여 중요한 정보를 저장하거나 처리하는 Azure WAF 및 관련 리소스를 식별하고 추적합니다. 이렇게 하면 규정 준수 보고에 도움이 되며 적절한 보안 제어가 적용됩니다. 태그를 만들고 사용하는 방법을 참조하세요.

  • 환경 격리 구현: 개발, 테스트 및 프로덕션 환경과 같은 다양한 보안 도메인에 별도의 구독 및 관리 그룹을 사용합니다. 이렇게 하면 환경 간 데이터 노출을 방지하고 환경별 보안 제어를 허용합니다. 추가 Azure 구독을 만드는 방법을 참조하세요.

  • 전송 중인 암호화 확인: Azure WAF 인스턴스 및 관련 리소스에 연결하는 클라이언트가 TLS 1.2 이상과 협상할 수 있는지 확인합니다. 보관 중 및 전송 중인 데이터 암호화에 대한 Microsoft Defender for Cloud 권장 사항을 따릅니다. Azure를 사용하여 전송 중인 암호화 이해 참조

  • WAF 리소스에 미사용 데이터 암호화 사용: Azure WAF 및 관련 리소스를 포함한 모든 Azure 리소스에 미사용 데이터 암호화를 적용합니다. Microsoft는 Azure에서 암호화 키를 관리할 수 있도록 허용하는 것이 좋지만 특정 요구 사항이 있는 경우 사용자 고유의 키를 관리할 수 있습니다. Azure의 미사용 암호화 이해를 참조하세요.

  • 중요한 리소스에 대한 변경 내용 모니터링: 기준을 설정한 후 방지 모드에서 실행되도록 Azure WAF를 구성하고, Azure Monitor를 사용하여 중요한 WAF 리소스 또는 구성이 변경되면 경고를 만듭니다. Application Gateway에서 WAF 모드를 참조하세요.

  • 요청 본문 검사 사용: 헤더, 쿠키 및 URI뿐만 아니라 HTTP 요청 본문을 검사하도록 WAF 정책을 구성합니다. 이를 통해 WAF는 POST 데이터 및 JSON 페이로드에 숨겨진 위협을 검색할 수 있습니다. Azure Web Application Firewall 및 Azure Policy를 참조하세요.

  • 향상된 암호화를 위해 고객 관리형 키 사용: 플랫폼 관리형 키를 초과하는 암호화 요구 사항에 대해 Azure Key Vault에 저장된 고객 관리형 키를 사용하는 것이 좋습니다. 이렇게 하면 암호화 키 수명 주기 및 액세스를 추가로 제어할 수 있습니다. 고객 관리형 암호화 키를 구성하는 방법을 참조하세요.

자산 관리

효과적인 자산 관리를 사용하면 웹 애플리케이션 방화벽 리소스에 대한 가시성과 제어를 유지할 수 있습니다. 여기에는 WAF 배포가 안전하고 규정을 준수하는지 확인하기 위한 자동화된 검색, 적절한 태그 지정, 정기적인 인벤토리 조정 및 정책 적용이 포함됩니다.

  • 자동화된 자산 검색 사용: Azure Resource Graph를 사용하여 구독 내의 컴퓨팅, 스토리지, 네트워크, 포트 및 프로토콜을 비롯한 모든 WAF 관련 리소스를 쿼리하고 검색합니다. 적절한 읽기 권한이 있고 모든 Azure 구독 및 리소스를 열거할 수 있는지 확인합니다. Azure Resource Graph를 사용하여 쿼리를 만드는 방법을 참조하세요.

  • 태그를 사용하여 자산 메타데이터 유지 관리: Azure WAF 정책 및 관련 리소스에 태그를 적용하여 액세스 및 관리를 논리적으로 구성합니다. 태그를 리소스와 연결하고 적용하여 구독 내에서 이러한 리소스에 대한 액세스를 구성할 수 있습니다. 태그를 만들고 사용하는 방법을 참조하세요.

  • 체계적으로 리소스 구성 및 추적: 태그 지정, 관리 그룹 및 별도의 구독을 사용하여 Azure WAF 및 관련 리소스를 구성하고 추적합니다. 정기적으로 인벤토리를 조정하고 권한이 없는 리소스가 적시에 구독에서 삭제되는지 확인합니다. 관리 그룹을 만드는 방법을 참조하세요.

  • 승인된 리소스 인벤토리 정의 및 유지 관리: 조직의 요구 사항에 따라 구성을 포함하여 승인된 리소스의 인벤토리를 만듭니다. Azure Policy를 사용하여 구독에서 만들 수 있는 리소스 유형을 제한하고 모든 현재 리소스가 승인되었는지 확인합니다. Azure Policy를 구성하고 관리하는 방법을 참조하세요.

  • 승인되지 않은 리소스 모니터링: Azure Policy를 사용하여 리소스 종류에 제한을 두고 구독 내에서 승인되지 않은 Azure WAF 리소스를 모니터링합니다. Azure Resource Graph를 사용하여 리소스를 쿼리하고 검색하여 환경의 모든 Azure WAF 및 관련 리소스가 승인되는지 확인합니다. Azure Graph를 사용하여 쿼리를 만드는 방법을 참조하세요.

  • Azure Resource Manager 액세스 제한: Azure 조건부 액세스를 사용하여 "Microsoft Azure Management" 앱에 대한 "액세스 차단"을 구성하여 사용자가 Azure Resource Manager와 상호 작용하는 기능을 제한합니다. 이렇게 하면 WAF 리소스에 대한 무단 변경을 방지할 수 있습니다. Azure Resources Manager에 대한 액세스를 차단하도록 조건부 액세스를 구성하는 방법을 참조하세요.

정책 준수 및 거버넌스

정책 준수 및 거버넌스는 웹 애플리케이션 방화벽 배포가 조직의 표준 및 규정 요구 사항을 충족하도록 합니다. 이러한 제어는 환경 전체에서 일관된 보안 구성을 유지하고 자동화된 규정 준수 모니터링 및 적용을 제공하는 데 도움이 됩니다.

  • Azure Policy를 사용하여 WAF 배포 적용: Azure Front Door 및 Application Gateway 리소스에 WAF 배포를 요구하도록 Azure Policy 정의를 구현합니다. 비준수 리소스를 감사, 거부 또는 자동으로 수정하도록 정책을 구성합니다. Azure Web Application Firewall 및 Azure Policy를 참조하세요.

  • WAF 모드 준수 위임: Azure Policy를 사용하여 초기 튜닝 후 모든 WAF 정책이 방지 모드에서 작동하도록 적용합니다. 이렇게 하면 환경 전반에 걸쳐 일관된 보호가 보장되고 검색 전용 모드에서 실수로 WAF를 배포하는 것을 방지할 수 있습니다. Azure Web Application Firewall 및 Azure Policy를 참조하세요.

  • 리소스 로깅 준수 필요: 모든 WAF 지원 서비스에서 리소스 로그 및 메트릭을 사용하도록 요구하는 정책을 구현합니다. 이렇게 하면 조직 전체에서 보안 모니터링 및 규정 준수 요구 사항에 대한 일관된 로깅이 보장됩니다. Azure Web Application Firewall 및 Azure Policy를 참조하세요.

  • 향상된 보안을 위해 프리미엄 계층 사용 적용: Azure Policy를 사용하여 모든 프로필에 Azure Front Door 프리미엄 계층을 요구하여 관리형 규칙 집합, 봇 보호 및 프라이빗 링크 기능과 같은 고급 WAF 기능에 대한 액세스를 보장합니다. Azure Web Application Firewall 및 Azure Policy를 참조하세요.

  • WAF 구성을 코드로 정의: ARM 템플릿, Bicep 또는 Terraform을 사용하여 인프라를 코드 사례로 구현하여 환경 간에 일관된 WAF 구성을 유지 관리합니다. 이 방법은 규칙 제외 관리를 간소화하고 구성 드리프트를 줄입니다. Azure Front Door에서 Azure 웹 애플리케이션 방화벽에 대한 모범 사례를 참조하세요.

  • 자동화된 규정 준수 모니터링 구현: Microsoft Defender for Cloud 및 Azure Policy를 사용하여 WAF 규정 준수를 지속적으로 모니터링하고 보호되지 않는 웹 애플리케이션에 대한 권장 사항을 받습니다. 정책 위반 및 규정 준수 드리프트에 대한 자동화된 경고를 구성합니다. Azure Web Application Firewall 및 Azure Policy를 참조하세요.