다음을 통해 공유


Functions에 대한 Azure 보안 기준

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

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

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

참고

Functions에 적용되지 않는 기능은 제외되었습니다. Functions가 Microsoft 클라우드 보안 벤치마크에 완전히 매핑되는 방법을 보려면 전체 Functions 보안 기준 매핑 파일을 참조하세요.

보안 프로필

보안 프로필에는 Functions의 영향력이 큰 동작이 요약되어 있어 보안 고려 사항이 증가할 수 있습니다.

서비스 동작 특성
제품 범주 컴퓨팅, 웹
고객이 HOST/OS에 액세스할 수 있음 액세스 권한 없음
서비스를 고객의 가상 네트워크에 배포할 수 있습니다. True
고객 콘텐츠를 미사용으로 저장 True

네트워크 보안

자세한 내용은 Microsoft 클라우드 보안 벤치마크: 네트워크 보안을 참조하세요.

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

기능

가상 네트워크 통합

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

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

구성 지침: 가상 네트워크에 서비스를 배포합니다. 리소스에 직접 공용 IP를 할당할 강력한 이유가 없는 한 리소스에 개인 IP를 할당합니다(해당하는 경우).

참고: 네트워킹 기능은 서비스에서 노출되지만 애플리케이션에 대해 구성해야 합니다. 기본적으로 공용 네트워크 액세스는 허용됩니다.

참조: Azure Functions 네트워킹 옵션

네트워크 보안 그룹 지원

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

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

구성 지침: NSG(네트워크 보안 그룹)를 사용하여 포트, 프로토콜, 원본 IP 주소 또는 대상 IP 주소별로 트래픽을 제한하거나 모니터링합니다. 서비스의 열린 포트를 제한하는 NSG 규칙을 만듭니다(예: 신뢰할 수 없는 네트워크에서 관리 포트에 액세스하지 못하도록 방지). 기본값으로 NSG는 모든 인바운드 트래픽을 거부하지만 가상 네트워크 및 Azure Load Balancer의 트래픽은 허용합니다.

참조: Azure Functions 네트워킹 옵션

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

기능

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

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

구성 지침: Private Link 기능을 지원하는 모든 Azure 리소스에 대한 프라이빗 엔드포인트를 배포하여 리소스에 대한 프라이빗 액세스 지점을 설정합니다.

참조: Azure Functions 네트워킹 옵션

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

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

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

기능 정보: Azure Functions 프라이빗 엔드포인트로 구성할 수 있지만, 프라이빗 엔드포인트를 구성하지 않은 공용 네트워크 액세스를 사용하지 않도록 설정하기 위한 토글은 하나도 없습니다.

구성 지침: 서비스 수준 IP ACL 필터링 규칙을 사용하거나 공용 네트워크 액세스를 위한 토글 스위치를 사용하여 공용 네트워크 액세스를 사용하지 않도록 설정합니다.

ID 관리

자세한 내용은 Microsoft 클라우드 보안 벤치마크: ID 관리를 참조하세요.

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

기능

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

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

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

기능 정보: 고객 소유 엔드포인트는 Azure AD 인증 요구 사항을 요구하도록 구성할 수 있습니다. 배포 작업 및 고급 개발자 도구에 대한 시스템 제공 엔드포인트는 Azure AD 지원하지만 기본적으로 게시 자격 증명을 사용할 수 있습니다. 이러한 게시 자격 증명을 사용하지 않도록 설정할 수 있습니다. 앱의 일부 데이터 평면 엔드포인트는 Functions 호스트에 구성된 관리 키에 의해 액세스할 수 있으며 현재 Azure AD 요구 사항으로 구성할 수 없습니다.

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

참조: 배포 자격 증명 구성 - 기본 인증 사용 안 함

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

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

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

기능 정보: 배포 자격 증명은 기본적으로 만들어지지만 사용하지 않도록 설정할 수 있습니다. 애플리케이션 런타임에 의해 노출되는 일부 작업은 현재 사용하지 않도록 설정할 수 없는 관리 키를 사용하여 수행할 수 있습니다. 이 키는 Azure Key Vault에 저장할 수 있으며 언제든지 다시 생성될 수 있습니다. 로컬 인증 방법 또는 계정을 사용하지 않도록 하려면 가능한 한 사용하지 않도록 설정해야 합니다. 대신 Azure AD 사용하여 가능한 경우 인증합니다.

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

참조: 기본 인증 사용 안 함

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

기능

관리 ID

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

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

구성 지침: 가능한 경우 서비스 주체 대신 Azure 관리 ID를 사용합니다. 이 ID는 Azure Azure AD(Azure Active Directory) 인증을 지원하는 Azure 서비스 및 리소스에 인증할 수 있습니다. 관리 ID 자격 증명은 플랫폼에서 완전히 관리, 순환 및 보호되므로 소스 코드 또는 구성 파일에 하드 코딩된 자격 증명을 방지합니다.

참조: App Service 및 Azure Functions 관리 ID를 사용하는 방법

서비스 주체

설명: 데이터 평면은 서비스 주체를 사용하는 인증을 지원합니다. 자세히 알아보세요.

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

구성 지침: 이 기능 구성에 대한 현재 Microsoft 지침은 없습니다. organization 이 보안 기능을 구성할지 검토하고 확인하세요.

클라우드용 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 서비스 관리에 대해 조건부 액세스를 구성해야 합니다.

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

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

기능

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

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

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

구성 지침: 비밀 및 자격 증명을 코드 또는 구성 파일에 포함하는 대신 Azure Key Vault 같은 보안 위치에 저장해야 합니다.

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

권한 있는 액세스

자세한 내용은 Microsoft 클라우드 보안 벤치마크: 권한 있는 액세스를 참조하세요.

