App Service에 대한 Azure 보안 기준

이 보안 기준은 Azure Security Benchmark 버전 3.0의 지침을 App Service 적용합니다. Azure Security Benchmark는 Azure에서 클라우드 솔루션을 보호하는 방법에 대한 권장 사항을 제공합니다. 콘텐츠는 Azure Security Benchmark 및 App Service에 적용되는 관련 지침에서 정의하는 보안 컨트롤에 따라 그룹화됩니다.

클라우드용 Microsoft Defender를 사용하여 이 보안 기준 및 권장 사항을 모니터링할 수 있습니다. Azure Policy 정의는 클라우드용 Microsoft Defender 대시보드의 규정 준수 섹션에 나열됩니다.

기능에 관련 Azure Policy 정의가 있는 경우 Azure Security Benchmark 컨트롤 및 권장 사항에 대한 규정 준수를 측정하는 데 도움이 되도록 이 기준선에 나열됩니다. 일부 권장 사항에는 특정 보안 시나리오를 사용하도록 설정하기 위해 유료 Microsoft Defender 계획이 필요할 수 있습니다.

참고

App Service 적용할 수 없는 기능이 제외되었습니다. App Service가 어떻게 Azure Security Benchmark에 완전히 매핑되는지 알아보려면 전체 App Service 보안 기준 매핑 파일을 참조하세요.

보안 프로필

보안 프로필에는 App Service 영향을 많이 미치는 동작이 요약되어 있어 보안 고려 사항이 증가할 수 있습니다.

서비스 동작 특성
제품 범주 Compute, Web
고객이 HOST/OS에 액세스할 수 있음 액세스 권한 없음
서비스를 고객의 가상 네트워크에 배포할 수 있습니다. True
고객 콘텐츠를 휴지 상태 저장 True

네트워크 보안

자세한 내용은 Azure Security Benchmark: 네트워크 보안을 참조하세요.

NS-1: 네트워크 구분 경계 설정

기능

가상 네트워크 통합

설명: 서비스는 고객의 프라이빗 Virtual Network(VNet)에 대한 배포를 지원합니다. 자세히 알아봅니다.

지원됨 기본적으로 사용 구성 책임
True 거짓 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 통합을 사용하는 경우 통합 서브넷의 네트워크 보안 그룹 및 사용자 정의 경로에 따라 모든 아웃바운드 트래픽을 적용하도록 '모두 라우팅' 구성을 사용하도록 설정할 수 있습니다. 이 기능은 앱에서 공용 주소로의 아웃바운드 트래픽을 차단하는 데도 사용할 수 있습니다. 가상 네트워크 통합은 앱에 대한 인바운드 액세스를 제공하는 데 사용할 수 없습니다.

Azure 서비스에 대한 통신의 경우 종종 IP 주소에 의존할 필요가 없으며 서비스 엔드포인트와 같은 메커니즘을 대신 사용해야 합니다.

참고: App Service 환경의 경우 기본적으로 네트워크 보안 그룹에는 암시적 거부 규칙이 가장 낮은 우선 순위에 포함되며 명시적 허용 규칙을 추가해야 합니다. 최소 권한 네트워킹 접근 방식에 따라 네트워크 보안 그룹에 대한 허용 규칙을 추가합니다. App Service Environment를 호스트하는 데 사용되는 기본 가상 머신은 Microsoft에서 관리하는 구독에 속해 있기 때문에 직접 액세스할 수 없습니다.

동일한 지역에 있는 가상 네트워크에서 가상 네트워크 통합 기능을 사용하는 경우 네트워크 보안 그룹을 사용하고 사용자 정의 경로를 사용하여 테이블을 라우팅합니다. 사용자 정의 경로를 통합 서브넷에 배치하여 원하는 대로 아웃바운드 트래픽을 보낼 수 있습니다.

참조: Azure 가상 네트워크와 앱 통합

네트워크 보안 그룹 지원

설명: 서비스 네트워크 트래픽은 해당 서브넷에 대한 네트워크 보안 그룹 규칙 할당을 준수합니다. 자세히 알아봅니다.

지원됨 기본적으로 사용 구성 책임
True True Microsoft

