네트워크 보안은 여러 경계에서 트래픽을 제어하여 무단 액세스, 데이터 위반 및 서비스 중단과 같은 위협으로부터 클라우드 워크로드를 보호합니다. 기존의 경계 중심 방어와 달리 현대 클라우드 환경은 노출된 서비스, 횡적 이동 경로 및 명령 및 제어 채널을 비롯한 동적 공격 표면을 해결하기 위해 세분화, 프라이빗 연결 및 에지 보호가 포함된 심층 방어 전략을 요구합니다. 포괄적인 네트워크 제어를 구현하는 조직은 기본적으로 안전한 환경을 유지하지만, 이러한 제어를 무시하는 조직은 무제한 측면 이동과 위협에 대한 장기간 노출에 직면합니다.
다음은 네트워크 보안 보안 도메인의 세 가지 핵심 핵심 요소입니다.
보안 네트워크 경계: 기본적으로 권한 없는 트래픽을 거부하는 최소 권한 원칙에 따라 방화벽, DDoS 보호, 웹 애플리케이션 방화벽 및 프라이빗 연결을 통합하는 다계층 방어 심층 방어를 통해 네트워크 에지와 세그먼트 간에 엄격한 제어를 적용합니다.
관련 컨트롤:
- NS-2: 네트워크 제어를 사용하여 클라우드 서비스 보호
- NS-3: 엔터프라이즈 네트워크의 가장자리에 방화벽 배포
- NS-5: DDOS 보호 배포
- NS-6: 웹 애플리케이션 방화벽 배포
- NS-9: 온-프레미스 또는 클라우드 네트워크를 비공개로 연결
네트워크 격리 적용: 네트워크를 엔터프라이즈 분할 전략 및 위험 수준에 맞게 격리된 세그먼트로 분할하여 위협 확산을 제한하고, 공격 표면을 줄이고, 무단 횡적 이동을 방지합니다.
관련 컨트롤:
모니터링 및 응답: 포괄적인 모니터링, 침입 검색 및 프로토콜 보안을 통해 네트워크 활동에 대한 지속적인 가시성을 유지하여 의심스러운 동작, 정책 위반 및 활성 위협을 신속하게 식별합니다.
관련 컨트롤:
NS-1: 네트워크 구분 경계 설정
Azure Policy:Azure 기본 제공 정책 정의 NS-1을 참조하세요.
보안 원칙
네트워크 구분에는 네트워크를 더 작고 격리된 세그먼트로 분할하여 클라우드 리소스 간의 트래픽 흐름을 제어하고 제한하여 폭발 반경을 줄입니다.
가상 네트워크 배포가 엔터프라이즈 세분화 전략 및 다양한 위험 수준에 맞게 조정되도록 네트워크 구분을 디자인합니다. 일반적인 세분화 전략에는 다음이 포함됩니다.
- 애플리케이션 네트워크를 사용하여 Corpnet 분리
- 별도의 애플리케이션 네트워크
- 별도의 프로덕션 및 테스트 환경 네트워크
네트워크 구분을 위한 주요 전략에 대한 자세한 내용은 Azure Well-Architected Framework를 참조하세요.
완화할 리스크
네트워크 세분화 경계가 없으면 조직은 공격자가 네트워크 인프라를 트래버스하고 고부가가치 자산을 손상시킬 수 있는 무제한 측면 이동에 직면하게 됩니다.
- 플랫 네트워크 노출: 분할이 없으므로 무제한 횡적 이동을 통해 악의적 사용자가 분할되지 않은 네트워크 토폴로지로 이동하여 고부가가치 자산을 손상시킬 수 있습니다.
- 권한 상승 경로: 부적절한 경계는 권한 없는 액세스 벡터를 허용하여 중요한 서브네트워크 및 워크로드에 대한 액세스를 통해 사용자 권한의 에스컬레이션을 용이하게 합니다.
- 맬웨어 전파: 분할이 부족하면 상호 연결된 노드 간에 랜섬웨어와 같은 악성 코드가 빠르게 확산되어 공격 표면 및 운영 영향을 증폭할 수 있습니다.
- 동서 교통 실명: 무제한 세그먼트 간 트래픽은 변칙 검색 및 인시던트 대응을 방해하여 내부 위협 움직임에 대한 가시성을 줄이고 포렌식 분석을 복잡하게 합니다.
MITRE ATT&CK
- 초기 액세스(TA0001): 네트워크 및 노출된 서비스에 대한 무단 액세스(예: T1190 - Exploit Public-Facing Application).
- 횡적 이동 (TA0008): VNet를 통한 공격 피벗 및 비제한적 서브넷 간 트래픽(예: T1021 - 원격 서비스).
- 반출(TA0010): 외부 서버로 무단 데이터 전송을 위해 제한되지 않은 아웃바운드 트래픽에 의한 데이터 반출(예: T1041 - C2 채널을 통한 반출).
- 명령 및 제어(TA0011): 방화벽 규칙 및 위협 인텔리전스(예: T1071 - 애플리케이션 계층 프로토콜)를 통해 악성 IP 또는 도메인과의 통신에 의한 맬웨어 전파.
NS-1.1: VNet 및 서브넷을 사용하여 구분 만들기
가상 네트워크 격리는 클라우드 환경 내에서 기본 보안 경계를 설정하여 조직이 신뢰 수준, 조직 구성 단위 또는 애플리케이션 그룹화별로 워크로드를 구분할 수 있도록 합니다. 이 방법은 무제한 횡적 이동을 방지하고 위반이 발생할 때 폭발 반경을 줄여 네트워크 아키텍처를 엔터프라이즈 분할 전략 및 제로 트러스트 원칙에 맞춥니다.
격리된 네트워크 경계 및 세분화를 만들어 가상 네트워크 세분화를 구현합니다.
세분화 전략에 따라 VNet 토폴로지 디자인: 엔터프라이즈 세분화 전략에 정의된 신뢰 영역, 조직 구성 단위 또는 애플리케이션 그룹에 맞춰 가상 네트워크를 만들어 각 VNet이 고유한 보안 경계를 나타내도록 합니다.
위험 수준이 높은 워크로드 격리: 엄격한 격리(예: 프로덕션 데이터베이스, 결제 처리 시스템)가 필요한 워크로드를 식별하고 격리된 전용 VNet에 배포하여 노출을 최소화하고 교차 오염을 방지합니다.
세분화할 서브넷을 만듭니다. 각 VNet 내에서 겹치지 않는 고유한 서브넷을 만들어 애플리케이션 계층(예: 웹 계층, 애플리케이션 계층, 데이터베이스 계층) 또는 기능 요구 사항에 따라 네트워크를 추가로 분할하여 보다 정확한 트래픽 제어 및 마이크로 분할을 가능하게 합니다.
NS-1.2: NSG를 사용하여 네트워크 트래픽 제한
네트워크 보안 그룹은 서브넷 및 네트워크 인터페이스 수준에서 트래픽 필터링을 적용하여 네트워크 세그먼트와 외부 네트워크 간의 통신 흐름을 정확하게 제어할 수 있도록 합니다. 명시적 허용 규칙을 사용하여 기본 거부 정책을 구현함으로써 조직은 권한 있는 트래픽만 네트워크 경계를 통과하여 무단 액세스를 방지하고 공격 노출 영역을 줄입니다.
NSG 규칙을 사용하여 네트워크 트래픽 제한을 구현합니다.
통신 요구 사항 식별: 각 VNet의 리소스를 분석하여 합법적인 비즈니스 기능에 필요한 포트, 프로토콜, 원본 주소 및 대상 주소를 문서화하여 남북(외부) 및 동서(내부) 트래픽 통신 요구 사항을 이해합니다.
명시적 허용 및 거부 규칙을 정의합니다. 잘 정의된 애플리케이션(예: 3계층 아키텍처)의 경우 "기본적으로 거부, 예외에 의한 허용" 접근 방식을 사용하여 포트, 프로토콜, 원본 IP 주소 및 대상 IP 주소를 기반으로 NSG 규칙을 만들고 다른 모든 통신을 거부하는 동안 필요한 트래픽만 명시적으로 허용합니다.
복잡한 시나리오에 애플리케이션 보안 그룹을 사용합니다. 많은 애플리케이션과 엔드포인트가 상호 작용할 때 ASG(애플리케이션 보안 그룹)를 사용하여 리소스를 논리적으로 그룹화하여 NSG 규칙 관리를 간소화한 다음(예: 웹 서버, 데이터베이스 서버) 명시적 IP 주소가 아닌 이러한 그룹을 기반으로 NSG 규칙을 정의하여 유지 관리 가능성을 개선하고 구성 복잡성을 줄입니다.
흐름 로그를 사용하여 모니터링 및 최적화:가상 네트워크 흐름 로깅 을 사용하여 NSG 규칙에서 허용되거나 거부된 트래픽을 모니터링하여 규칙 최적화를 알리고 로깅 노이즈를 줄일 수 있는 잘못된 구성 또는 자주 허용되는 트래픽을 나타낼 수 있는 자주 거부되는 트래픽을 식별합니다.
구현 예제
조직은 권한이 없는 횡적 이동 및 외부 액세스를 방지하면서 별도의 프로덕션, 개발 및 테스트 환경으로 다중 계층 애플리케이션을 보호해야 했습니다.
도전: 조직에는 단일 대규모 네트워크 세그먼트의 모든 리소스가 포함된 3계층 애플리케이션(웹, 애플리케이션, 데이터베이스)이 있어 모든 계층과 환경 간의 무제한 통신을 허용했습니다. 이로 인해 프로덕션과 비프로덕션 간의 잠재적 횡적 이동, 데이터베이스 서버에서 무제한 인터넷 액세스, 고위험 워크로드를 격리할 수 없는 등 상당한 보안 위험이 발생했습니다.
솔루션 접근 방식:
- 환경별 VNet 세분화: 프로덕션(10.0.0.0/16), 개발(10.1.0.0/16) 및 테스트(10.2.0.0/16) 환경을 위한 별도의 가상 네트워크를 만들어 환경 간 액세스를 방지하고 잠재적 위반의 폭발 반경을 제한하는 네트워크 격리 경계를 설정합니다.
- 계층별 서브넷 세분화: 프로덕션 VNet 내에서 각 애플리케이션 계층(웹 계층(10.0.1.0/24), 애플리케이션 계층(10.0.2.0/24) 및 데이터베이스 계층(10.0.3.0/24)에 대해 서로 겹치지 않는 고유한 서브넷을 만들어 계층 간에 세분화된 트래픽 제어를 사용하도록 설정합니다.
- 남북 교통 제어에 대한 NSG 규칙: 인터넷(0.0.0.0/0)에서 내부 서브넷으로의 모든 인바운드 트래픽을 거부하고 아웃바운드 인터넷 액세스를 신뢰할 수 있는 대상으로만 제한하도록 구성된 NSG 규칙이며, 특정 규칙은 데이터베이스 계층에서 모든 인터넷 액세스를 차단하면서 웹 계층에 필요한 외부 연결만 허용합니다.
- 동서 교통 제어에 대한 NSG 규칙: 계층 간에 명시적 허용 규칙을 사용하여 기본 거부 정책을 구현했습니다. 웹 계층은 필수 포트에서만 애플리케이션 계층으로 아웃바운드를 허용하고, 애플리케이션 계층은 포트 1433(SQL)에서만 데이터베이스 계층으로 아웃바운드를 허용하고, 데이터베이스 계층은 애플리케이션 계층 서브넷을 제외한 다른 모든 인바운드 트래픽을 거부했습니다.
- 원격 관리 액세스: 제한된 원격 관리 포트(RDP 3389/TCP, SSH 22/TCP)는 신뢰할 수 있는 요새 호스트 서브넷(10.0.0.0/26)에서만 연결을 허용하여 관리 인터페이스에 대한 직접 인터넷 액세스를 제거합니다.
결과: 조직은 애플리케이션 계층과 환경 간의 무제한 횡적 이동을 제거하고 백 엔드 시스템에서 직접 인터넷 액세스를 제거하여 공격 표면을 크게 줄이며 제로 트러스트 원칙에 부합하는 적용 가능한 네트워크 경계를 설정했습니다. 흐름 로그는 지속적인 최적화 및 보안 상태 유효성 검사를 위해 허용된 트래픽과 거부된 트래픽을 지속적으로 모니터링할 수 있도록 했습니다.
중요도 수준
있어야 합니다.
컨트롤 매핑
- NIST SP 800-53 Rev.5: SC-7, SC-32, AC-4, CM-7
- PCI-DSS v4: 1.2.1, 1.3.1, 1.4.1
- CIS 컨트롤 v8.1: 12.1, 12.2, 12.6
- NIST CSF v2.0: PR.IR-01, PR.AC-05
- ISO 27001:2022: A.8.20, A.8.21
- SOC 2: CC6.1, CC6.6
NS-2: 네트워크 컨트롤을 사용하여 클라우드 네이티브 서비스 보호
Azure Policy:Azure 기본 제공 정책 정의 NS-2를 참조하세요.
보안 원칙
서비스 네이티브 기능을 사용하여 리소스에 대한 네트워크 액세스를 보호하여 신뢰할 수 없는 네트워크에 대한 리소스 노출을 방지하고 줄입니다. 이러한 기능은 다음과 같습니다.
- 공용 네트워크를 통과하는 네트워크 트래픽의 노출을 방지하기 위해 리소스에 대한 프라이빗 액세스 지점을 설정합니다.
- VNet을 제한하여 서비스에 대한 프라이빗 액세스 지점을 설정할 수 있는 가상 네트워크에 리소스를 배포합니다.
- 인바운드 트래픽을 제한하거나 공용 네트워크 액세스를 사용하지 않도록 서비스 네이티브 방화벽을 구성합니다.
참고: 기본 네트워크 액세스 제어 및 트래픽 필터링 외에도 위협 검색 기능을 사용하여 DNS(NS-10)와 같은 서비스를 모니터링하여 가능한 데이터 반출을 검색해야 합니다.
완화할 리스크
위협 행위자는 공개적으로 노출된 클라우드 서비스를 악용하여 데이터 반출, 애플리케이션 계층 공격 및 트래픽 차단을 수행합니다.
- 퍼블릭 엔드포인트를 통한 데이터 반출: 공격자는 공개적으로 액세스할 수 있는 스토리지 계정, 데이터베이스 또는 API를 악용하여 노출된 엔드포인트에 대한 무단 연결을 설정하고, 네트워크 세분화 컨트롤을 우회하고, 대규모 데이터 도난을 사용하도록 설정하여 중요한 데이터를 반출합니다.
- 공용 엔드포인트에 대한 애플리케이션 계층 공격: DDoS(분산 서비스 거부) 공격, SQL 삽입 및 기타 애플리케이션 악용은 공개적으로 노출된 웹 서비스, API 및 데이터베이스를 대상으로 하며, 리소스를 압도하거나 취약성을 악용하여 서비스 중단 또는 데이터 손상이 발생합니다.
- 맨 인 더 미들 공격: 공격자는 공용 네트워크를 통해 흐르는 트래픽을 공개적으로 노출된 서비스로 가로채 적절한 암호화 또는 프라이빗 연결 없이 전송된 자격 증명, 세션 토큰 또는 중요한 데이터를 캡처하여 계정 인수 또는 데이터 도난을 가능하게 합니다.
MITRE ATT&CK
- 초기 액세스(TA0001): 클라우드 서비스(예: 클라우드 스토리지 서비스, 데이터베이스 서비스)의 공용 인터넷 노출에 의한 무단 액세스, 퍼블릭 엔드포인트(예: T1190 - Exploit Public-Facing 애플리케이션)를 대상으로 하는 악용.
- 반출(TA0010): 개인 가상 네트워크 연결을 통해 트래픽을 라우팅하여 데이터 반출을 통해 외부 서버(예: T1041 - C2 채널을 통한 반출)로 데이터 유출 위험을 줄입니다.
- TA0008(횡적 이동): 공격자가 가상 네트워크 내에서 서비스를 이동시키고, 클라우드 자원 간에 무단으로 접근합니다(예: T1021 - 원격 서비스).
NS-2.1 서비스 연결에 Private Link 사용
프라이빗 연결은 가상 인프라 내에서 직접 네트워크 경로를 설정하여 클라우드 서비스에 대한 공용 인터넷 노출을 제거합니다. Private Link는 가상 네트워크 내에 전용 IP 주소가 있는 프라이빗 엔드포인트를 만들어 클라우드 서비스에 대한 트래픽이 DNS 기반 액세스 패턴을 유지하면서 공용 인터넷을 트래버스하지 않도록 합니다. 이 방법은 공격 노출 영역을 크게 줄이고 공개적으로 액세스할 수 있는 엔드포인트를 통한 데이터 반출을 방지합니다.
다음 단계를 통해 클라우드 서비스에 대한 프라이빗 연결을 구현합니다.
지원되는 서비스에 대한 프라이빗 엔드포인트를 배포합니다.Private Link(예: Azure Storage, Azure SQL Database, Azure Key Vault)를 지원하는 Azure 리소스에 대한 가상 네트워크 내에서 프라이빗 엔드포인트를 만들고 VNet에서만 액세스할 수 있는 개인 IP 주소(예: 10.0.2.4)를 설정합니다.
프라이빗 DNS 영역 구성: Azure 프라이빗 DNS 영역을 만들어 공용 DNS 해석을 재정의하십시오. 이를 통해 mystorageaccount1.blob.core.windows.net 같은 FQDN(정규화된 도메인 이름)이 퍼블릭 엔드포인트가 아닌 VNet 내의 개인 IP 주소로 해석되도록 보장할 수 있습니다. 이렇게 하면 FQDN 기반 접근을 사용하는 애플리케이션의 원활한 연결성을 유지할 수 있습니다.
공용 액세스 사용 안 함: 프라이빗 엔드포인트가 배포되면 공용 네트워크 액세스를 완전히 사용하지 않도록 서비스 수준 설정을 구성하여 모든 트래픽이 퍼블릭 엔드포인트로 대체하지 않고 프라이빗 연결을 통해 독점적으로 흐르도록 합니다.
메모: 특정 Azure 서비스는 서비스 엔드포인트 기능을 통한 프라이빗 통신을 허용할 수도 있지만 Azure Private Link는 Azure 플랫폼에서 호스트되는 서비스에 대한 보안 및 프라이빗 액세스에 권장됩니다. Azure VM에서 호스트되는 웹 서비스와 같은 배포의 경우 강력하게 정당화되지 않는 한 공용 IP를 VM에 직접 할당하지 마십시오. 대신 Azure Application Gateway 또는 Azure Load Balancer를 서비스 액세스의 프런트 엔드로 사용합니다.
NS-2.2 VNet에 서비스 배포
가상 네트워크 통합을 사용하면 클라우드 서비스가 프라이빗 네트워크 경계 내에서 작동하여 공용 인터넷 노출 없이 VNet 호스팅 리소스에 직접 연결할 수 있습니다. 가상 네트워크에 서비스를 배포하면 조직은 외부 위협으로부터 서비스 격리를 유지하면서 보안 그룹 및 경로 테이블을 통해 네트워크 트래픽을 세부적으로 제어할 수 있습니다.
지원되는 VNet 통합을 사용하여 서비스를 배포합니다.
가상 네트워크에 서비스 배포: VNet 통합을 지원하는 서비스(예: Azure App Service, Azure Functions, Azure Container Instances)의 경우 새 가상 네트워크 또는 기존 가상 네트워크에 배포를 구성하고, 분할 전략에 맞게 적절한 서브넷을 지정하고, 다른 VNet 리소스와의 프라이빗 통신을 사용하도록 설정합니다.
네트워크 보안 컨트롤 구성: NSG(네트워크 보안 그룹) 규칙을 서비스의 서브넷에 적용하여 인바운드 및 아웃바운드 트래픽을 제한하고, 다른 모든 트래픽을 거부하면서 특정 대상(예: 데이터베이스 서브넷, 스토리지 엔드포인트)에 필요한 통신만 허용하여 최소 권한 액세스를 구현합니다.
NS-2.3 서비스 네이티브 방화벽 구성
서비스 수준 방화벽은 리소스 수준에서 네트워크 액세스를 제한하고 애플리케이션별 보안 경계를 사용하여 네트워크 계층 제어를 보완하여 심층 방어 보호를 제공합니다. 이러한 네이티브 방화벽 기능을 사용하면 조직에서 특정 IP 범위 또는 가상 네트워크에 대한 노출을 제한하면서 적절한 경우 공용 액세스를 완전히 사용하지 않도록 설정하여 복잡한 네트워크 토폴로지 변경 없이 공격 노출 영역을 줄일 수 있습니다.
액세스를 제한하도록 서비스 방화벽을 구성합니다.
서비스 방화벽 기능 사용: 네이티브 방화벽(예: Azure Storage, Azure SQL Database, Azure Key Vault)을 지원하는 서비스의 경우 리소스를 만드는 동안 또는 기존 리소스에서 방화벽 기능을 사용하도록 설정하여 서비스에 액세스할 수 있는 네트워크를 제어합니다.
IP 기반 또는 VNet 기반 규칙을 정의합니다. 특정 공용 IP 범위(예: 회사 사무실 네트워크) 또는 특정 Azure 가상 네트워크 서브넷의 액세스만 허용하도록 방화벽 규칙을 구성하여 다른 모든 원본을 거부하여 최소 권한 액세스를 구현합니다.
가능한 경우 공용 액세스를 사용하지 않도록 설정합니다 . 서비스가 프라이빗 네트워크에서만 액세스해야 하는 경우 토글 옵션을 사용하여 공용 네트워크 액세스를 완전히 사용하지 않도록 설정하여 IP 기반 규칙에 관계없이 인터넷에서 서비스에 연결할 수 없도록 합니다.
NS-2.4 PaaS 리소스 격리에 네트워크 보안 경계 사용
네트워크 보안 경계는 여러 PaaS 리소스를 중심으로 논리 네트워크 경계를 설정하여 무단 데이터 반출을 방지하면서 명시적 신뢰할 수 있는 경계 내에서 보안 서비스 간 통신을 사용하도록 설정합니다. 리소스별 제어와 달리 네트워크 보안 경계는 기본적으로 외부 액세스를 차단하면서 개별 액세스 규칙 없이 경계 내 통신을 허용하는 통합 보안 경계를 제공합니다.
PaaS 리소스를 보호하기 위해 네트워크 보안 경계를 구현합니다.
리소스 만들기 및 연결:네트워크 보안 경계 를 설정하고 리소스 연결을 통해 지원되는 PaaS 리소스 (Azure Storage, SQL Database, Key Vault, Event Hubs, Cosmos DB)를 추가하여 연결된 리소스가 자유롭게 통신할 수 있는 경계 내 통신을 사용하도록 설정합니다.
액세스 모드 및 규칙 구성: 최대 보호를 위해 적용 모드로 전환하기 전에 전환 모드로 시작하여 액세스 패턴을 이해합니다. IP 주소, 구독 또는 FQDN을 사용하여 명시적 인바운드 및 아웃바운드 액세스 규칙을 정의하여 기본 거부 상태를 유지하면서 경계 외부의 트래픽을 제어합니다.
모니터링 및 Private Link 통합 사용: 액세스 시도 및 정책 위반을 캡처하도록 진단 로그 를 구성합니다. 프라이빗 엔드포인트 트래픽은 경계로 자동으로 허용되어 경계 수준 데이터 반출 컨트롤을 사용하여 VNet-PaaS 연결을 보완합니다.
구현 예제
조직은 공용 인터넷에 리소스를 노출하지 않고 애플리케이션 서비스에서 액세스할 수 있도록 하면서 백 엔드 데이터베이스 및 스토리지 리소스를 보호해야 했습니다.
도전: 조직에는 기본 퍼블릭 엔드포인트가 있는 Azure SQL Database 및 Azure Storage 계정이 있어 인터넷에서 액세스할 수 있게 하고 상당한 데이터 반출 위험을 초래했습니다. 애플리케이션 서비스는 공용 IP를 사용하여 배포되었고 VNet 통합이 부족하여 프라이빗 네트워크 기반 액세스 제어를 방지했습니다. 서비스 수준 방화벽이 구성되지 않았으므로 인증에 성공하면 모든 원본에서 무제한으로 액세스할 수 있습니다.
솔루션 접근 방식:
- PaaS 서비스에 대한 Private Link 엔드포인트: 전용 프라이빗 엔드포인트 서브넷 (10.0.2.0/24) 내에 Azure SQL Database(할당된 프라이빗 IP 10.0.2.4) 및 Azure Storage 계정(할당된 개인 IP 10.0.2.5)에 대한 프라이빗 엔드포인트를 배포하여 인터넷에 노출되지 않고 Azure 백본 네트워크를 통해 트래픽을 라우팅하는 프라이빗 연결을 설정합니다.
- 이름 확인을 위한 프라이빗 DNS 영역: 공용 DNS 확인을 재정의하는 Azure 프라이빗 DNS 영역을 만들어 애플리케이션 FQDN(예: mysqldb.database.windows.net, mystorageaccount.blob.core.windows.net)이 퍼블릭 엔드포인트가 아닌 VNet 내의 개인 IP로 확인되도록 하고 FQDN 기반 액세스를 사용하는 애플리케이션에 대한 원활한 연결을 유지합니다.
- 애플리케이션 서비스에 대한 VNet 통합: 공용 IP 주소 또는 인터넷 라우팅을 요구하지 않고 프라이빗 엔드포인트와 직접 통신할 수 있도록 애플리케이션을 애플리케이션 서브넷(10.0.1.0/24)에 배포하여 Azure App Service에 대해 구성된 VNet 통합
- 서비스 네이티브 방화벽: Azure STORAGE에서 서비스 수준 방화벽 을 사용하도록 설정하여 특정 VNet 서브넷(애플리케이션 서브넷 10.0.1.0/24) 및 신뢰할 수 있는 Microsoft 서비스에 대한 액세스를 제한하는 동시에 Azure SQL Database의 서비스 수준에서 퍼블릭 네트워크 액세스를 완전히 사용하지 않도록 설정하여 프라이빗 전용 연결을 적용합니다.
- 심층 방어에 대한 NSG 규칙: 애플리케이션 서브넷에 NSG 규칙을 적용하여 필요한 포트(스토리지의 경우 443개, SQL의 경우 1433)에서 프라이빗 엔드포인트 서브넷(10.0.2.0/24)에 대한 아웃바운드 트래픽만 허용하여 서비스 수준 보호를 보완하는 최소 권한 액세스 제어를 구현했습니다.
결과: 조직은 백 엔드 리소스에 대한 공용 인터넷 노출을 제거하여 데이터 반출 위험 및 공격 표면을 크게 줄여 줍니다. 프라이빗 연결을 통해 애플리케이션과 데이터 서비스 간의 모든 트래픽이 공용 인터넷을 트래버스하지 않고 Azure 백본 네트워크에 남아 있는 반면, 계층화된 컨트롤(Private Link, DNS 영역, 서비스 방화벽, NSG)은 제로 트러스트 원칙에 부합하는 심층 방어 보호를 제공했습니다.
중요도 수준
있어야 합니다.
컨트롤 매핑
- NIST SP 800-53 Rev.5: SC-7(4), SC-7(5), AC-4(21)
- PCI-DSS v4: 1.3.1, 1.3.2, 1.4.2
- CIS 컨트롤 v8.1: 12.4, 12.7
- NIST CSF v2.0: PR.AC-05, PR.DS-05
- ISO 27001:2022: A.8.20, A.8.22
- SOC 2: CC6.1, CC6.6
NS-3: 엔터프라이즈 네트워크의 에지에 방화벽 배포
Azure Policy:Azure 기본 제공 정책 정의 NS-3을 참조하세요.
보안 원칙
네트워크 에지의 방화벽을 사용하여 인터넷과 같은 외부 네트워크와 내부 네트워크 세그먼트 간의 네트워크 트래픽에 대한 고급 필터링을 수행합니다.
최소한 방화벽 정책에는 다음이 포함되어야 합니다.
- 알려진 잘못된 IP 주소 및 사이트를 차단합니다.
- 에지 네트워크의 원격 관리 프로토콜 및 인트라넷 프로토콜과 같은 고위험 프로토콜을 제한하여 무단 액세스 또는 횡적 이동을 방지합니다.
- 승인된 외부 대상만 허용하고 권한이 없거나 위험한 사이트를 차단하도록 애플리케이션 규칙을 적용합니다.
완화할 리스크
악의적 사용자는 액세스 가능한 프로토콜, 악의적인 도메인 및 약한 네트워크 제어를 통해 공용 또는 신뢰할 수 없는 네트워크에 노출되는 취약성을 악용합니다.
- 노출된 프로토콜을 통한 무단 액세스: RDP(TCP 3389) 또는 SMB(TCP 445)와 같은 공개적으로 액세스할 수 있는 프로토콜을 사용하면 공격자가 무단으로 진입하여 무차별 암호 대입 또는 CVE 대상 공격과 같은 악용을 통해 시스템 무결성을 손상할 수 있습니다.
- 악성 도메인/IP를 통한 맬웨어 및 피싱: 악성 도메인 및 IP는 맬웨어 전달 또는 피싱 캠페인을 용이하게 하여 명령 및 제어 또는 소셜 엔지니어링 공격을 통해 엔드포인트 및 중요한 데이터를 위험에 빠뜨려 줍니다.
- 무제한 아웃바운드 트래픽을 통한 데이터 반출: 승인되지 않은 대상에 대한 제어되지 않은 송신을 사용하면 악의적 사용자가 중요한 데이터를 유출하여 HTTPS POST와 같은 비밀 채널을 통해 위반 및 규정 준수 위반의 위험을 감수할 수 있습니다.
- 분할 불량으로 인한 횡적 이동: 네트워크 구분이 부족하면 공격자가 내부적으로 피벗하여 세그먼트 간 트래픽(예: SMB, Kerberos)을 악용하여 손상된 시스템에서 전파할 수 있습니다.
- 신뢰할 수 없는 애플리케이션/URL의 취약성: 위험하거나 신뢰할 수 없는 URL 및 애플리케이션에 액세스하면 악용에 대한 노출이 증가하고 인시던트 위험이 증가하고 규정 표준을 준수하지 않습니다.
MITRE ATT&CK
- 초기 액세스(TA0001): 고위험 프로토콜(예: RDP/TCP 3389, SSH/TCP 22) 또는 악성 도메인(예: T1190 - Exploit Public-Facing Application)에 대한 무단 액세스입니다.
- 명령 및 제어(TA0011): 악성 IP/도메인에 연결하는 맬웨어(예: T1071 - 애플리케이션 계층 프로토콜).
- 반출(TA0010): 승인되지 않은 대상으로 아웃바운드 트래픽을 통한 무단 데이터 전송(예: T1041 - C2 채널을 통한 반출).
- TA0008(횡적 이동): 필터링되지 않은 세그먼트 간 트래픽(예: SMB/TCP 445, Kerberos/TCP 88)(예: T1021 - 원격 서비스)을 통한 내부 피벗을 억제합니다.
NS-3.1 Azure Firewall 배포 준비
Azure Firewall 배포에는 네트워크 경계를 넘어 중앙 집중식 트래픽 검사를 사용하도록 설정하는 적절한 네트워크 토폴로지가 필요합니다. 허브 및 스포크 아키텍처는 방화벽을 네트워크 코어에 배치하고, 사용자 정의 경로가 트래픽 흐름이 의도한 경로를 따르도록 하는 동안 모든 스포크 트래픽을 중앙 검사 지점을 통해 라우팅합니다. 이 준비는 포괄적인 에지 보호 및 세그먼트 간 필터링을 위한 토대를 설정합니다.
Azure Firewall 배포를 위한 네트워크 인프라 준비:
허브/스포크 가상 네트워크 토폴로지 설정:허브 VNet 에 Azure Firewall을 배포하여 애플리케이션 워크로드를 호스팅하는 여러 스포크 VNet에서 트래픽을 중앙에서 관리하고 보호하여 네트워크 보안 정책에 대한 단일 적용 지점을 설정합니다.
스포크 가상 네트워크 조인:VNet 피어링을 사용하여 각 스포크 VNet을 Azure Firewall이 배포된 허브 VNet에 연결하여 네트워크 격리를 유지하면서 허브를 통해 스포크 간 통신을 사용하도록 설정합니다.
UDR(사용자 정의 경로) 구성: 스포크 VNet에서 허브 네트워크의 Azure Firewall을 통해 네트워크 트래픽을 안내하는 경로 테이블을 만드세요. 이 경로 테이블에는 인터넷 경로 이탈(0.0.0.0/0)과, 스포크 간 통신 시 검사가 필요한 경우 옵션으로 스포크 간 트래픽용 경로가 포함될 수 있습니다.
NS-3.2 적절한 정책을 사용하여 Azure Firewall 배포
Azure Firewall은 엔터프라이즈 네트워크 세그먼트에서 중앙 집중식 정책 관리를 사용하여 상태 저장 애플리케이션 계층 트래픽 필터링을 제공합니다. 네트워크 규칙, 애플리케이션 규칙 및 위협 인텔리전스를 결합하여 방화벽은 여러 계층에서 트래픽 흐름을 검사하고 URL 필터링 및 TLS 검사를 통해 HTTP/HTTPS 통신을 세분화하여 제어할 수 있습니다. 적절한 정책 디자인은 구조적 규칙 계층 구조 및 범주 기반 필터링을 통해 보안 요구 사항과 운영 요구 사항의 균형을 맞습니다.
포괄적인 정책을 사용하여 Azure Firewall을 배포하고 구성합니다.
허브 VNet에 Azure Firewall 배포: 허브 VNet에 Azure Firewall(필요한 기능을 기반으로 하는 표준 또는 프리미엄 계층)을 배포하고, 스포크 VNet에서 내부 라우팅을 위해 인터넷 바인딩 트래픽에 대한 공용 IP 주소와 개인 IP 주소를 모두 할당합니다.
필터링 규칙을 사용하여 방화벽 정책을 만듭니다. 네트워크 규칙(IP/포트 기반 필터링), 애플리케이션 규칙(FQDN 기반 필터링) 및 위협 인텔리전스 규칙을 포함하는 Azure Firewall 정책을 정의하고 보안 요구 사항에 따라 규칙을 컬렉션으로 구성합니다(예: 중요 비즈니스용 서비스 허용, 악의적인 IP 차단, 위험한 범주 거부).
HTTP/HTTPS 트래픽에 대한 URL 필터링 구성: 특정 도메인(예: *.microsoft.com 허용, *.torrent 거부)을 허용하거나 거부하는 FQDN 기반 애플리케이션 규칙을 구현하고, 작업 관련 범주를 허용하면서 전체 웹 사이트 범주(예: 해킹, 소셜 미디어)를 차단하도록 범주 기반 필터링 을 구성합니다.
고급 필터링에 대해 TLS 검사를 사용하도록 설정합니다. 프리미엄 계층 배포의 경우 Azure Key Vault에 인증서를 업로드하여 TLS 검사를 사용하도록 설정하여 방화벽이 SNI 기반 검사를 넘어서 더 심층적인 URL 필터링 및 위협 검색을 위해 HTTPS 트래픽을 암호 해독, 검사 및 다시 암호화할 수 있도록 합니다.
구현 예제
여러 스포크 VNet에서 여러 애플리케이션 워크로드가 있는 조직은 악의적인 도메인 및 권한 없는 웹 사이트 범주에 대한 액세스를 방지하면서 모든 인터넷 바인딩 트래픽 및 스포크 간 통신에 대한 중앙 집중식 네트워크 보안 검사가 필요했습니다.
도전: 조직에는 직접 인터넷에 액세스할 수 있는 별도의 스포크 VNet에 워크로드가 배포되어 일관성 없는 보안 정책과 중앙에서 트래픽을 검사할 수 없습니다. 각 스포크에는 자체 NSG 규칙이 있었기 때문에 정책 드리프트와 보안 격차가 있었습니다. 잠재적으로 악의적인 도메인에 대한 아웃바운드 연결에 대한 가시성, 위험한 웹 사이트 범주(소셜 미디어, 파일 공유)를 차단할 수 없음, HTTPS 트래픽 콘텐츠에 대한 검사도 없었습니다. 스포크 간 트래픽은 검사 없이 자유롭게 흐르며 손상 후 잠재적인 횡적 이동을 가능하게 했습니다.
솔루션 접근 방식:
- 중앙 집중식 방화벽을 사용한 허브 및 스포크 토폴로지: 전용 AzureFirewallSubnet(10.0.1.0/26, 방화벽 개인 IP 10.0.1.4)을 사용하여 허브 VNet(10.0.0.0/16)에 Azure Firewall Premium 을 배포하여 모든 네트워크 트래픽 검사 및 정책 관리에 대한 단일 적용 지점을 설정합니다.
- 스포크 연결을 위한 VNet 피어링:VNet 피어링을 사용하여 애플리케이션 스포크 VNet(10.1.0.0/16) 및 데이터베이스 스포크 VNet(10.2.0.0/16)을 허브 VNet에 연결하여 방화벽을 통해 중앙 집중식 트래픽 라우팅을 사용하도록 설정했습니다.
- 트래픽 조정을 위한 사용자 정의 경로: 각 스포크 VNet에서 모든 인터넷 바인딩 트래픽(0.0.0.0/0) 및 스포크 간 트래픽을 Azure Firewall 개인 IP(10.0.1.4)로 리디렉션하여 중앙 검사 지점을 통해 모든 송신을 강제하는 경로 테이블을 만들었습니다.
- 다중 계층 필터링을 사용한 방화벽 정책: 네트워크 규칙(DNS UDP/53에서 Azure DNS로 허용, 기본적으로 다른 모든 프로토콜 거부), 애플리케이션 규칙(*.microsoft.com 같은 중요 비즈니스용 FQDN 허용, *.torrent 같은 파일 공유 도메인 거부) 및 위협 인텔리전스 규칙(Microsoft Defender 위협 피드에서 알려진 악성 IP 차단)을 포함한 포괄적인 Azure 방화벽 정책을 정의했습니다.
- URL 필터링 및 범주 기반 차단: 정확한 도메인 제어 및 범주 기반 필터링을 위한 FQDN 기반 애플리케이션 규칙을 구현하여 전체 웹 사이트 범주(해킹, 소셜 미디어, 도박)를 차단하는 동시에 업무 관련 범주(비즈니스/경제, 기술/인터넷)를 허용하고 네트워크 에지에서 허용 가능한 사용 정책을 적용합니다.
- HTTPS 트래픽에 대한 TLS 검사: Azure Key Vault에 저장된 인증서를 사용하여 TLS 검사를 사용하도록 설정하여 방화벽이 SNI 기반 검사 외에 더 심층적인 URL 필터링 및 위협 탐지를 위해 HTTPS 트래픽을 암호 해독, 검사 및 다시 암호화할 수 있도록 하면서 규정 준수 요구 사항에 따라 암호 해독에서 중요한 뱅킹 도메인을 제외할 수 있습니다.
결과: 조직은 모든 인터넷 바인딩 및 스포크 간 트래픽에 대한 중앙 집중식 가시성 및 제어를 설정하여 정책 드리프트 및 보안 사각지대를 제거했습니다. TLS 검사를 통해 암호화된 HTTPS 트래픽에 숨겨진 위협을 검색할 수 있는 반면 범주 기반 필터링은 위험한 웹 콘텐츠에 대한 노출을 크게 줄여 줍니다. 허브 및 스포크 아키텍처는 통합 정책 관리 및 포괄적인 위협 방지를 통해 모든 워크로드에서 확장 가능하고 일관된 보안 태세를 제공했습니다.
중요도 수준
있어야 합니다.
컨트롤 매핑
- NIST SP 800-53 Rev.5: SC-7, SC-7(5), AC-4, SI-4(4)
- PCI-DSS v4: 1.2.1, 1.3.1, 1.4.1, 1.4.2
- CIS 컨트롤 v8.1: 9.2, 9.3, 13.1
- NIST CSF v2.0: PR.AC-05, PR.PT-04, DE.CM-01
- ISO 27001:2022: A.8.20, A.8.22
- SOC 2: CC6.1, CC6.6, CC7.2
NS-4: IDS/IPS(침입 검색 시스템/침입 방지 시스템) 배포
보안 원칙
네트워크 침입 감지 및 침입 방지 시스템(IDS/IPS)을 사용하여 워크로드 또는 가상 네트워크 간에 네트워크 및 페이로드 트래픽을 검사합니다. SIEM 솔루션에 고품질 경고를 제공하도록 IDS/IPS가 항상 조정되었는지 확인합니다.
참고: 더 심층적인 호스트 수준 검색 및 방지 기능을 위해 네트워크 IDS/IPS와 함께 호스트 기반 IDS/IPS 또는 호스트 기반 EDR(엔드포인트 검색 및 응답) 솔루션을 사용합니다.
완화할 리스크
악의적 사용자는 프로토콜, 애플리케이션 및 내부 트래픽의 취약성을 악용하여 악의적인 활동을 실행합니다.
- 프로토콜 악용: RDP(TCP 3389) 또는 HTTP/HTTPS(TCP 80/443)와 같은 프로토콜의 취약성은 CVE 대상 공격과 같은 악용을 통해 무단 액세스 또는 시스템 손상이 가능합니다.
- C2(명령 및 제어) 통신: 악성 서버는 DNS 쿼리 또는 IP 기반 콜백을 통해 손상된 디바이스에 대한 제어를 설정하여 지속적인 악용 또는 맬웨어 전파를 용이하게 합니다.
- 애플리케이션 악용: SQL 삽입, XSS(교차 사이트 스크립팅) 또는 버퍼 오버플로와 같은 공격은 대상 애플리케이션 취약성을 통해 데이터를 도용하거나 임의의 코드를 실행합니다.
- 횡적 이동: SMB(TCP 445) 열거 또는 Kerberos(TCP 88) 티켓 남용과 같은 비정상적인 내부 트래픽은 네트워크 내에서 공격자가 피벗하고 있음을 나타냅니다.
- 데이터 반출: 무단 데이터 전송은 난독화를 사용하여 탐지를 회피하는 암호화된 채널(예: HTTPS POST) 또는 대용량 송신을 통해 발생합니다.
MITRE ATT&CK
- 초기 액세스(TA0001): 네트워크 취약성을 대상으로 하는 익스플로잇을 통한 무단 침입(예: T1190 - Exploit Public-Facing Application).
- 실행(TA0002): 취약성 악용 또는 C2 페이로드에서 악성 코드 실행(예: T1059 - 명령 및 스크립팅 인터프리터).
- 명령 및 제어(TA0011): DNS 쿼리 또는 IP 기반 콜백(예: T1071 - 애플리케이션 계층 프로토콜)을 활용하여 맬웨어의 C2 통신을 수행합니다.
- 횡적 이동(TA0008): 피벗을 나타내는 비정상적인 내부 트래픽(예: SMB 열거형)(예: T1021 - 원격 서비스).
- 반출(TA0010): 암호화되거나 난독화된 채널을 통한 무단 데이터 전송(예: T1041 - C2 채널을 통한 반출).
NS-4.1 IDPS용 Azure Firewall Premium 배포
침입 탐지 및 방지 시스템은 알려진 공격 서명과 네트워크 트래픽 패턴을 일치시켜 서명 기반 위협 식별을 제공하여 악용 시도 및 악의적인 통신을 실시간으로 차단할 수 있도록 합니다. Azure Firewall Premium의 IDPS 기능은 경고 전용 및 방지 모드를 모두 지원하면서 악용, 맬웨어, 명령 및 제어 및 피싱 범주를 포함하는 지속적으로 업데이트되는 서명 라이브러리를 제공합니다. 적절한 서명 선택과 튜닝은 오탐을 최소화하고 정확한 감지가 보장됩니다.
Azure Firewall Premium을 통해 IDPS 배포 및 구성:
Azure Firewall 프리미엄 배포: 허브 VNet에 프리미엄 정책을 사용하여 Azure Firewall Premium 을 배포하여 TLS 검사 및 URL 필터링과 같은 다른 고급 기능과 함께 IDPS 기능을 사용하도록 설정합니다.
IDPS 서명 규칙을 선택합니다. 위협 우선 순위에 따라 서명 라이브러리에서 IDPS 서명 규칙을 선택합니다. "맬웨어", "악용" 및 조직의 위협 프로필 및 위험 허용 범위와 일치하는 "피싱"과 같은 중요한 범주에서 심각도가 높은 서명부터 시작합니다.
IDPS 모드 구성: 트래픽을 차단하지 않고 서명 일치를 관찰하도록 처음에 IDPS 모드를 경고 모드로 설정한 다음, 보안 모니터링에 대한 경고를 유지하면서 감지된 위협을 적극적으로 방지하기 위해 프로덕션 환경에 대한 경고 및 거부 모드로 전환합니다.
서명 미세 조정: 운영 환경에 따라 개별 서명 규칙을 조정하여 과도한 가양성을 생성하는 서명의 우선 순위를 사용하지 않도록 설정하거나 낮추면서 우선 순위가 높은 서명이 활성 상태로 유지되도록 하여 보안 운영 팀의 신호 대 노이즈 비율을 최적화합니다.
구현 예제
조직은 합법적인 비즈니스 운영을 방해하지 않고 위협 활동에 대한 가시성을 유지하면서 알려진 악용 및 제로 데이 공격으로부터 중요한 인프라를 보호해야 했습니다.
도전: 조직은 기본 방화벽 규칙을 초과하는 서명 기반 위협 탐지 없이 금융 트랜잭션을 처리하는 다중 계층 웹 애플리케이션을 운영했습니다. 보안 팀은 애플리케이션 서버를 대상으로 하는 익스플로잇 시도에 대한 가시성이 부족하고, 명령 및 제어 통신을 검색할 수 있는 기능이 없었으며, 광범위한 튜닝이 필요한 일반 IDS 솔루션에서 가양성 경고를 경험했습니다.
Solution:
IDPS를 사용하는 Azure Firewall 프리미엄: 허브 VNet에 Azure Firewall Premium 을 배포하여 TLS 검사 및 URL 필터링과 함께 IDPS 기능을 사용하도록 설정하고 모든 스포크 VNet 트래픽에 대한 중앙 집중식 서명 기반 위협 검색을 설정합니다.
서명 규칙 선택: 맬웨어(코발트 스트라이크, 메타슬로이트, 랜섬웨어 C2), 악용(PaperCut CVE-2023-27350, Log4Shell, ProxyShell), 피싱(자격 증명 수집) 및 명령 및 제어 패턴을 비롯한 중요한 범주에서 심각도가 높은 IDPS 서명을 선택했습니다.
경고 모드 및 튜닝: 트래픽을 차단하지 않고 서명 일치를 관찰하도록 초기 테스트를 위해 경고 모드로 구성된 IDPS, 합법적인 DevOps 도구 및 파트너 API 호출에서 가양성 식별 경고를 분석한 다음, 우선 순위가 높은 CVE 서명을 활성 상태로 유지하면서 알려진 좋은 시나리오에 대한 서명 예외를 만들었습니다.
방지 모드 전환: 유효성 검사 후 프로덕션을 위해 IDPS를 경고 및 거부 모드로 전환하여 PaperCut 악용 시도, Log4Shell 공격 및 C2 통신을 포함하여 감지된 위협을 적극적으로 차단했습니다.
Sentinel 통합: Log Analytics에 진단 로그를 구성하고, IDPS 검색과 인증 이벤트의 상관 관계를 지정하는 Sentinel 분석 규칙을 만들고, 심각도가 높은 경고를 위한 자동화된 인시던트 생성을 설정했습니다.
결과: 악용 시도가 성공적으로 차단되어 원격 코드 실행이 방지되었습니다. 손상이 발생하기 전에 중요한 취약성 악용이 제거되었습니다. 포괄적인 CVE 적용 범위를 유지하면서 오탐율이 크게 감소했습니다. 보안 팀은 신속한 경고 검토 및 인시던트 대응을 달성하여 사전 방어를 위한 실행 가능한 인텔리전스를 사용하여 지속적인 위협 가시성을 구축했습니다.
중요도 수준
있어야 합니다.
컨트롤 매핑
- NIST SP 800-53 Rev.5: SI-4, SI-4(4), SI-4(5), SC-7(5)
- PCI-DSS v4: 11.4.1, 11.4.2, 1.4.1
- CIS 컨트롤 v8.1: 13.2, 13.6, 13.7
- NIST CSF v2.0: DE.CM-01, DE.CM-04, DE.CM-07
- ISO 27001:2022: A.8.16, A.8.22, A.5.24
- SOC 2: CC6.1, CC7.2
NS-5: DDOS 보호 배포
Azure Policy:Azure 기본 제공 정책 정의 NS-5를 참조하세요.
보안 원칙
다양한 계층에 DDoS 보호를 배포하여 네트워크 및 애플리케이션 계층 모두에서 서로 다른 서비스 및 프로토콜을 대상으로 하는 공격을 효과적으로 완화합니다.
완화할 리스크
위협 행위자가 엄청난 악성 트래픽을 사용하여 네트워크, 서버 또는 애플리케이션을 공격하여 서비스 중단을 일으킵니다.
- 볼륨 공격(네트워크 홍수): 공격자는 대역폭, 라우터 처리 용량 또는 부하 분산 장치 리소스를 소진하기 위해 대규모 트래픽 볼륨(예: 초당 수백만 개의 패킷)으로 네트워크 인터페이스를 범람하여 서비스를 사용할 수 없게 만듭니다. 예를 들어 UDP 홍수, ICMP 홍수 또는 NTP 또는 SSDP와 같은 프로토콜을 활용하는 증폭된 DNS 리플렉션 공격이 있습니다.
- 프로토콜 공격(상태 고갈): 공격자는 계층 3/4 프로토콜 취약성을 악용하여 TCP 연결 테이블 또는 방화벽 세션 상태와 같은 상태 저장 리소스를 고갈합니다. 일반적인 기술에는 반쯤 열려 있는 연결로 서버를 압도하는 TCP SYN 홍수 또는 상태 저장 디바이스를 대상으로 하는 ACK 홍수가 포함됩니다.
- 리소스 계층 공격(애플리케이션 오버로드): HTTP GET/POST 홍수, 대상 애플리케이션 리소스(예: CPU, 메모리 또는 데이터베이스 연결)와 같은 제한된 계층 7 공격은 웹 서버 또는 API를 압도합니다. 이러한 공격은 컴퓨팅 리소스를 소모하여 대기 시간 급증 또는 중단을 유발하는 것을 목표로 합니다.
- 증폭 공격: 공격자는 잘못 구성된 서버(예: UDP 32414의 DNS, NTP 또는 Plex Media 서버)를 악용하여 트래픽을 증폭하고, 대상을 대상으로 하는 큰 응답을 생성하는 작은 쿼리를 보내며 네트워크 용량을 압도합니다. 예를 들어 DNS 증폭 또는 SSDP 리플렉션 공격이 있습니다.
MITRE ATT&CK
- 영향(TA0040): 볼륨 홍수(예: UDP/ICMP) 또는 리소스 오버로드(예: HTTP 홍수)를 통해 서비스 가용성을 방해하여 액세스를 거부합니다(예: T1498 - 네트워크 서비스 거부).
- TA0042(리소스 개발): 손상된 시스템을 증폭 공격(예: DNS/NTP 리플렉션)에 활용하여 공격 영향(예: T1584 - 인프라 손상)을 확장합니다.
NS-5.1 적절한 네트워크 계층에서 DDOS 보호 구현
네트워크 및 애플리케이션 계층 모두에서 DDoS 보호를 배포하여 볼륨 및 애플리케이션 관련 공격을 방어합니다. Azure는 신속한 응답 지원을 통해 포괄적인 VNet 검사를 위한 DDoS 네트워크 보호, 개별 IP의 비용 효율적인 보호를 위한 DDoS IP 보호, WAF를 통한 애플리케이션 계층 보호 등 여러 보호 계층을 제공합니다. 보호 효율성의 유효성을 검사하고 공격 중에 애플리케이션 복원력을 보장하도록 모니터링 및 경고를 구성합니다.
네트워크 계층 DDoS 보호 배포: 포괄적인 VNet 범위가 필요한 워크로드 배포에 대한 DDoS 네트워크 보호와 공격 조사 및 사후 공격 분석에 대한 신속한 대응 지원 또는 신속한 대응 지원 없이 제한된 수의 IP를 비용 효율적으로 보호하기 위한 DDoS IP 보호 중에서 선택합니다.
애플리케이션 계층 DDoS 보호 배포: Azure WAF(웹 애플리케이션 방화벽), Application Gateway 또는 Azure Front Door에서 DDoS 보호를 사용하도록 설정하여 애플리케이션 계층(계층 7) 공격을 방어합니다.
모니터링 및 경고 구성: DDoS 보호 서비스 및 애플리케이션에서 경고를 구성하고 메트릭 및 로그를 모니터링하여 공격 중 및 공격 후 보호 효율성, 애플리케이션 복원력 및 원하는 성능을 보장합니다.
비고
위의 DDoS 보호 서비스를 사용하지 않더라도 Azure는 네트워크 인프라 수준에서 기본 플랫폼 수준 보호인 DDoS 인프라 보호를 제공합니다. 이 보호는 무료로 제공되며 구성 또는 활성화가 필요하지 않습니다.
구현 예제
전자 상거래 조직에서는 쇼핑 성수기에 볼륨 및 애플리케이션 계층 공격 시도가 증가하는 고객 관련 애플리케이션에 대한 포괄적인 DDoS 보호가 필요했습니다.
도전: 조직은 인터넷에 노출되는 공용 웹 애플리케이션, API 및 콘텐츠 배달 인프라를 사용하여 글로벌 전자 상거래 플랫폼을 운영했습니다. 최대 이벤트 중에 플랫폼은 UDP 홍수, 부하 분산 장치 연결 테이블의 고갈된 TCP SYN 홍수, 체크 아웃 API를 대상으로 하는 HTTP 홍수 및 DNS 증폭 공격을 포함하여 여러 DDoS 공격을 경험했습니다. 전용 DDoS 보호가 없으면 이러한 공격으로 인해 서비스 중단이 발생하여 수익이 손실되고 고객 불만이 발생했습니다.
Solution:
DDoS 네트워크 보호: 고객 연결 애플리케이션을 호스팅하는 프로덕션 가상 네트워크에서 Azure DDoS 네트워크 보호를 사용하도록 설정하여 적응형 튜닝, 계층 3 및 4에서 자동 공격 검색 및 실시간 완화를 통해 포괄적인 VNet 수준 보호를 제공합니다.
애플리케이션 계층 보호: 지역 애플리케이션용 WAF와 글로벌 에지 배달을 위한 WAF가 있는 Azure Front Door를 사용하여 Azure Application Gateway를 배포하여 속도 제한, HTTP 홍수 감지 및 봇 보호 규칙을 사용하여 계층 7 DDoS 보호를 사용하도록 설정했습니다.
보호 정책 구성: 모든 프로덕션 VNet을 연결하는 DDoS 보호 계획을 만들고, 적응 튜닝 학습 기준 트래픽 패턴을 구성하고, 상시 트래픽 모니터링을 사용하도록 설정하고, UDP 홍수, TCP SYN 홍수, ICMP 홍수 및 프로토콜 공격을 포함하는 정의된 보호 정책을 만들었습니다.
모니터링 및 경고: Log Analytics 작업 영역에 공격 원격 분석을 보내는 구성된 DDoS 진단 로그 , 공격이 감지될 때 즉각적인 알림을 트리거하는 Azure Monitor 경고 생성, DDoS 공격과 애플리케이션 성능 메트릭의 상관 관계를 지정하는 Sentinel 통합 문서 설정, 완화 중에 애플리케이션 상태를 모니터링하는 Application Insights를 구성했습니다.
신속한 대응 참여: 실시간 공격 분석, 사용자 지정 완화 전략 개발 및 공격 후 포렌식에 대한 활성 공격 중에 DDoS 보호 전문가에게 직접 액세스하는 활성화된 DDoS 신속한 대응
결과: 쇼핑 성수기 동안 DDoS 공격은 서비스 중단이 0으로 성공적으로 완화되었습니다. 볼륨 홍수, SYN 홍수 및 HTTP 홍수가 자동으로 차단되어 플랫폼 가용성이 유지되었습니다. 신속한 대응은 정교한 공격에 대한 전문가 분석을 제공했습니다. 중요한 쇼핑 기간은 완화 중에 고객 트랜잭션 대기 시간 없이 높은 가동 시간을 유지했습니다.
중요도 수준
있어야 합니다.
컨트롤 매핑
- NIST SP 800-53 Rev.5: SC-5, SC-5(1), SC-5(2), SI-4(4)
- PCI-DSS v4: 6.4.2, 11.4.7
- CIS 컨트롤 v8.1: 13.3
- NIST CSF v2.0: 보호. PT-05, DE.CM-01
- ISO 27001:2022: A.8.13, A.8.24
- SOC 2: CC6.1, CC7.2
NS-6: 웹 애플리케이션 방화벽 배포
Azure Policy:Azure 기본 제공 정책 정의 NS-6을 참조하세요.
보안 원칙
WAF(웹 애플리케이션 방화벽)를 배포하고 악성 HTTP/HTTPS 트래픽을 검사, 검색 및 필터링하여 애플리케이션별 공격으로부터 웹 애플리케이션 및 API를 보호하는 규칙을 구성합니다.
완화할 리스크
공격자는 웹 애플리케이션 취약성을 악용하여 무단 액세스를 얻거나, 악성 코드를 실행하거나, 자격 증명을 도용하거나, 데이터를 유출합니다.
- 삽입 공격(예: SQL 삽입, 명령 삽입): 공격자는 입력 유효성 검사 취약성을 악용하여 웹 애플리케이션 쿼리 또는 명령에 악성 코드를 삽입하여 무단 데이터베이스 액세스, 데이터 반출 또는 시스템 손상이 가능합니다. SQL 삽입(SQLi)은 백 엔드 쿼리(예: 'OR '1'='1을 로그인 양식에 추가)를 조작하는 반면 명령 삽입은 임의의 OS 명령(예: rm -rf/양식 필드를 통해)을 실행합니다.
- HTTP 프로토콜 위반 및 잘못된 형식의 요청: 공격자는 잘못된 형식의 HTTP 요청(예: 잘못된 헤더, 오버사이즈 페이로드 또는 TRACE와 같은 비표준 메서드)을 전송하여 웹 서버 또는 애플리케이션의 취약성을 악용하여 충돌 또는 무단 액세스를 유발할 수 있습니다. 이러한 공격은 잘못 구성된 서버 또는 패치되지 않은 프레임워크를 대상으로 합니다.
- 봇 기반 공격(예: 자격 증명 스터핑, 스크래핑): 자동화된 봇은 자격 증명 스터핑 공격(예: 도난당한 자격 증명으로 무차별 강제 로그인 엔드포인트)을 시작하거나 중요한 콘텐츠(예: 가격 책정 데이터), 서버 오버로드 또는 사용자 계정 손상 등을 시작합니다. 이러한 공격은 약한 인증 또는 보호되지 않는 API를 악용합니다.
- 애플리케이션별 악용(예: 원격 파일 포함, 로컬 파일 포함): 공격자는 취약성을 악용하여 악성 파일(예: 'http://evil.com/shell.php'을 포함)을 포함하거나 로컬 서버 파일(예: .)에 액세스합니다. /.. /etc/passwd) 조작된 URL 매개 변수 또는 양식 입력을 통해 코드 실행 또는 데이터 노출을 사용하도록 설정합니다.
MITRE ATT&CK
- 초기 액세스(TA0001): SQL 삽입, XSS 또는 원격 파일 포함을 악용하여 진입을 얻습니다(예: T1190 - 외부로 노출된 애플리케이션 악용).
- 실행(TA0002): 명령 삽입, RFI 또는 XSS(예: T1059 - 명령 및 스크립팅 인터프리터)를 통해 악성 코드를 실행합니다.
- 자격 증명 액세스(TA0006): XSS 또는 자격 증명 스터핑을 통해 자격 증명을 도용합니다(예: T1539 - 웹 세션 쿠키 도용, T1110 - 무차별 암호 대입).
- 컬렉션(TA0009): SQL 삽입 또는 스크래핑(예: T1213 - 정보 리포지토리의 데이터)을 통해 데이터를 수집합니다.
NS-6.1 적절한 규칙을 사용하여 Azure WAF 구성
Azure Application Gateway, Azure Front Door 또는 AZURE CDN(Content Delivery Network)에서 WAF(웹 애플리케이션 방화벽) 기능을 사용하도록 설정하여 웹 기반 공격으로부터 애플리케이션 및 API를 보호합니다. 애플리케이션 요구 사항에 따라 적절한 서비스를 선택하고, 기본 제공 및 사용자 지정 규칙을 사용하여 WAF 정책을 구성하고, 보안 태세에 따라 정책 모드를 설정하고, 정책을 서비스 엔드포인트와 연결합니다.
적절한 WAF 서비스를 선택합니다. VNet 호스팅 애플리케이션용 Azure Application Gateway, 글로벌 에지 배달을 위한 Azure Front Door 또는 애플리케이션 요구 사항 및 아키텍처에 따라 콘텐츠가 많은 워크로드의 경우 Azure CDN을 선택합니다.
기본 제공 및 사용자 지정 규칙을 사용하여 WAF 정책을 구성 합니다. OWASP Core 규칙 집합(CRS 3.2) 및 봇 보호(Microsoft Bot Manager) 규칙과 같은 일반적인 기본 제공 규칙 집합부터 시작합니다. 사용자 지정 규칙(예: >100개 요청/분당 속도 제한)과 제외 항목을 추가하여 위협 환경 및 애플리케이션 보안 프로필에 따라 오탐지를 줄입니다.
WAF 정책 모드 설정: 초기 또는 중요하지 않은 애플리케이션에 대해 검색 모드를 사용하여 설정 및 규칙 최적화 중에 합법적인 트래픽이 중단되는 것을 방지합니다. 악의적인 요청을 차단하기 위해 규칙의 유효성이 검사되면 중요한 애플리케이션에 대한 방지 모드로 전환합니다.
WAF 정책을 서비스 엔드포인트와 연결: WAF 정책을 Application Gateway, Front Door 또는 CDN 엔드포인트와 연결하여 모든 HTTP/HTTPS 트래픽이 검사를 위해 WAF를 통해 라우팅되도록 합니다.
구현 예제
조직은 합법적인 사용자에 대한 성능을 유지하면서 SQL 삽입, XSS 공격 및 봇 기반 자격 증명 스터핑으로부터 고객 연결 웹 애플리케이션 및 API를 보호해야 했습니다.
과제: 조직에서는 OWASP 상위 10개 취약성에 대한 보호 없이 전 세계적으로 웹 애플리케이션을 배포하여, 여러 차례 SQL 삽입 공격 시도와 봇에 의해 로그인 엔드포인트가 마비되었으며, 악성 트래픽 패턴에 대한 가시성이 부족했습니다. 애플리케이션에는 속도 제한 컨트롤이 부족하여 API 남용 및 자격 증명 스터핑 공격을 허용했으며 합법적인 사용자를 악성 봇과 구별하는 메커니즘이 없었습니다.
솔루션 접근 방식:
- WAF 서비스 선택: 에지 보호 및 짧은 대기 시간 액세스가 필요한 전역적으로 분산된 애플리케이션을 위해 VNet 호스팅 애플리케이션용 WAF 및 WAF가 있는 Azure Front Door를 사용하여 Azure Application Gateway를 배포했습니다.
- 기본 제공 보호 규칙 집합: SQL 삽입, XSS(교차 사이트 스크립팅), 원격 파일 포함 및 기타 일반적인 웹 취약성으로부터 보호하기 위해 OWASP CRS(Core Rule Set) 3.2 를 사용하도록 설정하고, 합법적인 검색 엔진 크롤러 및 모니터링 서비스를 허용하면서 악성 봇을 식별하고 차단하는 Microsoft Bot Manager 규칙을 활성화했습니다.
- 특정 위협에 대한 사용자 지정 규칙: API 남용 및 자격 증명 스터핑을 방지하기 위해 분당 100개 요청을 초과하는 클라이언트를 차단하는 속도 제한 규칙, 서비스를 사용할 수 없는 고위험 지역의 트래픽을 차단하는 지역 필터링 규칙 및 위협 인텔리전스 피드를 통해 식별된 알려진 악성 IP 범위의 요청을 차단하는 IP 평판 기반 규칙이 구현되었습니다.
- 제외 관리: /checkout 엔드포인트의 복잡한 폼 입력이 OWASP 규칙에서 오탐을 유발하는 것에 대비하고, 대용량 파일 제출을 처리하는 /upload 엔드포인트 및 모바일 애플리케이션의 비정상적이지만 유효한 헤더 패턴을 가진 /api 엔드포인트와 같은 합법적인 비즈니스 시나리오에 대한 대상 예외를 생성했습니다.
- 탐지에서 방지로의 전환: WAF를 탐지 모드로 2주 동안 실행하여 오탐(false positives)을 식별하고, 합법적인 트래픽 패턴을 기반으로 규칙 및 예외를 개선한 후, 비즈니스 연속성을 유지하면서 프로덕션 애플리케이션에 대해 위협을 적극적으로 차단하기 위한 방지 모드로 전환했습니다.
결과: 조직은 SQL 삽입 및 XSS 악용 시도를 제거하고, 봇 관리자 규칙을 통한 봇 기반 공격을 크게 줄이며, 웹 애플리케이션 위협에 대한 포괄적인 가시성을 확립했습니다. 속도 제한 제어는 API 남용 및 자격 증명 스터핑을 방지했으며, 탐지 모드에서 방지 모드로의 단계적 전환은 정상적인 사용자가 서비스 중단을 경험하지 않도록 했습니다.
중요도 수준
있어야 합니다.
컨트롤 매핑
- NIST SP 800-53 Rev.5: SC-7, SC-7(5), SI-10, SI-10(1), SI-11
- PCI-DSS v4: 6.4.1, 6.4.2, 11.4.7
- CIS 컨트롤 v8.1: 13.2, 13.9
- NIST CSF v2.0: PR.AC-05, PR.PT-05, DE.CM-04
- ISO 27001:2022: A.8.20, A.8.22, A.8.25
- SOC 2: CC6.1, CC6.6, CC7.2
NS-7: 중앙에서 효과적으로 네트워크 보안 관리
보안 원칙
복잡하고 조각화된 네트워크 환경에서 운영 위험 및 잘못된 구성을 줄이려면 클라우드 네이티브 네트워크 관리 기능을 사용하여 일관된 네트워크 보안 구성을 중앙 집중화, 단순화 및 적용합니다.
완화할 리스크
중앙 집중식 제어가 부족하면 보안 설정이 간과되거나 오래되어 악용 위험이 높아집니다.
- 일관되지 않은 정책 적용 및 잘못된 구성: 분산된 관리는 종종 조각화된 규칙 집합 및 정책 격차로 이어지므로 공격자가 약점을 더 쉽게 검색하고 악용할 수 있습니다. 잘못된 구성은 우발적인 노출 또는 의도하지 않은 액세스 가능성을 증가시키는 가능성이 높습니다.
- 가시성 감소 및 응답 지연: 통합 관리 접근 방식이 없으면 모니터링 및 인시던트 대응이 느리고 덜 효과적입니다. 이렇게 하면 악의적인 활동 탐지가 지연되어 공격자가 공격을 확대하거나 데이터를 내보내는 데 더 많은 시간을 할애할 수 있습니다.
- 규정 준수 유지 관리 어려움: 중앙 관리가 부적절하면 규정 및 업계 표준을 일관되게 충족하려는 노력이 복잡해지며 규정 비준수 및 잠재적인 처벌이 발생할 위험이 있습니다.
MITRE ATT&CK
- 초기 액세스(TA0001): 잘못된 구성 또는 오래된 보안 설정을 악용하여 무단 액세스(예: T1190 - Exploit Public-Facing Application, T1133 - 외부 원격 서비스)를 가져옵니다.
- 방어 회피(TA0005): 조각화된 규칙 집합을 악용하고 중앙 집중식 모니터링이 부족하여 탐지를 피합니다(예: T1562 - 방어 손상).
- 횡적 이동(TA0008): 정책 간격 또는 오래된 세분화(예: T1021 - 원격 서비스)를 활용하여 네트워크를 통해 횡적 이동
- 명령 및 제어(TA0011): 모니터링되지 않거나 잘못 구성된 네트워크 경로를 사용하여 C2 채널을 설정하고 유지 관리합니다(예: T1071 - 애플리케이션 계층 프로토콜).
NS-7.1 중앙에서 효과적으로 네트워크 보안 관리
Azure의 중앙 집중식 도구와 표준화된 사례를 사용하여 네트워크 보안 관리를 간소화하고 크기를 조정하여 일관된 적용, 잘못된 구성 감소 및 향상된 모니터링을 보장합니다. 중앙 집중식 정책 적용을 구현하고, 방화벽 및 라우팅 관리를 표준화하고, 포괄적인 모니터링 및 분석을 사용하도록 설정하고, 거버넌스 사례를 통해 리소스 일관성을 유지합니다.
중앙 집중식 정책 적용 구현: AVNM(Azure Virtual Network Manager)을 사용하여 구독 및 지역에 일관되게 적용되는 보안 관리자 규칙을 정의합니다. 워크로드 수준 마이크로 분할을 위해 NSG를 유지합니다. 네트워크 그룹을 통해 정책을 적용합니다(예: 환경별: prod, non-prod).
방화벽 및 라우팅 관리를 표준화합니다 . 방화벽 정책 개체를 사용하여 Firewall Manager를 통해 Azure Firewall 규칙을 관리합니다. 원시 IP 대신 IP 그룹 및 서비스 태그를 표준화합니다. TLS 검사, IDPS 및 URL 필터링이 필요한 경우 Azure Firewall Premium을 사용합니다. 라우팅 의도를 일관되게 적용하려면 Virtual WAN 보안 허브 또는 공유 허브 및 스포크 토폴로지를 선호합니다.
포괄적인 모니터링 및 분석을 사용하도록 설정합니다. 가상 네트워크 흐름 로그 v2를 사용합니다(NSG 흐름 로그를 대체하려면). Azure Firewall 진단 로그를 사용하도록 설정하고 Traffic Analytics, Log Analytics 및 Microsoft Sentinel과 통합합니다. 방화벽 정책 분석 및 규칙 적중 횟수를 사용하여 사용되지 않거나 중복된 규칙을 제거합니다.
리소스 일관성 및 거버넌스 유지 관리: 모든 VNet, NSG, 방화벽 규칙 및 그룹에 CAF 명명 규칙 및 필수 리소스 태그를 적용합니다. Defender for Cloud의 적응형 네트워크 강화를 사용하여 지나치게 허용되는 규칙을 구체화합니다.
구현 예제
사용 사례: 다중 지역 결제 플랫폼은 대규모 네트워크 보안을 통합합니다.
문맥: 한 테넌트에서 4개의 구독(Prod, Non-Prod, Shared Services, SecOps)을 사용하는 미국 동부 및 서유럽에서 운영되는 중형 결제 프로세서는 PCI-DSS 분할, 규칙 드리프트의 인시던트 감소 및 중앙 집중식 모니터링이 필요합니다.
Azure Virtual Network Manager를 사용하여 중앙 집중식 정책 적용:
- 디자인: 관리 그룹 수준에서 AVNM을 만듭니다. 두 개의 네트워크 그룹 정의: subscriptionId 태그별 동적 멤버 자격을 사용하는 ng-prod 및 ng-nonprod. NSG: Deny-Inbound-Internet-to-Spokes(인터넷에서 모든 스포크 서브넷으로의 원치 않는 인바운드 차단), Allow-Hub-Infra(허브 서비스 허용 - 방화벽/Bastion - 스포크로), Allow-Platform-DNS(허브 해결자에서 스포크로 DNS 허용) 전에 평가되는 조직 가드레일을 강화하기 위해 보안 관리자 규칙(SAR)을 작성합니다.
- 앱 팀 경계: 워크로드는 각 스포크 내에서 마이크로 분할(예: 웹에서 api :443, api to db :1433)을 위해 NSG를 유지합니다. NSG 변경 내용은 앱 팀이 소유합니다. SA는 플랫폼 보안 팀이 소유합니다.
- 결과: 가드레일은 두 지역 간에 일관됩니다. NSG가 잘못 구성된 경우에도 앱 팀은 실수로 직접 인터넷 액세스를 만들 수 없습니다.
방화벽 관리자 및 Virtual WAN을 사용한 방화벽 및 라우팅 관리:
- 디자인: 각 지역(미국 동부, 서유럽)에 Virtual WAN 보안 허브를 배포합니다. 가장 가까운 허브에 스포크를 연결하고 라우팅 의도를 활성화하여 모든 인터넷 트래픽을 검사합니다. 환경 오버라이드를 위해 글로벌 방화벽 정책(계층: 프리미엄) 및 두 개의 자식 정책(Prod/Non-Prod)과 함께 Firewall Manager를 사용합니다.
- 정책 구조: 기본(전역) 정책에는 경고 + 거부로 설정된 위협 인텔리전스, 아웃바운드 HTTPS에 대해 사용하도록 설정된 TLS 검사, 분산 모드의 IDPS, 파트너 엔드포인트에 대한 서비스 태그(스토리지, KeyVault, AzureMonitor) 및 IP 그룹을 사용하는 아웃바운드 허용 규칙이 포함됩니다. Prod 자식 정책에는 더 엄격한 URL 필터링(분류되지 않은 차단)이 있으며 IP 그룹을 통한 결제 게이트웨이에 대한 허용 목록이 있습니다. 비 프로덕션 자식 정책은 서비스 태그(AzureDevOps, AzureContainerRegistry)를 통해 개발 도구에 대한 더 광범위한 접근이 가능합니다.
- 결과: 두 허브에 전파되는 변경 내용이 있는 규칙을 관리하는 단일 창입니다. 라우팅은 일관되며 모든 송신은 허용되는 경우 TLS 암호 해독을 사용하여 검사됩니다.
흐름 로그 v2 및 Sentinel을 사용하여 모니터링 및 분석:
- 원격 분석 설정: 모든 VNet에서 Virtual Network 흐름 로그 v2를 사용하도록 설정하고 SecOps 구독의 중앙 로그 분석 작업 영역으로 보냅니다. Azure Firewall 진단 로그(애플리케이션, 네트워크, DNS, ThreatIntel, IDPS)를 동일한 작업 영역으로 구성합니다. 작업 영역에서 트래픽 분석을 활성화합니다.
- 최적화 루프: 방화벽 정책 분석을 사용하도록 설정하고 매월 규칙 적중 횟수를 검토합니다. 패킷 흐름 로그(남북 및 동서), 방화벽 허용/거부 적중, 트리거된 IDPS 서명의 상관 관계를 파악하는 Sentinel 워크북을 만듭니다. 규칙에 45일 동안 적중 0개(제거 후보)가 있거나 프로덕션 서브넷에 의해 거부 규칙이 적중된 경우(가능한 잘못된 경로) 변경 요청을 자동화합니다.
- 결과: 두 번의 검토 주기 후에는 18개의 방화벽 규칙% 22개의 부실 NSG 규칙이 제거되어 규칙 평가 대기 시간 및 변경 위험을 줄입니다.
CAF 및 Defender for Cloud를 사용하여 리소스 일관성 및 거버넌스:
- 표준: CAF 명명(예: vnet-prd-eus-01, nsg-prd-eus-web-01, azfw-policy-global-01) 및 필수 태그(env, owner, dataClass, costCenter)를 적용합니다.
- 집행: Azure Policy 이니셔티브를 사용하여 모든 서브넷에서 NSG를 요구하고, VNet 및 방화벽에서 중앙 LA 작업 영역으로 진단 설정을 요구하며, 필수 태그 없이 만들기를 거부합니다. SecOps CAB에서 주간 작업 항목을 검토하여 모든 스포크에서 클라우드용 Defender - 적응형 네트워크 강화를 사용하도록 설정합니다.
- 결과: 플랫폼 드리프트가 신속히 감지됩니다. 자칫 과도하게 허용될 수 있는 규칙들은 Defender의 데이터 기반 권장 사항에 따라 엄격하게 조정됩니다.
롤아웃 시퀀스 및 수락 조건:
- vWAN 보안 허브를 설치하고, 스포크 연결하고, 라우팅 의도를 사용하도록 설정합니다(파일럿 스포크만 해당). 수용 조건: 파일럿 스포크는 방화벽을 통해 송신합니다. 직접 연결할 수 있는 공용 IP가 없습니다.
- AVNM SAR을 ng-nonprod에 배포하고, 중단을 확인하지 않은 다음, ng-prod에 배포합니다. 수용 조건: 가상 프로브는 허브 서비스(DNS/Bastion)가 여전히 스포크에 도달한 것을 확인합니다. 인바운드 인터넷이 여전히 거부되었습니다.
- vNet 흐름 로그 v2 및 모든 방화벽 진단을 사용하도록 설정하고, Sentinel 통합 문서를 온보딩합니다. 승인 기준: 대시보드에는 지역별 흐름, 거부, IDPS 발생 건수가 표시됩니다.
- 정책 이니셔티브 적용; 비준수 항목을 수정합니다. 적응 강화를 사용하도록 설정합니다. 수락 기준: 규정 준수가 95%에 도달하고, NSG/방화벽 강화 항목의 백로그가 생성됩니다.
- 첫 번째 정책 분석 검토; 변경 창을 통해 사용하지 않는 규칙을 제거합니다. 수용 조건: 규칙 수가 15% 감소하여 고객에게 영향을 주지 않습니다.
운영 런북 예제:
- Azure Virtual Network Manager SAR: 스포크에 대한 인바운드 인터넷 거부(우선 순위 100), 허브 인프라에서 스포크로 허용(우선 순위 200: src 10.0.0.0/16 허브 범위)
- 방화벽 정책 구조: azfw-policy-global-01(프리미엄)에는 규칙 컬렉션 Allow-Azure-Platform-ST(서비스 태그) 및 Allow-Partners-IPs(IP 그룹: ipg-payment-gws)가 있으며, 자식 정책 azfw-policy-prd-01 및 azfw-policy-npd-01이 포함됩니다.
- 진단: 대상: law-secops-01, 범주: AZFWApplicationRule, AZFWNetworkRule, AZFWIDPS, AZFWThreatIntel, AZFWDnsProxy, FlowLogV2
중요도 수준
있어야 합니다.
컨트롤 매핑
- NIST SP 800-53 Rev.5: CM-2, CM-3, CM-6, CA-7, SI-4
- PCI-DSS v4: 1.4.5, 11.5.1, 12.4.1
- CIS 컨트롤 v8.1: 4.1, 4.2, 12.4, 13.6
- NIST CSF v2.0: PR.IP-01, DE.CM-01, DE.CM-07
- ISO 27001:2022: A.8.9, A.8.32, A.5.37
- SOC 2: CC6.6, CC7.2, CC8.1
NS-8: 안전하지 않은 서비스 및 프로토콜 검색 및 사용 안 함
Azure Policy:Azure 기본 제공 정책 정의 NS-8을 참조하세요.
보안 원칙
OS, 애플리케이션 또는 소프트웨어 패키지 계층에서 안전하지 않은 서비스 및 프로토콜을 검색하고 사용하지 않도록 설정합니다. 안전하지 않은 서비스 및 프로토콜을 사용하지 않도록 설정하는 것이 불가능한 경우 보상 컨트롤을 배포합니다.
완화할 리스크
위협 행위자가 안전하지 않고 취약한 서비스 및 프로토콜을 악용하여 시스템과 데이터를 손상합니다.
- 암호화 약점 악용: SSL/TLSv1 및 약한 암호(예: RC4, DES)는 MITM 공격(예: POODLE, BEAST)에 취약하므로 악의적 사용자가 패딩 오라클 또는 선택한 암호 텍스트 공격을 통해 세션 토큰과 같은 중요한 데이터를 암호 해독할 수 있습니다.
- 프로토콜 악용을 통한 무단 액세스: SSHv1 및 SMBv1 취약성(예: CVE-2001-1473, CVE-2017-0144/EternalBlue)은 원격 코드 실행 또는 인증되지 않은 액세스를 허용하여 초기 발판을 활성화합니다.
- 자격 증명 도난: LM/NTLMv1 및 wDigest는 통과 해시 또는 메모리 스크래핑에 취약한 약한 해시 또는 일반 텍스트 자격 증명을 저장합니다(예: LSASS 데이터를 추출하는 Mimikatz).
- 횡적 이동: SMBv1의 암호화되지 않은 세션 및 악용(예: EternalBlue)은 네트워크 간에 맬웨어 전파 또는 자격 증명 릴레이를 사용하도록 설정합니다.
MITRE ATT&CK
- 초기 액세스(TA0001): 프로토콜 다운그레이드 공격 또는 알려진 악용에 취약한 SSL/TLSv1 또는 SSHv1과 같은 안전하지 않은 프로토콜을 악용하여 권한 없는 항목(예: T1190 - Exploit Public-Facing Application)을 차단합니다.
- 자격 증명 액세스(TA0006): LM/NTLMv1 및 wDigest를 악용하여 자격 증명을 되돌릴 수 있는 형식 또는 약한 해시로 저장하고, 통과 해시 또는 메모리 스크래핑(예: T1003 - OS 자격 증명 덤프)을 방해하여 자격 증명을 도용합니다.
- 횡적 이동(TA0008): EternalBlue와 같은 악용에 취약한 SMBv1의 공격자 피벗을 억제하여 네트워크로의 전파를 방지합니다(예: T1021 - 원격 서비스).
NS-8.1 안전하지 않은 서비스 및 프로토콜 검색 및 사용 안 함
Microsoft Sentinel의 기본 제공 안전하지 않은 프로토콜 통합 문서를 사용하여 Azure 환경에서 안전하지 않은 서비스 및 프로토콜을 검색하고 완화합니다. 이 통합 문서는 SSL/TLSv1, SSHv1, SMBv1, LM/NTLMv1, wDigest, Kerberos의 약한 암호 및 서명되지 않은 LDAP 바인딩과 같은 적절한 보안 표준을 충족하지 않는 프로토콜 및 서비스의 사용을 식별합니다. 식별 후 이러한 안전하지 않은 프로토콜 및 서비스를 사용하지 않도록 설정합니다. 비활성화할 수 없는 경우 보상 컨트롤을 구현하여 공격 표면을 줄입니다.
안전하지 않은 프로토콜 검색: Microsoft Sentinel의 안전하지 않은 프로토콜 통합 문서를 사용하여 사용자 환경에서 SSL/TLSv1, SSHv1, SMBv1, LM/NTLMv1, wDigest, 약한 Kerberos 암호화 및 서명되지 않은 LDAP 바인딩의 사용을 식별합니다.
안전하지 않은 서비스 및 프로토콜을 사용하지 않도록 설정합니다. 취약성을 제거하기 위해 적절한 보안 표준을 충족하지 않는 식별된 안전하지 않은 서비스 및 프로토콜을 사용하지 않도록 설정합니다.
보상 컨트롤을 구현합니다. 비즈니스 요구 사항 또는 기술 제약 조건으로 인해 안전하지 않은 서비스 또는 프로토콜을 사용하지 않도록 설정하는 것이 불가능한 경우 네트워크 보안 그룹, Azure Firewall 또는 Azure Web Application Firewall을 통해 리소스에 대한 액세스 차단과 같은 보상 컨트롤을 사용하여 공격 노출 영역을 줄입니다.
구현 예제
의료 조직은 HIPAA 규정 준수 요구 사항을 충족하고 보호된 상태 정보에 대한 공격 노출 영역을 줄이기 위해 Azure 환경에서 안전하지 않은 프로토콜을 제거해야 했습니다.
도전: 조직은 Azure 호스팅 리소스에 연결해야 하는 레거시 애플리케이션을 사용하여 하이브리드 인프라를 운영했습니다. 보안 평가 결과 환자 포털을 제공하는 웹 서버에서 SSL/TLSv1.0을 비롯한 안전하지 않은 프로토콜이 광범위하게 사용되는 것으로 나타났습니다. 레거시 의료 이미징 소프트웨어용 파일 서버에서 사용하도록 설정된 SMBv1, 도메인 컨트롤러 및 애플리케이션 서버에서 LM/NTLMv1 인증, 가역 형식으로 자격 증명을 저장하는 wDigest 인증, Active Directory 컨트롤러에서 서명되지 않은 LDAP 바인딩 및 서비스 계정의 약한 Kerberos 암호화. 조직은 프로토콜 사용에 대한 가시성이 부족하고 잠재적인 HIPAA 규정 준수 위반에 직면했습니다.
Solution:
Sentinel 안전하지 않은 프로토콜 통합 문서 배포:Microsoft Sentinel 을 배포하고 콘텐츠 허브에서 안전하지 않은 프로토콜 통합 문서 , Windows 보안 이벤트 로그, Azure Monitor 로그, Active Directory 로그 및 네트워크 흐름 로그를 포함한 연결된 데이터 원본을 설치하여 하이브리드 환경에서 안전하지 않은 프로토콜 사용의 포괄적인 기준을 설정합니다.
프로토콜 검색: 안전하지 않은 프로토콜 통합 문서를 사용하여 웹 서버에서 SSL/TLSv1.0 사용, 레거시 의료 이미징 워크스테이션의 SMBv1 트래픽, LM/NTLMv1 인증 패턴, Windows 서버에서 사용하도록 설정된 wDigest, 레거시 애플리케이션의 서명되지 않은 LDAP 바인딩 및 서비스 계정의 약한 RC4 Kerberos 암호화를 식별합니다.
체계적인 프로토콜 사용 안 림: 환자 포털 사용자가 TLS 1.2+를 지원하는 최신 브라우저를 운영했음을 확인한 후 변경 자문 위원회를 통해 유효성을 검사하는 단계별 수정 계획을 만들고 웹 서버에서 TLSv1.0/1.1을 사용하지 않도록 설정했습니다. 의료 이미징 공급업체 소프트웨어 업그레이드와 조정한 후 SMBv1을 사용하지 않도록 설정, 도메인 컨트롤러를 NTLMv1에서 NTLMv2 인증으로 전환하고, 그룹 정책을 통해 wDigest를 사용하지 않도록 설정했으며, 도메인 컨트롤러에 LDAP 서명을 적용하고, 서비스 계정 Kerberos 암호화를 AES256으로 업그레이드했습니다.
예외에 대한 보상 컨트롤: SMBv1이 필요한 레거시 의료 이미징 워크스테이션에 대한 격리된 VLAN을 포함하여 일시적인 안전하지 않은 프로토콜 지원이 필요한 시스템에 대한 네트워크 기반 보정 컨트롤 구현 SMBv1 트래픽을 격리된 VLAN으로만 제한하는 NSG 규칙, 프로덕션 서브넷에서 아웃바운드 SMBv1을 거부하는 Azure Firewall, 레거시 HR 애플리케이션에 대한 전용 점프 호스트 및 승인된 예외 서브넷 외부에서 프로토콜 사용을 표시하는 엔드포인트용 Defender를 통한 향상된 모니터링.
연속 모니터링: 승인된 예외 이외의 새로운 안전하지 않은 프로토콜 연결에 대한 경고를 트리거하는 Microsoft Sentinel 분석 규칙을 통해 지속적인 프로토콜 위생을 설정하고, TLS 1.2 최소 요구 사항 없이 배포를 거부하는 Azure Policy, 매주 안전하지 않은 프로토콜 통합 문서 검토 추적 수정 진행 상황을 검토합니다.
결과: 약한 TLS 연결이 환자 포털에서 제거되었습니다. SMBv1은 의료 이미징 업그레이드 후 비활성화되어 EternalBlue 취약성을 제거하고 HIPAA 규정 준수를 달성했습니다. NTLMv1이 NTLMv2로 전환되어 해시 통과 공격을 방지했습니다. wDigest 비활성화로 자격 증명 도난을 완화함. LDAP 서명이 서명되지 않은 쿼리를 차단했습니다. Kerberos가 AES256으로 업그레이드되어 Kerberoasting 위험이 감소했습니다. 보상 컨트롤에는 횡적 이동이 없는 레거시 시스템이 포함되어 있습니다. 전체 HIPAA 규정 준수를 달성했습니다.
중요도 수준
있어야 합니다.
컨트롤 매핑
- NIST SP 800-53 Rev.5: SC-8, SC-8(1), SC-13, IA-5(1)
- PCI-DSS v4: 2.2.4, 4.2.1, 6.2.4
- CIS 컨트롤 v8.1: 4.8, 9.3, 13.4
- NIST CSF v2.0: PR.DS-02, PR.IP-01, DE.CM-04
- ISO 27001:2022: A.8.24, A.8.26, A.5.14
- SOC 2: CC6.1, CC6.7, CC7.1
NS-9: 온-프레미스 또는 클라우드 네트워크를 프라이빗하게 연결
보안 원칙
클라우드 서비스 공급자 데이터 센터 및 공동 배치 환경의 온-프레미스 인프라와 같은 서로 다른 네트워크 간의 보안 통신을 위해 프라이빗 연결을 사용합니다.
완화할 리스크
데이터가 공용 네트워크를 통해 이동하면 가로채기, 무단 액세스 및 변조에 취약합니다.
- 데이터 가로채기: 데이터가 인터넷과 같은 공용 네트워크를 통해 이동하면 여러 라우터, 스위치 및 서비스 공급자를 통과하며, 악의적인 행위자에 의해 손상되거나 모니터링될 수 있습니다. 공격자는 패킷 스니핑 도구(예: Wireshark)를 배포하여 데이터 패킷을 캡처할 수 있습니다. 데이터가 암호화되지 않거나 약하게 암호화된 경우 로그인 자격 증명, 재무 세부 정보 또는 독점 비즈니스 데이터와 같은 중요한 정보를 노출할 수 있습니다.
- MitM(Man-in-the-Middle) 공격: MitM 공격에서 공격자는 서로 직접 통신하고 있다고 믿는 두 당사자 간의 통신을 몰래 가로채고 잠재적으로 변경합니다. 이는 금융 거래 또는 인증 프로세스와 같은 중요한 작업에 심각한 위협이 됩니다.
- 권한 없는 액세스: 퍼블릭 또는 부적절한 보안 네트워크는 권한이 없는 사용자가 개인 시스템 또는 리소스에 액세스하거나 변조할 가능성을 높입니다. 공격자는 네트워크 약점을 악용하여 외부에서 액세스할 수 없는 내부 인프라에 도달할 수 있습니다.
MITRE ATT&CK
- 초기 액세스(TA0001): 암호화되지 않거나 약하게 암호화된 프로토콜(예: HTTP 또는 오래된 TLS 버전)을 악용하면 패킷 스니핑 또는 MitM 공격에 취약하여 시스템에 무단으로 진입할 수 있습니다(예: T1190 - Exploit Public-Facing Application).
- 자격 증명 액세스(TA0006): 가로채기된 네트워크 트래픽을 통한 자격 증명 도난, 일반 텍스트 프로토콜(예: 텔넷 또는 FTP) 또는 암호 해독에 취약한 약한 암호화를 악용하여 무단 액세스(예: T1040 - 네트워크 스니핑)를 용이하게 합니다.
- 횡적 이동(TA0008): 잘못 구성되거나 노출된 서비스(예: 패치되지 않은 RDP 또는 SMB)를 악용하여 네트워크 내에서 전파하여 공격자가 도난당한 자격 증명 또는 취약성(예: T1021 - 원격 서비스)을 사용하여 피벗할 수 있도록 합니다.
NS-9.1 간단한 사이트 간 또는 지점 및 사이트 간 연결에 Azure VPN(가상 사설망)을 사용합니다.
Azure VPN(가상 사설망)을 사용하여 간단한 연결 시나리오를 위해 온-프레미스 사이트 또는 최종 사용자 디바이스와 Azure 가상 네트워크 간에 안전하고 암호화된 연결을 만듭니다. Azure VPN은 전용 인프라 없이 사이트 간 연결(전체 네트워크 연결) 또는 지점 및 사이트 간 연결(개별 디바이스 연결)을 위한 비용 효율적인 솔루션을 제공합니다.
사이트-사이트 VPN 배포: 사이트 간 VPN을 사용하여 온-프레미스 네트워크를 Azure 가상 네트워크에 안전하게 연결하여 온-프레미스 리소스와 Azure 워크로드 간의 원활한 통신을 가능하게 합니다.
지점 및 사이트 간의 VPN을 배포 합니다. 지점 및 사이트 간 VPN을 사용하여 개별 최종 사용자 디바이스(랩톱, 워크스테이션)가 원격 위치에서 Azure 가상 네트워크에 안전하게 연결할 수 있도록 합니다.
NS-9.2 엔터프라이즈 수준 고성능 연결에 Azure ExpressRoute(또는 Virtual WAN)를 사용합니다.
Azure ExpressRoute 또는 Azure Virtual WAN을 사용하여 공동 배치 환경의 Azure 데이터 센터와 온-프레미스 인프라 간에 프라이빗, 고성능, 짧은 대기 시간 연결을 설정합니다. 이러한 엔터프라이즈급 솔루션은 공용 인터넷을 우회하여 일관된 연결이 필요한 중요 업무용 워크로드에 대한 전용 대역폭, 예측 가능한 성능 및 향상된 보안을 제공합니다.
전용 프라이빗 연결을 위해 ExpressRoute를 배포합니다. Azure ExpressRoute를 사용하여 연결 공급자를 통해 온-프레미스 인프라와 Azure 데이터 센터 간에 프라이빗 연결을 만들어 엔터프라이즈 워크로드에 대한 전용 대역폭 및 예측 가능한 대기 시간을 보장합니다.
글로벌 연결을 위한 Virtual WAN 배포: Azure Virtual WAN을 사용하여 통합 보안 및 라우팅 기능이 있는 통합 허브 및 스포크 아키텍처를 통해 여러 사이트, 분기 및 Azure 지역을 연결하는 글로벌 네트워크를 빌드합니다.
NS-9.3 VNet 또는 서브넷 피어링을 사용하여 가상 네트워크 조인
가상 네트워크 피어링 또는 서브넷 피어링을 사용하여 공용 인터넷을 통해 트래픽을 라우팅하지 않고 Azure 가상 네트워크 간에 프라이빗 연결을 설정합니다. 피어링된 가상 네트워크 간의 네트워크 트래픽은 Azure 백본 네트워크에 남아 있으므로 암호화 오버헤드 없이 대기 시간이 짧고 대역폭이 높은 연결을 제공합니다. 전체 가상 네트워크 연결이 필요하지 않은 경우 서브넷 피어링을 선택하여 특정 서브넷에 대한 노출만 제한합니다.
- 가상 네트워크 피어링 배포: 가상 네트워크 피어링을 사용하여 전체 Azure 가상 네트워크를 연결하여 다른 VNet의 리소스가 동일한 네트워크에 있는 것처럼 비공개로 통신할 수 있도록 합니다.
구현 예제
다국적 금융 서비스 조직은 중요한 금융 거래에 대한 공용 인터넷 노출을 제거하면서 온-프레미스 데이터 센터, 지사 및 Azure 클라우드 리소스 간에 안전하고 고성능 연결이 필요했습니다.
도전: 조직은 전 세계적으로 지사와 함께 여러 온-프레미스 데이터 센터를 운영하여 재무 트랜잭션 및 고객 데이터를 처리하는 Azure 호스팅 애플리케이션에 연결해야 했습니다. 초기 아키텍처는 인터넷을 통해 사이트 간 VPN을 사용했으며, 최대 거래 시간 동안 예측할 수 없는 대기 시간, 대역폭 제한, 암호화에도 불구하고 공용 인터넷을 트래버스하는 금융 데이터에 대한 보안 문제 및 PCI-DSS 및 GDPR에 대한 프라이빗 연결을 의무화하는 규정 준수 요구 사항을 경험했습니다. 지점 및 사이트간 VPN을 통해 연결하는 원격 직원에게 일관되지 않은 성능 및 인증 문제가 발생했습니다. 다른 Azure 지역의 애플리케이션은 온-프레미스 허브를 통해 라우팅하지 않고 대기 시간이 짧은 지역 간 통신이 필요했습니다.
Solution:
기본 데이터 센터 연결을 위한 ExpressRoute: ExpressRoute 연결 공급자와의 공동 위치 기능을 통해 기본 데이터 센터에 Azure ExpressRoute 회로를 배포하고, 일관된 짧은 대기 시간으로 Azure 백본 네트워크에 대한 프라이빗 계층 3 연결을 설정하고, Azure PaaS 서비스에 대한 Microsoft 피어링을 사용하여 ExpressRoute를 구성하고, VNet 호스팅 리소스에 대한 프라이빗 피어링을 구성하고, 고가용성 및 자동 장애 조치(failover)를 위한 활성-활성 구성을 사용하여 BGP 라우팅을 구현했습니다.
지점 연결을 위한 사이트 간 VPN: 공동 위치 시설 액세스가 부족한 지점용 사이트 간 VPN 을 배포하고, 고가용성을 위한 활성-활성 구성을 사용하여 허브 VNet에 VPN Gateway를 만들고, 강력한 암호화가 금융 부문 보안 표준을 충족하는 IPsec/IKE 터널을 구성하고, 동적 경로 선택을 위한 BGP 라우팅을 구현하여 분기가 가장 가까운 지역 허브에 연결할 수 있도록 하고, 유지 관리 기간 동안 연결을 보장하는 중복 터널을 설정합니다.
원격 직원을 위한 지점 및 사이트 간의 VPN: Azure 호스팅 애플리케이션에 대한 보안 액세스가 필요한 원격 직원을 위해 Azure Active Directory 인증을 사용하여 지점 및 사이트 간의 VPN 을 구성했습니다. Azure AD에 대한 인터넷 액세스가 없는 시나리오에 대한 대체로 인증서 기반 인증을 사용하도록 설정하고, 사용자 정의 경로를 통해 Azure VNet 리소스로 라우팅된 전용 풀의 클라이언트 IP 주소를 할당하고, macOS/Linux 클라이언트용 OpenVPN 프로토콜을 구현하고, 광범위한 디바이스 호환성을 제공하는 Windows 클라이언트용 IKEv2/SSTP를 사용하도록 설정했습니다. VPN 터널 최적화 대역폭을 통해 Azure 바인딩된 트래픽을 라우팅하는 동안 회사 트래픽이 아닌 트래픽에 직접 인터넷 액세스를 허용하는 분할 터널링을 구성했습니다.
글로벌 메시 연결을 위한 Virtual WAN: 글로벌 전송 아키텍처를 제공하는 여러 지역의 보안 허브를 사용하여 Azure Virtual WAN 을 배포하고, 온-프레미스 허브를 통해 라우팅하지 않고 데이터 센터와 Azure 지역 간에 모든 연결을 가능하게 하는 Virtual WAN 허브에 ExpressRoute 회로를 연결하고, 지점의 사이트 간 VPN 연결을 자동 라우팅 최적화를 통해 가장 가까운 Virtual WAN 허브로 통합하고, 각 Virtual WAN 허브에서 중앙 집중식 보안 검사를 제공하는 Azure Firewall을 사용하도록 설정했습니다. 분기, 데이터 센터 및 Azure VNet 간의 트래픽은 지점이 Azure 백본을 통해 온-프레미스 데이터 센터와 통신할 수 있도록 글로벌 전송 라우팅을 구현하는 라우팅 정책을 구성했습니다.
Azure 지역 간 연결을 위한 VNet 피어링: 스포크 VNet을 각 지역의 Virtual WAN 허브 VNet에 연결하는 가상 네트워크 피어링 구현, Azure 백본을 통해 낮은 대기 시간을 제공하는 지역 간 애플리케이션 연결을 위한 글로벌 VNet 피어링 사용, 게이트웨이 전송을 구성하여 스포크 VNet이 추가 게이트웨이를 배포하지 않고 Virtual WAN 허브 VPN/ExpressRoute 게이트웨이를 사용할 수 있도록 하여 비용과 복잡성을 줄임, 스포크 서브넷에 네트워크 보안 그룹을 구현하여 피어링된 VNet 간의 트래픽 흐름을 최소 권한 원칙에 따라 제어.
트래픽 최적화 및 모니터링: 대량 데이터 전송보다 재무 트랜잭션 트래픽을 우선시하는 QoS 표시로 구성된 ExpressRoute 회로, 성능 저하 경고가 활성화된 ExpressRoute 회로 및 VPN 연결의 연결 모니터를 통해 대기 시간, 패킷 손실 및 가용성을 추적, 동작 중인 연결, 대역폭 사용률 및 장애 조치 이벤트를 시각화하는 Azure Monitor 작업 영역 구현, 허용 가능한 성능에 대한 기준 설정 및 임계값 초과 시 자동 경고 체계 구축.
결과: 프라이빗 연결은 모든 재무 트랜잭션에 대해 달성되었으며 PCI-DSS 요구 사항을 충족했습니다. ExpressRoute는 실시간 거래에 일관된 짧은 대기 시간을 제공했습니다. Virtual WAN은 지점과 데이터 센터 간의 지연 시간을 크게 줄였습니다. 원격 직원은 향상된 인증으로 지점 및 사이트 간의 VPN을 통해 성공적으로 연결되었습니다. 글로벌 VNet 피어링을 통해 효율적인 지역 간 재해 복구를 지원했습니다. Virtual WAN 통합을 통해 달성된 비용 최적화.
중요도 수준
있어야 합니다.
컨트롤 매핑
- NIST SP 800-53 Rev.5: SC-7, SC-7(4), SC-8
- PCI-DSS v4: 1.2.1, 2.2.7, 4.2.1
- CIS 컨트롤 v8.1: 12.8, 13.8
- NIST CSF v2.0: PR.AC-05, PR.DS-02
- ISO 27001:2022: A.8.21, A.8.22, A.5.14
- SOC 2: CC6.6, CC6.7
NS-10: DNS(도메인 이름 시스템) 보안 확인
보안 원칙
DNS(도메인 이름 시스템) 보안 구성이 알려진 위험으로부터 보호하는지 확인합니다.
- 클라우드 환경에서 신뢰할 수 있는 신뢰할 수 있는 재귀 DNS 서비스를 사용하여 클라이언트(예: 운영 체제 및 애플리케이션)가 올바른 확인 결과를 받도록 합니다.
- 프라이빗 네트워크에 대한 DNS 확인 프로세스를 공용 네트워크에서 격리할 수 있도록 공용 및 프라이빗 DNS 확인을 분리합니다.
- DNS 보안 전략에 헝거링 DNS, DNS 증폭 공격, DNS 중독 및 스푸핑 등과 같은 일반적인 공격에 대한 완화 조치가 포함되어 있는지 확인하십시오.
완화할 리스크
위협 행위자가 DNS 서비스를 공격하거나 취약한 DNS 서비스를 악용하여 애플리케이션을 손상시키고 트래픽을 리디렉션합니다.
- DNS 스푸핑/중독: 악의적 사용자는 DNS 응답 또는 손상된 확인자 캐시(예: Kaminsky 공격)를 위조하여 클라이언트를 악성 서버로 리디렉션하여 피싱 또는 데이터 가로채기를 사용하도록 설정합니다.
- DNS 증폭 공격: 공격자는 잘못 구성된 DNS 서버를 악용하여 DDoS 트래픽(예: 60바이트 쿼리로 4,000바이트 응답 생성)을 증폭시켜 대상 네트워크를 압도합니다.
- 단절된 DNS 악용: 단절된 레코드(예: 오래된 CNAME)를 사용하면 악의적 사용자가 서비스 해제된 리소스를 탈취하여 트래픽을 피싱 또는 맬웨어에 대한 악성 엔드포인트로 리디렉션할 수 있습니다.
- DNS 터널링을 통한 데이터 반출: 악의적인 행위자가 DNS 쿼리(예: data.exfil.evil.com)의 데이터를 인코딩하여 중요한 정보를 은밀하게 유출하고 방화벽을 우회합니다.
- 피싱/맬웨어 배달: 손상된 해결 프로그램은 합법적인 도메인을 공격자가 제어하는 IP로 리디렉션하여 피싱 페이지 또는 맬웨어를 의심하지 않는 클라이언트에 전달합니다.
MITRE ATT&CK
- 명령 및 제어(TA0011): DNS 터널링을 사용하여 쿼리(예: data.exfil.evil.com) 또는 스푸핑 확인에서 C2 명령을 인코딩하여 악성 서버에 연결합니다(예: T1071.004 - 애플리케이션 계층 프로토콜: DNS).
- 컬렉션(TA0009): DNS를 스푸핑하여 사용자를 피싱 사이트로 리디렉션하거나 터널링을 통해 데이터를 반출하여 데이터를 수집합니다(예: T1040 - 네트워크 스니핑).
- 영향(TA0040): DNS 증폭 공격, 대규모 응답을 생성하기 위해 작은 쿼리 보내기, 서비스 가용성 중단(예: T1498.002 - 네트워크 서비스 거부: 리플렉션 증폭).
- 초기 액세스(TA0001): 덩어리 DNS 레코드 또는 스푸핑된 DNS 결정을 악용하여 맬웨어나 피싱을 전달함으로써 시스템에 진입합니다(예: T1190 - 외부 애플리케이션 악용).
NS-10.1 신뢰할 수 있는 DNS 서비스 사용
신뢰할 수 있는 DNS 서비스를 사용하여 클라이언트가 올바른 확인 결과를 수신하고 DNS 기반 공격으로부터 보호하도록 합니다. Azure는 운영 체제 또는 애플리케이션 수준에서 워크로드 DNS 확인을 위해 168.63.129.16(일반적으로 DHCP를 통해 할당되거나 미리 구성된)의 재귀 DNS 서비스를 제공합니다. 또는 신뢰할 수 있는 외부 DNS 서버를 사용합니다. 자체 도메인을 호스팅하는 조직의 경우 Azure DNS는 신뢰할 수 있는 신뢰할 수 있는 DNS 호스팅을 제공합니다. 사용자 지정 DNS 서버를 빌드하는 조직은 NIST SP 800-81 Rev. 3 보안 배포 지침을 따라야 합니다.
Azure 재귀 DNS 또는 신뢰할 수 있는 외부 DNS를 사용합니다 . 신뢰할 수 있는 이름 확인을 보장하기 위해 VM 운영 체제 또는 애플리케이션 DNS 설정에서 Azure 재귀 DNS(168.63.129.16) 또는 신뢰할 수 있는 외부 DNS 서버를 사용하도록 워크로드를 구성합니다.
방화벽 규칙에서 Azure DNS 허용: 방화벽에 168.63.129.16을 추가하고 NSG 허용 목록을 추가하여 Azure 리소스에 적절한 DNS 기능을 보장합니다.
Azure DNS의 호스트 도메인: Azure DNS를 사용하여 신뢰할 수 있고 확장 가능한 DNS 호스팅을 제공하여 신뢰할 수 있는 DNS 요구 사항에 대한 도메인 확인을 호스트합니다(참고: Azure DNS는 도메인 등록 서비스를 제공하지 않음).
보안 DNS 배포 지침을 따릅니다 . 사용자 지정 DNS 서버를 빌드하는 경우 NIST SP 800-81 Rev. 3 DNS(Secure Domain Name System) 배포 가이드에 따라 보안 모범 사례를 구현합니다.
NS-10.2 가상 네트워크에서 프라이빗 DNS 사용
Azure Private DNS를 사용하여 DNS 확인이 가상 네트워크 내에 유지되는 프라이빗 DNS 영역을 설정하여 DNS 쿼리가 공용 네트워크를 트래버스하지 못하도록 합니다. 이는 프라이빗 DNS 영역이 트래픽을 Azure 서비스로 비공개로 라우팅하도록 공용 DNS 해석을 덮어쓰는 프라이빗 엔드포인트 구성을 위해 필수적입니다. 사용자 지정 DNS 솔루션은 신뢰할 수 있는 원본으로만 확인을 추가로 제한하여 프라이빗 워크로드에 대한 보안을 강화할 수 있습니다.
프라이빗 확인을 위해 Azure 프라이빗 DNS를 배포합니다 . Azure Private DNS를 사용하여 가상 네트워크 내에서 DNS 확인을 유지하는 프라이빗 DNS 영역을 만들어 쿼리가 네트워크 경계를 벗어나지 않도록 합니다.
프라이빗 엔드포인트에 대한 프라이빗 DNS 구성: 프라이빗 엔드포인트에 대한 프라이빗 DNS 영역을 구성하여 공용 DNS 확인을 재정의하고 클라이언트가 프라이빗 엔드포인트 FQDN을 가상 네트워크 내의 개인 IP 주소로 확인하도록 합니다.
제한된 확인을 위해 사용자 지정 DNS를 구현합니다 . 사용자 지정 DNS 서버를 사용하여 클라이언트에 대해 신뢰할 수 있는 확인 원본만 허용하도록 DNS 확인을 제한하여 이름 확인 보안에 대한 추가 제어를 제공합니다.
NS-10.3 고급 보호를 위해 DNS용 Defender 사용
DNS용 Microsoft Defender를 사용하여 DNS 터널링을 통한 데이터 반출, 명령 및 제어 통신, 악의적인 도메인 상호 작용(피싱, 암호화 마이닝) 및 악의적인 해결자와 관련된 DNS 공격을 비롯한 고급 DNS 기반 보안 위협을 감지하고 경고합니다. 이제 Defender for Server 계획에 DNS 보호용 Defender가 포함됩니다. 또한 Microsoft Defender for App Service를 사용하여 웹 사이트를 폐기할 때 하위 도메인 탈취 공격 위험이 있는 방치된 DNS 레코드를 검색합니다.
DNS 보호를 위해 Defender를 사용하도록 설정합니다. DNS용 Microsoft Defender(서버용 Defender 계획에 포함)를 사용하여 DNS 터널링을 통한 데이터 반출, 맬웨어 명령 및 제어 통신 및 악성 도메인과의 상호 작용을 포함하여 의심스러운 DNS 활동을 모니터링하고 경고합니다.
악의적인 DNS 활동을 모니터링합니다. 워크로드 보안 또는 DNS 서비스 가용성을 손상시킬 수 있는 악의적인 DNS 해결 프로그램 및 DNS 공격과의 통신을 검색하도록 경고를 구성합니다.
현수 DNS 레코드 검색: App Service용 Microsoft Defender를 사용하여 App Service 웹 사이트를 서비스 해제할 때 현수 DNS 레코드를 식별하여 사용자 지정 도메인이 DNS 등록 기관에서 제거되도록 하여 하위 도메인 인수 공격을 방지합니다.
구현 예제
도전: 엔터프라이즈에는 신뢰할 수 있는 해결 서비스, 내부 리소스를 위한 프라이빗 네트워크 DNS 및 하이브리드 클라우드 인프라 전반의 고급 위협 탐지를 포함하는 포괄적인 DNS 보안이 필요했습니다.
솔루션 접근 방식:
- DNS 트래픽을 허용하는 NSG 규칙을 사용하여 모든 Azure VM 워크로드에 대한 Azure 재귀 DNS(168.63.129.16) 배포
- 공용 도메인 해석을 위한 Azure DNS에서의 권한 영역 호스팅 및 지역 분산
- 프로덕션 VNet에 연결된 프라이빗 엔드포인트 확인(privatelink.database.windows.net, privatelink.blob.core.windows.net)을 위한 Azure 프라이빗 DNS 영역 구현
- 프라이빗 엔드포인트 FQDN이 프라이빗 IP로 확인되도록 구성된 프라이빗 DNS 통합 (예: sqlserver.database.windows.net → 10.0.2.4)
- 서버용 Defender 계획을 통해 DNS용 Microsoft Defender를 활성화하여 DNS 터널링, C2 통신, 악성 도메인 상호작용을 모니터링합니다.
- 웹사이트 폐기 중에 떠도는 DNS 레코드를 검색할 수 있도록 Defender for App Service 배포됨.
결과: DNS 보안 구현은 내부 리소스에 대한 개인 정보를 유지하면서 클라우드 워크로드에 대한 신뢰할 수 있는 이름 확인을 보장했습니다. 프라이빗 DNS 영역은 중요한 쿼리가 공용 네트워크를 트래버스하는 것을 방지했으며, DNS용 Defender는 데이터 반출 시도 및 명령 및 제어 작업을 포함한 DNS 기반 위협에 대한 가시성을 제공했습니다. 이 솔루션은 리소스 수명 주기 변화 시 자동화된 댕글링 DNS 탐지를 통해 하위 도메인 인수 위험을 제거했습니다.
중요도 수준
있어야 합니다.
컨트롤 매핑
- NIST SP 800-53 Rev.5: SC-7, SI-4, SI-4(4), SI-4(5)
- PCI-DSS v4: 11.5.1, 12.10.1
- CIS 컨트롤 v8.1: 8.5, 13.6, 13.8
- NIST CSF v2.0: DE.CM-01, DE.CM-04, DE.AE-02
- ISO 27001:2022: A.8.16, A.8.22, A.5.24
- SOC 2: CC6.1, CC7.2, CC7.3