PA-1: 높은 권한이 있는 사용자/관리자를 분리하고 제한

기능

로컬 관리 계정

설명: 서비스에는 로컬 관리 계정의 개념이 있습니다. 자세히 알아보세요.

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

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

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

기능

데이터 평면용 Azure RBAC

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

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

기능 정보: Azure RBAC를 활용할 수 있는 유일한 데이터 평면 작업은 Kudu/SCM/배포 엔드포인트입니다. 이러한 작업에는 작업에 대한 Microsoft.Web/sites/publish/Action 권한이 필요합니다. 고객 애플리케이션 자체에서 노출하는 엔드포인트는 Azure RBAC에서 다루지 않습니다.

구성 지침: Azure RBAC(Azure 역할 기반 액세스 제어)를 사용하여 기본 제공 역할 할당을 통해 Azure 리소스 액세스를 관리합니다. Azure RBAC 역할은 사용자, 그룹, 서비스 주체 및 관리 ID에 할당할 수 있습니다.

참조: Kudu에 액세스하는 데 필요한 RBAC 권한

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

기능

고객 Lockbox

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

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

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

데이터 보호

자세한 내용은 Microsoft 클라우드 보안 벤치마크: 데이터 보호를 참조하세요.

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

기능

데이터 유출/손실 방지

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

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

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

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

기능

전송 암호화 중인 데이터

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

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

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

구성 지침: 기본 제공 전송 암호화 기능에 네이티브 데이터가 있는 서비스에서 보안 전송을 사용하도록 설정합니다. 모든 웹 애플리케이션 및 서비스에 HTTPS를 적용하고 TLS v1.2 이상이 사용되는지 확인합니다. SSL 3.0, TLS v1.0과 같은 레거시 버전을 사용하지 않도록 설정해야 합니다. Virtual Machines 원격 관리의 경우 암호화되지 않은 프로토콜 대신 SSH(Linux용) 또는 RDP/TLS(Windows용)를 사용합니다.

참조: 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

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

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

기능

CMK를 이용하여 미사용 데이터 암호화

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

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

기능 정보: Azure Functions 이 기능을 직접 지원하지는 않지만 Functions에서 가능한 데이터 스토리지 대신 수행하는 서비스를 활용하도록 애플리케이션을 구성할 수 있습니다. Azure Files 파일 시스템으로 탑재될 수 있으며 비밀을 포함한 모든 앱 설정은 Azure Key Vault 저장될 수 있으며, 패키지 실행과 같은 배포 옵션은 Azure Blob Storage에서 콘텐츠를 끌어올 수 있습니다.

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

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

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으로 HSM 보호 키 가져오기) 권장 지침에 따라 초기 키 생성 및 키 전송을 수행합니다.

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

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

기능

Azure Key Vault에서 인증 관리

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

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

구성 지침: Azure Key Vault 사용하여 인증서 만들기, 가져오기, 회전, 해지, 스토리지 및 제거를 포함하여 인증서 수명 주기를 만들고 제어합니다. 인증서 생성이 키 크기 부족, 지나치게 긴 유효 기간, 안전하지 않은 암호화와 같은 안전하지 않은 속성을 사용하지 않고 정의된 표준을 따르는지 확인합니다. 정의된 일정 또는 인증서 만료 시점에 따라 Azure Key Vault 및 Azure 서비스(지원되는 경우)에서 인증서의 자동 회전을 설정합니다. 애플리케이션에서 자동 회전이 지원되지 않는 경우 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 리소스에 보안 구성을 적용합니다.

로깅 및 위협 탐지

자세한 내용은 Microsoft 클라우드 보안 벤치마크: 로깅 및 위협 탐지를 참조하세요.

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

기능

서비스/제품 제공에 대한 Microsoft Defender

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

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

기능 정보: App Service Defender에는 Azure Functions 포함되어 있습니다. 이 솔루션을 사용하도록 설정하면 사용 scope 아래의 함수 앱이 포함됩니다.

구성 지침: Azure Active Directory(Azure AD)를 기본 인증 방법으로 사용하여 관리 평면 액세스를 제어합니다. Key Vault 대한 Microsoft Defender 경고를 받으면 경고를 조사하고 대응합니다.

참조: Defender for App Service

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

기능

Azure 리소스 로그

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

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

구성 지침: 서비스에 대한 리소스 로그를 사용하도록 설정합니다. 예를 들어 Key Vault 키 자격 증명 모음에서 비밀을 얻거나 데이터베이스에 대한 요청을 추적하는 리소스 로그가 Azure SQL 작업에 대한 추가 리소스 로그를 지원합니다. 이러한 로그의 내용은 Azure 서비스와 리소스 종류에 따라 달라집니다.

참조: Azure Monitor 로그를 사용하여 Azure Functions 모니터링

Backup 및 복구

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

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

기능

Azure Backup

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

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

기능 정보: 표준, 프리미엄 또는 격리된 App Service 계획에서 호스트되는 경우 애플리케이션을 백업하는 기능을 사용할 수 있습니다. 이 기능은 Azure Backup 활용하지 않으며 이벤트 원본 또는 외부에 연결된 스토리지를 포함하지 않습니다. 자세한 내용은 /azure/app-service/manage-backup을 참조하세요.

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

서비스 네이티브 백업 기능

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

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

기능 정보: 표준, 프리미엄 및 격리된 App Service 계획에서 실행되는 앱에서 백업 기능을 사용할 수 있습니다. 여기에는 이벤트 원본 또는 외부에서 제공된 스토리지 백업이 포함되지 않습니다.

구성 지침: 이 기능 구성에 대한 현재 Microsoft 지침은 없습니다. organization 이 보안 기능을 구성할지 검토하고 확인하세요.

참조: Azure App Service 앱 백업 및 복원

다음 단계