기능 정보: 네트워크 보안 그룹 지원은 App Service 환경을 사용하는 모든 고객에게 제공되지만 공용 다중 테넌트 제품을 사용하는 고객을 위한 VNet 통합 앱에서만 사용할 수 있습니다.

구성 지침: 기본 배포에서 사용하도록 설정되므로 추가 구성이 필요하지 않습니다.

참조: App Service Environment 네트워킹

NS-2: 네트워크 컨트롤을 통한 보안 클라우드 서비스

기능

설명: 네트워크 트래픽을 필터링하기 위한 서비스 네이티브 IP 필터링 기능(NSG 또는 Azure Firewall 혼동하지 않음). 자세히 알아봅니다.

지원됨 기본적으로 사용 구성 책임
True 거짓 Customer

구성 지침: Azure Web Apps 프라이빗 엔드포인트를 사용하여 프라이빗 네트워크에 있는 클라이언트가 Private Link 통해 앱에 안전하게 액세스할 수 있도록 합니다. 프라이빗 엔드포인트는 Azure VNet 주소 공간의 IP 주소를 사용합니다. 프라이빗 네트워크에 있는 클라이언트와 웹앱 간의 네트워크 트래픽은 VNet을 통해 이동하고 Microsoft 백본 네트워크의 Private Link를 통해 공용 인터넷 노출을 방지합니다.

참고: 프라이빗 엔드포인트는 웹앱으로 들어오는 흐름에만 사용됩니다. 나가는 흐름은 이 프라이빗 엔드포인트를 사용하지 않습니다. VNet 통합 기능을 통해 다른 서브넷의 네트워크에 나가는 흐름을 주입할 수 있습니다. App Service 트래픽 수신 끝의 서비스에 프라이빗 엔드포인트를 사용하면 SNAT가 발생하지 않도록 방지하고 안정적인 아웃바운드 IP 범위를 제공합니다.

추가 지침: ACR(Azure Container Registry)에 저장된 App Service 컨테이너를 실행하는 경우 해당 이미지가 프라이빗 네트워크를 통해 끌어오도록 합니다. 웹 애플리케이션에서 "WEBSITE_PULL_IMAGE_OVER_VNET" 애플리케이션 설정과 함께 해당 이미지를 저장하는 ACR에 프라이빗 엔드포인트를 구성하여 이 작업을 수행합니다.

참조: Azure Web App에 프라이빗 엔드포인트 사용

공용 네트워크 액세스 사용 안 함

설명: 서비스는 서비스 수준 IP ACL 필터링 규칙(NSG 또는 Azure Firewall 아님)을 사용하거나 '공용 네트워크 액세스 사용 안 함' 토글 스위치를 사용하여 공용 네트워크 액세스를 사용하지 않도록 설정할 수 있습니다. 자세히 알아봅니다.

지원됨 기본적으로 사용 구성 책임
True 거짓 Customer

구성 지침: 서비스 수준 IP ACL 필터링 규칙 또는 프라이빗 엔드포인트를 사용하거나 ARM에서 속성을 사용하지 않도록 설정하여 공용 네트워크 액세스를 사용하지 않도록 설정합니다 publicNetworkAccess .

참조: Azure App Service 액세스 제한 설정

NS-5: DDOS 보호 배포

NS-5에 대한 기타 지침

App Service Web Application Firewall 호스트하는 가상 네트워크에서 DDOS Protection 표준을 사용하도록 설정합니다. Azure는 네트워크에서 DDoS Basic 보호를 제공하며, 일반적인 트래픽 패턴에 대해 알아보고 비정상적인 동작을 감지할 수 있는 지능형 DDoS 표준 기능으로 개선할 수 있습니다. DDoS Standard는 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 관리

자세한 내용은 Azure Security Benchmark: ID 관리를 참조하세요.

IM-1: 중앙 ID 및 인증 시스템 사용

기능

데이터 평면 액세스에 필요한 Azure AD 인증

설명: 서비스는 데이터 평면 액세스에 Azure AD 인증 사용을 지원합니다. 자세히 알아봅니다.

지원 여부 기본적으로 사용 구성 책임
True 거짓 Customer

