SWIFT CSP-CSCF v2021 규정 준수 기본 제공 이니셔티브의 세부 정보
다음 문서에서는 Azure Policy 규정 준수 기본 제공 이니셔티브 정의가 SWIFT CSP-CSCF v2021에서 규정 준수 도메인 및 컨트롤에 매핑되는 방법을 자세히 설명합니다. 이 규정 준수 표준에 대한 자세한 내용은 SWIFT CSP-CSCF v2021을 참조하세요. 소유권을 이해하려면 정책 유형과 클라우드에서의 공동 책임을 검토합니다.
다음은 SWIFT CSP-CSCF v2021 컨트롤에 대한 매핑입니다. 여러 컨트롤이 Azure Policy 이니셔티브 정의를 사용하여 구현됩니다. 전체 이니셔티브 정의를 검토하려면 Azure Portal에서 정책을 열고 정의 페이지를 선택합니다. 그런 다음, [미리 보기]: SWIFT CSP-CSCF v2021 규정 준수 기본 제공 이니셔티브 정의를 찾아서 선택합니다.
Important
아래의 각 컨트롤은 하나 이상의 Azure Policy 정의와 연결되어 있습니다. 이러한 정책은 컨트롤을 사용한 규정 준수 평가에 도움이 될 수 있지만, 컨트롤과 하나 이상의 정책 간에 일대일 또는 완벽한 일치 관계가 없는 경우도 많습니다. 따라서 Azure Policy의 규정 준수는 정책 정의 자체만 가리킬 뿐, 컨트롤의 모든 요구 사항을 완벽하게 준수한다는 것은 아닙니다. 또한 규정 준수 표준에는 현재 Azure Policy 정의에서 처리되지 않은 컨트롤이 포함되어 있습니다. 따라서 Azure Policy의 규정 준수는 전반적인 규정 준수 상태를 부분적으로 표시할 뿐입니다. 이 규정 준수 표준에 대한 규정 준수 도메인, 컨트롤, Azure Policy 정의 간의 연결은 시간이 지나면 변경될 수 있습니다. 변경 기록을 보려면 GitHub 커밋 기록을 참조하세요.
SWIFT 환경 보호
SWIFT 환경 보호
ID: SWIFT CSCF v2021 1.1
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
[미리 보기]: 모든 인터넷 트래픽은 배포된 Azure Firewall을 통해 라우팅되어야 함 | Azure Security Center에서 일부 서브넷이 차세대 방화벽으로 보호되지 않는 것으로 확인되었습니다. Azure Firewall 또는 지원되는 차세대 방화벽으로 액세스를 제한하여 잠재적인 위협으로부터 서브넷을 보호합니다. | AuditIfNotExists, 사용 안 함 | 3.0.0-preview |
[미리 보기]: Container Registry는 가상 네트워크 서비스 엔드포인트를 사용해야 함 | 이 정책은 가상 네트워크 서비스 엔드포인트를 사용하도록 구성되지 않은 모든 Container Registry를 감사합니다. | 감사, 사용 안 함 | 1.0.0 - 미리 보기 |
[미리 보기]: Linux 가상 머신에 네트워크 트래픽 데이터 수집 에이전트를 설치해야 함 | Security Center에서는 Microsoft Dependency Agent를 사용하여 Azure 가상 머신에서 네트워크 트래픽 데이터를 수집함으로써 네트워크 맵의 트래픽 시각화, 네트워크 강화 권장 사항 및 특정 네트워크 위협과 같은 고급 네트워크 보호 기능을 활성화합니다. | AuditIfNotExists, 사용 안 함 | 1.0.2-preview |
[미리 보기]: Windows 가상 머신에 네트워크 트래픽 데이터 수집 에이전트를 설치해야 함 | Security Center에서는 Microsoft Dependency Agent를 사용하여 Azure 가상 머신에서 네트워크 트래픽 데이터를 수집함으로써 네트워크 맵의 트래픽 시각화, 네트워크 강화 권장 사항 및 특정 네트워크 위협과 같은 고급 네트워크 보호 기능을 활성화합니다. | AuditIfNotExists, 사용 안 함 | 1.0.2-preview |
가상 머신과 연결된 네트워크 보안 그룹에서 모든 네트워크 포트를 제한해야 함 | Azure Security Center에서 네트워크 보안 그룹의 인바운드 규칙 중 일부가 너무 관대하다는 사실을 식별했습니다. 인바운드 규칙에서 '모두' 또는 '인터넷' 범위에서 들어오는 액세스를 허용해서는 안 됩니다. 그러면 리소스가 공격자의 표적이 될 수 있습니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
App Service 앱에 원격 디버깅이 비활성화되어 있어야 함 | 원격으로 디버깅하려면 App Service 앱에서 인바운드 포트를 열어야 합니다. 원격 디버깅을 해제해야 합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
App Service 앱은 가상 네트워크 서비스 엔드포인트를 사용해야 함 | 가상 네트워크 서비스 엔드포인트를 사용하여 Azure Virtual Network에서 선택한 서브넷의 앱에 대한 액세스를 제한합니다. App Service 서비스 엔드포인트에 대해 자세히 알아보려면 https://aka.ms/appservice-vnet-service-endpoint를 참조하세요. | AuditIfNotExists, 사용 안 함 | 2.0.1 |
권한 있는 IP 범위는 Kubernetes Services에 정의되어야 함 | 특정 범위의 IP 주소에만 API 액세스 권한을 부여하여 Kubernetes Service Management API에 대한 액세스를 제한합니다. 허용된 네트워크의 애플리케이션만 클러스터에 액세스할 수 있도록 인증된 IP 범위에 대한 액세스를 제한하는 것이 좋습니다. | 감사, 사용 안 함 | 2.0.1 |
Azure DDoS Protection을 사용하도록 설정해야 함 | 공용 IP를 사용하는 애플리케이션 게이트웨이의 일부인 서브넷이 포함된 모든 가상 네트워크에 DDoS 보호를 사용하도록 설정해야 합니다. | AuditIfNotExists, 사용 안 함 | 3.0.1 |
Azure Key Vault에는 방화벽이 활성화되어 있어야 합니다. | 키 자격 증명 모음이 기본적으로 공용 IP에 액세스할 수 없도록 키 자격 증명 모음 방화벽을 사용하도록 설정합니다. 필요에 따라, 특정 IP 범위를 구성하여 해당 네트워크에 대한 액세스를 제한할 수 있습니다. https://docs.microsoft.com/azure/key-vault/general/network-security에서 자세히 알아보세요. | 감사, 거부, 사용 안 함 | 3.2.1 |
Azure Key Vault에서 프라이빗 링크를 사용해야 함 | Azure Private Link를 사용하면 원본 또는 대상에 공용 IP 주소가 없어도 가상 네트워크를 Azure 서비스에 연결할 수 있습니다. Private Link 플랫폼은 Azure 백본 네트워크를 통해 소비자와 서비스 간의 연결을 처리합니다. 프라이빗 엔드포인트를 키 자격 증명 모음에 매핑하면 데이터 유출 위험을 줄일 수 있습니다. https://aka.ms/akvprivatelink에서 프라이빗 링크에 대해 자세히 알아보세요. | [parameters('audit_effect')] | 1.2.1 |
컨테이너 레지스트리는 프라이빗 링크를 사용해야 함 | Azure Private Link를 통해 원본 또는 대상의 공용 IP 주소가 없어도 Azure 서비스에 가상 네트워크를 연결할 수 있습니다. 프라이빗 링크 플랫폼은 Azure 백본 네트워크를 통해 소비자와 서비스 간의 연결을 처리합니다. 전체 서비스 대신 프라이빗 엔드포인트를 컨테이너 레지스트리에 매핑하면 데이터 유출 위험으로부터 보호받을 수 있습니다. https://aka.ms/acr/private-link에서 자세히 알아보세요. | 감사, 사용 안 함 | 1.0.1 |
Cosmos DB는 가상 네트워크 서비스 엔드포인트를 사용해야 함 | 이 정책은 가상 네트워크 서비스 엔드포인트를 사용하도록 구성되지 않은 모든 Cosmos DB를 감사합니다. | 감사, 사용 안 함 | 1.0.0 |
이벤트 허브는 가상 네트워크 서비스 엔드포인트를 사용해야 함 | 이 정책은 가상 네트워크 서비스 엔드포인트를 사용하도록 구성되지 않은 모든 이벤트 허브를 감사합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
함수 앱에 원격 디버깅이 해제되어 있어야 함 | 원격 디버깅을 수행하려면 함수 앱에서 인바운드 포트를 열어야 합니다. 원격 디버깅을 해제해야 합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
네트워크 보안 그룹을 사용하여 인터넷 연결 가상 머신을 보호해야 함 | NSG(네트워크 보안 그룹)를 통해 가상 머신에 대한 액세스를 제한하여 잠재적인 위협으로부터 가상 머신을 보호합니다. https://aka.ms/nsg-doc에서 NSG를 통한 트래픽 제어에 대해 자세히 알아보기 | AuditIfNotExists, 사용 안 함 | 3.0.0 |
가상 머신에서 IP 전달을 사용하지 않도록 설정해야 함 | 가상 머신의 NIC에서 IP 전달을 사용하도록 설정하면 머신이 다른 대상으로 주소가 지정된 트래픽을 수신할 수 있습니다. IP 전달은 거의 필요하지 않으므로(예: VM을 네트워크 가상 어플라이언스로 사용하는 경우), 네트워크 보안 팀에서 검토해야 합니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
Key Vault는 가상 네트워크 서비스 엔드포인트를 사용해야 함 | 이 정책은 가상 네트워크 서비스 엔드포인트를 사용하도록 구성되지 않은 모든 Key Vault를 감사합니다. | 감사, 사용 안 함 | 1.0.0 |
Network Watcher를 사용하도록 설정해야 함 | Network Watcher는 Azure 내에서, Azure로, Azure로부터 네트워크 시나리오 수준 상태를 모니터링하고 진단할 수 있게 하는 지역 서비스입니다. 시나리오 수준 모니터링을 사용하면 종단 간 네트워크 수준 보기에서 문제를 진단할 수 있습니다. 가상 네트워크가 있는 모든 지역에서 Network Watcher 리소스 그룹을 만들어야 합니다. 특정 지역에서 Network Watcher 리소스 그룹을 사용할 수 없는 경우 경고가 활성화됩니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
Azure SQL Database에서 프라이빗 엔드포인트 연결을 사용하도록 설정해야 함 | 프라이빗 엔드포인트 연결은 Azure SQL Database에 대한 프라이빗 연결을 사용하도록 설정하여 보안 통신을 강화합니다. | 감사, 사용 안 함 | 1.1.0 |
프라이빗 엔드포인트를 MariaDB 서버에서 사용할 수 있어야 합니다. | 프라이빗 엔드포인트 연결은 Azure Database for MariaDB에 대한 프라이빗 연결을 사용하도록 설정하여 보안 통신을 강화합니다. 알려진 네트워크에서 들어오는 트래픽에만 액세스할 수 있고 Azure 내부를 비롯한 다른 IP 주소의 액세스를 차단하도록 프라이빗 엔드포인트 연결을 구성합니다. | AuditIfNotExists, 사용 안 함 | 1.0.2 |
프라이빗 엔드포인트를 MySQL 서버에서 사용할 수 있어야 합니다. | 프라이빗 엔드포인트 연결은 Azure Database for MySQL에 대한 프라이빗 연결을 사용하도록 설정하여 보안 통신을 강화합니다. 알려진 네트워크에서 들어오는 트래픽에만 액세스할 수 있고 Azure 내부를 비롯한 다른 IP 주소의 액세스를 차단하도록 프라이빗 엔드포인트 연결을 구성합니다. | AuditIfNotExists, 사용 안 함 | 1.0.2 |
프라이빗 엔드포인트를 PostgreSQL 서버에서 사용할 수 있어야 합니다. | 프라이빗 엔드포인트 연결은 Azure Database for PostgreSQL에 대한 프라이빗 연결을 사용하도록 설정하여 보안 통신을 강화합니다. 알려진 네트워크에서 들어오는 트래픽에만 액세스할 수 있고 Azure 내부를 비롯한 다른 IP 주소의 액세스를 차단하도록 프라이빗 엔드포인트 연결을 구성합니다. | AuditIfNotExists, 사용 안 함 | 1.0.2 |
SQL Server는 가상 네트워크 서비스 엔드포인트를 사용해야 함 | 이 정책은 가상 네트워크 서비스 엔드포인트를 사용하도록 구성되지 않은 모든 SQL Server를 감사합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
스토리지 계정은 네트워크 액세스를 제한해야 함 | 스토리지 계정에 대한 네트워크 액세스가 제한되어야 합니다. 허용되는 네트워크의 애플리케이션만 스토리지 계정에 액세스할 수 있도록 네트워크 규칙을 구성합니다. 특정 인터넷 또는 온-프레미스 클라이언트의 연결을 허용하기 위해 특정 Azure 가상 네트워크 또는 공용 인터넷 IP 주소 범위의 트래픽에 대한 액세스 권한을 부여할 수 있습니다. | 감사, 거부, 사용 안 함 | 1.1.1 |
스토리지 계정은 가상 네트워크 서비스 엔드포인트를 사용해야 함 | 이 정책은 가상 네트워크 서비스 엔드포인트를 사용하도록 구성되지 않은 모든 스토리지 계정을 감사합니다. | 감사, 사용 안 함 | 1.0.0 |
서브넷을 네트워크 보안 그룹과 연결해야 합니다. | NSG(네트워크 보안 그룹)를 통해 VM에 대한 액세스를 제한하여 잠재적인 위협으로부터 서브넷을 보호합니다. NSG는 서브넷에 대한 네트워크 트래픽을 허용 또는 거부하는 ACL(액세스 제어 목록) 규칙의 목록을 포함합니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
VM Image Builder 템플릿은 프라이빗 링크를 사용해야 함 | Azure Private Link를 통해 원본 또는 대상의 공용 IP 주소가 없어도 Azure 서비스에 가상 네트워크를 연결할 수 있습니다. Private Link 플랫폼은 Azure 백본 네트워크를 통해 소비자와 서비스 간의 연결을 처리합니다. 프라이빗 엔드포인트를 VM Image Builder에 매핑하여 리소스를 구성하면 데이터 누출 위험이 줄어듭니다. https://docs.microsoft.com/azure/virtual-machines/linux/image-builder-networking#deploy-using-an-existing-vnet에서 프라이빗 링크에 대해 자세히 알아보세요. | 감사, 사용 안 함, 거부 | 1.1.0 |
운영 체제 권한 있는 계정 컨트롤
ID: SWIFT CSCF v2021 1.2
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
구독에 최대 3명의 소유자를 지정해야 합니다. | 보안이 침해된 소유자의 위반 가능성을 줄이려면 최대 3명의 구독 소유자를 지정하는 것이 좋습니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
SQL 서버에 대해 Azure Active Directory 관리자를 프로비저닝해야 합니다. | SQL 서버에 대한 Azure Active Directory 관리자 프로비전을 감사하여 Azure AD 인증을 활성화합니다. Azure AD 인증을 사용하면 데이터베이스 사용자 및 기타 Microsoft 서비스의 권한을 간편하게 관리하고 ID를 한 곳에서 집중적으로 관리할 수 있습니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
App Service 앱에 원격 디버깅이 비활성화되어 있어야 함 | 원격으로 디버깅하려면 App Service 앱에서 인바운드 포트를 열어야 합니다. 원격 디버깅을 해제해야 합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
Azure 리소스에 대한 소유자 권한이 있는 차단된 계정을 제거해야 함 | 소유자 권한이 있는 사용되지 않는 계정은 구독에서 제거해야 합니다. 사용되지 않는 계정은 로그인이 차단된 계정입니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
Azure 리소스에 대한 읽기 및 쓰기 권한이 있는 차단된 계정을 제거해야 함 | 더 이상 사용되지 않는 계정을 구독에서 제거해야 합니다. 사용되지 않는 계정은 로그인이 차단된 계정입니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
함수 앱에 원격 디버깅이 해제되어 있어야 함 | 원격 디버깅을 수행하려면 함수 앱에서 인바운드 포트를 열어야 합니다. 원격 디버깅을 해제해야 합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
Azure 리소스에 대한 소유자 권한이 있는 게스트 계정을 제거해야 함 | 모니터링되지 않는 액세스를 방지하려면 소유자 권한이 있는 외부 계정을 구독에서 제거해야 합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
Azure 리소스에 대한 읽기 권한이 있는 게스트 계정을 제거해야 함 | 모니터링되지 않는 액세스를 방지하려면 읽기 권한이 있는 외부 계정을 구독에서 제거해야 합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
Azure 리소스에 대한 쓰기 권한이 있는 게스트 계정을 제거해야 함 | 모니터링되지 않는 액세스를 방지하려면 쓰기 권한이 있는 외부 계정을 구독에서 제거해야 합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
가상 머신의 관리 포트는 Just-In-Time 네트워크 액세스 제어로 보호해야 함 | 가능한 네트워크 JIT(Just In Time) 액세스는 Azure Security Center에서 권장 사항으로 모니터링됩니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
Service Fabric 클러스터는 클라이언트 인증에 대해서만 Azure Active Directory를 사용해야 함 | Service Fabric에서 Azure Active Directory를 통한 클라이언트 인증의 사용만 감사 | 감사, 거부, 사용 안 함 | 1.1.0 |
구독에 둘 이상의 소유자를 할당해야 합니다. | 관리자 액세스 중복성을 유지하려면 둘 이상의 구독 소유자를 지정하는 것이 좋습니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
가상화 플랫폼 보호
ID: SWIFT CSCF v2021 1.3
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
관리 디스크를 사용하지 않는 VM 감사 | 이 정책은 관리 디스크를 사용하지 않는 VM을 감사 | 감사 | 1.0.0 |
인터넷 액세스 제한
ID: SWIFT CSCF v2021 1.4
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
권한 있는 IP 범위는 Kubernetes Services에 정의되어야 함 | 특정 범위의 IP 주소에만 API 액세스 권한을 부여하여 Kubernetes Service Management API에 대한 액세스를 제한합니다. 허용된 네트워크의 애플리케이션만 클러스터에 액세스할 수 있도록 인증된 IP 범위에 대한 액세스를 제한하는 것이 좋습니다. | 감사, 사용 안 함 | 2.0.1 |
공격 표면 및 취약성 감소
내부 Data Flow 보안
ID: SWIFT CSCF v2021 2.1
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
App Service 앱에서 클라이언트 인증서(들어오는 클라이언트 인증서)가 사용하도록 설정되어 있어야 함 | 클라이언트 인증서는 앱이 들어오는 요청에 대한 인증서를 요청하도록 허용합니다. 유효한 인증서가 있는 클라이언트만 앱에 연결할 수 있습니다. 이 정책은 Http 버전이 1.1로 설정된 앱에 적용됩니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
App Service 앱은 HTTPS를 통해서만 액세스할 수 있어야 함 | HTTPS를 사용하여 서버/서비스 인증을 보장하고 전송 중인 데이터를 네트워크 계층 도청 공격으로부터 보호합니다. | 감사, 사용 안 함, 거부 | 4.0.0 |
App Service 앱에서 관리 ID를 사용해야 함 | 인증 보안 강화를 위해 관리 ID 사용 | AuditIfNotExists, 사용 안 함 | 3.0.0 |
App Service 앱은 최신 TLS 버전을 사용해야 함 | 주기적으로 보안 결함이나 추가 기능 및 속도 향상을 위해 TLS용 최신 버전이 릴리스됩니다. 보안 픽스(있는 경우) 및/또는 최신 버전의 새로운 기능을 활용하려면 App Service 앱용 최신 TLS 버전으로 업그레이드합니다. | AuditIfNotExists, 사용 안 함 | 2.1.0 |
Linux 머신에 대한 인증에 SSH 키가 필요함 | SSH 자체에서 암호화된 연결을 제공하지만 SSH와 함께 암호를 사용하면 VM은 여전히 무차별 암호 대입 공격에 취약합니다. SSH를 통해 Azure Linux 가상 머신에 인증하는 가장 안전한 옵션은 SSH 키라고도 하는 퍼블릭-프라이빗 키 쌍을 사용하는 것입니다. https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed에서 자세한 내용을 알아보세요. | AuditIfNotExists, 사용 안 함 | 3.2.0 |
Automation 계정 변수를 암호화해야 함 | 중요한 데이터를 저장할 때 Automation 계정 변수 자산의 암호화를 사용하도록 설정해야 합니다. | 감사, 거부, 사용 안 함 | 1.1.0 |
Azure SQL Database는 TLS 버전 1.2 이상을 실행해야 합니다. | TLS 버전을 1.2 이상으로 설정하면 TLS 1.2 이상을 사용하는 클라이언트에서만 Azure SQL Database에 액세스할 수 있으므로 보안이 향상됩니다. 1.2 미만의 TLS 버전은 보안 취약성이 잘 문서화되었기 때문에 사용하지 않는 것이 좋습니다. | 감사, 사용 안 함, 거부 | 2.0.0 |
함수 앱은 HTTPS를 통해서만 액세스할 수 있어야 함 | HTTPS를 사용하여 서버/서비스 인증을 보장하고 전송 중인 데이터를 네트워크 계층 도청 공격으로부터 보호합니다. | 감사, 사용 안 함, 거부 | 5.0.0 |
함수 앱에서 관리 ID를 사용해야 함 | 인증 보안 강화를 위해 관리 ID 사용 | AuditIfNotExists, 사용 안 함 | 3.0.0 |
함수 앱은 최신 TLS 버전을 사용해야 함 | 주기적으로 보안 결함이나 추가 기능 및 속도 향상을 위해 TLS용 최신 버전이 릴리스됩니다. 보안 픽스(있는 경우) 및/또는 최신 버전의 새로운 기능을 활용하려면 기능 앱용 최신 TLS 버전으로 업그레이드합니다. | AuditIfNotExists, 사용 안 함 | 2.1.0 |
Kubernetes 클러스터는 HTTPS를 통해서만 액세스할 수 있어야 함 | HTTPS를 사용하여 인증을 보장하고, 네트워크 계층 도청 공격으로부터 전송 중인 데이터를 보호합니다. 이 기능은 현재 AKS(Kubernetes Service)에 일반 공급되며 Azure Arc 지원 Kubernetes에서 미리 보기로 제공됩니다. 자세한 내용은 https://aka.ms/kubepolicydoc를 방문하세요. | 감사, 거부, 사용 안 함 | 8.2.0 |
Service Fabric 클러스터는 ClusterProtectionLevel 속성을 EncryptAndSign으로 설정해야 함 | Service Fabric은 기본 클러스터 인증서를 사용하여 노드 간 통신을 위한 3단계 보호(None, Sign 및 EncryptAndSign)를 제공합니다. 모든 노드 간 메시지가 암호화되고 디지털로 서명될 수 있게 보호 수준을 설정합니다. | 감사, 거부, 사용 안 함 | 1.1.0 |
SQL Managed Instance는 최소 TLS 버전 1.2를 사용해야 함 | 최소 TLS 버전을 1.2로 설정하면 TLS 1.2를 사용하는 클라이언트에서만 SQL Managed Instance에 액세스할 수 있으므로 보안이 향상됩니다. 1.2 미만의 TLS 버전은 보안 취약성이 잘 문서화되었기 때문에 사용하지 않는 것이 좋습니다. | 감사, 사용 안 함 | 1.0.1 |
Windows 컴퓨터는 보안 통신 프로토콜을 사용하도록 구성되어야 함 | 인터넷을 통해 전달되는 정보의 개인 정보를 보호하려면 컴퓨터에서 최신 버전의 업계 표준 암호화 프로토콜인 TLS(전송 계층 보안)를 사용해야 합니다. TLS는 컴퓨터 간 연결을 암호화하여 네트워크를 통한 통신을 보호합니다. | AuditIfNotExists, 사용 안 함 | 4.1.1 |
보안 업데이트
ID: SWIFT CSCF v2021 2.2
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
재부팅을 대기 중인 Windows VM 감사 | 필수 구성 요소가 정책 할당 범위에 배포되어야 합니다. 자세한 내용은 https://aka.ms/gcpol 을 참조하세요. 구성 요소 기반 서비스, Windows 업데이트, 보류 중인 파일 이름 바꾸기, 보류 중인 컴퓨터 이름 바꾸기, 구성 관리자의 다시 부팅 보류 중 등의 이유로 머신이 다시 부팅을 보류 중인 경우 머신은 비규격입니다. 각 검색에는 고유한 레지스트리 경로가 있습니다. | auditIfNotExists | 2.0.0 |
시스템 강화
ID: SWIFT CSCF v2021 2.3
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
passwd 파일 권한이 0644로 설정되지 않은 Linux 머신 감사 | 필수 구성 요소가 정책 할당 범위에 배포되어야 합니다. 자세한 내용은 https://aka.ms/gcpol 을 참조하세요. passwd 파일 권한이 0644로 설정되지 않은 Linux 머신의 경우 머신은 비규격입니다. | AuditIfNotExists, 사용 안 함 | 3.1.0 |
지정한 기간(일) 내에 만료되는 인증서가 포함된 Windows 머신 감사 | 필수 구성 요소가 정책 할당 범위에 배포되어야 합니다. 자세한 내용은 https://aka.ms/gcpol 을 참조하세요. 지정된 저장소에 있는 인증서의 만료 날짜가 매개 변수로 지정된 일 수에 대한 범위를 벗어나는 경우 머신은 비규격입니다. 또한 이 정책은 특정 인증서를 확인하거나 특정 인증서를 제외하는 옵션 및 만료된 인증서를 보고할지 여부를 제공합니다. | auditIfNotExists | 2.0.0 |
해독 가능한 암호화를 사용하여 암호를 저장하지 않는 Windows 머신 감사 | 필수 구성 요소가 정책 할당 범위에 배포되어야 합니다. 자세한 내용은 https://aka.ms/gcpol 을 참조하세요. 해독 가능한 암호화를 사용하여 암호를 저장하지 않는 Windows 머신의 경우 머신은 비규격입니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
가상 머신의 관리 포트는 Just-In-Time 네트워크 액세스 제어로 보호해야 함 | 가능한 네트워크 JIT(Just In Time) 액세스는 Azure Security Center에서 권장 사항으로 모니터링됩니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
VM Image Builder 템플릿은 프라이빗 링크를 사용해야 함 | Azure Private Link를 통해 원본 또는 대상의 공용 IP 주소가 없어도 Azure 서비스에 가상 네트워크를 연결할 수 있습니다. Private Link 플랫폼은 Azure 백본 네트워크를 통해 소비자와 서비스 간의 연결을 처리합니다. 프라이빗 엔드포인트를 VM Image Builder에 매핑하여 리소스를 구성하면 데이터 누출 위험이 줄어듭니다. https://docs.microsoft.com/azure/virtual-machines/linux/image-builder-networking#deploy-using-an-existing-vnet에서 프라이빗 링크에 대해 자세히 알아보세요. | 감사, 사용 안 함, 거부 | 1.1.0 |
백오피스 Data Flow 보안
ID: SWIFT CSCF v2021 2.4A
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
App Service 앱에서 클라이언트 인증서(들어오는 클라이언트 인증서)가 사용하도록 설정되어 있어야 함 | 클라이언트 인증서는 앱이 들어오는 요청에 대한 인증서를 요청하도록 허용합니다. 유효한 인증서가 있는 클라이언트만 앱에 연결할 수 있습니다. 이 정책은 Http 버전이 1.1로 설정된 앱에 적용됩니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
App Service 앱은 HTTPS를 통해서만 액세스할 수 있어야 함 | HTTPS를 사용하여 서버/서비스 인증을 보장하고 전송 중인 데이터를 네트워크 계층 도청 공격으로부터 보호합니다. | 감사, 사용 안 함, 거부 | 4.0.0 |
Linux 머신에 대한 인증에 SSH 키가 필요함 | SSH 자체에서 암호화된 연결을 제공하지만 SSH와 함께 암호를 사용하면 VM은 여전히 무차별 암호 대입 공격에 취약합니다. SSH를 통해 Azure Linux 가상 머신에 인증하는 가장 안전한 옵션은 SSH 키라고도 하는 퍼블릭-프라이빗 키 쌍을 사용하는 것입니다. https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed에서 자세한 내용을 알아보세요. | AuditIfNotExists, 사용 안 함 | 3.2.0 |
Automation 계정 변수를 암호화해야 함 | 중요한 데이터를 저장할 때 Automation 계정 변수 자산의 암호화를 사용하도록 설정해야 합니다. | 감사, 거부, 사용 안 함 | 1.1.0 |
함수 앱은 HTTPS를 통해서만 액세스할 수 있어야 함 | HTTPS를 사용하여 서버/서비스 인증을 보장하고 전송 중인 데이터를 네트워크 계층 도청 공격으로부터 보호합니다. | 감사, 사용 안 함, 거부 | 5.0.0 |
Azure Cache for Redis에 보안 연결만 사용하도록 설정해야 함 | SSL을 통해 설정된 Azure Cache for Redis 연결만 감사 보안 연결을 사용하여 서버와 서비스 간 인증을 보장하고 전송 중인 데이터를 메시지 가로채기(man-in-the-middle), 도청 및 세션 하이재킹과 같은 네트워크 계층 공격으로부터 보호합니다. | 감사, 거부, 사용 안 함 | 1.0.0 |
Windows 컴퓨터는 보안 통신 프로토콜을 사용하도록 구성되어야 함 | 인터넷을 통해 전달되는 정보의 개인 정보를 보호하려면 컴퓨터에서 최신 버전의 업계 표준 암호화 프로토콜인 TLS(전송 계층 보안)를 사용해야 합니다. TLS는 컴퓨터 간 연결을 암호화하여 네트워크를 통한 통신을 보호합니다. | AuditIfNotExists, 사용 안 함 | 4.1.1 |
외부 전송 데이터 보호
ID: SWIFT CSCF v2021 2.5A
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
App Service 앱은 HTTPS를 통해서만 액세스할 수 있어야 함 | HTTPS를 사용하여 서버/서비스 인증을 보장하고 전송 중인 데이터를 네트워크 계층 도청 공격으로부터 보호합니다. | 감사, 사용 안 함, 거부 | 4.0.0 |
재해 복구가 구성되어 있지 않은 가상 머신 감사 | 재해 복구가 구성되지 않은 가상 머신을 감사합니다. 재해 복구에 대한 자세한 내용은 https://aka.ms/asr-doc를 참조하세요. | auditIfNotExists | 1.0.0 |
관리 디스크를 사용하지 않는 VM 감사 | 이 정책은 관리 디스크를 사용하지 않는 VM을 감사 | 감사 | 1.0.0 |
Automation 계정 변수를 암호화해야 함 | 중요한 데이터를 저장할 때 Automation 계정 변수 자산의 암호화를 사용하도록 설정해야 합니다. | 감사, 거부, 사용 안 함 | 1.1.0 |
Virtual Machines에 Azure Backup을 사용하도록 설정해야 합니다. | Azure Backup을 사용하도록 설정하여 Azure Virtual Machines의 보호를 보장합니다. Azure Backup은 Azure를 위한 안전하고 경제적인 데이터 보호 솔루션입니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
컨테이너 레지스트리는 고객 관리형 키를 사용하여 암호화해야 함 | 고객 관리형 키를 사용하여 레지스트리 콘텐츠의 미사용 데이터 암호화를 관리합니다. 기본적으로 저장 데이터는 서비스 관리형 키를 사용하여 암호화되지만, 일반적으로 규정 준수 표준을 충족하려면 고객 관리형 키가 필요합니다. 고객 관리형 키를 사용하면 사용자가 만들고 소유한 Azure Key Vault 키를 사용하여 데이터를 암호화할 수 있습니다. 순환 및 관리를 포함하여 키의 수명 주기를 고객이 모두 제어하고 책임져야 합니다. https://aka.ms/acr/CMK에서 자세히 알아보세요. | 감사, 거부, 사용 안 함 | 1.1.2 |
함수 앱은 HTTPS를 통해서만 액세스할 수 있어야 함 | HTTPS를 사용하여 서버/서비스 인증을 보장하고 전송 중인 데이터를 네트워크 계층 도청 공격으로부터 보호합니다. | 감사, 사용 안 함, 거부 | 5.0.0 |
스토리지 계정에 대해 지역 중복 스토리지를 사용하도록 설정해야 함 | 지역 중복을 사용하여 고가용성 애플리케이션 만들기 | 감사, 사용 안 함 | 1.0.0 |
Azure SQL Database에 대해 장기 지역 중복 백업을 사용하도록 설정해야 합니다. | 이 정책은 장기 지역 중복 백업이 사용하도록 설정되지 않은 모든 Azure SQL Database를 감사합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
스토리지 계정에 보안 전송을 사용하도록 설정해야 함 | 스토리지 계정의 보안 전송 요구 사항을 감사합니다. 보안 전송은 사용자의 스토리지 계정이 보안 연결(HTTPS)에서 오는 요청만 수락하도록 강제 적용하는 옵션입니다. HTTPS를 사용하여 서버와 서비스 간 인증을 보장하고 전송 중인 데이터를 메시지 가로채기(man-in-the-middle), 도청 및 세션 하이재킹과 같은 네트워크 계층 공격으로부터 보호합니다. | 감사, 거부, 사용 안 함 | 2.0.0 |
SQL 데이터베이스에 투명한 데이터 암호화를 사용하도록 설정해야 합니다. | 저장 데이터를 보호하고 규정 준수 요구 사항을 충족하려면 투명한 데이터 암호화를 사용하도록 설정해야 합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
운영자 세션 기밀성 및 무결성
ID: SWIFT CSCF v2021 2.6
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
App Service 앱은 최신 TLS 버전을 사용해야 함 | 주기적으로 보안 결함이나 추가 기능 및 속도 향상을 위해 TLS용 최신 버전이 릴리스됩니다. 보안 픽스(있는 경우) 및/또는 최신 버전의 새로운 기능을 활용하려면 App Service 앱용 최신 TLS 버전으로 업그레이드합니다. | AuditIfNotExists, 사용 안 함 | 2.1.0 |
Azure SQL Database는 TLS 버전 1.2 이상을 실행해야 합니다. | TLS 버전을 1.2 이상으로 설정하면 TLS 1.2 이상을 사용하는 클라이언트에서만 Azure SQL Database에 액세스할 수 있으므로 보안이 향상됩니다. 1.2 미만의 TLS 버전은 보안 취약성이 잘 문서화되었기 때문에 사용하지 않는 것이 좋습니다. | 감사, 사용 안 함, 거부 | 2.0.0 |
MySQL 데이터베이스 서버에 대해 SSL 연결 적용을 사용하도록 설정해야 합니다. | MySQL용 Azure Database는 SSL(Secure Sockets Layer)을 사용한 MySQL용 Azure Database 서버와 클라이언트 애플리케이션 간 연결을 지원합니다. 데이터베이스 서버와 클라이언트 애플리케이션 간 SSL 연결을 적용하면 서버와 애플리케이션 간 데이터 스트림을 암호화함으로써 '메시지 가로채기(man in the middle)' 공격으로부터 보호할 수 있습니다. 이 구성을 적용하면 데이터베이스 서버에 액세스할 때 항상 SSL을 사용하도록 설정됩니다. | 감사, 사용 안 함 | 1.0.1 |
PostgreSQL 데이터베이스 서버에 대해 SSL 연결 적용을 사용하도록 설정해야 합니다. | Azure Database for PostgreSQL은 SSL(Secure Sockets Layer)을 사용하여 Azure Database for PostgreSQL 서버를 클라이언트 애플리케이션에 연결하는 것을 지원합니다. 데이터베이스 서버와 클라이언트 애플리케이션 간 SSL 연결을 적용하면 서버와 애플리케이션 간 데이터 스트림을 암호화함으로써 '메시지 가로채기(man in the middle)' 공격으로부터 보호할 수 있습니다. 이 구성을 적용하면 데이터베이스 서버에 액세스할 때 항상 SSL을 사용하도록 설정됩니다. | 감사, 사용 안 함 | 1.0.1 |
함수 앱은 최신 TLS 버전을 사용해야 함 | 주기적으로 보안 결함이나 추가 기능 및 속도 향상을 위해 TLS용 최신 버전이 릴리스됩니다. 보안 픽스(있는 경우) 및/또는 최신 버전의 새로운 기능을 활용하려면 기능 앱용 최신 TLS 버전으로 업그레이드합니다. | AuditIfNotExists, 사용 안 함 | 2.1.0 |
Azure Cache for Redis에 보안 연결만 사용하도록 설정해야 함 | SSL을 통해 설정된 Azure Cache for Redis 연결만 감사 보안 연결을 사용하여 서버와 서비스 간 인증을 보장하고 전송 중인 데이터를 메시지 가로채기(man-in-the-middle), 도청 및 세션 하이재킹과 같은 네트워크 계층 공격으로부터 보호합니다. | 감사, 거부, 사용 안 함 | 1.0.0 |
SQL Managed Instance는 최소 TLS 버전 1.2를 사용해야 함 | 최소 TLS 버전을 1.2로 설정하면 TLS 1.2를 사용하는 클라이언트에서만 SQL Managed Instance에 액세스할 수 있으므로 보안이 향상됩니다. 1.2 미만의 TLS 버전은 보안 취약성이 잘 문서화되었기 때문에 사용하지 않는 것이 좋습니다. | 감사, 사용 안 함 | 1.0.1 |
Windows 컴퓨터는 보안 통신 프로토콜을 사용하도록 구성되어야 함 | 인터넷을 통해 전달되는 정보의 개인 정보를 보호하려면 컴퓨터에서 최신 버전의 업계 표준 암호화 프로토콜인 TLS(전송 계층 보안)를 사용해야 합니다. TLS는 컴퓨터 간 연결을 암호화하여 네트워크를 통한 통신을 보호합니다. | AuditIfNotExists, 사용 안 함 | 4.1.1 |
취약점 검색
ID: SWIFT CSCF v2021 2.7
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
Azure Defender for App Service를 사용하도록 설정해야 함 | Azure Defender for App Service는 클라우드의 규모와 Azure가 클라우드 공급자로서 가지고 있는 가시성을 활용하여 일반적인 웹앱 공격을 모니터링합니다. | AuditIfNotExists, 사용 안 함 | 1.0.3 |
Azure SQL Database 서버용 Azure Defender를 사용하도록 설정해야 함 | Azure Defender for SQL은 잠재적인 데이터베이스 취약성을 표시 및 완화하고, SQL 데이터베이스에 대한 위협을 나타낼 수 있는 비정상적인 활동을 감지하고, 중요한 데이터를 검색 및 분류하는 기능을 제공합니다. | AuditIfNotExists, 사용 안 함 | 1.0.2 |
Azure Defender for Key Vault를 사용하도록 설정해야 함 | Azure Defender for Key Vault는 키 자격 증명 모음 계정에 액세스하거나 이를 악용하려는 비정상적이고 잠재적으로 유해한 시도를 감지하여 보안 인텔리전스에 추가 보호 계층을 제공합니다. | AuditIfNotExists, 사용 안 함 | 1.0.3 |
서버용 Azure Defender를 사용하도록 설정해야 함 | 서버용 Azure Defender는 서버 워크로드에 대한 실시간 위협 방지 기능을 제공하고 강화된 권장 사항과 의심스러운 활동에 대한 경고를 생성합니다. | AuditIfNotExists, 사용 안 함 | 1.0.3 |
머신에서 SQL 서버용 Azure Defender를 사용하도록 설정해야 함 | Azure Defender for SQL은 잠재적인 데이터베이스 취약성을 표시 및 완화하고, SQL 데이터베이스에 대한 위협을 나타낼 수 있는 비정상적인 활동을 감지하고, 중요한 데이터를 검색 및 분류하는 기능을 제공합니다. | AuditIfNotExists, 사용 안 함 | 1.0.2 |
스토리지용 Microsoft Defender를 사용하도록 설정해야 함 | 스토리지용 Microsoft Defender는 스토리지 계정에 대한 잠재적 위협을 탐지합니다. 악의적인 파일 업로드, 중요한 데이터 반출 및 데이터 손상 등 데이터 및 워크로드에 미치는 세 가지 주요 영향을 방지하는 데 도움이 됩니다. 새 스토리지용 Defender 플랜에는 맬웨어 검사 및 중요한 데이터 위협 탐지가 포함됩니다. 이 플랜은 또한 적용 범위 및 비용을 더 잘 제어할 수 있도록 예측 가능한 가격 책정 구조(스토리지 계정당)를 제공합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
SQL 데이터베이스가 발견한 취약성을 해결해야 함 | 취약성 평가 검사 결과 및 데이터베이스 취약성을 수정하는 방법에 관한 권장 사항을 모니터링합니다. | AuditIfNotExists, 사용 안 함 | 4.1.0 |
머신 보안 구성의 취약성을 수정해야 합니다. | 구성된 기준을 충족하지 않는 서버는 Azure Security Center에서 권장 사항으로 모니터링됩니다. | AuditIfNotExists, 사용 안 함 | 3.1.0 |
SQL Managed Instance에서 취약성 평가를 사용하도록 설정해야 함 | 반복 취약성 평가 검사를 사용하도록 설정하지 않은 각 SQL Managed Instance를 감사합니다. 취약성 평가는 잠재적 데이터베이스 취약성을 검색 및 추적할 수 있고 해결하는 데 도움이 될 수 있습니다. | AuditIfNotExists, 사용 안 함 | 1.0.1 |
SQL 서버에서 취약성 평가를 사용하도록 설정해야 합니다. | 취약성 평가가 제대로 구성되지 않은 Azure SQL Server를 감사합니다. 취약성 평가는 잠재적 데이터베이스 취약성을 검색 및 추적할 수 있고 해결하는 데 도움이 될 수 있습니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
환경의 물리적 보안
물리적 보안
ID: SWIFT CSCF v2021 3.1
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
관리 디스크를 사용하지 않는 VM 감사 | 이 정책은 관리 디스크를 사용하지 않는 VM을 감사 | 감사 | 1.0.0 |
자격 증명 손상 방지
암호 정책
ID: SWIFT CSCF v2021 4.1
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
암호 없이 계정에서 원격 연결을 허용하는 Linux 머신 감사 | 필수 구성 요소가 정책 할당 범위에 배포되어야 합니다. 자세한 내용은 https://aka.ms/gcpol 을 참조하세요. 암호 없이 계정에서 원격 연결을 허용하는 Linux 머신의 경우 머신은 비규격입니다. | AuditIfNotExists, 사용 안 함 | 3.1.0 |
암호가 없는 계정이 있는 Linux 머신 감사 | 필수 구성 요소가 정책 할당 범위에 배포되어야 합니다. 자세한 내용은 https://aka.ms/gcpol 을 참조하세요. 암호가 없는 계정이 있는 Linux 머신의 경우 머신은 비규격입니다. | AuditIfNotExists, 사용 안 함 | 3.1.0 |
지정된 수의 고유 암호 이후 암호를 다시 사용할 수 있는 Windows 머신 감사 | 필수 구성 요소가 정책 할당 범위에 배포되어야 합니다. 자세한 내용은 https://aka.ms/gcpol 을 참조하세요. Windows 머신이 지정된 수의 고유 암호 이후 암호를 다시 사용할 수 있도록 허용하는 경우 머신은 비규격입니다. 고유 암호의 기본값은 24입니다. | AuditIfNotExists, 사용 안 함 | 2.1.0 |
최대 암호 사용 기간이 지정된 일 수로 설정되지 않은 Windows 머신 감사 | 필수 구성 요소가 정책 할당 범위에 배포되어야 합니다. 자세한 내용은 https://aka.ms/gcpol 을 참조하세요. Windows 머신이 최대 암호 사용 기간이 지정된 일 수로 설정되지 않은 경우 머신은 비규격입니다. 최대 암호 사용 기간의 기본값은 70일입니다. | AuditIfNotExists, 사용 안 함 | 2.1.0 |
최소 암호 사용 기간이 지정된 일 수로 설정되지 않은 Windows 머신 감사 | 필수 구성 요소가 정책 할당 범위에 배포되어야 합니다. 자세한 내용은 https://aka.ms/gcpol 을 참조하세요. Windows 머신이 최소 암호 사용 기간이 지정된 일 수로 설정되지 않은 경우 머신은 비규격입니다. 최소 암호 사용 기간의 기본값은 1일입니다. | AuditIfNotExists, 사용 안 함 | 2.1.0 |
암호 복잡성 설정이 활성화되지 않는 Windows 머신 감사 | 필수 구성 요소가 정책 할당 범위에 배포되어야 합니다. 자세한 내용은 https://aka.ms/gcpol 을 참조하세요. 암호 복잡성 설정이 활성화되지 않는 Windows 머신의 경우 머신은 비규격입니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
암호 최소 길이를 지정된 문자 수로 제한하지 않는 Windows 머신 감사 | 필수 구성 요소가 정책 할당 범위에 배포되어야 합니다. 자세한 내용은 https://aka.ms/gcpol 을 참조하세요. Windows 머신이 최소 암호 길이를 지정된 문자 수로 제한하지 않는 경우 머신은 비규격입니다. 최소 암호 길이에 대한 기본값은 14자입니다. | AuditIfNotExists, 사용 안 함 | 2.1.0 |
Multi-Factor Authentication
ID: SWIFT CSCF v2021 4.2
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
Azure 리소스에 대한 소유자 권한이 있는 계정은 MFA를 사용하도록 설정해야 함 | 계정 또는 리소스 위반을 방지하려면 소유자 권한이 있는 모든 구독 계정에 대해 MFA(Multi-Factor Authentication)를 사용하도록 설정해야 합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
Azure 리소스에 대한 읽기 권한이 있는 계정에 MFA를 사용하도록 설정해야 함 | 계정 또는 리소스 위반을 방지하려면 읽기 권한이 있는 모든 구독 계정에서 MFA(Multi-Factor Authentication)를 사용하도록 설정해야 합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
Azure 리소스에 대한 쓰기 권한이 있는 계정에 MFA를 사용하도록 설정해야 함 | 계정 또는 리소스 위반을 방지하려면 쓰기 권한이 있는 모든 구독 계정에서 MFA(Multi-Factor Authentication)를 사용하도록 설정해야 합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
ID 관리 및 권한 분리
논리적 액세스 제어
ID: SWIFT CSCF v2021 5.1
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
구독에 최대 3명의 소유자를 지정해야 합니다. | 보안이 침해된 소유자의 위반 가능성을 줄이려면 최대 3명의 구독 소유자를 지정하는 것이 좋습니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
Azure 리소스에 대한 소유자 권한이 있는 차단된 계정을 제거해야 함 | 소유자 권한이 있는 사용되지 않는 계정은 구독에서 제거해야 합니다. 사용되지 않는 계정은 로그인이 차단된 계정입니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
Azure 리소스에 대한 읽기 및 쓰기 권한이 있는 차단된 계정을 제거해야 함 | 더 이상 사용되지 않는 계정을 구독에서 제거해야 합니다. 사용되지 않는 계정은 로그인이 차단된 계정입니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
Azure 리소스에 대한 소유자 권한이 있는 게스트 계정을 제거해야 함 | 모니터링되지 않는 액세스를 방지하려면 소유자 권한이 있는 외부 계정을 구독에서 제거해야 합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
Azure 리소스에 대한 읽기 권한이 있는 게스트 계정을 제거해야 함 | 모니터링되지 않는 액세스를 방지하려면 읽기 권한이 있는 외부 계정을 구독에서 제거해야 합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
Azure 리소스에 대한 쓰기 권한이 있는 게스트 계정을 제거해야 함 | 모니터링되지 않는 액세스를 방지하려면 쓰기 권한이 있는 외부 계정을 구독에서 제거해야 합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
구독에 둘 이상의 소유자를 할당해야 합니다. | 관리자 액세스 중복성을 유지하려면 둘 이상의 구독 소유자를 지정하는 것이 좋습니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
토큰 관리
ID: SWIFT CSCF v2021 5.2
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
App Service 앱에서 관리 ID를 사용해야 함 | 인증 보안 강화를 위해 관리 ID 사용 | AuditIfNotExists, 사용 안 함 | 3.0.0 |
함수 앱에서 관리 ID를 사용해야 함 | 인증 보안 강화를 위해 관리 ID 사용 | AuditIfNotExists, 사용 안 함 | 3.0.0 |
가상 머신의 관리 포트는 Just-In-Time 네트워크 액세스 제어로 보호해야 함 | 가능한 네트워크 JIT(Just In Time) 액세스는 Azure Security Center에서 권장 사항으로 모니터링됩니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
실제 및 논리적 암호 저장
ID: SWIFT CSCF v2021 5.4
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
App Service 앱에서 관리 ID를 사용해야 함 | 인증 보안 강화를 위해 관리 ID 사용 | AuditIfNotExists, 사용 안 함 | 3.0.0 |
해독 가능한 암호화를 사용하여 암호를 저장하지 않는 Windows 머신 감사 | 필수 구성 요소가 정책 할당 범위에 배포되어야 합니다. 자세한 내용은 https://aka.ms/gcpol 을 참조하세요. 해독 가능한 암호화를 사용하여 암호를 저장하지 않는 Windows 머신의 경우 머신은 비규격입니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
함수 앱에서 관리 ID를 사용해야 함 | 인증 보안 강화를 위해 관리 ID 사용 | AuditIfNotExists, 사용 안 함 | 3.0.0 |
키 자격 증명 모음에서는 삭제 방지를 사용하도록 설정해야 함 | 키 자격 증명 모음을 악의적으로 삭제하면 데이터가 영구적으로 손실될 수 있습니다. 제거 방지 및 일시 삭제를 사용하도록 설정하여 영구적인 데이터 손실을 방지할 수 있습니다. 제거 보호는 일시 삭제된 키 자격 증명 모음에 대해 필수 보존 기간을 적용하여 내부자 공격으로부터 보호합니다. 일시 삭제 보존 기간 동안에는 조직 또는 Microsoft 내부의 어느 누구도 키 자격 증명 모음을 제거할 수 없습니다. 2019년 9월 1일 이후에 만든 키 자격 증명 모음은 기본적으로 일시 삭제를 사용하도록 설정되어 있습니다. | 감사, 거부, 사용 안 함 | 2.1.0 |
시스템 또는 트랜잭션 레코드에 대한 비정상적인 활동 검색
맬웨어 방지
ID: SWIFT CSCF v2021 6.1
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
보호 서명을 자동으로 업데이트하려면 Azure용 Microsoft Antimalware를 구성해야 함 | 이 정책은 Microsoft Antimalware 보호 서명의 자동 업데이트로 구성되지 않은 Windows 가상 머신을 감사합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
Microsoft IaaSAntimalware 확장을 Windows Server에 배포해야 함 | 이 정책은 Microsoft IaaSAntimalware 확장이 배포되지 않은 Windows Server VM을 감사합니다. | AuditIfNotExists, 사용 안 함 | 1.1.0 |
소프트웨어 무결성
ID: SWIFT CSCF v2021 6.2
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
App Service 앱에 원격 디버깅이 비활성화되어 있어야 함 | 원격으로 디버깅하려면 App Service 앱에서 인바운드 포트를 열어야 합니다. 원격 디버깅을 해제해야 합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
Azure Kubernetes Service 클러스터의 운영 체제와 데이터 디스크를 모두 고객 관리형 키로 암호화해야 함 | 고객 관리형 키를 사용하여 OS 및 데이터 디스크를 암호화하면 키 관리를 더 효율적으로 제어하고 더 유연하게 수행할 수 있습니다. 이는 다양한 규정 및 업계 규정 준수 표준의 공통 요구 사항입니다. | 감사, 거부, 사용 안 함 | 1.0.1 |
함수 앱에 원격 디버깅이 해제되어 있어야 함 | 원격 디버깅을 수행하려면 함수 앱에서 인바운드 포트를 열어야 합니다. 원격 디버깅을 해제해야 합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
데이터베이스 무결성
ID: SWIFT CSCF v2021 6.3
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
SQL 서버에 대한 감사가 사용되도록 설정되어야 합니다. | 서버의 모든 데이터베이스에서 데이터베이스 활동을 추적하고 감사 로그에 저장하려면 SQL Server에서의 감사를 사용하도록 설정해야 합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
Cosmos DB는 가상 네트워크 서비스 엔드포인트를 사용해야 함 | 이 정책은 가상 네트워크 서비스 엔드포인트를 사용하도록 구성되지 않은 모든 Cosmos DB를 감사합니다. | 감사, 사용 안 함 | 1.0.0 |
PostgreSQL 데이터베이스 서버에 대한 연결 끊김을 기록해야 합니다. | 이 정책은 log_disconnections를 사용하도록 설정하지 않고 사용자 환경에서 PostgreSQL 데이터베이스를 감사하는 데 도움이 됩니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
Azure Database for MariaDB에 대해 지역 중복 백업을 사용하도록 설정해야 합니다. | Azure Database for MariaDB를 사용하면 데이터베이스 서버에 대한 중복성 옵션을 선택할 수 있습니다. 서버가 호스트되는 지역 내에 저장될 뿐만 아니라 지역 장애 발생 시 복구 옵션을 제공하기 위해 쌍을 이루는 지역에도 복제되는 데이터가 있는 지역 중복 백업 스토리지로 설정할 수 있습니다. 백업을 위한 지역 중복 스토리지 구성은 서버 생성 중에만 허용됩니다. | 감사, 사용 안 함 | 1.0.1 |
Azure Database for MySQL에 대해 지역 중복 백업을 사용하도록 설정해야 합니다. | Azure Database for MySQL을 사용하면 데이터베이스 서버에 대한 중복성 옵션을 선택할 수 있습니다. 서버가 호스트되는 지역 내에 저장될 뿐만 아니라 지역 장애 발생 시 복구 옵션을 제공하기 위해 쌍을 이루는 지역에도 복제되는 데이터가 있는 지역 중복 백업 스토리지로 설정할 수 있습니다. 백업을 위한 지역 중복 스토리지 구성은 서버 생성 중에만 허용됩니다. | 감사, 사용 안 함 | 1.0.1 |
Azure Database for PostgreSQL에 대해 지역 중복 백업을 사용하도록 설정해야 합니다. | Azure Database for PostgreSQL을 사용하면 데이터베이스 서버에 대한 중복성 옵션을 선택할 수 있습니다. 서버가 호스트되는 지역 내에 저장될 뿐만 아니라 지역 장애 발생 시 복구 옵션을 제공하기 위해 쌍을 이루는 지역에도 복제되는 데이터가 있는 지역 중복 백업 스토리지로 설정할 수 있습니다. 백업을 위한 지역 중복 스토리지 구성은 서버 생성 중에만 허용됩니다. | 감사, 사용 안 함 | 1.0.1 |
Azure SQL Database에서 공용 네트워크 액세스를 사용하지 않도록 설정해야 함 | 공용 네트워크 액세스 속성을 사용하지 않도록 설정하면 프라이빗 엔드포인트에서만 Azure SQL Database에 액세스할 수 있도록 하여 보안이 향상됩니다. 이 구성은 IP 또는 가상 네트워크 기반 방화벽 규칙과 일치하는 모든 로그인을 거부합니다. | 감사, 거부, 사용 안 함 | 1.1.0 |
MariaDB 서버에 대해 공용 네트워크 액세스를 사용하지 않도록 설정해야 합니다. | 공용 네트워크 액세스 속성을 사용하지 않도록 설정하여 보안을 강화하고 프라이빗 엔드포인트에서만 Azure Database for MariaDB에 액세스할 수 있도록 합니다. 이 구성은 Azure IP 범위를 벗어나는 공용 주소 공간의 액세스를 엄격하게 차단하고, IP 또는 가상 네트워크 기반 방화벽 규칙에 부합하는 모든 로그인을 거부합니다. | 감사, 거부, 사용 안 함 | 2.0.0 |
MySQL 서버에 대해 공용 네트워크 액세스를 사용하지 않도록 설정해야 합니다. | 공용 네트워크 액세스 속성을 사용하지 않도록 설정하여 보안을 강화하고 프라이빗 엔드포인트에서만 Azure Database for MySQL에 액세스할 수 있도록 합니다. 이 구성은 Azure IP 범위를 벗어나는 공용 주소 공간의 액세스를 엄격하게 차단하고, IP 또는 가상 네트워크 기반 방화벽 규칙에 부합하는 모든 로그인을 거부합니다. | 감사, 거부, 사용 안 함 | 2.0.0 |
PostgreSQL 서버에 대해 공용 네트워크 액세스를 사용하지 않도록 설정해야 합니다. | 공용 네트워크 액세스 속성을 사용하지 않도록 설정하여 보안을 강화하고 프라이빗 엔드포인트에서만 Azure Database for PostgreSQL에 액세스할 수 있도록 합니다. 이 구성은 Azure IP 범위를 벗어나는 공용 주소 공간에서의 액세스를 사용하지 않도록 설정하고, IP 또는 가상 네트워크 기반 방화벽 규칙과 일치하는 모든 로그인을 거부합니다. | 감사, 거부, 사용 안 함 | 2.0.1 |
스토리지 계정 대상에 대한 감사 기능이 있는 SQL Server는 보존 기간을 90일 이상으로 구성해야 함 | 인시던트 조사를 위해 SQL Server 감사를 위한 데이터 보존 기간을 스토리지 계정 대상으로 90일 이상으로 설정하는 것이 좋습니다. 운영 중인 지역에 필요한 보존 규칙을 충족하는지 확인합니다. 이는 규정 표준을 준수해야 하는 경우도 있습니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
SQL 데이터베이스에 투명한 데이터 암호화를 사용하도록 설정해야 합니다. | 저장 데이터를 보호하고 규정 준수 요구 사항을 충족하려면 투명한 데이터 암호화를 사용하도록 설정해야 합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
로깅 및 모니터링
ID: SWIFT CSCF v2021 6.4
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
[미리 보기]: 나열된 가상 머신 이미지에 대해 Log Analytics 확장을 사용하도록 설정해야 합니다. | 가상 머신 이미지가 정의된 목록에 없고 확장이 설치되어 있지 않은 경우 가상 머신을 비규격으로 보고합니다. | AuditIfNotExists, 사용 안 함 | 2.0.1-preview |
[미리 보기]: Linux 가상 머신에 네트워크 트래픽 데이터 수집 에이전트를 설치해야 함 | Security Center에서는 Microsoft Dependency Agent를 사용하여 Azure 가상 머신에서 네트워크 트래픽 데이터를 수집함으로써 네트워크 맵의 트래픽 시각화, 네트워크 강화 권장 사항 및 특정 네트워크 위협과 같은 고급 네트워크 보호 기능을 활성화합니다. | AuditIfNotExists, 사용 안 함 | 1.0.2-preview |
[미리 보기]: Windows 가상 머신에 네트워크 트래픽 데이터 수집 에이전트를 설치해야 함 | Security Center에서는 Microsoft Dependency Agent를 사용하여 Azure 가상 머신에서 네트워크 트래픽 데이터를 수집함으로써 네트워크 맵의 트래픽 시각화, 네트워크 강화 권장 사항 및 특정 네트워크 위협과 같은 고급 네트워크 보호 기능을 활성화합니다. | AuditIfNotExists, 사용 안 함 | 1.0.2-preview |
활동 로그는 1년 이상 보존되어야 합니다. | 이 정책은 보존이 365일 또는 계속(보존 기간이 0으로 설정)으로 설정되지 않은 경우 활동 로그를 감사합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
시스템 할당 관리 ID를 추가하여 ID가 없는 가상 머신에서 게스트 구성 할당을 사용하도록 설정 | 이 정책은 게스트 구성에서 지원되지만 관리 ID가 없는 Azure에서 호스트되는 가상 머신에 시스템 할당 관리 ID를 추가합니다. 시스템 할당 관리 ID는 모든 게스트 구성 할당에 대한 필수 구성 요소이며 게스트 구성 정책 정의를 사용하기 전에 머신에 추가해야 합니다. 게스트 구성에 대한 자세한 내용은 https://aka.ms/gcpol을 방문하세요. | 수정 | 4.1.0 |
시스템이 할당한 관리 ID를 추가하여 사용자가 할당한 ID가 있는 VM에서 게스트 구성 할당을 사용하도록 설정 | 이 정책은 게스트 구성에서 지원되고 사용자 할당 ID가 하나 이상 있지만 시스템 할당 관리 ID가 없는 Azure에서 호스트되는 가상 머신에 시스템 할당 관리 ID를 추가합니다. 시스템 할당 관리 ID는 모든 게스트 구성 할당에 대한 필수 구성 요소이며 게스트 구성 정책 정의를 사용하기 전에 머신에 추가해야 합니다. 게스트 구성에 대한 자세한 내용은 https://aka.ms/gcpol을 방문하세요. | 수정 | 4.1.0 |
재해 복구가 구성되어 있지 않은 가상 머신 감사 | 재해 복구가 구성되지 않은 가상 머신을 감사합니다. 재해 복구에 대한 자세한 내용은 https://aka.ms/asr-doc를 참조하세요. | auditIfNotExists | 1.0.0 |
SQL 서버에 대한 감사가 사용되도록 설정되어야 합니다. | 서버의 모든 데이터베이스에서 데이터베이스 활동을 추적하고 감사 로그에 저장하려면 SQL Server에서의 감사를 사용하도록 설정해야 합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
Virtual Machines에 Azure Backup을 사용하도록 설정해야 합니다. | Azure Backup을 사용하도록 설정하여 Azure Virtual Machines의 보호를 보장합니다. Azure Backup은 Azure를 위한 안전하고 경제적인 데이터 보호 솔루션입니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
Azure Defender for App Service를 사용하도록 설정해야 함 | Azure Defender for App Service는 클라우드의 규모와 Azure가 클라우드 공급자로서 가지고 있는 가시성을 활용하여 일반적인 웹앱 공격을 모니터링합니다. | AuditIfNotExists, 사용 안 함 | 1.0.3 |
Azure SQL Database 서버용 Azure Defender를 사용하도록 설정해야 함 | Azure Defender for SQL은 잠재적인 데이터베이스 취약성을 표시 및 완화하고, SQL 데이터베이스에 대한 위협을 나타낼 수 있는 비정상적인 활동을 감지하고, 중요한 데이터를 검색 및 분류하는 기능을 제공합니다. | AuditIfNotExists, 사용 안 함 | 1.0.2 |
Azure Defender for Key Vault를 사용하도록 설정해야 함 | Azure Defender for Key Vault는 키 자격 증명 모음 계정에 액세스하거나 이를 악용하려는 비정상적이고 잠재적으로 유해한 시도를 감지하여 보안 인텔리전스에 추가 보호 계층을 제공합니다. | AuditIfNotExists, 사용 안 함 | 1.0.3 |
서버용 Azure Defender를 사용하도록 설정해야 함 | 서버용 Azure Defender는 서버 워크로드에 대한 실시간 위협 방지 기능을 제공하고 강화된 권장 사항과 의심스러운 활동에 대한 경고를 생성합니다. | AuditIfNotExists, 사용 안 함 | 1.0.3 |
머신에서 SQL 서버용 Azure Defender를 사용하도록 설정해야 함 | Azure Defender for SQL은 잠재적인 데이터베이스 취약성을 표시 및 완화하고, SQL 데이터베이스에 대한 위협을 나타낼 수 있는 비정상적인 활동을 감지하고, 중요한 데이터를 검색 및 분류하는 기능을 제공합니다. | AuditIfNotExists, 사용 안 함 | 1.0.2 |
Azure Monitor 로그 프로필은 'write'(쓰기), 'delete'(삭제) 및 'action'(작업) 범주에 대한 로그를 수집해야 합니다. | 이 정책을 사용하면 로그 프로필이 '쓰기,' '삭제' 및 '작업' 범주에 대한 로그를 수집합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
Azure Monitor는 모든 지역의 활동 로그를 수집해야 합니다. | 이 정책은 글로벌 지역을 포함하여 모든 Azure 지원 지역에서 활동을 내보내지 않는 Azure Monitor 로그 프로필을 감사합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
Linux 게스트 구성 확장을 배포하여 Linux VM에서 게스트 구성 할당을 사용하도록 설정 | 이 정책은 게스트 구성에서 지원되는 Azure에서 호스트되는 Linux 가상 머신에 Linux 게스트 구성 확장을 배포합니다. Linux 게스트 구성 확장은 모든 Linux 게스트 구성 할당의 필수 조건이며 Linux 게스트 구성 정책 정의를 사용하기 전에 머신에 배포해야 합니다. 게스트 구성에 대한 자세한 내용은 https://aka.ms/gcpol을 방문하세요. | deployIfNotExists | 3.1.0 |
Windows 게스트 구성 확장을 배포하여 Windows VM에서 게스트 구성 할당을 사용하도록 설정 | 이 정책은 게스트 구성에서 지원되는 Azure에서 호스트되는 Windows 가상 머신에 Windows 게스트 구성 확장을 배포합니다. Windows 게스트 구성 확장은 모든 Windows 게스트 구성 할당의 필수 조건이며 Windows 게스트 구성 정책 정의를 사용하기 전에 머신에 배포해야 합니다. 게스트 구성에 대한 자세한 내용은 https://aka.ms/gcpol을 방문하세요. | deployIfNotExists | 1.2.0 |
가상 머신 확장 집합에서 나열된 가상 머신 이미지의 Log Analytics 확장을 사용하도록 설정해야 함 | 가상 머신 이미지가 정의된 목록에 없고 확장이 설치되어 있지 않은 경우 가상 머신 확장 집합을 비규격으로 보고합니다. | AuditIfNotExists, 사용 안 함 | 2.0.1 |
스토리지용 Microsoft Defender를 사용하도록 설정해야 함 | 스토리지용 Microsoft Defender는 스토리지 계정에 대한 잠재적 위협을 탐지합니다. 악의적인 파일 업로드, 중요한 데이터 반출 및 데이터 손상 등 데이터 및 워크로드에 미치는 세 가지 주요 영향을 방지하는 데 도움이 됩니다. 새 스토리지용 Defender 플랜에는 맬웨어 검사 및 중요한 데이터 위협 탐지가 포함됩니다. 이 플랜은 또한 적용 범위 및 비용을 더 잘 제어할 수 있도록 예측 가능한 가격 책정 구조(스토리지 계정당)를 제공합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
Azure Data Lake Store에서 리소스 로그를 사용하도록 설정해야 함 | 리소스 로그 사용을 감사합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 사용할 활동 내역을 다시 만들 수 있습니다. | AuditIfNotExists, 사용 안 함 | 5.0.0 |
Azure Stream Analytics에서 리소스 로그를 사용하도록 설정해야 함 | 리소스 로그 사용을 감사합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 사용할 활동 내역을 다시 만들 수 있습니다. | AuditIfNotExists, 사용 안 함 | 5.0.0 |
Batch 계정에서 리소스 로그를 사용하도록 설정해야 함 | 리소스 로그 사용을 감사합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 사용할 활동 내역을 다시 만들 수 있습니다. | AuditIfNotExists, 사용 안 함 | 5.0.0 |
Data Lake Analytics의 리소스 로그를 사용하도록 설정해야 함 | 리소스 로그 사용을 감사합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 사용할 활동 내역을 다시 만들 수 있습니다. | AuditIfNotExists, 사용 안 함 | 5.0.0 |
Event Hub의 리소스 로그를 사용하도록 설정해야 함 | 리소스 로그 사용을 감사합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 사용할 활동 내역을 다시 만들 수 있습니다. | AuditIfNotExists, 사용 안 함 | 5.0.0 |
IoT Hub에서 리소스 로그를 사용하도록 설정해야 함 | 리소스 로그 사용을 감사합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 사용할 활동 내역을 다시 만들 수 있습니다. | AuditIfNotExists, 사용 안 함 | 3.1.0 |
Key Vault에서 리소스 로그를 사용하도록 설정해야 함 | 리소스 로그 사용을 감사합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 사용할 활동 내역을 다시 만들 수 있습니다. | AuditIfNotExists, 사용 안 함 | 5.0.0 |
Logic Apps의 리소스 로그를 사용하도록 설정해야 함 | 리소스 로그 사용을 감사합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 사용할 활동 내역을 다시 만들 수 있습니다. | AuditIfNotExists, 사용 안 함 | 5.1.0 |
Search Services에서 리소스 로그를 사용하도록 설정해야 함 | 리소스 로그 사용을 감사합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 사용할 활동 내역을 다시 만들 수 있습니다. | AuditIfNotExists, 사용 안 함 | 5.0.0 |
Service Bus에서 리소스 로그를 사용하도록 설정해야 함 | 리소스 로그 사용을 감사합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 사용할 활동 내역을 다시 만들 수 있습니다. | AuditIfNotExists, 사용 안 함 | 5.0.0 |
Virtual Machine Scale Sets에 Log Analytics 확장을 설치해야 함 | 이 정책은 Log Analytics 확장이 설치되어 있지 않은 경우 모든 Windows/Linux Virtual Machine Scale Sets에 대해 감사를 수행합니다. | AuditIfNotExists, 사용 안 함 | 1.0.1 |
가상 머신에 Log Analytics 확장이 설치되어 있어야 함 | 이 정책은 Log Analytics 확장이 설치되어 있지 않은 경우 모든 Windows/Linux 가상 머신에 대해 감사를 수행합니다. | AuditIfNotExists, 사용 안 함 | 1.0.1 |
침입 탐지
ID: SWIFT CSCF v2021 6.5A
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
[미리 보기]: Linux 가상 머신에 네트워크 트래픽 데이터 수집 에이전트를 설치해야 함 | Security Center에서는 Microsoft Dependency Agent를 사용하여 Azure 가상 머신에서 네트워크 트래픽 데이터를 수집함으로써 네트워크 맵의 트래픽 시각화, 네트워크 강화 권장 사항 및 특정 네트워크 위협과 같은 고급 네트워크 보호 기능을 활성화합니다. | AuditIfNotExists, 사용 안 함 | 1.0.2-preview |
[미리 보기]: Windows 가상 머신에 네트워크 트래픽 데이터 수집 에이전트를 설치해야 함 | Security Center에서는 Microsoft Dependency Agent를 사용하여 Azure 가상 머신에서 네트워크 트래픽 데이터를 수집함으로써 네트워크 맵의 트래픽 시각화, 네트워크 강화 권장 사항 및 특정 네트워크 위협과 같은 고급 네트워크 보호 기능을 활성화합니다. | AuditIfNotExists, 사용 안 함 | 1.0.2-preview |
App Service 앱에 원격 디버깅이 비활성화되어 있어야 함 | 원격으로 디버깅하려면 App Service 앱에서 인바운드 포트를 열어야 합니다. 원격 디버깅을 해제해야 합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
App Service 앱에서 모든 리소스가 앱에 액세스할 수 있도록 CORS를 구성하면 안 됨 | CORS(원본 간 리소스 공유)는 앱에 액세스하는 모든 도메인을 허용해서는 안 됩니다. 필요한 도메인만 앱과 상호 작용하도록 허용합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
Azure Defender for App Service를 사용하도록 설정해야 함 | Azure Defender for App Service는 클라우드의 규모와 Azure가 클라우드 공급자로서 가지고 있는 가시성을 활용하여 일반적인 웹앱 공격을 모니터링합니다. | AuditIfNotExists, 사용 안 함 | 1.0.3 |
Azure SQL Database 서버용 Azure Defender를 사용하도록 설정해야 함 | Azure Defender for SQL은 잠재적인 데이터베이스 취약성을 표시 및 완화하고, SQL 데이터베이스에 대한 위협을 나타낼 수 있는 비정상적인 활동을 감지하고, 중요한 데이터를 검색 및 분류하는 기능을 제공합니다. | AuditIfNotExists, 사용 안 함 | 1.0.2 |
Azure Defender for Key Vault를 사용하도록 설정해야 함 | Azure Defender for Key Vault는 키 자격 증명 모음 계정에 액세스하거나 이를 악용하려는 비정상적이고 잠재적으로 유해한 시도를 감지하여 보안 인텔리전스에 추가 보호 계층을 제공합니다. | AuditIfNotExists, 사용 안 함 | 1.0.3 |
서버용 Azure Defender를 사용하도록 설정해야 함 | 서버용 Azure Defender는 서버 워크로드에 대한 실시간 위협 방지 기능을 제공하고 강화된 권장 사항과 의심스러운 활동에 대한 경고를 생성합니다. | AuditIfNotExists, 사용 안 함 | 1.0.3 |
머신에서 SQL 서버용 Azure Defender를 사용하도록 설정해야 함 | Azure Defender for SQL은 잠재적인 데이터베이스 취약성을 표시 및 완화하고, SQL 데이터베이스에 대한 위협을 나타낼 수 있는 비정상적인 활동을 감지하고, 중요한 데이터를 검색 및 분류하는 기능을 제공합니다. | AuditIfNotExists, 사용 안 함 | 1.0.2 |
Azure Kubernetes Service 클러스터의 운영 체제와 데이터 디스크를 모두 고객 관리형 키로 암호화해야 함 | 고객 관리형 키를 사용하여 OS 및 데이터 디스크를 암호화하면 키 관리를 더 효율적으로 제어하고 더 유연하게 수행할 수 있습니다. 이는 다양한 규정 및 업계 규정 준수 표준의 공통 요구 사항입니다. | 감사, 거부, 사용 안 함 | 1.0.1 |
함수 앱에 원격 디버깅이 해제되어 있어야 함 | 원격 디버깅을 수행하려면 함수 앱에서 인바운드 포트를 열어야 합니다. 원격 디버깅을 해제해야 합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
함수 앱에서 모든 리소스가 앱에 액세스할 수 있도록 CORS를 구성하면 안 됨 | CORS(교차 원본 리소스 공유)는 함수 앱에 액세스하는 모든 도메인을 허용하지 않아야 합니다. 필요한 도메인만 함수 앱과 상호 작용할 수 있도록 허용합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
스토리지용 Microsoft Defender를 사용하도록 설정해야 함 | 스토리지용 Microsoft Defender는 스토리지 계정에 대한 잠재적 위협을 탐지합니다. 악의적인 파일 업로드, 중요한 데이터 반출 및 데이터 손상 등 데이터 및 워크로드에 미치는 세 가지 주요 영향을 방지하는 데 도움이 됩니다. 새 스토리지용 Defender 플랜에는 맬웨어 검사 및 중요한 데이터 위협 탐지가 포함됩니다. 이 플랜은 또한 적용 범위 및 비용을 더 잘 제어할 수 있도록 예측 가능한 가격 책정 구조(스토리지 계정당)를 제공합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
Network Watcher를 사용하도록 설정해야 함 | Network Watcher는 Azure 내에서, Azure로, Azure로부터 네트워크 시나리오 수준 상태를 모니터링하고 진단할 수 있게 하는 지역 서비스입니다. 시나리오 수준 모니터링을 사용하면 종단 간 네트워크 수준 보기에서 문제를 진단할 수 있습니다. 가상 네트워크가 있는 모든 지역에서 Network Watcher 리소스 그룹을 만들어야 합니다. 특정 지역에서 Network Watcher 리소스 그룹을 사용할 수 없는 경우 경고가 활성화됩니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
Azure Cache for Redis에 보안 연결만 사용하도록 설정해야 함 | SSL을 통해 설정된 Azure Cache for Redis 연결만 감사 보안 연결을 사용하여 서버와 서비스 간 인증을 보장하고 전송 중인 데이터를 메시지 가로채기(man-in-the-middle), 도청 및 세션 하이재킹과 같은 네트워크 계층 공격으로부터 보호합니다. | 감사, 거부, 사용 안 함 | 1.0.0 |
인시던트 대응 및 정보 공유 계획
사이버 사고 대응 계획 수립
ID: SWIFT CSCF v2021 7.1
이름 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
심각도가 높은 경고에 대해 이메일 알림을 사용하도록 설정해야 합니다. | 구독 중 하나에 잠재적인 보안 위반이 있을 때 조직의 관련 인원에게 알리려면 Security Center에서 심각도가 높은 경고에 대한 이메일 알림을 사용하도록 설정합니다. | AuditIfNotExists, 사용 안 함 | 1.2.0 |
심각도가 높은 경고에 대해 구독 소유자에게 이메일 알림을 사용하도록 설정해야 합니다. | 구독에 잠재적인 보안 위반이 있을 때 구독 소유자에게 알리려면 Security Center에서 심각도가 높은 경고에 대해 구독 소유자에게 이메일로 알리도록 설정합니다. | AuditIfNotExists, 사용 안 함 | 2.1.0 |
구독에 보안 문제에 대한 연락처 이메일 주소가 있어야 함 | 구독 중 하나에 잠재적인 보안 위반이 있을 때 조직의 관련 인원에게 알리려면 Security Center에서 이메일 알림을 받을 수 있도록 보안 연락처를 설정합니다. | AuditIfNotExists, 사용 안 함 | 1.0.1 |
다음 단계
Azure Policy에 대한 추가 문서:
- 규정 준수 개요
- 이니셔티브 정의 구조를 참조합니다.
- Azure Policy 샘플의 다른 예제를 검토합니다.
- 정책 효과 이해를 검토합니다.
- 규정 비준수 리소스를 수정하는 방법을 알아봅니다.