파괴적인 사이버 공격으로부터 Azure 리소스 보호
이 문서에서는 다음과 같은 방법으로 파괴적인 사이버 공격으로부터 Microsoft Azure 리소스를 보호하기 위해 제로 트러스트 원칙을 적용하는 단계를 제공합니다.
제로 트러스트 원칙 | 정의 |
---|---|
명시적으로 확인 | 항상 사용 가능한 모든 데이터 포인트를 기반으로 인증하고 권한을 부여합니다. |
최소 권한 액세스 사용 | JIT/JEA(Just-In-Time and Just-Enough-Access), 위험 기반 적응 정책 및 데이터 보호를 사용하여 사용자 액세스를 제한합니다. |
위반 가정 | 미치는 영향 및 세그먼트 액세스를 최소화합니다. 엔드 투 엔드 암호화를 확인하고 분석을 사용하여 가시성 을 확보하고 위협 탐지를 추진하며 방어를 개선합니다. 가상 머신에 대한 리소스 잠금, 백업 및 재해 복구, 데이터 보호 및 데이터 가용성 서비스, 복구 인프라, 구성 기반 서비스, 플랫폼 자동화 및 DevOps 도구 보호로 방어를 개선합니다. 위협 탐지를 위해 Microsoft Sentinel 및 고급 다단계 검색을 사용하고 Azure 리소스에 대한 인시던트 대응 계획을 준비합니다. |
이 문서에는 다음 방법에 대한 지침이 포함되어 있습니다.
- 파괴적인 사이버 공격으로부터 Microsoft Azure 리소스를 보호합니다.
- 사이버 공격이 발생할 때 탐지합니다.
- 응답하는 방법.
이 문서는 기술 구현자가 보안 위반 방지 및 복구 인프라 제로 트러스트 비즈니스 시나리오 구현을 지원하기 위한 것입니다.
참조 아키텍처
다음 그림에서는 각 보호 범주에 대한 그룹화가 포함된 이 제로 트러스트 지침에 대한 참조 아키텍처를 보여 줍니다.
이 Azure 환경에는 다음이 포함됩니다.
구성 요소 | 설명 |
---|---|
A | 가상 머신 및 해당 파일 |
B | 데이터 서비스 및 해당 데이터 |
C | 파일 및 템플릿 및 자동화 스크립트를 포함한 복구 인프라 |
D | 구성 기반 서비스 |
E | 플랫폼 자동화 및 DevOps 도구(표시되지 않음) |
각 유형의 자산을 보호하기 위한 작업은 이 문서의 1단계에서 자세히 설명합니다.
이 문서의 내용
이 문서에서는 참조 아키텍처 전체에서 제로 트러스트 원칙을 적용하는 단계를 안내합니다.
Step | 작업 |
---|---|
1 | 사이버 공격에 대한 보호를 구성합니다. |
2 | 사이버 공격 탐지를 구성합니다. |
3 | 인시던트 대응 계획을 준비합니다. |
1단계: 사이버 공격에 대한 보호 구성
많은 조직에서 마이그레이션 노력의 일환으로 Azure 가상 머신에 대한 백업 및 재해 복구 솔루션을 구현합니다. 예를 들어 Azure 네이티브 솔루션을 사용하거나 클라우드 에코시스템에 고유한 타사 솔루션을 사용하도록 선택할 수 있습니다.
가상 머신과 해당 앱 및 데이터를 보호하는 것도 중요하지만, 가상 머신을 넘어 보호 범위를 확장하는 것도 중요합니다. 이 섹션에서는 파괴적인 사이버 공격으로부터 Azure의 다양한 유형의 리소스를 보호하는 방법에 대한 고려 사항 및 권장 사항을 분석합니다.
서비스별 고려 사항 외에도 리소스 잠금을 사용하여 관리 평면을 보호하여 서비스 삭제를 방지하는 것이 좋습니다. 리소스 잠금을 사용하여 리소스를 읽기 전용으로 렌더링할 수도 있습니다. 리소스 잠금은 제어된 액세스와 함께 작동하여 Azure 리소스가 수정 또는 파괴를 방지하여 사이버 공격으로 파괴될 가능성을 줄입니다.
리소스 잠금이 예기치 않은 결과를 생성하지 않도록 하려면 잠금을 적용하기 전에 고려 사항을 검토하여 해당 리소스에 잠금을 적용하여 해당 리소스가 계속 작동할 수 있도록 해야 합니다. 예를 들어 전체 리소스 그룹 대신 VNet(가상 네트워크)을 잠그면 리소스 그룹 내의 다른 리소스에서 잠금이 너무 제한되지 않도록 방지할 수 있습니다. 이러한 고려 사항으로 인해 변경되거나 삭제될 경우 가장 많은 중단이 발생하는 잠금 리소스의 우선 순위를 지정해야 합니다.
잠금에는 장애 조치(failover)되는 워크로드에 대한 복구 시간 목표에 대한 몇 가지 고려 사항이 있을 수도 있습니다. 재해 복구 계획은 잠금을 고려해야 하며, 제어된 방식으로 잠금을 제거하는 테스트된 절차가 있어야 합니다. 일상적인 작업 및 긴급 시나리오의 일부로 잠금을 관리하는 방법에 대해 관리자 및 SecOps 직원을 교육해야 합니다.
잠금을 제거할 수 있는 액세스 권한이 있는 관리자는 제한되어야 하며 Microsoft Entra Privileged Identity Management와 함께 제공되는 것과 같은 JIT 액세스를 포함해야 합니다. 리소스에 대한 변경 잠금에 대한 액세스는 Microsoft.Authorization/locks/* 범위로 제어되며 대기 액세스의 일부로 부여해서는 안 됩니다.
A. 가상 머신 보호
확장 집합 및 Kubernetes 클러스터를 비롯한 가상 머신 기반 워크로드의 경우 관리 평면에서 리소스 잠금을 사용하는 것 외에도 두 가지 보호 계층을 계획해야 합니다.
먼저 AKS(Azure Kubernetes Service)를 포함하여 공격이 발생할 경우 손실된 데이터를 복원할 수 있도록 가상 머신에서 데이터를 백업할 계획을 세워야 합니다. 또한 일시 삭제 컨트롤을 사용하여 백업된 데이터 자체를 공격으로부터 보호해야 합니다. 백업 구성에 대한 자세한 내용은 다음을 참조하세요.
- Recovery Services 자격 증명 모음 만들기 및 구성
- Azure에서 가상 머신 백업
- Azure Kubernetes Service 클러스터에 대한 백업 구성
- AKS에 대한 백업 및 복구
- 랜섬웨어로부터 보호하기 위한 백업 및 복원 계획
- Azure Backup의 일시 삭제
둘째, 해당 지역의 기본 인프라가 공격을 받으면 서버를 새 위치로 복원할 수 있도록 계획해야 합니다. 가상 머신에서 복제를 구성하는 방법에 대한 자세한 내용은 Azure VM에 대한 재해 복구 설정을 참조 하세요. 여기에는 장애 조치(failover) 중에 사용되는 리소스에 대한 애플리케이션 및 설정 구성이 포함됩니다.
Important
가상 머신 확장 집합의 일부인 가상 머신에 Azure Site Recovery를 사용하는 경우 가상 머신 상태를 복제할 수 있습니다. 그러나 복제된 디바이스는 크기 조정을 지원하지 않습니다.
Kubernetes 클러스터와 같은 일부 가상 머신 기반 워크로드의 경우 Azure Site Recovery를 통해 서버의 실제 상태를 복제할 수 없습니다. 활성/수동 구성과 같은 다른 솔루션이 필요할 수 있습니다.
B. 데이터 서비스 보호
데이터 서비스는 작업에 필수적인 데이터를 포함하는 비공식적인 서비스 컬렉션이지만 리소스 자체는 중요하지 않습니다. 예를 들어 동일한 방식으로 구성된 두 스토리지 계정과 동일한 데이터를 호스팅하는 두 스토리지 계정 간에는 거의 차이가 없습니다.
데이터 서비스는 실행 중인 애플리케이션과 운영 체제 구성이 분리되고 관리 평면의 구성과 분리될 수 있는 가상 머신과 다릅니다. 결과적으로 이러한 서비스는 다음과 같습니다.
- GRS(지역 중복 스토리지) 계층의 일부로 다른 지역에 복제하는 스토리지 계정의 기능과 같은 자체 장애 조치(failover) 도구가 포함된 경우가 많습니다.
- 공격으로부터 데이터를 보호하고 공격 발생 시 데이터를 다시 사용할 수 있도록 하는 방법에 대한 고유한 고려 사항이 있습니다.
다음 표에서는 일반적으로 사용되는 서비스에 대한 데이터 보호 및 가용성 참조를 제공하지만 사용 가능한 옵션을 이해하려면 각 서비스의 제품 설명서를 조사해야 합니다.
Warning
일부 스토리지 계정 복구 시나리오는 지원되지 않습니다. 자세한 내용은 지원되지 않는 스토리지 복구를 참조하세요.
C. 복구 인프라 보호
워크로드의 리소스를 보호하는 것 외에도 복구 절차 설명서, 구성 스크립트 및 템플릿과 같이 중단 후 기능을 복원하는 데 사용하는 리소스를 보호해야 합니다. 공격자가 복구 인프라를 대상으로 지정하고 방해할 수 있는 경우 전체 환경이 손상되어 공격으로부터 복구하는 데 상당한 지연이 발생하여 조직이 랜섬웨어 시나리오에 취약해질 수 있습니다.
Azure Backup으로 보호되는 데이터의 경우 Azure Backup에 일시 삭제를 사용하면 삭제된 경우에도 백업 데이터를 복구할 수 있습니다. 또한 향상된 일시 삭제는 일시 삭제 할당을 적용하고 보존 기간을 정의할 수 있도록 합니다.
보안을 강화하려면 중요한 작업에 대해 MUA(다중 사용자 권한 부여)를 구현합니다. 이 경우 두 명 이상의 사용자가 중요한 작업을 실행하기 전에 승인해야 합니다. 이렇게 하면 단일 사용자와 하나의 사용자 계정만 있는 공격자가 백업 무결성을 손상시킬 수 없도록 하여 추가 보안 계층을 추가합니다. 무단 변경 및 삭제에 대한 백업 정책을 보호하도록 MUA 를 사용하도록 설정하고 구성합니다.
리소스 잠금 및 JEA/JIT 액세스로 Azure Site Recovery를 보호하여 리소스가 위험할 때 무단 액세스 및 검색을 방지할 수 있습니다.
ADE(Azure Disk Encryption) 또는 CMK(고객 관리형 키)로 암호화된 Azure Site Recovery를 사용하여 가상 머신을 복제하는 경우 암호화 키가 대상 지역의 Azure Key Vault에 저장되어 있는지 확인합니다. 대상 지역에 키를 저장하면 장애 조치(failover) 후 키에 원활하게 액세스할 수 있으며 데이터 보안 연속성을 유지합니다. 파괴적인 사이버 공격으로부터 Azure Key Vault를 보호하려면 일시 삭제 및 제거 보호와 같은 고급 위협 방지 기능을 사용하도록 설정합니다.
암호화된 가상 머신에 대한 단계별 복제 지침은 다음을 참조하세요.
D. 구성 기반 서비스 보호
구성 기반 서비스는 관리 평면의 구성 외에 데이터가 없는 Azure 서비스입니다. 이러한 리소스는 일반적으로 인프라 기반이며 워크로드를 지원하는 기본 서비스입니다. 예를 들어 VNet, 부하 분산 장치, 네트워크 게이트웨이 및 애플리케이션 게이트웨이가 있습니다.
이러한 서비스는 상태 비 상태이므로 보호할 운영 데이터가 없습니다. 이러한 서비스를 보호하는 가장 좋은 옵션은 파괴적인 공격 후 이러한 서비스의 상태를 복원할 수 있는 Bicep과 같은 IaC(Infrastructure as Code) 배포 템플릿을 사용하는 것입니다. 배포에 스크립트를 사용할 수도 있지만 IaC 배포는 몇 가지 서비스만 영향을 받는 기존 환경에서 기능을 복원하는 데 더 적합합니다.
동일한 방식으로 구성된 리소스를 배포할 수 있는 한 서비스는 계속 작동할 수 있습니다. 이러한 리소스의 복사본을 백업하고 유지 관리하는 대신 프로그래밍 방식 배포를 사용하여 공격으로부터 복구할 수 있습니다.
IaC 사용에 대한 자세한 내용은 인프라를 코드로 사용하기 위한 권장 사항을 참조하세요.
E. 플랫폼 자동화 및 DevOps 도구 보호
프로그래밍 방식 배포 또는 다른 유형의 자동화를 사용하는 경우 플랫폼 자동화 및 DevOps 도구 리소스도 보호해야 합니다. 배포 인프라를 보호하는 예제는 개발 수명 주기를 보호하기 위한 DevOps CI/CD 파이프라인 및 권장 사항 보안을 참조하세요.
그러나 사용 중인 소스 제어 도구에 따라 달라지는 코드 자체를 보호하도록 계획해야 합니다. 예를 들어 GitHub에는 소스 코드 리포지토리에 대한 리포지 토리를 백업하는 지침이 있습니다.
또한 특정 서비스를 검토하여 소스 코드 및 파이프라인을 공격 및 파괴로부터 가장 잘 보호하는 방법을 결정해야 합니다.
가상 머신에서 호스트되는 빌드 에이전트와 같은 구성 요소의 경우 적절한 가상 머신 기반 보호 계획을 사용하여 필요할 때 에이전트를 사용할 수 있는지 확인할 수 있습니다.
2단계: 사이버 공격 탐지 구성
Azure 인프라에 대한 공격을 감지하려면 다양한 사이버 위협 및 취약성으로부터 클라우드 기반 애플리케이션을 보호하도록 설계된 보안 조치 및 사례로 구성된 CNAPP(클라우드 네이티브 애플리케이션 보호 플랫폼)인 클라우드용 Microsoft Defender 시작합니다.
클라우드용 Defender Azure 구성 요소에 대한 추가 계획과 함께 Azure 구성 요소에서 신호를 수집하고 서버, 컨테이너, 스토리지, 데이터베이스 및 기타 워크로드에 대한 특정 보호를 제공합니다.
다음 다이어그램은 클라우드용 Defender 및 Microsoft Sentinel을 통해 Azure 서비스에서 보안 이벤트 정보의 흐름을 보여 줍니다.
그림에서:
- Azure 서비스는 클라우드용 Microsoft Defender 신호를 보냅니다.
- 클라우드용 Microsoft Defender 서버용 Defender와 같은 추가 계획을 사용하여 향상된 위협 감지에 대한 신호를 분석하고 SIEM(보안 정보 및 이벤트 관리) 데이터를 Microsoft Sentinel에 보냅니다.
- Microsoft Sentinel은 SIEM 데이터를 사이버 공격 탐지, 조사, 대응 및 사전 헌팅에 사용합니다.
이 문서의 1단계에서 권장 사항으로 Azure 리소스를 더 잘 보호한 후에는 Microsoft Sentinel을 사용하여 파괴적인 사이버 공격을 탐지하기 위한 계획이 있어야 합니다. 시작점은 Microsoft Sentinel에서 고급 다단계 공격 검색을 사용하는 것입니다. 이를 통해 데이터 파기, 서비스 거부, 악의적인 관리 활동 등과 같은 특정 시나리오에 대한 검색을 빌드할 수 있습니다.
응답을 위해 워크로드를 준비하는 과정의 일부로 다음을 수행해야 합니다.
- 리소스가 공격을 받고 있는지 확인하는 방법을 식별합니다.
- 결과적으로 인시던트를 캡처하고 발생할 수 있는 방법을 결정합니다.
3단계: 인시던트 대응 계획 준비
인시던트가 발생하기 전에 파괴적인 사이버 공격에 대해 잘 정의되고 즉시 구현할 수 있는 인시던트 대응 계획이 있어야 합니다. 인시던트 중에 진행 중인 공격을 저지하거나 손상된 데이터 및 서비스를 복원하는 방법을 결정할 시간이 없습니다.
Azure 애플리케이션 및 공유 서비스에는 모두 가상 머신, 데이터 서비스, 구성 서비스 및 Automation/DevOps 서비스를 복원하기 위한 플레이북을 포함하는 응답 및 복구 계획이 있어야 합니다. 각 애플리케이션 또는 서비스 영역에는 해당 정의와 잘 정의된 종속성이 있어야 합니다.
플레이북은 다음을 수행해야 합니다.
다음 시나리오에 대한 프로세스를 포함합니다.
이 서비스를 구성하는 다른 리소스에 대한 복원 프로세스를 포함합니다.
SecOps 유지 관리 프로세스의 일부로 주기적으로 테스트합니다.
권장되는 교육
- Privileged Identity Management 구현
- 백업 및 재해 복구를 위한 솔루션 디자인
- 클라우드용 Microsoft Defender 사용하여 클라우드 보안 태세 개선
- Microsoft Sentinel을 사용하여 검색 만들기 및 조사 수행
다음 단계
보안 위반 방지 및 복구 인프라를 계속 구현합니다.
참조
이 문서에 언급된 다양한 서비스 및 기술에 대해 알아보려면 이러한 링크를 참조하세요.