구성 지침: 인증된 웹 애플리케이션의 경우 잘 알려진 설정된 ID 공급자만 사용하여 사용자 액세스를 인증하고 권한을 부여합니다. 조직의 사용자만 앱에 액세스해야 하거나 사용자가 모두 azure Active Directory(Azure AD)를 사용하는 경우 Azure AD 데이터 평면 액세스를 제어하는 기본 인증 방법으로 구성합니다.

참조: Azure App Service 및 Azure Functions 인증 및 권한 부여

데이터 평면 액세스에 대한 로컬 인증 방법

설명: 로컬 사용자 이름 및 암호와 같은 데이터 평면 액세스에 지원되는 로컬 인증 방법입니다. 자세히 알아봅니다.

지원됨 기본적으로 사용 구성 책임
True 거짓 Customer

기능 정보: 로컬 인증 방법 또는 계정을 사용하지 않도록 하려면 가능하면 사용하지 않도록 설정해야 합니다. 대신 Azure AD 사용하여 가능한 경우 인증합니다.

구성 지침: 데이터 평면 액세스에 대한 로컬 인증 방법 사용을 제한합니다. 대신 Azure Active Directory(Azure AD)를 기본 인증 방법으로 사용하여 데이터 평면 액세스를 제어합니다.

참조: Azure App Service 및 Azure Functions 인증 및 권한 부여

IM-3: 애플리케이션 ID를 안전하게 자동으로 관리

기능

관리 ID

설명: 데이터 평면 작업은 관리 ID를 사용한 인증을 지원합니다. 자세히 알아봅니다.

지원 여부 기본적으로 사용 구성 책임
True 거짓 Customer

구성 지침: 가능하면 서비스 주체 대신 Azure 관리 ID를 사용합니다. 이 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 거짓 Customer

추가 지침: 서비스 주체는 인증 패턴으로 서비스에서 지원되지만 가능한 경우 관리 ID를 대신 사용하는 것이 좋습니다.

클라우드용 Microsoft Defender 모니터링

Azure Policy 기본 제공 정의 - Microsoft.Web:

Name
(Azure Portal)
Description 효과 버전
(GitHub)
API 앱에서 관리 ID를 사용해야 합니다. 인증 보안 강화를 위해 관리 ID 사용 AuditIfNotExists, 사용 안 함 2.0.0
함수 앱에서 관리 ID를 사용해야 합니다. 인증 보안 강화를 위해 관리 ID 사용 AuditIfNotExists, 사용 안 함 2.0.0
웹앱에서 관리 ID를 사용해야 합니다. 인증 보안 강화를 위해 관리 ID 사용 AuditIfNotExists, 사용 안 함 2.0.0

IM-7: 조건에 따라 리소스 액세스 제한

기능

데이터 평면에 대한 조건부 액세스

설명: Azure AD 조건부 액세스 정책을 사용하여 데이터 평면 액세스를 제어할 수 있습니다. 자세히 알아봅니다.

지원 여부 기본적으로 사용 구성 책임
True 거짓 Customer

구성 지침: 워크로드에서 Azure Active Directory(Azure AD) 조건부 액세스에 해당하는 조건 및 조건을 정의합니다. 특정 위치의 액세스 차단 또는 부여, 위험한 로그인 동작 차단 또는 특정 애플리케이션에 대한 조직 관리 디바이스 요구와 같은 일반적인 사용 사례를 고려합니다.

IM-8: 자격 증명 및 비밀 노출 제한

기능

Azure Key Vault 서비스 자격 증명 및 비밀 지원 통합 및 스토리지

설명: 데이터 평면은 자격 증명 및 비밀 저장소에 대한 Azure Key Vault 기본 사용을 지원합니다. 자세히 알아봅니다.

지원 여부 기본적으로 사용 구성 책임
True 거짓 Customer

구성 지침: 앱 비밀 및 자격 증명이 코드 또는 구성 파일에 포함하는 대신 Azure Key Vault 같은 보안 위치에 저장되었는지 확인합니다. 앱에서 관리 ID를 사용하여 자격 증명 또는 Key Vault 저장된 비밀에 안전하게 액세스합니다.

