Azure Functions에 대한 Azure 보안 기준

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

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

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

참고

Azure Functions에 적용되지 않는 컨트롤과 전역 지침이 권장되는 컨트롤은 제외되었습니다. Azure Functions가 Azure Security Benchmark에 완전히 매핑되는 방법을 보려면 전체 Azure Functions 보안 기준 매핑 파일을 참조하세요.

네트워크 보안

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

NS-1: 내부 트래픽에 대한 보안 구현

지침: Azure Functions 리소스를 배포할 때 기존 가상 네트워크를 만들거나 사용합니다. 모든 Azure 가상 네트워크가 비즈니스 위험에 적합한 엔터프라이즈 구분 원칙을 준수해야 합니다. 조직에 더 높은 위험을 초래할 수 있는 모든 시스템은 자체 가상 네트워크 내에서 격리되어야 하며 NSG(네트워크 보안 그룹) 및/또는 Azure Firewall으로 충분히 보호되어야 합니다.

클라우드용 Microsoft Defender 적응형 네트워크 강화를 사용하여 외부 네트워크 트래픽 규칙에 대한 참조를 기반으로 포트 및 원본 IP를 제한하는 네트워크 보안 그룹 구성을 권장합니다.

Azure Functions에는 네트워크 컨텍스트 내에서 리소스를 배포하는 두 가지 기본 방법이 있습니다. 아웃바운드 요청에 대한 강제 터널링과 인바운드 요청 가상 네트워크 통합을 위한 서비스 엔드포인트 또는 프라이빗 엔드포인트가 있는 Elastic Premium 플랜에서 함수 앱을 만들 수 있습니다. App Service Environment에서 실행하여 가상 네트워크 내에서 함수 앱을 완전히 배포할 수도 있습니다. 이러한 모드에서 작동할 때는 Functions에서 사용하는 스토리지 계정과 같은 종속성과 이벤트 또는 데이터 원본에 대해 네트워킹 규칙 및 제한을 설정해야 합니다.

Microsoft Sentinel을 사용하여 SSL/TLSv1, SMBv1, LM/NTLMv1, wDigest, 서명되지 않은 LDAP 바인딩 및 Kerberos의 약한 암호화와 같은 레거시 비보안 프로토콜의 사용을 검색합니다.

Functions 앱은 기본적으로 최소 버전으로 TLS 1.2를 지원하도록 만들어졌지만 구성 설정을 통해 앱을 하위 버전으로 구성할 수 있습니다. 기본적으로 들어오는 요청에는 HTTPS가 필요하지 않지만 구성 설정을 통해 설정할 수도 있으며, 이때 모든 HTTP 요청은 HTTPS를 사용하도록 자동으로 리디렉션됩니다.

앱에서 사용하는 특정 이벤트 원본은 네트워크로의 추가 포트 또는 네트워크에서의 추가 포트를 열어야 할 수 있지만, 기본 사례에서는 이 포트가 필요하지 않습니다.

Functions 앱은 인바운드 요청에 대한 IP 제한을 사용하여 구성할 수 있습니다. 이는 IP 블록, 가상 네트워크 서브넷 또는 서비스 태그에 대한 허용 또는 거부 규칙의 우선 순위 목록을 통해 설정됩니다.

책임: Customer

NS-2: 여러 사설망 함께 연결

지침: Azure ExpressRoute 또는 Azure VPN(가상 사설망)을 사용하면 공동 배치 환경의 온-프레미스 인프라와 Azure 데이터 센터와 간에 프라이빗 연결을 만들 수 있습니다. ExpressRoute 연결은 공용 인터넷을 통해 연결되지 않으며 일반적인 인터넷 연결보다 안정적이고 속도가 빠르며 대기 시간이 짧습니다. 지점 및 사이트 간 VPN 및 사이트 간 VPN의 경우 이러한 VPN 옵션과 Azure ExpressRoute를 조합하여 온-프레미스 디바이스 또는 네트워크를 가상 네트워크에 연결할 수 있습니다.

Azure에 둘 이상의 가상 네트워크를 함께 연결하려면 가상 네트워크 피어링을 사용합니다. 피어링된 가상 네트워크 간의 네트워크 트래픽은 비공개이며 Azure 백본 네트워크에 유지됩니다.

책임: Customer

NS-3: Azure 서비스에 대한 프라이빗 네트워크 액세스 설정

지침: Azure Private Link를 사용하여 인터넷을 통하지 않고 가상 네트워크에서 Azure Functions에 대한 프라이빗 액세스를 사용하도록 설정할 수 있습니다.

프라이빗 액세스는 Azure 서비스에서 제공하는 인증 및 트래픽 보안에 대한 추가적인 심층 방어 수단입니다.

함수에 대한 인바운드 프라이빗 엔드포인트 연결을 만들 때 프라이빗 주소를 확인하려면 DNS 레코드도 필요합니다. 기본적으로 Azure Portal을 사용하여 프라이빗 엔드포인트를 만들 때 프라이빗 DNS 레코드가 생성됩니다.

프라이빗 엔드포인트를 사용할 수 없는 경우, Azure Virtual Network 서비스 엔드포인트를 사용하여 인터넷을 통과하지 않고 Azure 백본 네트워크를 통해 최적화된 경로를 통해 Azure Functions에 대한 보안 액세스를 제공합니다. Azure Functions의 애플리케이션 및 서브넷 수준에서 서비스 엔드포인트를 사용하도록 설정할 수 있습니다.

서비스 엔드포인트를 사용하여 App Service Environment에서 실행되는 앱에 대한 액세스를 제한할 수 없습니다. 앱이 App Service Environment에 있는 경우 IP 액세스 규칙을 적용하여 해당 앱에 대한 액세스를 제어할 수 있습니다.

책임: Customer

NS-4: 외부의 네트워크 공격으로부터 애플리케이션 및 서비스 보호

