App Service에 대한 Azure 보안 기준
이 보안 기준은 Microsoft 클라우드 보안 벤치마크 버전 1.0의 지침을 App Service 적용합니다. Microsoft 클라우드 보안 벤치마크는 Azure에서 클라우드 솔루션을 보호하는 방법에 대한 권장 사항을 제공합니다. 콘텐츠는 Microsoft 클라우드 보안 벤치마크에서 정의한 보안 제어 및 App Service 적용되는 관련 지침에 따라 그룹화됩니다.
클라우드용 Microsoft Defender 사용하여 이 보안 기준 및 권장 사항을 모니터링할 수 있습니다. Azure Policy 정의는 클라우드용 Microsoft Defender 포털 페이지의 규정 준수 섹션에 나열됩니다.
기능에 관련 Azure Policy 정의가 있는 경우 Microsoft 클라우드 보안 벤치마크 컨트롤 및 권장 사항 준수를 측정하는 데 도움이 되도록 이 기준에 나열됩니다. 일부 권장 사항에는 특정 보안 시나리오를 사용하도록 설정하기 위해 유료 Microsoft Defender 계획이 필요할 수 있습니다.
참고
App Service 적용할 수 없는 기능이 제외되었습니다. App Service Microsoft 클라우드 보안 벤치마크에 완전히 매핑하는 방법을 보려면 전체 App Service 보안 기준 매핑 파일을 참조하세요.
보안 프로필
보안 프로필은 App Service 영향을 많이 미치는 동작을 요약하여 보안 고려 사항이 증가할 수 있습니다.
서비스 동작 특성 | 값 |
---|---|
제품 범주 | 컴퓨팅, 웹 |
고객이 HOST/OS에 액세스할 수 있음 | 액세스 권한 없음 |
서비스를 고객의 가상 네트워크에 배포할 수 있습니다. | True |
고객 콘텐츠를 미사용으로 저장 | True |
네트워크 보안
자세한 내용은 Microsoft 클라우드 보안 벤치마크: 네트워크 보안을 참조하세요.
NS-1: 네트워크 구분 경계 설정
기능
가상 네트워크 통합
설명: 서비스는 고객의 프라이빗 Virtual Network(VNet)에 대한 배포를 지원합니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
기능 정보: Virtual Network 통합은 App Service 환경을 사용할 때 기본적으로 구성되지만 공용 다중 테넌트 제품을 사용할 때 수동으로 구성해야 합니다.
구성 지침: 인터넷 주소에 대한 아웃바운드 통신을 위한 안정적인 IP 보장: Virtual Network 통합 기능을 사용하여 안정적인 아웃바운드 IP를 제공할 수 있습니다. 이렇게 하면 필요한 경우 수신 당사자가 IP에 따라 허용 목록을 사용할 수 있습니다.
ASE(App Service Environment)라고도 하는 격리된 가격 책정 계층에서 App Service 사용하는 경우 Azure Virtual Network 내의 서브넷에 직접 배포할 수 있습니다. 네트워크 보안 그룹을 사용하여 가상 네트워크의 리소스에 대한 인바운드 및 아웃바운드 트래픽을 차단하거나 App Service Environment의 앱에 대한 액세스를 제한하여 Azure App Service Environment를 보호합니다.
다중 테넌트 App Service(격리 계층에 없는 앱)에서 앱이 Virtual Network 통합 기능을 사용하여 Virtual Network 또는 Virtual Network 리소스에 액세스할 수 있도록 합니다. 그런 다음, 네트워크 보안 그룹을 사용하여 앱에서 아웃바운드 트래픽을 제어할 수 있습니다. Virtual Network Integration을 사용하는 경우 통합 서브넷의 네트워크 보안 그룹 및 사용자 정의 경로에 따라 모든 아웃바운드 트래픽을 적용하도록 '모두 라우팅' 구성을 사용하도록 설정할 수 있습니다. 이 기능은 앱에서 공용 주소로의 아웃바운드 트래픽을 차단하는 데도 사용할 수 있습니다. 가상 네트워크 통합은 앱에 대한 인바운드 액세스를 제공하는 데 사용할 수 없습니다.
Azure 서비스에 대한 통신의 경우 IP 주소에 의존할 필요가 없으며 서비스 엔드포인트와 같은 메커니즘을 대신 사용해야 합니다.
참고: App Service 환경의 경우 기본적으로 네트워크 보안 그룹에는 암시적 거부 규칙이 가장 낮은 우선 순위에 포함되며 명시적 허용 규칙을 추가해야 합니다. 최소 권한 네트워킹 접근 방식에 따라 네트워크 보안 그룹에 대한 허용 규칙을 추가합니다. App Service Environment를 호스트하는 데 사용되는 기본 가상 머신은 Microsoft에서 관리하는 구독에 속해 있기 때문에 직접 액세스할 수 없습니다.
동일한 지역에 있는 가상 네트워크에서 가상 네트워크 통합 기능을 사용하는 경우 네트워크 보안 그룹을 사용하고 사용자 정의 경로를 사용하여 테이블을 라우팅합니다. 사용자 정의 경로를 통합 서브넷에 배치하여 원하는 대로 아웃바운드 트래픽을 보낼 수 있습니다.
네트워크 보안 그룹 지원
설명: 서비스 네트워크 트래픽은 해당 서브넷에 대한 네트워크 보안 그룹 규칙 할당을 준수합니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | True | Microsoft |
기능 정보: 네트워크 보안 그룹 지원은 App Service 환경을 사용하는 모든 고객에게 제공되지만 공용 다중 테넌트 제품을 사용하는 고객을 위한 VNet 통합 앱에서만 사용할 수 있습니다.
구성 지침: 기본 배포에서 사용하도록 설정되므로 추가 구성이 필요하지 않습니다.
참조: App Service Environment 네트워킹
NS-2: 네트워크 컨트롤을 통한 보안 클라우드 서비스
기능
Azure Private Link
설명: 네트워크 트래픽을 필터링하기 위한 서비스 네이티브 IP 필터링 기능(NSG 또는 Azure Firewall 혼동하지 않음). 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
구성 지침: Azure Web Apps 프라이빗 엔드포인트를 사용하여 프라이빗 네트워크에 있는 클라이언트가 Private Link 통해 앱에 안전하게 액세스할 수 있도록 합니다. 프라이빗 엔드포인트는 Azure VNet 주소 공간의 IP 주소를 사용합니다. 프라이빗 네트워크에 있는 클라이언트와 웹앱 간의 네트워크 트래픽은 VNet을 통해 이동하고 Microsoft 백본 네트워크의 Private Link를 통해 공용 인터넷 노출을 방지합니다.
참고: 프라이빗 엔드포인트는 웹앱으로 들어오는 흐름에만 사용됩니다. 나가는 흐름은 이 프라이빗 엔드포인트를 사용하지 않습니다. VNet 통합 기능을 통해 다른 서브넷의 네트워크에 나가는 흐름을 주입할 수 있습니다. App Service 트래픽 수신 끝의 서비스에 프라이빗 엔드포인트를 사용하면 SNAT가 발생하지 않도록 방지하고 안정적인 아웃바운드 IP 범위를 제공합니다.
추가 지침: ACR(Azure Container Registry)에 저장된 App Service 컨테이너를 실행하는 경우 해당 이미지가 프라이빗 네트워크를 통해 끌어오도록 합니다. ACR에서 프라이빗 엔드포인트를 구성하여 해당 이미지를 웹 애플리케이션에서 "WEBSITE_PULL_IMAGE_OVER_VNET" 애플리케이션 설정 설정과 함께 저장합니다.
참조: Azure Web App에 프라이빗 엔드포인트 사용
공용 네트워크 액세스 사용 안 함
설명: 서비스는 서비스 수준 IP ACL 필터링 규칙(NSG 또는 Azure Firewall 아님)을 사용하거나 '공용 네트워크 액세스 사용 안 함' 토글 스위치를 사용하여 공용 네트워크 액세스를 사용하지 않도록 설정합니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
구성 지침: 서비스 수준 IP ACL 필터링 규칙 또는 프라이빗 엔드포인트를 사용하거나 ARM에서 속성을 사용하지 않도록 설정하여 공용 네트워크 액세스를 사용하지 않도록 설정합니다 publicNetworkAccess
.
참조: Azure App Service 액세스 제한 설정
NS-5: DDOS 보호 배포
NS-5에 대한 기타 지침
App Service의 Web Application Firewall을 호스트하는 가상 네트워크에서 DDoS 보호 표준을 사용하도록 설정합니다. Azure는 네트워크에서 DDoS 기본 보호를 제공하며, 일반 트래픽 패턴에 대해 알아보고 비정상적인 동작을 감지할 수 있는 지능형 DDoS 표준 기능으로 개선할 수 있습니다. DDoS 표준은 Virtual Network 적용되므로 앱 앞의 네트워크 리소스(예: Application Gateway 또는 NVA)에 대해 구성해야 합니다.
NS-6: 웹 애플리케이션 방화벽 배포
NS-6에 대한 기타 지침
애플리케이션에 대해 WAF가 바이패스되지 않도록 합니다. WAF에 대한 액세스만 잠그면 WAF를 무시할 수 없는지 확인합니다. 액세스 제한, 서비스 엔드포인트 및 프라이빗 엔드포인트의 조합을 사용합니다.
또한 WAF(Web Application Firewall)가 설정된 Azure Application Gateway 또는 Azure Front Door를 통해 트래픽을 라우팅하여 App Service Environment 보호합니다.
다중 테넌트 제품의 경우 다음을 사용하여 앱에 대한 인바운드 트래픽을 보호합니다.
- 액세스 제한: 인바운드 액세스를 제어하는 일련의 허용 또는 거부 규칙
- 서비스 엔드포인트: 지정된 가상 네트워크 또는 서브넷 외부에서 인바운드 트래픽을 거부할 수 있습니다.
- 프라이빗 엔드포인트: 개인 IP 주소를 사용하여 Virtual Network 앱을 노출합니다. 앱에서 프라이빗 엔드포인트를 사용하면 더 이상 인터넷에 액세스할 수 없습니다.
구독과 가상 네트워크 전반에 걸쳐 중앙에서 애플리케이션 및 네트워크 연결 정책을 만들고 적용하고 기록하도록 Azure Firewall을 구현하는 방안을 고려해 보세요. Azure Firewall은 가상 네트워크 리소스에 정적 공용 IP 주소를 사용하기 때문에 외부 방화벽이 사용자의 가상 네트워크에서 시작된 트래픽을 식별할 수 있습니다.
ID 관리
자세한 내용은 Microsoft 클라우드 보안 벤치마크: ID 관리를 참조하세요.
IM-1: 중앙 ID 및 인증 시스템 사용
기능
데이터 평면 액세스에 필요한 Azure AD 인증
설명: 서비스는 데이터 평면 액세스에 Azure AD 인증을 사용할 수 있도록 지원합니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
구성 지침: 인증된 웹 애플리케이션의 경우 잘 알려진 설정된 ID 공급자만 사용하여 사용자 액세스를 인증하고 권한을 부여합니다. 자신의 organization 사용자만 앱에 액세스해야 하거나 사용자가 모두 Azure Active Directory(Azure AD)를 사용하는 경우 Azure AD 데이터 평면 액세스를 제어하는 기본 인증 방법으로 구성합니다.
참조: Azure App Service 및 Azure Functions 인증 및 권한 부여
데이터 평면 액세스에 대한 로컬 인증 방법
설명: 로컬 사용자 이름 및 암호와 같은 데이터 평면 액세스에 지원되는 로컬 인증 방법입니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
기능 정보: 로컬 인증 방법 또는 계정의 사용을 방지하려면 가능한 한 사용하지 않도록 설정해야 합니다. 대신 Azure AD 사용하여 가능한 경우 인증합니다.
구성 지침: 데이터 평면 액세스를 위해 로컬 인증 방법 사용을 제한합니다. 대신 Azure Active Directory(Azure AD)를 기본 인증 방법으로 사용하여 데이터 평면 액세스를 제어합니다.
참조: Azure App Service 및 Azure Functions 인증 및 권한 부여
IM-3: 애플리케이션 ID를 안전하게 자동으로 관리
기능
관리 ID
설명: 데이터 평면 작업은 관리 ID를 사용한 인증을 지원합니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
구성 지침: 가능한 경우 서비스 주체 대신 Azure 관리 ID를 사용하여 Azure 서비스 및 Azure Active Directory(Azure AD) 인증을 지원하는 리소스에 인증할 수 있습니다. 관리 ID 자격 증명은 플랫폼에서 완전히 관리, 순환 및 보호되므로 소스 코드 또는 구성 파일에 하드 코딩된 자격 증명을 방지합니다.
App Service 관리 ID를 사용하는 일반적인 시나리오는 Azure SQL Database, Azure Storage 또는 Key Vault 같은 다른 Azure PaaS 서비스에 액세스하는 것입니다.
참조: App Service 및 Azure Functions 관리 ID를 사용하는 방법
서비스 주체
설명: 데이터 평면은 서비스 주체를 사용한 인증을 지원합니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
추가 지침: 서비스 주체는 인증 패턴으로 서비스에서 지원되지만 가능한 경우 관리 ID를 대신 사용하는 것이 좋습니다.
클라우드용 Microsoft Defender 모니터링
Azure Policy 기본 제공 정의 - Microsoft.Web:
Name (Azure Portal) |
Description | 효과 | 버전 (GitHub) |
---|---|---|---|
App Service 앱에서 관리 ID를 사용해야 함 | 인증 보안 강화를 위해 관리 ID 사용 | AuditIfNotExists, 사용 안 함 | 3.0.0 |
IM-7: 조건에 따라 리소스 액세스 제한
기능
데이터 평면에 대한 조건부 액세스
설명: 데이터 평면 액세스는 Azure AD 조건부 액세스 정책을 사용하여 제어할 수 있습니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
구성 지침: 워크로드에서 Azure Active Directory(Azure AD) 조건부 액세스에 해당하는 조건 및 조건을 정의합니다. 특정 위치에서 액세스 차단 또는 부여, 위험한 로그인 동작 차단 또는 특정 애플리케이션에 organization 관리 디바이스 요구와 같은 일반적인 사용 사례를 고려합니다.
IM-8: 자격 증명 및 비밀 노출 제한
기능
Azure Key Vault의 서비스 자격 증명 및 비밀 지원 통합 및 스토리지
설명: 데이터 평면은 자격 증명 및 비밀 저장소에 Azure Key Vault 기본 사용을 지원합니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
구성 지침: 앱 비밀 및 자격 증명을 코드 또는 구성 파일에 포함하는 대신 Azure Key Vault 같은 보안 위치에 저장해야 합니다. 앱에서 관리 ID를 사용하여 자격 증명 또는 보안 방식으로 Key Vault에 저장된 비밀에 액세스합니다.
참조: App Service 및 Azure Functions 대한 Key Vault 참조 사용
권한 있는 액세스
자세한 내용은 Microsoft 클라우드 보안 벤치마크: 권한 있는 액세스를 참조하세요.
PA-7: 충분한 관리 수행(최소 권한) 원칙
기능
데이터 평면용 Azure RBAC
설명: Azure RBAC(Azure Role-Based Access Control)를 사용하여 서비스의 데이터 평면 작업에 대한 액세스를 관리할 수 있습니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
False | 해당 사항 없음 | 해당 사항 없음 |
구성 지침: 이 기능은 이 서비스를 보호하기 위해 지원되지 않습니다.
PA-8: 클라우드 공급자 지원을 위한 액세스 프로세스 결정
기능
고객 Lockbox
설명: 고객 Lockbox는 Microsoft 지원 액세스에 사용할 수 있습니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
구성 지침: Microsoft가 데이터에 액세스해야 하는 지원 시나리오에서 고객 Lockbox를 사용하여 Microsoft의 각 데이터 액세스 요청을 검토, 승인 또는 거부합니다.
데이터 보호
자세한 내용은 Microsoft 클라우드 보안 벤치마크: 데이터 보호를 참조하세요.
DP-1: 중요한 데이터 검색, 분류 및 레이블 지정
기능
중요한 데이터 검색 및 분류
설명: 도구(예: Azure Purview 또는 Azure Information Protection)는 서비스의 데이터 검색 및 분류에 사용할 수 있습니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
False | 해당 사항 없음 | 해당 사항 없음 |
기능 정보: 빌드 파이프라인에서 자격 증명 스캐너를 구현하여 코드 내에서 자격 증명을 식별합니다. 또한 자격 증명 스캐너는 검색된 자격 증명을 더 안전한 위치(예: Azure Key Vault)로 이동하도록 추천합니다.
구성 지침: 이 기능은 이 서비스를 보호하기 위해 지원되지 않습니다.
DP-2: 중요한 데이터를 대상으로 하는 변칙 및 위협 모니터링
기능
데이터 유출/손실 방지
설명: 서비스는 중요한 데이터 이동(고객의 콘텐츠)을 모니터링하는 DLP 솔루션을 지원합니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
False | 해당 사항 없음 | 해당 사항 없음 |
기능 정보: 데이터 식별, 분류 및 손실 방지 기능은 아직 App Service 사용할 수 없지만 대상에서 인터넷 또는 Azure 서비스에 '태그'를 사용하는 모든 규칙을 제거하여 가상 네트워크에서 데이터 반출 위험을 줄일 수 있습니다.
Microsoft는 App Service의 기본 인프라를 관리하며 고객 데이터의 손실 또는 노출을 방지하기 위해 엄격한 제어를 구현했습니다.
태그를 사용하여 중요한 정보를 저장하거나 처리하는 App Service 리소스를 추적하는 데 도움을 줍니다.
구성 지침: 이 기능은 이 서비스를 보호하기 위해 지원되지 않습니다.
DP-3: 전송 중인 중요한 데이터 암호화
기능
전송 암호화 중인 데이터
설명: 서비스는 데이터 평면에 대한 전송 중 데이터 암호화를 지원합니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
구성 지침: 전송 중인 모든 정보를 암호화하기 위해 TLS/SSL 설정에 구성된 TLS v1.2의 기본 최소 버전을 사용하고 적용합니다. 또한 모든 HTTP 연결 요청이 HTTPS로 리디렉션되도록 합니다.
참조: Azure App Service TLS/SSL 인증서 추가
클라우드용 Microsoft Defender 모니터링
Azure Policy 기본 제공 정의 - Microsoft.Web:
Name (Azure Portal) |
Description | 효과 | 버전 (GitHub) |
---|---|---|---|
App Service 앱은 HTTPS를 통해서만 액세스할 수 있어야 함 | HTTPS를 사용하여 서버/서비스 인증을 보장하고 전송 중인 데이터를 네트워크 계층 도청 공격으로부터 보호합니다. | 감사, 사용 안 함, 거부 | 4.0.0 |
DP-4: 기본적으로 미사용 데이터 암호화 사용하도록 설정
기능
플랫폼 키를 사용하여 미사용 데이터 암호화
설명: 플랫폼 키를 사용한 미사용 데이터 암호화가 지원되며, 미사용 고객 콘텐츠는 이러한 Microsoft 관리형 키로 암호화됩니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | True | Microsoft |
기능 정보: 파일과 같은 App Service 앱의 웹 사이트 콘텐츠는 미사용 콘텐츠를 자동으로 암호화하는 Azure Storage에 저장됩니다. 애플리케이션 비밀을 Key Vault에 저장하고 런타임에 검색하도록 선택합니다.
고객이 제공한 비밀은 App Service 구성 데이터베이스에 저장되는 동안 미사용 상태로 암호화됩니다.
로컬로 연결된 디스크는 웹 사이트에서 필요에 따라 임시 스토리지로 사용할 수 있지만(예: D:\local 및 %TMP%) Pv3 SKU를 사용할 수 있는 공용 다중 테넌트 App Service 제품에서만 암호화됩니다. Pv3 SKU를 사용할 수 없는 이전 공용 다중 테넌트 배율 단위의 경우 고객은 새 리소스 그룹을 만들고 해당 리소스를 재배포해야 합니다.
또한 고객은 ZIP 패키지에서 직접 App Service 애플리케이션을 실행할 수 있습니다. 자세한 내용은 ZIP 패키지에서 직접 Azure App Service 앱 실행을 참조하세요.
구성 지침: 기본 배포에서 사용하도록 설정되므로 추가 구성이 필요하지 않습니다.
DP-5: 필요한 경우 미사용 데이터 암호화에서 고객 관리형 키 옵션 사용
기능
CMK를 이용하여 미사용 데이터 암호화
설명: 고객 관리형 키를 사용한 미사용 데이터 암호화는 서비스에서 저장된 고객 콘텐츠에 대해 지원됩니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
구성 지침: 규정 준수에 필요한 경우 고객 관리형 키를 사용한 암호화가 필요한 사용 사례 및 서비스 scope 정의합니다. 서비스에서 고객 관리형 키를 사용하여 미사용 데이터 암호화를 사용하도록 설정하고 구현합니다.
참고: 파일과 같은 App Service 앱의 웹 사이트 콘텐츠는 미사용 콘텐츠를 자동으로 암호화하는 Azure Storage에 저장됩니다. 애플리케이션 비밀을 Key Vault에 저장하고 런타임에 검색하도록 선택합니다.
고객이 제공한 비밀은 App Service 구성 데이터베이스에 저장되는 동안 미사용 상태로 암호화됩니다.
로컬로 연결된 디스크는 웹 사이트에서 필요에 따라 임시 스토리지로 사용할 수 있지만(예: D:\local 및 %TMP%) 미사용 상태로 암호화되지 않습니다.
참조: 고객 관리형 키를 사용하여 미사용 데이터 암호화
DP-6: 보안 키 관리 프로세스 사용
기능
Azure Key Vault에서 키 관리
설명: 이 서비스는 고객 키, 비밀 또는 인증서에 대한 Azure Key Vault 통합을 지원합니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
구성 지침: Azure Key Vault 사용하여 키 생성, 배포 및 스토리지를 포함하여 암호화 키의 수명 주기를 만들고 제어합니다. 정의된 일정에 따라 또는 키 사용 중지 또는 손상이 있는 경우 Azure Key Vault 및 서비스에서 키를 회전하고 해지합니다. 워크로드, 서비스 또는 애플리케이션 수준에서 CMK(고객 관리형 키)를 사용해야 하는 경우 키 관리에 대한 모범 사례를 따라야 합니다. 키 계층 구조를 사용하여 키 자격 증명 모음에서 KEK(키 암호화 키)와 함께 별도의 DEK(데이터 암호화 키)를 생성합니다. 키가 Azure Key Vault 등록되고 서비스 또는 애플리케이션의 키 ID를 통해 참조되는지 확인합니다. 서비스에 BYOK(사용자 고유 키)를 가져와야 하는 경우(예: 온-프레미스 HSM에서 Azure Key Vault HSM 보호 키 가져오기) 권장 지침에 따라 초기 키 생성 및 키 전송을 수행합니다.
참조: App Service 및 Azure Functions 대한 Key Vault 참조 사용
DP-7: 보안 인증서 관리 프로세스 사용
기능
Azure Key Vault에서 인증 관리
설명: 이 서비스는 모든 고객 인증서에 대한 Azure Key Vault 통합을 지원합니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
구성 지침: App Service App Service 직접 구성하거나 Key Vault 참조할 수 있는 SSL/TLS 및 기타 인증서로 구성할 수 있습니다. 모든 인증서와 암호를 중앙에서 관리하려면 App Service를 직접 로컬로 배포하는 대신 App Service에서 사용하는 인증서를 Key Vault로 저장합니다. 이 구성되면 App Service Azure Key Vault 최신 인증서를 자동으로 다운로드합니다. 인증서 생성이 키 크기 부족, 지나치게 긴 유효 기간, 안전하지 않은 암호화와 같은 안전하지 않은 속성을 사용하지 않고 정의된 표준을 따르는지 확인합니다. 정의된 일정 또는 인증서 만료 시점에 따라 Azure Key Vault 인증서의 자동 회전을 설정합니다.
참조: Azure App Service TLS/SSL 인증서 추가
자산 관리
자세한 내용은 Microsoft 클라우드 보안 벤치마크: 자산 관리를 참조하세요.
AM-2: 승인된 서비스만 사용
기능
Azure Policy 지원
설명: 서비스 구성은 Azure Policy 통해 모니터링하고 적용할 수 있습니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
구성 지침: 클라우드용 Microsoft Defender 사용하여 Azure 리소스의 구성을 감사하고 적용하는 Azure Policy 구성합니다. 리소스에서 구성 편차가 검색되면 Azure Monitor를 사용하여 경고를 만듭니다. [거부] 및 [존재하지 않는 경우 배포] 효과를 Azure Policy 사용하여 Azure 리소스에 보안 구성을 적용합니다.
참고: Azure Policy 사용하여 App Service 배포된 앱에 대한 표준 보안 구성을 정의하고 구현합니다. 기본 제공 Azure Policy 정의와 "Microsoft.Web" 네임스페이스의 Azure Policy 별칭을 사용하여 시스템 구성을 경고, 감사 및 적용하는 사용자 지정 정책을 만듭니다. 정책 예외를 관리하는 프로세스 및 파이프라인을 개발합니다.
참조: Azure App Service 대한 규정 준수 제어 Azure Policy
AM-4: 자산 관리에 대한 액세스 제한
AM-4에 대한 기타 지침
민감 정보를 처리하는 시스템 격리 이렇게 하려면 별도의 App Service 플랜 또는 App Service 환경을 사용하고 다른 구독 또는 관리 그룹의 사용을 고려합니다.
로깅 및 위협 탐지
자세한 내용은 Microsoft 클라우드 보안 벤치마크: 로깅 및 위협 탐지를 참조하세요.
LT-1: 위협 탐지 기능 사용하도록 설정
기능
서비스/제품 제공에 대한 Microsoft Defender
설명: 서비스에는 보안 문제를 모니터링하고 경고하는 제품별 Microsoft Defender 솔루션이 있습니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
구성 지침: App Service Microsoft Defender 사용하여 App Service 실행되는 애플리케이션을 대상으로 하는 공격을 식별합니다. App Service용 Microsoft Defender를 사용하도록 설정하면 이 Defender 플랜에서 제공하는 다음과 같은 서비스를 즉시 이용할 수 있습니다.
보안: App Service Defender는 App Service 계획이 적용되는 리소스를 평가하고 그 결과에 따라 보안 권장 사항을 생성합니다. 이 권장 사항의 세부 지침을 사용하여 앱 서비스 리소스를 강화하세요.
검색: App Service용 Defender는 App Service 실행 중인 VM instance 및 관리 인터페이스, App Service 앱, 기본 샌드박스 및 VM과 주고 받는 요청 및 응답을 모니터링하여 App Service 리소스에 대한 다양한 위협을 검색합니다. 내부 로그를 App Service.
참조: 웹앱 및 API 보호
LT-4: 보안 조사를 위해 로깅 사용
기능
Azure 리소스 로그
설명: 서비스는 향상된 서비스별 메트릭 및 로깅을 제공할 수 있는 리소스 로그를 생성합니다. 고객은 이러한 리소스 로그를 구성하고 스토리지 계정 또는 로그 분석 작업 영역과 같은 자체 데이터 싱크로 보낼 수 있습니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
구성 지침: App Service 웹앱에 대한 리소스 로그를 사용하도록 설정합니다.
참조: Azure App Service 앱에 대한 진단 로깅 사용
포스처 및 취약성 관리
자세한 내용은 Microsoft 클라우드 보안 벤치마크: 태세 및 취약성 관리를 참조하세요.
PV-2: 보안 구성 감사 및 적용
PV-2에 대한 기타 지침
원격 디버깅을 해제하면 서비스에서 추가 포트가 열리고 공격 표면이 늘어나기 때문에 프로덕션 워크로드에 대해 원격 디버깅을 켜면 안 됩니다.
클라우드용 Microsoft Defender 모니터링
Azure Policy 기본 제공 정의 - Microsoft.Web:
Name (Azure Portal) |
Description | 효과 | 버전 (GitHub) |
---|---|---|---|
[사용되지 않음]: 함수 앱에는 '클라이언트 인증서(들어오는 클라이언트 인증서)'를 사용하도록 설정해야 합니다. | 클라이언트 인증서는 앱이 들어오는 요청에 대한 인증서를 요청하도록 허용합니다. 유효한 인증서가 있는 클라이언트만 앱에 연결할 수 있습니다. Http 2.0은 클라이언트 인증서를 지원하지 않으므로 이 정책은 이름이 같은 새 정책으로 대체되었습니다. | 감사, 사용 안 함 | 3.1.0-사용되지 않음 |
PV-7: 정기적인 레드 팀 작업 수행
PV-7에 대한 기타 지침
참여의 침투 테스트 규칙에 따라 웹 애플리케이션에서 정기적인 침투 테스트를 수행합니다.
Backup 및 복구
자세한 내용은 Microsoft 클라우드 보안 벤치마크: 백업 및 복구를 참조하세요.
BR-1: 자동화된 정기 백업 보장
기능
Azure Backup
설명: Azure Backup 서비스에서 서비스를 백업할 수 있습니다. 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
True | False | Customer |
구성 지침: 가능한 경우 상태 비지정 애플리케이션 디자인을 구현하여 App Service 사용하여 복구 및 백업 시나리오를 간소화합니다.
상태 저장 애플리케이션을 실제로 유지 관리해야 하는 경우 App Service 백업 및 복원 기능을 사용하도록 설정하면 수동으로 또는 일정에 따라 앱 백업을 쉽게 만들 수 있습니다. 백업이 무기한 보존되도록 구성할 수 있습니다. 기존 앱을 덮어쓰거나 다른 앱으로 복원하여 앱을 이전 상태의 스냅샷으로 복원할 수 있습니다. 조직 정책에 정의된 대로 정기적으로 자동화된 백업이 빈도로 발생하는지 확인합니다.
참고: App Service 사용하도록 앱을 구성한 Azure Storage 계정 및 컨테이너에 다음 정보를 백업할 수 있습니다.
- 앱 구성
- 파일 콘텐츠
- 앱에 연결된 데이터베이스
참조: Azure에서 앱 백업
서비스 네이티브 백업 기능
설명: 서비스는 고유한 네이티브 백업 기능을 지원합니다(Azure Backup 사용하지 않는 경우). 자세히 알아보세요.
지원됨 | 기본적으로 사용 | 구성 책임 |
---|---|---|
False | 해당 사항 없음 | 해당 사항 없음 |
구성 지침: 이 기능은 이 서비스를 보호하는 데 지원되지 않습니다.
DevOps 보안
자세한 내용은 Microsoft 클라우드 보안 벤치마크: DevOps 보안을 참조하세요.
DS-6: DevOps 수명 주기 전반에 걸쳐 워크로드 보안 적용
DS-6에 대한 기타 지침
잘 관리되고 안전한 DevOps 배포 파이프라인과 같이 제어되고 신뢰할 수 있는 환경에서 App Service에 코드를 배포합니다. 이렇게 하면 버전이 제어되지 않고 악의적인 호스트에서 배포되는 것으로 확인된 코드가 방지됩니다.
다음 단계
- Microsoft 클라우드 보안 벤치마크 개요를 참조하세요.
- Azure 보안 기준에 대해 자세히 알아보세요.