참조: App Service 및 Azure Functions 대한 Key Vault 참조 사용

권한 있는 액세스

자세한 내용은 Azure Security Benchmark: 권한 있는 액세스를 참조하세요.

PA-7: 충분한 관리 수행(최소 권한) 원칙

기능

데이터 평면용 Azure RBAC

설명: Azure RBAC(Azure Role-Based Access Control)를 사용하여 서비스의 데이터 평면 작업에 대한 액세스를 관리할 수 있습니다. 자세히 알아봅니다.

지원 여부 기본적으로 사용 구성 책임
거짓 해당 사항 없음 해당 사항 없음

구성 지침: 이 기능은 이 서비스를 보호하기 위해 지원되지 않습니다.

PA-8: 클라우드 공급자 지원에 대한 액세스 프로세스 결정

기능

고객 Lockbox

설명: 고객 Lockbox는 Microsoft 지원 액세스에 사용할 수 있습니다. 자세히 알아봅니다.

지원 여부 기본적으로 사용 구성 책임
True 거짓 Customer

구성 지침: Microsoft가 데이터에 액세스해야 하는 지원 시나리오에서 고객 Lockbox를 사용하여 Microsoft의 각 데이터 액세스 요청을 검토, 승인 또는 거부합니다.

데이터 보호

자세한 내용은 Azure Security Benchmark: 데이터 보호를 참조하세요.

DP-1: 중요한 데이터 검색, 분류 및 레이블 지정

기능

중요한 데이터 검색 및 분류

설명: 도구(예: Azure Purview 또는 Azure Information Protection)를 서비스의 데이터 검색 및 분류에 사용할 수 있습니다. 자세히 알아봅니다.

지원됨 기본적으로 사용 구성 책임
거짓 해당 사항 없음 해당 사항 없음

기능 정보: 빌드 파이프라인에서 자격 증명 스캐너를 구현하여 코드 내에서 자격 증명을 식별합니다. 또한 자격 증명 스캐너는 검색된 자격 증명을 더 안전한 위치(예: Azure Key Vault)로 이동하도록 추천합니다.

구성 지침: 이 기능은 이 서비스를 보호하기 위해 지원되지 않습니다.

DP-2: 중요한 데이터를 대상으로 하는 변칙 및 위협 모니터링

기능

데이터 누출/손실 방지

설명: 서비스는 중요한 데이터 이동을 모니터링하는 DLP 솔루션을 지원합니다(고객의 콘텐츠에서). 자세히 알아봅니다.

지원됨 기본적으로 사용 구성 책임
거짓 해당 사항 없음 해당 사항 없음

기능 정보: 데이터 식별, 분류 및 손실 방지 기능은 아직 App Service 사용할 수 없지만 대상에서 인터넷 또는 Azure 서비스에 '태그'를 사용하는 모든 규칙을 제거하여 가상 네트워크에서 데이터 반출 위험을 줄일 수 있습니다.

Microsoft는 App Service의 기본 인프라를 관리하며 고객 데이터의 손실 또는 노출을 방지하기 위해 엄격한 제어를 구현했습니다.

태그를 사용하여 중요한 정보를 저장하거나 처리하는 App Service 리소스를 추적할 수 있습니다.

구성 지침: 이 기능은 이 서비스를 보호하기 위해 지원되지 않습니다.

DP-3: 전송 중인 중요한 데이터 암호화

기능

전송 암호화의 데이터

설명: 서비스는 데이터 평면에 대한 전송 중 데이터 암호화를 지원합니다. 자세히 알아봅니다.

지원됨 기본적으로 사용 구성 책임
True 거짓 Customer

구성 지침: 전송 중인 모든 정보를 암호화하기 위해 TLS/SSL 설정에 구성된 TLS v1.2의 기본 최소 버전을 사용하고 적용합니다. 또한 모든 HTTP 연결 요청이 HTTPS로 리디렉션되도록 합니다.

참조: Azure App Service TLS/SSL 인증서 추가

클라우드용 Microsoft Defender 모니터링

Azure Policy 기본 제공 정의 - Microsoft.Web:

