웹 워크로드에 대한 보안 요구사항 지정
이 단원에서는 웹 워크로드에 대한 새로운 요구 사항 사양을 만드는 데 도움이 되도록 앱 서비스에 대한 Azure 보안 기준을 요약합니다.
Microsoft 클라우드 보안 벤치마크에 대한 자세한 배경은 Microsoft 사이버 보안 참조 아키텍처 및 클라우드 보안 벤치마크 소개를 참조하세요.
아래 표에는 다음과 같은 전체 기준의 컨트롤이 포함되어 있습니다.
- 보안 컨트롤은 지원되었지만 기본적으로 사용하도록 설정되지 않았습니다.
- 고객 부분에 대해 수행할 작업이 포함된 명시적 지침이 있었습니다.
영역 | 제어 | 기능 | 지침 요약 |
---|---|---|---|
네트워크 보안 | NS-1: 네트워크 구분 경계 설정 | 가상 네트워크 통합 | 인터넷 주소에 대한 아웃바운드 통신을 위한 안정적인 IP 확인: Virtual Network 통합 기능을 사용하여 안정적인 아웃바운드 IP를 제공할 수 있습니다. 이렇게 하면 필요한 경우 수신 당사자가 IP에 따라 허용 목록을 표시할 수 있습니다. |
NS-2: 네트워크 컨트롤을 통한 보안 클라우드 서비스 | Azure Private Link | Azure 웹앱용 프라이빗 엔드포인트를 사용하여 프라이빗 네트워크에 있는 클라이언트가 Private Link를 통해 앱에 안전하게 액세스할 수 있도록 할 수 있습니다. 프라이빗 엔드포인트는 Azure VNet 주소 공간의 IP 주소를 사용합니다. | |
NS-2: 네트워크 컨트롤을 통한 보안 클라우드 서비스 | 공용 네트워크 액세스 사용 안 함 | 서비스 수준 IP ACL 필터링 규칙 또는 프라이빗 엔드포인트를 사용하거나 Azure Resource Manager에서 publicNetworkAccess 속성을 사용하지 않도록 설정하여 공용 네트워크 액세스를 비활성화합니다. | |
NS-5: DDoS 보호 배포 | App Service의 Web Application Firewall을 호스트하는 가상 네트워크에서 DDoS 보호를 사용합니다. Azure는 네트워크에서 DDoS 인프라(기본) 보호를 제공합니다. 향상된 지능형 DDoS 기능을 위해 일반적인 트래픽 패턴을 배우고 비정상적인 동작을 감지할 수 있는 Azure DDoS Protection을 사용합니다. Azure DDoS Protection에는 네트워크 보호와 IP 보호의 두 계층이 있습니다. | ||
NS-6: 웹 애플리케이션 방화벽 배포 | 애플리케이션에 대해 WAF가 바이패스되지 않도록 합니다. WAF에 대한 액세스만 잠가 WAF를 바이패스할 수 없도록 합니다. 액세스 제한, 서비스 엔드포인트 및 프라이빗 엔드포인트의 조합을 사용합니다. | ||
ID 관리 | IM-1: 중앙 ID 및 인증 시스템 사용 | 데이터 평면 액세스에 필요한 Microsoft Entra 인증 | 인증된 웹 애플리케이션의 경우 잘 알려진 설정된 ID 공급자만 사용하여 사용자 액세스를 인증하고 권한을 부여합니다. |
데이터 평면 액세스에 대한 로컬 인증 방법 | 데이터 평면 액세스에 대한 로컬 인증 방법 사용을 제한합니다. 대신 Microsoft Entra ID를 기본 인증 방법으로 사용하여 데이터 평면 액세스를 제어합니다. | ||
IM-3: 애플리케이션 ID를 안전하게 자동으로 관리 | 관리 ID | 가능하면 서비스 주체 대신 Azure 관리 ID를 사용합니다. 이 ID는 Azure 서비스 및 Microsoft Entra 인증을 지원하는 리소스에 인증할 수 있습니다. 관리 ID 자격 증명은 플랫폼에서 완전히 관리, 순환 및 보호되므로 소스 코드 또는 구성 파일에 하드 코딩된 자격 증명을 방지합니다. | |
IM-7: 조건에 따라 리소스 액세스 제한 | 데이터 평면에 대한 조건부 액세스 | 워크로드에서 Microsoft Entra 조건부 액세스에 적용 가능한 조건 및 기준을 정의합니다. | |
IM-8: 자격 증명 및 비밀 노출 제한 | Azure Key Vault의 서비스 자격 증명 및 비밀 지원 통합 및 스토리지 | 앱 비밀 및 자격 증명을 코드나 구성 파일에 포함하는 대신 Azure Key Vault와 같은 안전한 위치에 저장해야 합니다. 앱에서 관리 ID를 사용하여 자격 증명 또는 보안 방식으로 Key Vault에 저장된 비밀에 액세스합니다. | |
권한 있는 액세스 | PA-8: 클라우드 공급자 지원을 위한 액세스 프로세스 결정 | 고객 Lockbox | Microsoft가 데이터에 액세스해야 하는 지원 시나리오에서 고객 Lockbox를 사용하여 각 Microsoft의 데이터 액세스 요청을 검토하고 승인하거나 거부합니다. |
데이터 보호 | DP-3: 전송 중인 중요한 데이터 암호화 | 전송 암호화 중인 데이터 | 전송 중인 모든 정보를 암호화하도록 TLS/SSL 설정에서 구성된 최소 기본 버전 TLS v1.2를 사용 및 적용합니다. 또한 모든 HTTP 연결 요청이 HTTPS로 리디렉션되도록 합니다. |
DP-5: 필요한 경우 미사용 데이터 암호화에서 고객 관리형 키 옵션 사용 | CMK를 이용하여 미사용 데이터 암호화 | 규정 준수에 필요한 경우 고객 관리형 키를 사용한 암호화가 필요한 사용 사례 및 서비스 범위를 정의합니다. 서비스에서 고객 관리형 키를 사용하여 미사용 데이터 암호화를 사용하도록 설정하고 구현합니다. | |
DP-6: 보안 키 관리 프로세스 사용 | Azure Key Vault에서 키 관리 | Azure Key Vault를 사용하여 키 만들기, 배포 및 저장을 포함한 암호화 키 수명 주기를 만들고 제어합니다. 정의된 일정 또는 키 사용 중지 또는 손상이 있을 때 Azure Key Vault 및 서비스에서 키를 교체하고 취소합니다. | |
DP-7: 보안 인증서 관리 프로세스 사용 | Azure Key Vault에서 인증 관리 | App Service는 App Service를 직접 구성하거나 Key Vault로부터 참조할 수 있는 SSL/TLS 및 기타 인증서로 구성할 수 있습니다. 모든 인증서와 암호를 중앙에서 관리하려면 App Service를 직접 로컬로 배포하는 대신 App Service에서 사용하는 인증서를 Key Vault로 저장합니다. | |
자산 관리 | AM-2: 승인된 서비스만 사용 | ||
AM-4: 자산 관리에 대한 액세스 제한 | 민감 정보를 처리하는 시스템 격리 이렇게 하려면 별도의 App Service 플랜 또는 App Service 환경을 사용하고 다른 구독 또는 관리 그룹의 사용을 고려합니다. | ||
로깅 및 위협 탐지 | LT-1: 위협 탐지 기능 사용하도록 설정 | 서비스/제품 제공에 대한 Microsoft Defender | Microsoft Defender for App Service를 사용하여 App Service를 통해 실행되는 애플리케이션을 대상으로 하는 공격을 식별합니다. |
LT-4: 보안 조사를 위해 로깅 사용 | Azure 리소스 로그 | App Service에서 웹앱에 대한 리소스 로그를 사용합니다. | |
포스처 및 취약성 관리 | PV-2: 보안 구성 감사 및 적용 | 원격 디버깅을 끄면 서비스에서 더 많은 포트가 열리고 공격 표면이 증가하므로 프로덕션 워크로드에 대해 원격 디버깅을 켜서는 안 됩니다. | |
PV-7: 정기적인 레드 팀 작업 수행 | 참여의 침투 테스트 규칙에 따라 웹 애플리케이션에서 정기적인 침투 테스트를 수행합니다. | ||
Backup 및 복구 | BR-1: 자동화된 정기 백업 보장 | Azure Backup | 가능한 경우 상태 비저장 애플리케이션 설계를 구현하여 App Service를 통해 복구 및 백업 시나리오를 간소화합니다. 상태 저장 애플리케이션을 유지 관리해야 하는 경우 App Service에서 백업 및 복원 기능을 사용하도록 설정하면 수동으로 또는 일정에 따라 앱 백업을 쉽게 만들 수 있습니다. |
DevOps 보안 | DS-6: DevOps 수명 주기 전반에 걸쳐 워크로드 보안 적용 | 잘 관리되고 안전한 DevOps 배포 파이프라인과 같이 제어되고 신뢰할 수 있는 환경에서 App Service에 코드를 배포합니다. 이렇게 하면 버전이 제어되지 않았고 악성 호스트에서 배포된 것으로 확인된 코드가 방지됩니다. |