지침: 분산 서비스 거부(DDoS) 공격, 애플리케이션 관련 공격, 원치 않는 잠재적 악성 인터넷 트래픽 등의 외부 네트워크의 공격으로부터 Azure Functions 리소스를 보호합니다. Azure Firewall을 사용하면 인터넷 및 기타 외부 위치의 잠재적인 악성 트래픽으로부터 애플리케이션 및 서비스를 보호할 수 있습니다. Azure 가상 네트워크에서 DDoS 표준 보호를 사용하도록 설정하면 DDoS 공격으로부터 자산을 보호할 수 있습니다. 클라우드용 Microsoft Defender를 사용하여 네트워크 관련 리소스에 대한 잘못된 구성 위험을 검색합니다.

Azure Application Gateway, Azure Front Door 및 Azure CDN(콘텐츠 배달 네트워크)의 WAF(Web Application Firewall) 기능을 사용하여 응용프로그램 계층 공격으로부터 Azure Functions에서 실행되는 응용프로그램을 보호합니다.

Web Application Firewall을 도입하려면 App Service Environment 또는 프라이빗 엔드포인트를 사용해야 합니다.

책임: Customer

NS-6: 네트워크 보안 규칙 간소화

지침: Azure Virtual Network 서비스 태그를 사용하여 Azure Functions 리소스에 대해 구성된 네트워크 보안 그룹 또는 Azure Firewall에 대한 네트워크 액세스 제어를 정의합니다. 보안 규칙을 만들 때 특정 IP 주소 대신 서비스 태그를 사용할 수 있습니다. 서비스 태그 이름을 규칙의 적절한 원본 또는 대상 필드에 지정하면 해당 서비스에 대한 트래픽을 허용하거나 거부할 수 있습니다. Microsoft에서는 서비스 태그에서 압축한 주소 접두사를 관리하고 주소를 변경하는 대로 서비스 태그를 자동으로 업데이트합니다.

"AppService" 서비스 태그는 서비스의 IP 범위를 요약하고 아웃바운드 규칙에 사용할 수 있습니다.

"AppServiceManagement" 서비스 태그는 App Service Environment 전용 배포에 대한 관리 트래픽을 요약합니다.

책임: Customer

NS-7: 보안 DNS(Domain Name Service)

참고 자료: DNS 보안에 대한 모범 사례에 따라 현수 DNS, DNS 증폭 공격, DNS 중독 및 스푸핑 등의 일반적인 공격을 완화합니다.

Azure DNS를 신뢰할 수 있는 DNS 서비스로 사용하는 경우 Azure RBAC 및 리소스 잠금을 사용하여 우발적이거나 악의적인 수정으로부터 DNS 영역 및 레코드를 보호해야 합니다.

함수 앱이 App Service Environment에서 실행 중이고 가상 네트워크가 고객이 선택한 DNS 서버로 구성된 경우 Functions 앱 워크로드에서 이를 사용합니다. DNS 서버는 App Service Environment가 포함된 서브넷에서 연결할 수 있어야 합니다. 환경 자체는 여전히 관리 목적으로 Azure DNS를 사용합니다.

책임: 공유됨

ID 관리

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

IM-1: Azure Active Directory를 중앙 ID 및 인증 시스템으로 표준화

지침: Azure Functions는 기본 ID 및 액세스 관리 서비스로 Azure Active Directory(Azure AD)를 사용합니다. Azure AD를 표준화하여 다음 리소스에서 조직의 ID 및 액세스 관리를 관리해야 합니다.

  • Microsoft 클라우드 리소스(예: Azure Portal, Azure Storage, Azure Virtual Machines(Linux 및 Windows), Azure Key Vault, PaaS 및 SaaS 애플리케이션)
  • 조직의 리소스(예: Azure의 애플리케이션 또는 회사 네트워크 리소스)

Azure AD 보안 우선 순위는 조직의 클라우드 보안 사례에서 높아야 합니다. Azure AD는 Microsoft의 모범 사례 권장 사항을 기준으로 ID 보안 태세를 평가하는 데 도움이 되는 ID 보안 점수를 제공합니다. 점수를 사용하여 구성이 모범 사례 권장 사항에 얼마나 근접하게 일치하는지 측정하고 보안 태세를 개선할 수 있습니다.

참고: Azure AD는 Microsoft 계정이 없는 사용자가 애플리케이션 및 리소스에 로그인할 수 있게 하는 외부 ID를 지원합니다.

책임: Customer

클라우드용 Microsoft Defender 모니터링: Azure 보안 벤치마크는 클라우드용 Microsoft Defender의 기본 정책 이니셔티브이며 클라우드용 Microsoft Defender 권장 사항의 기초입니다. 이 제어와 관련된 Azure Policy 정의는 클라우드용 Microsoft Defender에서 사용하도록 자동으로 설정됩니다. 이 컨트롤과 관련된 경고에는 관련 서비스에 대한 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-2: 애플리케이션 ID를 안전하게 자동으로 관리

지침: Azure Functions에서는 Azure 관리 ID를 비사용자 계정(예: 서비스 또는 자동화)에 사용합니다. 리소스를 액세스하거나 실행할 수 있는 더 강력한 사용자 계정을 만드는 대신 Azure 관리 ID 기능을 사용하는 것이 좋습니다. Azure Functions는 소스 코드 또는 구성 파일에 하드 코딩된 자격 증명을 사용하지 않고 미리 정의된 액세스 인증 규칙을 통해 Azure AD 인증을 지원하는 Azure 서비스/리소스에 기본적으로 인증할 수 있습니다.

Azure Functions는 시스템이 할당한 관리 ID 및 사용자가 할당한 관리 ID를 지원합니다. 관리 ID는 고객이 배포한 코드에서 다른 리소스에 대한 토큰을 요청하는 데 활용할 수 있습니다. 키 자격 증명 모음에서 비밀을 확인하거나 컨테이너 레지스트리에서 이미지를 끌어오는 것과 같은 서비스 기능에도 ID를 사용할 수 있습니다.

책임: Customer

클라우드용 Microsoft Defender 모니터링: Azure 보안 벤치마크는 클라우드용 Microsoft Defender의 기본 정책 이니셔티브이며 클라우드용 Microsoft Defender 권장 사항의 기초입니다. 이 제어와 관련된 Azure Policy 정의는 클라우드용 Microsoft Defender에서 사용하도록 자동으로 설정됩니다. 이 컨트롤과 관련된 경고에는 관련 서비스에 대한 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-3: 애플리케이션 액세스에 Azure AD SSO(Single Sign-On) 사용