Name
(Azure Portal)
Description 효과 버전
(GitHub)
API 앱은 HTTPS를 통해서만 액세스할 수 있어야 합니다. HTTPS를 사용하여 서버/서비스 인증을 보장하고 전송 중인 데이터를 네트워크 계층 도청 공격으로부터 보호합니다. 감사, 사용 안 함 1.0.0
API 앱에서 FTPS만 요구해야 합니다. 강화된 보안을 위해 FTPS 적용 사용 AuditIfNotExists, 사용 안 함 2.0.0
함수 앱에서 FTPS만 요구해야 합니다. 강화된 보안을 위해 FTPS 적용 사용 AuditIfNotExists, 사용 안 함 2.0.0
웹앱에서 FTPS를 요구해야 합니다. 강화된 보안을 위해 FTPS 적용 사용 AuditIfNotExists, 사용 안 함 2.0.0
함수 앱은 HTTPS를 통해서만 액세스할 수 있어야 합니다. HTTPS를 사용하여 서버/서비스 인증을 보장하고 전송 중인 데이터를 네트워크 계층 도청 공격으로부터 보호합니다. 감사, 사용 안 함 1.0.0
API 앱에서 최신 TLS 버전을 사용해야 합니다. 최신 TLS 버전으로 업그레이드 AuditIfNotExists, 사용 안 함 1.0.0
함수 앱에서 최신 TLS 버전을 사용해야 합니다. 최신 TLS 버전으로 업그레이드 AuditIfNotExists, 사용 안 함 1.0.0
웹앱에서 최신 TLS 버전을 사용해야 합니다. 최신 TLS 버전으로 업그레이드 AuditIfNotExists, 사용 안 함 1.0.0
웹 애플리케이션은 HTTPS를 통해서만 액세스할 수 있어야 합니다. HTTPS를 사용하여 서버/서비스 인증을 보장하고 전송 중인 데이터를 네트워크 계층 도청 공격으로부터 보호합니다. 감사, 사용 안 함 1.0.0

DP-4: 기본적으로 미사용 데이터 암호화 사용하도록 설정

기능

플랫폼 키를 사용하여 미사용 데이터 암호화

설명: 플랫폼 키를 사용한 미사용 데이터 암호화가 지원되며 미사용 고객 콘텐츠는 이러한 Microsoft 관리형 키로 암호화됩니다. 자세히 알아봅니다.

지원됨 기본적으로 사용 구성 책임
True True Microsoft

기능 정보: 파일과 같은 App Service 앱의 웹 사이트 콘텐츠는 미사용 콘텐츠를 자동으로 암호화하는 Azure Storage에 저장됩니다. 애플리케이션 비밀을 Key Vault에 저장하고 런타임에 검색하도록 선택합니다.

고객이 제공한 비밀은 App Service 구성 데이터베이스에 저장되는 동안 미사용 상태로 암호화됩니다.

로컬로 연결된 디스크는 웹 사이트에서 필요에 따라 임시 스토리지로 사용할 수 있지만(예: D:\local 및 %TMP%) 미사용 상태로 암호화되지 않습니다.

구성 지침: 기본 배포에서 사용하도록 설정되므로 추가 구성이 필요하지 않습니다.

DP-5: 필요한 경우 미사용 데이터 암호화에서 고객 관리형 키 옵션 사용

기능

CMK를 사용한 미사용 데이터 암호화

설명: 고객 관리형 키를 사용한 미사용 데이터 암호화는 서비스에서 저장된 고객 콘텐츠에 대해 지원됩니다. 자세히 알아봅니다.

지원됨 기본적으로 사용 구성 책임
True 거짓 Customer

구성 지침: 규정 준수에 필요한 경우 고객 관리형 키를 사용한 암호화가 필요한 사용 사례 및 서비스 범위를 정의합니다. 해당 서비스에 대해 고객 관리형 키를 사용하여 미사용 데이터 암호화를 사용하도록 설정하고 구현합니다.

참고: 파일과 같은 App Service 앱의 웹 사이트 콘텐츠는 미사용 콘텐츠를 자동으로 암호화하는 Azure Storage에 저장됩니다. 애플리케이션 비밀을 Key Vault에 저장하고 런타임에 검색하도록 선택합니다.

고객이 제공한 비밀은 App Service 구성 데이터베이스에 저장되는 동안 미사용 상태로 암호화됩니다.

로컬로 연결된 디스크는 웹 사이트에서 필요에 따라 임시 스토리지로 사용할 수 있지만(예: D:\local 및 %TMP%) 미사용 상태로 암호화되지 않습니다.

참조: 고객 관리형 키를 사용하여 미사용 데이터 암호화

DP-6: 보안 키 관리 프로세스 사용

기능

Azure Key Vault 키 관리

설명: 이 서비스는 고객 키, 비밀 또는 인증서에 대한 Azure Key Vault 통합을 지원합니다. 자세히 알아봅니다.

지원됨 기본적으로 사용 구성 책임
True 거짓 Customer

구성 지침: Azure Key Vault 사용하여 키 생성, 배포 및 스토리지를 포함하여 암호화 키의 수명 주기를 만들고 제어합니다. 정의된 일정에 따라 또는 키 사용 중지 또는 손상이 있는 경우 Azure Key Vault 및 서비스에서 키를 회전하고 해지합니다. 워크로드, 서비스 또는 애플리케이션 수준에서 CMK(고객 관리형 키)를 사용해야 하는 경우 키 관리에 대한 모범 사례를 따라야 합니다. 키 계층 구조를 사용하여 키 자격 증명 모음에 KEK(키 암호화 키)와 함께 별도의 DEK(데이터 암호화 키)를 생성합니다. 키가 Azure Key Vault 등록되고 서비스 또는 애플리케이션의 키 ID를 통해 참조되는지 확인합니다. 온-프레미스 HSM에서 Azure Key Vault HSM으로 HSM 보호 키를 가져오는 등 BYOK(사용자 고유의 키)를 서비스에 가져와야 하는 경우 권장 지침에 따라 초기 키 생성 및 키 전송을 수행합니다.

참조: App Service 및 Azure Functions 대한 Key Vault 참조 사용

DP-7: 보안 인증서 관리 프로세스 사용

기능

Azure Key Vault 인증서 관리

설명: 이 서비스는 모든 고객 인증서에 대한 Azure Key Vault 통합을 지원합니다. 자세히 알아봅니다.

지원됨 기본적으로 사용 구성 책임
True 거짓 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 인증서 추가

자산 관리

자세한 내용은 Azure Security Benchmark: 자산 관리를 참조하세요.

AM-2: 승인된 서비스만 사용

기능

Azure Policy 지원

설명: Azure Policy 통해 서비스 구성을 모니터링하고 적용할 수 있습니다. 자세히 알아봅니다.

지원 여부 기본적으로 사용 구성 책임
True 거짓 Customer

구성 지침: Microsoft Defender for Cloud를 사용하여 Azure 리소스의 구성을 감사하고 적용하는 Azure Policy 구성합니다. 리소스에서 구성 편차가 검색되면 Azure Monitor를 사용하여 경고를 만듭니다. Azure Policy [거부] 및 [존재하지 않는 경우 배포] 효과를 사용하여 Azure 리소스에서 보안 구성을 적용합니다.

참고: Azure Policy 사용하여 App Service 배포된 앱에 대한 표준 보안 구성을 정의하고 구현합니다. "Microsoft.Web" 네임스페이스의 Azure Policy 별칭뿐만 아니라 기본 제공 Azure Policy 정의를 사용하여 시스템 구성을 경고, 감사 및 적용하는 사용자 지정 정책을 만듭니다. 정책 예외를 관리하는 프로세스 및 파이프라인을 개발합니다.

참조: Azure App Service 대한 Azure Policy 규정 준수 제어

AM-4: 자산 관리에 대한 액세스 제한

AM-4에 대한 기타 지침

중요한 정보를 처리하는 시스템을 격리합니다. 이렇게 하려면 별도의 App Service 계획 또는 App Service 환경을 사용하고 다른 구독 또는 관리 그룹의 사용을 고려합니다.

로깅 및 위협 탐지

자세한 내용은 Azure Security Benchmark: 로깅 및 위협 검색을 참조하세요.

LT-1: 위협 탐지 기능 사용하도록 설정

기능