지침: Azure Functions는 Azure Active Directory를 사용하여 Azure 리소스, 클라우드 애플리케이션 및 온-프레미스 애플리케이션에 ID 및 액세스 관리를 제공합니다. 여기에는 직원과 같은 엔터프라이즈 ID와 파트너, 공급자 및 공급자와 같은 외부 ID가 포함됩니다. 이를 통해 SSO(Single Sign-On)는 온-프레미스 및 클라우드에서 조직의 데이터 및 리소스에 대한 액세스를 관리하고 보호할 수 있습니다. 모든 사용자, 애플리케이션, 디바이스를 Azure AD에 연결하여 원활하고 안전하게 액세스하고 가시성과 제어를 강화할 수 있습니다.

책임: Customer

IM-5: 비정상 계정 활동 모니터링 및 경고

지침: Azure Functions는 다음과 같은 데이터 원본을 제공하는 Azure Active Directory와 통합됩니다.

  • 로그인 – 로그인 보고서는 관리형 애플리케이션 및 사용자 로그인 활동의 사용에 대한 정보를 제공합니다.
  • 감사 로그 - Azure AD 내의 다양한 기능에 의해 수행된 모든 변경 내용에 대한 로그를 통한 추적 기능을 제공합니다. 감사 로그의 예제로는 사용자, 앱, 그룹, 역할 및 정책 추가 또는 제거와 같은 Azure AD 내의 모든 리소스에 대한 변경 내용이 있습니다.
  • 위험한 로그인 - 위험한 로그인은 사용자 계정의 정당한 소유자가 아닌 사용자에 의해 수행된 로그인 시도에 대한 지표입니다.
  • 위험 플래그가 지정된 사용자 - 위험한 사용자는 손상되었을 수 있는 사용자 계정에 대한 표시기입니다.

이 데이터 원본은 Azure Monitor, Microsoft Sentinel 또는 타사 SIEM 시스템에 통합할 수 있습니다.

클라우드용 Microsoft Defender는 인증 시도 실패 횟수 또는 구독에서 더 이상 사용되지 않는 계정과 같은 특정 의심스러운 작업에 대해 경고할 수도 있습니다.

Azure ATP(Advanced Threat Protection)는 Active Directory 신호를 사용하여 지능형 위협, 손상된 ID 및 악의적인 참가자 작업을 식별, 탐지 및 조사할 수 있는 보안 솔루션입니다.

애플리케이션 런타임에 의해 노출되는 일부 작업은 관리 키를 사용하여 수행할 수 있습니다. 이 키는 Azure Key Vault에 저장할 수 있으며 언제든지 다시 생성될 수 있습니다.

책임: Customer

IM-7: 의도하지 않은 자격 증명 노출 제거

지침: Azure Functions를 사용하면 고객이 ID/비밀을 사용하여 잠재적으로 코드, 구성 또는 지속형 데이터를 배포/실행할 수 있습니다. 코드 또는 구성 또는 지속형 데이터 내에서 자격 증명을 식별하기 위해 자격 증명 스캐너를 구현하는 것이 좋습니다. 또한 자격 증명 스캐너는 검사된 자격 증명을 Azure Key Vault와 같은 보다 안전한 위치로 이동하도록 권장합니다.

GitHub의 경우 네이티브 비밀 검사 기능을 사용하여 코드 내에서 자격 증명 또는 다른 형태의 비밀을 식별할 수 있습니다.

Azure Functions에는 코드를 변경하지 않고 Key Vault의 비밀을 참조하는 기본 제공 기능이 있습니다.

책임: Customer

권한 있는 액세스

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

PA-1: 높은 권한이 있는 사용자 보호 및 제한

지침: 전용 관리 계정 사용에 대한 표준 운영 절차를 만듭니다.

관리 키를 사용하여 앱에 대한 일부 관리 작업을 수행할 수 있습니다. 관리 키는 Azure Key Vault와 같은 보안 리포지토리에서 관리해야 합니다.

책임: Customer

PA-2: 중요 비즈니스용 시스템에 대한 관리 액세스 제한

지침: Azure Functions는 Azure RBAC(Azure 역할 기반 액세스 제어)를 사용하여 구독 및 관리 그룹에 대한 액세스 권한이 부여되는 계정을 제한함으로써 중요 비즈니스용 시스템에 대한 액세스를 격리합니다.

또한 중요 비즈니스용 시스템에 설치된 에이전트를 사용하여 Active Directory DC(도메인 컨트롤러), 보안 도구 및 시스템 관리 도구 등의 중요 비즈니스용 액세스에 대한 관리 액세스 제어가 있는 관리, ID 및 보안 시스템에 대한 액세스를 제한해야 합니다. 이러한 관리 및 보안 시스템을 손상시키는 공격자는 이러한 사항을 즉시 무기화하여 중요 비즈니스용 자산을 손상시킬 수 있습니다.

모든 유형의 액세스 제어는 일관된 액세스 제어를 보장하기 위해 엔터프라이즈 조각화 전략에 맞게 조정되어야 합니다.

함수 앱에 대한 배포 권한이 있는 계정에는 디버깅 액세스 권한이 있으므로 작동하는 모든 시스템 또는 데이터에 액세스할 수 있습니다. 이 권한은 기여자 및 소유자 역할에 의해 암시됩니다.

책임: Customer

PA-3: 정기적으로 사용자 액세스 검토 및 조정

지침: Azure Functions가 Azure AD(Azure Active Directory) 계정을 사용하여 리소스를 관리하고, 사용자 계정 및 액세스 할당을 정기적으로 검토하여 계정 및 해당 액세스가 유효한지 확인합니다. Azure AD 및 액세스 검토를 사용하여 그룹 멤버 자격, 엔터프라이즈 애플리케이션에 대한 액세스 및 역할 할당을 검토할 수 있습니다. Azure AD 보고는 부실 계정을 검색하는 데 도움이 되는 로그를 제공할 수 있습니다. 또한 Azure AD PIM(Privileged Identity Management)을 사용하여 액세스 검토 보고서 워크플로를 만들어 검토 프로세스를 용이하게 할 수 있습니다.