Microsoft Defender for Service/ 제품 제품

설명: 서비스에는 보안 문제를 모니터링하고 경고하는 제품별 Microsoft Defender 솔루션이 있습니다. 자세히 알아봅니다.

지원 여부 기본적으로 사용 구성 책임
True 거짓 Customer

구성 지침: App Service Microsoft Defender를 사용하여 App Service 실행되는 애플리케이션을 대상으로 하는 공격을 식별합니다. App Service용 Microsoft Defender를 사용하도록 설정하면 이 Defender 플랜에서 제공하는 다음과 같은 서비스를 즉시 이용할 수 있습니다.

  • 보안: App Service Defender는 App Service 계획에서 다루는 리소스를 평가하고 그 결과에 따라 보안 권장 사항을 생성합니다. 이 권장 사항의 세부 지침을 사용하여 앱 서비스 리소스를 강화하세요.

  • 검색: App Service Defender는 App Service 실행 중인 VM 인스턴스 및 해당 관리 인터페이스, App Service 앱, 기본 샌드박스 및 VM과 주고 받는 요청 및 응답을 모니터링하여 App Service 리소스에 대한 다양한 위협을 감지합니다. 내부 로그를 App Service.

참조: 웹앱 및 API 보호

LT-4: 보안 조사를 위해 로깅 사용

기능

Azure 리소스 로그

설명: 서비스는 향상된 서비스별 메트릭 및 로깅을 제공할 수 있는 리소스 로그를 생성합니다. 고객은 이러한 리소스 로그를 구성하고 스토리지 계정 또는 로그 분석 작업 영역과 같은 자체 데이터 싱크로 보낼 수 있습니다. 자세히 알아봅니다.

지원됨 기본적으로 사용 구성 책임
True 거짓 Customer

구성 지침: App Service 웹앱에 대한 리소스 로그를 사용하도록 설정합니다.

참조: Azure App Service 앱에 대한 진단 로깅 사용

포스처 및 취약성 관리

자세한 내용은 Azure Security Benchmark: 자세 및 취약성 관리를 참조하세요.

PV-2: 보안 구성 감사 및 적용

PV-2에 대한 기타 지침

원격 디버깅을 해제하면 공격 표면을 증가시키는 서비스에 추가 포트가 열리기 때문에 프로덕션 워크로드에 대해 원격 디버깅을 켜서는 안 됩니다.

클라우드용 Microsoft Defender 모니터링

Azure Policy 기본 제공 정의 - Microsoft.Web:

Name
(Azure Portal)
Description 효과 버전
(GitHub)
CORS에서 모든 리소스가 API 앱에 액세스하도록 허용해서는 안 됩니다. CORS(교차 원본 리소스 공유)는 API 앱에 액세스하는 모든 도메인을 허용하지 않아야 합니다. 필요한 도메인만 API 앱과 상호 작용할 수 있도록 허용합니다. AuditIfNotExists, 사용 안 함 1.0.0
CORS에서 모든 리소스가 함수 앱에 액세스하도록 허용해서는 안 됩니다. CORS(교차 원본 리소스 공유)는 함수 앱에 액세스하는 모든 도메인을 허용하지 않아야 합니다. 필요한 도메인만 함수 앱과 상호 작용할 수 있도록 허용합니다. AuditIfNotExists, 사용 안 함 1.0.0
CORS에서 모든 리소스가 웹 애플리케이션에 액세스하도록 허용해서는 안 됩니다. CORS(교차 원본 리소스 공유)는 웹 애플리케이션에 액세스하는 모든 도메인을 허용하지 않아야 합니다. 필요한 도메인만 웹앱과 상호 작용할 수 있도록 허용합니다. AuditIfNotExists, 사용 안 함 1.0.0
API 앱에서 '클라이언트 인증서(들어오는 클라이언트 인증서)'가 '켜기'로 설정되어 있는지 확인합니다. 클라이언트 인증서는 앱이 들어오는 요청에 대한 인증서를 요청하도록 허용합니다. 유효한 인증서가 있는 클라이언트만 앱에 연결할 수 있습니다. 감사, 사용 안 함 1.0.0
웹앱에서 '클라이언트 인증서(들어오는 클라이언트 인증서)'가 '켜기'로 설정되어 있는지 확인합니다. 클라이언트 인증서는 앱이 들어오는 요청에 대한 인증서를 요청하도록 허용합니다. 유효한 인증서가 있는 클라이언트만 앱에 연결할 수 있습니다. 감사, 사용 안 함 1.0.0
함수 앱은 '클라이언트 인증서(들어오는 클라이언트 인증서)'를 사용하도록 설정해야 함 클라이언트 인증서는 앱이 들어오는 요청에 대한 인증서를 요청하도록 허용합니다. 유효한 인증서가 있는 클라이언트만 앱에 연결할 수 있습니다. 감사, 사용 안 함 1.0.1
API Apps에 대해 원격 디버깅을 해제해야 합니다. 원격 디버깅에 API 앱에서 열리는 인바운드 포트가 필요합니다. 원격 디버깅을 해제해야 합니다. AuditIfNotExists, 사용 안 함 1.0.0
함수 앱에 대해 원격 디버깅을 해제해야 합니다. 원격 디버깅에 함수 앱에서 열리는 인바운드 포트가 필요합니다. 원격 디버깅을 해제해야 합니다. AuditIfNotExists, 사용 안 함 1.0.0
웹 애플리케이션에 대해 원격 디버깅을 해제해야 합니다. 원격 디버깅에 웹 애플리케이션에서 열리는 인바운드 포트가 필요합니다. 원격 디버깅을 해제해야 합니다. AuditIfNotExists, 사용 안 함 1.0.0

PV-7: 정기적인 레드 팀 작업 수행

PV-7에 대한 기타 지침

참여의 침투 테스트 규칙에 따라 웹 애플리케이션에서 정기적인 침투 테스트를 수행합니다.

Backup 및 복구

자세한 내용은 Azure 보안 벤치마크: 백업 및 복구를 참조하세요.

BR-1: 자동화된 정기 백업 보장

기능

Azure Backup

설명: Azure Backup 서비스에서 서비스를 백업할 수 있습니다. 자세히 알아봅니다.

지원됨 기본적으로 사용 구성 책임
True 거짓 Customer

구성 지침: 가능한 경우 상태 비정상 애플리케이션 디자인을 구현하여 App Service 사용하여 복구 및 백업 시나리오를 간소화합니다.

상태 저장 애플리케이션을 유지 관리해야 하는 경우 App Service 백업 및 복원 기능을 사용하도록 설정하면 수동으로 또는 일정에 따라 앱 백업을 쉽게 만들 수 있습니다. 백업이 무기한 보존되도록 구성할 수 있습니다. 기존 앱을 덮어쓰거나 다른 앱으로 복원하여 앱을 이전 상태의 스냅샷으로 복원할 수 있습니다. 조직 정책에 정의된 대로 일반 및 자동화된 백업이 빈도로 발생하는지 확인합니다.

참고: App Service 사용할 앱을 구성한 Azure Storage 계정 및 컨테이너에 다음 정보를 백업할 수 있습니다.

  • 앱 구성
  • 파일 콘텐츠
  • 앱에 연결된 데이터베이스

참조: Azure에서 앱 백업

서비스 네이티브 백업 기능

설명: 서비스는 고유한 네이티브 백업 기능을 지원합니다(Azure Backup 사용하지 않는 경우). 자세히 알아봅니다.

지원됨 기본적으로 사용 구성 책임
거짓 해당 사항 없음 해당 사항 없음

구성 지침: 이 기능은 이 서비스를 보호하기 위해 지원되지 않습니다.

DevOps 보안

자세한 내용은 Azure Security Benchmark: DevOps 보안을 참조하세요.

DS-6: DevOps 수명 주기 전반에 걸쳐 워크로드 보안 적용

DS-6에 대한 기타 지침

잘 관리되고 보안이 유지되는 DevOps 배포 파이프라인과 같이 제어되고 신뢰할 수 있는 환경에서 App Service 코드를 배포합니다. 이렇게 하면 버전이 제어되지 않고 악의적인 호스트에서 배포되는 것으로 확인되지 않은 코드가 방지됩니다.

다음 단계