또한 과도한 수의 관리자 계정이 만들어질 때 경고하고 부실하거나 부적절하게 구성된 관리자 계정을 식별하도록 Azure AD PIM을 구성할 수도 있습니다.

참고: 일부 Azure 서비스는 Azure AD를 통해 관리되지 않는 로컬 사용자 및 역할을 지원합니다. 해당 사용자는 별도로 관리해야 합니다.

책임: Customer

PA-6: 권한 있는 액세스 워크스테이션 사용

참고 자료: 안전하고 격리된 워크스테이션은 관리자, 개발자 및 중요한 서비스 운영자와 같은 중요한 역할의 보안에 매우 중요합니다. 관리 작업에는 매우 안전한 사용자 워크스테이션 및/또는 Azure Bastion을 사용합니다. Azure AD(Azure Active Directory), Microsoft Defender ATP(Advanced Threat Protection) 및/또는 Microsoft Intune을 사용하여 관리 작업을 위한 관리형 보안 사용자 워크스테이션을 배포합니다. 보안 워크스테이션을 중앙에서 관리하여 강력한 인증, 소프트웨어 및 하드웨어 기준 설정, 제한된 논리 및 네트워크 액세스를 비롯한 보안 구성을 시행할 수 있습니다.

책임: Customer

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

지침: Azure Functions가 Azure RBAC(Azure 역할 기반 액세스 제어)와 통합되어 해당 리소스를 관리합니다. Azure RBAC를 사용하면 역할 할당을 통해 Azure 리소스 액세스를 관리할 수 있습니다. 이러한 역할은 사용자, 그룹 서비스 주체 및 관리 ID에 할당할 수 있습니다. 특정 리소스에 대해 미리 정의된 기본 제공 역할이 있으며 이러한 역할은 Azure CLI, Azure PowerShell 또는 Azure Portal과 같은 도구를 통해 쿼리하거나 인벤토리에 포함할 수 있습니다. Azure RBAC를 통해 리소스에 할당하는 권한은 항상 역할에 필요한 권한으로 제한해야 합니다. 이러게 Azure AD PIM(Privileged Identity Management)의 JIT(Just-in-Time) 접근 방식을 보완하고 정기적으로 검토해야 합니다.

기본 제공 역할을 사용하여 권한을 할당하고 필요할 때만 사용자 지정 역할을 만듭니다.

일부 작업은 관리 키로 제어할 수 있는 앱에 의해 노출됩니다. Azure Key Vault를 사용하여 이 키에 대한 액세스를 제어합니다.

책임: Customer

PA-8: Microsoft 지원에 대한 승인 프로세스 선택

지침: Microsoft가 고객 데이터에 액세스해야 하는 지원 시나리오에서 Azure Functions는 고객 Lockbox가 고객 데이터 액세스 요청을 검토, 승인 또는 거부할 수 있는 인터페이스를 제공합니다.

책임: Customer

데이터 보호

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

DP-2: 중요한 데이터 보호

참고 자료: Azure RBAC(Azure 역할 기반 액세스 제어), 네트워크 기반 액세스 제어 및 Azure 서비스의 특정 제어(예: 암호화)를 사용하여 액세스를 제한하여 중요한 데이터를 보호합니다.

일관된 액세스 제어를 보장하려면 모든 유형의 액세스 제어를 엔터프라이즈 조각화 전략에 맞게 조정해야 합니다. 또한 엔터프라이즈 조각화 전략은 중요 비즈니스용 데이터 및 시스템의 위치를 통해 알려야 합니다.

Microsoft에서 관리하는 기본 플랫폼의 경우 Microsoft는 모든 고객 콘텐츠를 중요한 콘텐츠로 간주하고 고객 데이터가 손실 및 노출되지 않도록 보호합니다. Azure 내의 고객 데이터를 안전하게 유지하기 위해 Microsoft는 몇 가지 기본 데이터 보호 제어 및 기능을 구현했습니다.

책임: Customer

DP-3: 중요한 데이터의 무단 전송 모니터링

지침: 엔터프라이즈 가시성 및 제어를 벗어난 위치로의 무단 데이터 전송을 모니터링합니다. 여기에는 일반적으로 무단 데이터 반출을 나타낼 수 있는 비정상 활동(대량 또는 비정상 전송)에 대한 모니터링이 포함됩니다. App Service용 Microsoft Defender를 사용하도록 설정하여 Azure Functions와 관련된 비정상적인 활동에 대한 경고를 지원합니다.

AIP(Azure Information Protection)는 분류되고 레이블이 지정된 정보에 대한 모니터링 기능을 제공합니다.

DLP(데이터 손실 방지)를 준수하는 데 필요한 경우 데이터 반출을 방지하기 위해 호스트 기반 DLP 솔루션을 사용하여 탐지 및/또는 예방 제어를 적용할 수 있습니다.

책임: Customer

DP-4: 전송 중인 중요한 정보 암호화

지침: 액세스 제어를 보완하려면 공격자가 데이터를 쉽게 읽거나 수정할 수 없도록 암호화를 사용하여 '대역 외' 공격(예: 트래픽 캡처)으로부터 전송 중인 데이터를 보호해야 합니다.

Azure Functions는 TLS v1.2 이상을 사용하여 전송 중 데이터 암호화를 지원합니다.

사설망의 트래픽에서는 선택 사항이지만, 외부 및 공용 네트워크의 트래픽에서 매우 중요합니다. HTTP 트래픽의 경우 Azure 리소스에 연결하는 모든 클라이언트에서 TLS v1.2 이상을 협상할 수 있는지 확인합니다. 원격 관리의 경우 암호화되지 않은 프로토콜 대신 SSH(Linux용) 또는 RDP/TLS(Windows용)를 사용합니다. 더 이상 사용되지 않는 SSL, TLS, SSH 버전 및 프로토콜, 약한 암호는 사용하지 않도록 설정해야 합니다.

Azure는 기본적으로 Azure 데이터 센터 간에 전송 중인 데이터에 대한 암호화를 제공합니다.

구성 설정은 필요한 경우 이전 버전의 TLS를 사용할 수 있지만 기본적으로 최소 버전은 TLS 1.2입니다.

책임: 공유됨

클라우드용 Microsoft Defender 모니터링: Azure 보안 벤치마크는 클라우드용 Microsoft Defender의 기본 정책 이니셔티브이며 클라우드용 Microsoft Defender 권장 사항의 기초입니다. 이 제어와 관련된 Azure Policy 정의는 클라우드용 Microsoft Defender에서 사용하도록 자동으로 설정됩니다. 이 컨트롤과 관련된 경고에는 관련 서비스에 대한 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-5: 중요한 미사용 데이터 암호화

지침: 액세스 제어를 보완하기 위해 Azure Functions는 미사용 데이터를 암호화하여 암호화를 사용하여 대역 외 공격(예: 기본 스토리지 액세스)으로부터 보호합니다. 이렇게 하면 공격자가 데이터를 쉽게 읽거나 수정할 수 없습니다.

Azure Functions에서 사용하는 스토리지 계정은 추가 암호화 옵션을 사용하여 구성할 수 있습니다.

앱 구성에 사용되는 비밀은 추가 암호화 옵션을 위해 Azure Key Vault에 저장할 수 있습니다.

책임: 공유됨

자산 관리

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

AM-1: 보안 팀에서 자산 위험에 대한 가시성을 확보하도록 보장

지침: 보안 팀이 Azure 테넌트 및 구독에서 보안 읽기 권한자 권한을 부여받아 클라우드용 Microsoft Defender를 사용하여 보안 위험을 모니터링할 수 있도록 합니다.

보안 팀의 책임이 구성된 방식에 따라 보안 위험 모니터링은 중앙 보안 팀 또는 로컬 팀의 책임이 될 수 있습니다. 즉, 보안 인사이트 및 위험이 항상 조직 내의 중앙에서 집계되어야 합니다.

보안 읽기 권한자 권한은 전체 테넌트(루트 관리 그룹)에 광범위하게 적용하거나 범위를 관리 그룹 또는 특정 구독으로 지정할 수 있습니다.

참고: 워크로드 및 서비스에 대한 가시성을 얻으려면 추가 권한이 필요할 수 있습니다.

책임: Customer

AM-2: 보안 팀에 자산 인벤토리 및 메타데이터에 대한 액세스 권한이 있는지 확인

지침: Azure 리소스, 리소스 그룹 및 구독에 태그를 적용하여 논리적으로 분류합니다. 각 태그는 이름과 값 쌍으로 이루어져 있습니다. 예를 들어 프로덕션의 모든 리소스에 "환경" 이름과 "프로덕션" 값을 적용할 수 있습니다.

책임: Customer

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

참고 자료: Azure Policy를 사용하여 환경에서 사용자가 프로비전할 수 있는 서비스를 감사하고 제한합니다. Azure Resource Graph를 사용하여 구독 내에서 리소스를 쿼리하고 검색합니다. 또한 Azure Monitor를 사용하여 승인되지 않은 서비스가 검색되면 경고를 트리거하는 규칙을 만들 수 있습니다.

책임: Customer

AM-6: 승인된 애플리케이션만 컴퓨팅 리소스에 사용

지침: 배포 권한을 제한하고 CI/CD 시스템을 사용하여 함수 앱에 코드를 배포합니다.

책임: Customer

로깅 및 위협 탐지

자세한 내용은 Azure Security Benchmark: 로깅 및 위협 탐지를 참조하세요.

LT-1: Azure 리소스에 위협 탐지 사용

지침: 클라우드용 Microsoft Defender 기본 제공 위협 검색 기능을 사용하고 Azure Functions 리소스에 대해 Microsoft Defender를 사용하도록 설정합니다. Azure Functions용 Microsoft Defender는 Azure Functions 리소스에 액세스하거나 악용하려는 비정상적이고 잠재적으로 유해한 시도를 검색하는 추가 보안 인텔리전스 계층을 제공합니다.

사용자 지정 위협 검색을 설정하는 데 사용할 수 있는 Azure Functions의 모든 로그를 SIEM으로 전달합니다. 다양한 유형의 Azure 자산에서 잠재적인 위협과 이상 징후를 모니터링합니다. 경고의 품질을 높이는 데 집중하여 분석가가 분류하는 가양성을 줄여야 합니다. 경고는 로그 데이터, 에이전트 또는 기타 데이터로부터 제공될 수 있습니다.

책임: Customer

LT-2: Azure ID 및 액세스 관리에 위협 탐지 사용

참고 자료: Azure AD(Azure Active Directory)가 더 정교한 모니터링 및 분석 사용 사례를 위해 Azure AD 보고에서 보거나 Azure Monitor, Microsoft Sentinel 또는 기타 SIEM/모니터링 도구와 통합할 수 있는 다음과 같은 사용자 로그를 제공합니다.:

  • 로그인 – 로그인 보고서는 관리형 애플리케이션 및 사용자 로그인 활동의 사용에 대한 정보를 제공합니다.
  • 감사 로그 - Azure AD 내의 다양한 기능에 의해 수행된 모든 변경 내용에 대한 로그를 통한 추적 기능을 제공합니다. 감사 로그의 예제로는 사용자, 앱, 그룹, 역할 및 정책 추가 또는 제거와 같은 Azure AD 내의 모든 리소스에 대한 변경 내용이 있습니다.
  • 위험한 로그인 - 위험한 로그인은 사용자 계정의 정당한 소유자가 아닌 사용자에 의해 수행된 로그인 시도에 대한 지표입니다.
  • 위험 플래그가 지정된 사용자 - 위험한 사용자는 손상되었을 수 있는 사용자 계정에 대한 표시기입니다.

클라우드용 Microsoft Defender는 인증 시도 실패 횟수가 너무 많거나 구독에서 더 이상 사용되지 않는 계정과 같은 특정 의심스러운 작업에 대한 경고를 트리거할 수도 있습니다. 기본 보안 위생 모니터링 외에도 클라우드용 Microsoft Defender의 Threat Protection 모듈은 개별 Azure 컴퓨팅 리소스(가상 머신, 컨테이너, App Service), 데이터 리소스(SQL DB 및 스토리지), Azure 서비스 계층에서 보다 심층적인 보안 경고를 수집할 수도 있습니다. 이 기능을 사용하면 개별 리소스 내에서 비정상 계정 활동을 볼 수 있습니다.

책임: Customer

LT-3: Azure 네트워크 활동에 대한 로깅 사용

참고 자료: 보안 분석을 위한 NSG(네트워크 보안 그룹) 리소스 로그, NSG 흐름 로그, Azure Firewall 로그, WAF(웹 애플리케이션 방화벽) 로그를 사용하도록 설정하고 수집하여 인시던트 조사, 위협 헌팅, 보안 경고 생성을 지원합니다. 흐름 로그를 Azure Monitor Log Analytics 작업 영역으로 보낸 다음, 트래픽 분석을 사용하여 인사이트를 제공할 수 있습니다.

다른 네트워크 데이터의 상관 관계를 지원하기 위해 DNS 쿼리 로그를 수집하고 있는지 확인합니다. 조직의 필요에 따라 DNS 로깅을 위해 Azure Marketplace에서 타사 솔루션을 구현합니다.

Application Insights 또는 Log Analytics로 구성된 함수 앱은 앱이 상호 작용하려고 시도하는 리소스를 볼 수 있습니다.

책임: Customer

LT-4: Azure 리소스에 대한 로깅 사용

지침: 자동으로 사용할 수 있는 활동 로그에는 읽기 작업(GET)을 제외하고 Azure Functions 리소스에 대한 모든 쓰기 작업(PUT, POST, DELETE)이 포함됩니다. 활동 로그를 사용하여 문제를 해결할 때 오류를 찾거나 조직의 사용자가 리소스를 수정한 방법을 모니터링할 수 있습니다.

Azure Functions에 대한 Azure 리소스 로그를 사용하도록 설정합니다. Microsoft Defender for Cloud 및 Azure Policy를 사용하여 리소스 로그 및 로그 데이터 수집을 사용하도록 설정할 수 있습니다. 이러한 로그는 보안 인시던트를 조사하고 포렌식 활동을 수행하는 데 중요한 역할을 할 수 있습니다.

책임: 공유됨

클라우드용 Microsoft Defender 모니터링: Azure 보안 벤치마크는 클라우드용 Microsoft Defender의 기본 정책 이니셔티브이며 클라우드용 Microsoft Defender 권장 사항의 기초입니다. 이 제어와 관련된 Azure Policy 정의는 클라우드용 Microsoft Defender에서 사용하도록 자동으로 설정됩니다. 이 컨트롤과 관련된 경고에는 관련 서비스에 대한 Microsoft Defender 플랜이 필요할 수 있습니다.

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

Name
(Azure Portal)
Description 효과 버전
(GitHub)
App Services의 진단 로그를 사용하도록 설정해야 합니다. 앱에서 진단 로그 사용을 감사합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 활동 내역을 다시 만들 수 있습니다. AuditIfNotExists, 사용 안 함 2.0.0

LT-5: 보안 로그 관리 및 분석 중앙 집중화

지침: 로깅 스토리지 및 분석을 중앙 집중화하면 상관 관계를 활용할 수 있습니다. 각 로그 원본에 대해 데이터 소유자, 액세스 지침, 스토리지 위치, 데이터를 처리하고 액세스하는 데 사용되는 도구, 데이터 보존 요구 사항을 할당했는지 확인합니다.

Azure 활동 로그를 중앙 로깅에 통합하고 있는지 확인합니다. Azure Monitor를 통해 로그를 수집하여 엔드포인트 디바이스, 네트워크 리소스, 기타 보안 시스템에 의해 생성된 보안 데이터를 집계합니다. Azure Monitor에서 Log Analytics 작업 영역을 사용하여 분석을 쿼리하고 수행하며, 장기 및 기록 스토리지에 Azure Storage 계정을 사용할 수 있습니다.

또한 Microsoft Sentinel 또는 타사 SIEM에 데이터를 사용하도록 설정하고 온보딩합니다.

많은 조직에서 자주 사용되는 '핫' 데이터에 대해 Microsoft Sentinel을 사용하고 덜 자주 사용되는 '콜드' 데이터에 대해서는 Azure Storage를 사용하도록 선택합니다.

Azure Functions에서 실행할 수 있는 애플리케이션의 경우 중앙 집중식 관리에 사용되는 모든 보안 관련 로그를 SIEM으로 전달합니다.

책임: Customer

LT-6: 로그 스토리지 보존 구성

지침: Azure Functions 로그를 저장하는 데 사용되는 스토리지 계정 또는 Log Analytics 작업 영역에 조직의 준수 규정에 따라 설정된 로그 보존 기간이 설정되어 있는지 확인합니다.

책임: Customer

LT-7: 승인된 시간 동기화 원본 사용

지침: Azure Functions는 자체 시간 동기화 원본 구성을 지원하지 않습니다.

Azure Functions 서비스는 Microsoft 시간 동기화 원본에 의존하며 구성을 위해 고객에게 노출되지 않습니다.

책임: Microsoft

태세 및 취약성 관리

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

PV-1: Azure 서비스에 대한 보안 구성 설정

지침: Azure Blueprints를 사용하여 단일 청사진 정의에서 Azure Resources Manager 템플릿, Azure RBAC 컨트롤 및 정책을 포함한 서비스 및 애플리케이션 환경의 배포 및 구성을 자동화할 수 있습니다.

App Service용 Microsoft Defender에서는 소비 플랜을 제외한 모든 Azure Functions 플랜을 지원합니다.

Azure Functions의 일부 보안 설정은 Azure Resource Manager에서 자식 구성 리소스의 일부로 존재하며 함수 앱에 적용되는 Azure Policy에 의해 제어되지 않습니다.

책임: Customer

PV-2: Azure 서비스에 대한 보안 구성 유지

지침: 클라우드용 Microsoft Defender를 사용하여 구성 기준을 모니터링하고 Azure Policy [거부] 및 [존재하지 않는 경우 배포]를 사용하여 적용하여 VM, 컨테이너 등을 비롯한 Azure 컴퓨팅 리소스 전반에 보안 구성을 적용합니다.

App Service용 Microsoft Defender에서는 소비 플랜을 제외한 모든 Azure Functions 플랜을 지원합니다.

Azure Functions의 일부 보안 설정은 Azure Resource Manager에서 자식 구성 리소스의 일부로 존재하며 함수 앱에 적용되는 Azure Policy에 의해 제어되지 않습니다.

책임: Customer

클라우드용 Microsoft Defender 모니터링: Azure 보안 벤치마크는 클라우드용 Microsoft Defender의 기본 정책 이니셔티브이며 클라우드용 Microsoft Defender 권장 사항의 기초입니다. 이 제어와 관련된 Azure Policy 정의는 클라우드용 Microsoft Defender에서 사용하도록 자동으로 설정됩니다. 이 컨트롤과 관련된 경고에는 관련 서비스에 대한 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-3: 컴퓨팅 리소스에 대한 보안 구성 설정

참고 자료: 클라우드용 Microsoft Defender 및 Azure Policy를 사용하여 VM, 컨테이너 등을 포함한 모든 컴퓨팅 리소스에 대한 보안 구성을 설정합니다.

책임: Customer

PV-4: 컴퓨팅 리소스에 대한 보안 구성 유지

지침: 클라우드용 Microsoft Defender 및 Azure Policy를 사용하여 가상 머신(VM), 컨테이너 등의 Azure 컴퓨팅 리소스에 대한 구성 위험을 정기적으로 평가하고 수정합니다. 또한 Azure Resource Manager 템플릿, 사용자 지정 운영 체제 이미지 또는 Azure Automation State Configuration을 사용하여 조직에 필요한 운영 체제의 보안 구성을 유지할 수 있습니다. 클라우드용 Microsoft Defender 권장 사항 페이지에서 권장 사항을 확인하고 문제를 해결합니다.

책임: 공유됨

PV 5: 사용자 지정 운영 체제 및 컨테이너 이미지를 안전하게 저장

지침: Azure Functions를 사용하면 고객이 서비스와 함께 사용하는 모든 컨테이너 이미지를 관리할 수 있습니다. Azure RBAC(역할 기반 액세스 제어)를 사용하여 권한 있는 사용자만 이미지에 액세스할 수 있도록 합니다. 컨테이너 이미지를 Azure Container Registry에 저장하고 Azure RBAC를 사용하여 권한 있는 사용자만 액세스할 수 있도록 합니다.

책임: Customer

PV-6: 소프트웨어 취약성 평가 수행

지침: Azure Functions를 사용하면 컨테이너 레지스트리를 통해 배포된 컨테이너를 실행할 수 있습니다.

Azure 컨테이너 이미지에 대한 취약성 평가 수행 시 클라우드용 Microsoft Defender의 권장 사항을 따릅니다. 클라우드용 Microsoft Defender에는 컨테이너 이미지를 위한 기본 제공 취약성 스캐너가 있습니다.

필요한 경우 검사 결과를 일정한 간격으로 내보내고 결과를 이전 검사와 비교하여 취약성이 수정되었는지 확인합니다. 클라우드용 Microsoft Defender에서 제안하는 취약성 관리 권장 사항을 사용할 때 선택한 솔루션의 포털로 피벗하여 기록 검사 데이터를 볼 수 있습니다.

Microsoft는 Azure Functions를 지원하는 기본 시스템에서 취약성 관리를 수행합니다.

책임: 공유됨

PV-7: 자동으로 신속하게 소프트웨어 취약성 수정

지침: 일반적인 위험 점수 매기기 프로그램(예: Common Vulnerability Scoring System) 또는 타사 검사 도구에서 제공하는 기본 위험 등급을 사용하여 우선 순위를 지정한 다음, 보안 위험이 높은 애플리케이션과 높은 작동 시간이 필요한 애플리케이션에 대한 컨텍스트를 사용하여 환경을 조정합니다.

Azure Functions를 사용하면 사용자가 해당 환경의 컨테이너 레지스트리를 통해 배포된 사용자 지정 이미지를 통해 애플리케이션을 배포할 수 있습니다.

타사 소프트웨어의 경우 타사 패치 관리 솔루션 또는 Configuration Manager용 System Center Updates Publisher를 사용합니다.

타사 소프트웨어의 경우 타사 패치 관리 솔루션 또는 Configuration Manager용 System Center Updates Publisher를 사용합니다.

책임: 공유됨

클라우드용 Microsoft Defender 모니터링: Azure 보안 벤치마크는 클라우드용 Microsoft Defender의 기본 정책 이니셔티브이며 클라우드용 Microsoft Defender 권장 사항의 기초입니다. 이 제어와 관련된 Azure Policy 정의는 클라우드용 Microsoft Defender에서 사용하도록 자동으로 설정됩니다. 이 컨트롤과 관련된 경고에는 관련 서비스에 대한 Microsoft Defender 플랜이 필요할 수 있습니다.

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

Name
(Azure Portal)
Description 효과 버전
(GitHub)
API 앱의 일부로 사용되는 경우 최신의 'Java 버전'인지 확인 보안 결함이 있거나 추가 기능을 포함하기 위해 Java에 대한 최신 버전이 주기적으로 릴리스됩니다. 최신 버전의 보안 픽스(있는 경우) 및/또는 새로운 기능을 활용하려면 API 앱에 최신 Python 버전을 사용하는 것이 좋습니다. 현재 이 정책은 Linux 웹앱에만 적용됩니다. AuditIfNotExists, 사용 안 함 2.0.0
함수 앱의 일부로 사용되는 경우 최신의 'Java 버전'인지 확인합니다. 보안 결함이 있거나 추가 기능을 포함하기 위해 Java 소프트웨어에 대한 최신 버전이 주기적으로 릴리스됩니다. 최신 버전의 보안 픽스(있는 경우) 및/또는 새로운 기능을 활용하려면 함수 앱에 최신 Java 버전을 사용하는 것이 좋습니다. 현재 이 정책은 Linux 웹앱에만 적용됩니다. AuditIfNotExists, 사용 안 함 2.0.0
웹앱의 일부로 사용되는 경우 최신의 'Java 버전'인지 확인합니다. 보안 결함이 있거나 추가 기능을 포함하기 위해 Java 소프트웨어에 대한 최신 버전이 주기적으로 릴리스됩니다. 최신 버전의 보안 픽스(있는 경우) 및/또는 새로운 기능을 활용하려면 웹앱에 최신 Java 버전을 사용하는 것이 좋습니다. 현재 이 정책은 Linux 웹앱에만 적용됩니다. AuditIfNotExists, 사용 안 함 2.0.0
API 앱의 일부로 사용되는 경우 최신의 'PHP 버전'인지 확인 보안 결함이 있거나 추가 기능을 포함하기 위해 PHP 소프트웨어에 대한 최신 버전이 주기적으로 릴리스됩니다. 최신 버전의 보안 픽스(있는 경우) 및/또는 새로운 기능을 활용하려면 API Apps에 최신 PHP 버전을 사용하는 것이 좋습니다. 현재 이 정책은 Linux 웹앱에만 적용됩니다. AuditIfNotExists, 사용 안 함 2.1.0
웹앱의 일부로 사용되는 경우 최신의 'PHP 버전'인지 확인합니다. 보안 결함이 있거나 추가 기능을 포함하기 위해 PHP 소프트웨어에 대한 최신 버전이 주기적으로 릴리스됩니다. 최신 버전의 보안 픽스(있는 경우) 및/또는 새로운 기능을 활용하려면 웹앱에 최신 PHP 버전을 사용하는 것이 좋습니다. 현재 이 정책은 Linux 웹앱에만 적용됩니다. AuditIfNotExists, 사용 안 함 2.1.0
API 앱의 일부로 사용되는 경우 최신의 'Python 버전'인지 확인 보안 결함이 있거나 추가 기능을 포함하기 위해 Python 소프트웨어에 대한 최신 버전이 주기적으로 릴리스됩니다. 최신 버전의 보안 픽스(있는 경우) 및/또는 새로운 기능을 활용하려면 API 앱에 최신 Python 버전을 사용하는 것이 좋습니다. 현재 이 정책은 Linux 웹앱에만 적용됩니다. AuditIfNotExists, 사용 안 함 3.0.0
함수 앱의 일부로 사용되는 경우 최신의 'Python 버전'인지 확인합니다. 보안 결함이 있거나 추가 기능을 포함하기 위해 Python 소프트웨어에 대한 최신 버전이 주기적으로 릴리스됩니다. 최신 버전의 보안 픽스(있는 경우) 및/또는 새로운 기능을 활용하려면 함수 앱에 최신 Python 버전을 사용하는 것이 좋습니다. 현재 이 정책은 Linux 웹앱에만 적용됩니다. AuditIfNotExists, 사용 안 함 3.0.0
웹앱의 일부로 사용되는 경우 최신의 'Python 버전'인지 확인합니다. 보안 결함이 있거나 추가 기능을 포함하기 위해 Python 소프트웨어에 대한 최신 버전이 주기적으로 릴리스됩니다. 최신 버전의 보안 픽스(있는 경우) 및/또는 새로운 기능을 활용하려면 웹앱에 최신 Python 버전을 사용하는 것이 좋습니다. 현재 이 정책은 Linux 웹앱에만 적용됩니다. AuditIfNotExists, 사용 안 함 3.0.0

PV-8: 정기적인 공격 시뮬레이션 수행

지침: 필요에 따라 Azure 리소스에 대한 침투 테스트 또는 레드 팀 활동을 수행하고 모든 중요한 보안 결과를 수정해야 합니다.

Microsoft Cloud 침투 테스트 시행 규칙에 따라 침투 테스트가 Microsoft 정책을 위반하지 않는지 확인합니다. Microsoft의 전략과 Microsoft에서 관리하는 클라우드 인프라, 서비스, 애플리케이션에 대한 레드 팀 실행 및 실시간 사이트 침투 테스트를 사용합니다.

책임: 공유됨

엔드포인트 보안

자세한 내용은 Azure Security Benchmark: 엔드포인트 보안을 참조하세요.

ES-1: EDR(엔드포인트 검색 및 응답) 사용

지침: Microsoft는 Azure Functions의 기본 플랫폼 구성 요소를 관리합니다. Azure Functions는 24시간 위협 관리가 맬웨어, DDoS(분산 서비스 거부), MITM(man-in-the-middle) 및 기타 위협으로부터 인프라 및 플랫폼을 보호하는지 확인하기 위해 지속적으로 활발한 규정 준수 검사를 거칩니다. Microsoft 맬웨어 방지는 Azure 서비스(예: Azure Functions)를 지원하는 기본 호스트에서 사용하도록 설정됩니다. 그러나 콘텐츠에서 실행되지 않습니다.

책임: Microsoft

ES-2: 중앙 관리형 최신 맬웨어 방지 소프트웨어 사용

지침: Azure Functions는 시스템 리소스 및 런타임에 대한 맬웨어 방지를 유지 관리하고 실행합니다. 사용자 지정 컨테이너 이미지 또는 애플리케이션에서 활용하는 스토리지의 경우 중앙에서 관리되는 최신 맬웨어 방지 솔루션을 활용하는 것이 좋습니다.

책임: 공유됨

ES-3: 맬웨어 방지 소프트웨어 및 서명이 업데이트되는지 확인

지침: Microsoft는 Azure Functions의 기본 플랫폼 구성 요소를 관리합니다. Azure Functions는 24시간 위협 관리가 맬웨어, DDoS(분산 서비스 거부), MITM(man-in-the-middle) 및 기타 위협으로부터 인프라 및 플랫폼을 보호하는지 확인하기 위해 지속적으로 활발한 규정 준수 검사를 거칩니다. Microsoft 맬웨어 방지는 Azure 서비스(예: Azure Functions)를 지원하는 기본 호스트에서 사용하도록 설정됩니다. 그러나 콘텐츠에서 실행되지 않습니다.

책임: Microsoft

백업 및 복구

자세한 내용은 Azure Security Benchmark: 백업 및 복구를 참조하세요.

BR-4: 분실한 키의 위험 완화

지침: 키 분실을 방지하고 복구할 수 있는 측정값이 있는지 확인합니다. Azure Key Vault에서 일시 삭제 및 제거 보호를 사용하도록 설정하여 실수로 또는 악의적으로 삭제되지 않도록 키를 보호합니다.

책임: Customer

다음 단계