컴퓨팅 보안 권장 사항
이 문서에서는 클라우드용 Microsoft Defender 볼 수 있는 모든 다중 클라우드 컴퓨팅 보안 권장 사항을 나열합니다.
사용자 환경에 표시되는 권장 사항은 보호 중인 리소스와 사용자 지정된 구성을 기반으로 합니다.
이러한 권장 사항에 대한 응답으로 수행할 수 있는 작업에 대해 알아보려면 클라우드용 Defender 권장 사항 수정을 참조하세요.
팁
권장 사항 설명에 관련 정책이 없다고 표시되는 경우 일반적으로 권장 사항은 다른 권장 사항에 따라 달라지기 때문입니다.
예를 들어 Endpoint Protection 상태 오류를 수정해야 하는 권장 사항은 엔드포인트 보호 솔루션이 설치되어 있는지 여부를 확인하는 권장 사항에 의존합니다(Endpoint Protection 솔루션을 설치해야 함). 기본 권장 사항에는 정책이 있습니다. 정책을 기본 권장 사항으로만 제한하면 정책 관리가 간소화됩니다.
Azure Compute 추천
컴퓨터에 시스템 업데이트를 설치해야 함(업데이트 센터에서 제공)
설명: 머신에 시스템, 보안 및 중요 업데이트가 없습니다. 소프트웨어 업데이트에는 보안 허점을 메우기 위한 중요한 패치가 포함된 경우가 많습니다. 이러한 허점은 맬웨어 공격에 자주 악용되므로 소프트웨어를 업데이트된 상태로 유지하는 것이 중요합니다. 미적용 패치를 모두 설치하고 머신을 보호하려면 수정 단계를 수행합니다.
심각도: 낮음
누락된 시스템 업데이트가 있는지 주기적으로 확인하도록 컴퓨터를 구성해야 함
설명: 누락된 시스템 업데이트에 대한 정기적인 평가가 24시간마다 자동으로 트리거되도록 하려면 AssessmentMode 속성을 'AutomaticByPlatform'으로 설정해야 합니다. Windows https://aka.ms/computevm-windowspatchassessmentmode용 AssessmentMode 속성에 대해 자세히 알아보세요. - Linux용: https://aka.ms/computevm-linuxpatchassessmentmode.
심각도: 낮음
머신에서 안전한 애플리케이션을 정의하기 위해 적응형 애플리케이션 제어를 사용하도록 설정해야 함
설명: 애플리케이션 컨트롤을 사용하여 컴퓨터에서 실행 중인 알려진 안전한 애플리케이션 목록을 정의하고 다른 애플리케이션이 실행되면 경고합니다. 이렇게 하면 맬웨어로부터 머신을 강화할 수 있습니다. 규칙을 구성하고 유지 관리하는 프로세스를 간소화하기 위해 클라우드용 Defender는 기계 학습을 사용하여 각 머신에서 실행되는 애플리케이션을 분석하고 알려진 안전한 애플리케이션 목록을 제안합니다. (관련 정책: 머신에서 안전한 애플리케이션을 정의하기 위한 적응형 애플리케이션 컨트롤을 사용하도록 설정해야 합니다.)
심각도: 높음
적응형 애플리케이션 제어 정책의 허용 목록 규칙을 업데이트해야 함
설명: 클라우드용 Defender 적응형 애플리케이션 제어를 통해 감사를 위해 구성된 컴퓨터 그룹의 동작 변경을 모니터링합니다. 클라우드용 Defender는 기계 학습을 사용하여 머신에서 실행 중인 프로세스를 분석하고 알려진 안전한 애플리케이션 목록을 제안합니다. 이러한 앱은 적응형 애플리케이션 제어 정책에서 허용하도록 권장되는 앱으로 제공됩니다. (관련 정책: 적응형 애플리케이션 제어 정책의 허용 목록 규칙을 업데이트해야 함).
심각도: 높음
Linux 머신에 대한 인증에 SSH 키가 필요함
설명: SSH 자체는 암호화된 연결을 제공하지만 SSH와 함께 암호를 사용하면 VM이 무차별 암호 대입 공격에 취약합니다. SSH를 통해 Azure Linux 가상 머신에 인증하는 가장 안전한 옵션은 SSH 키라고도 하는 퍼블릭-프라이빗 키 쌍을 사용하는 것입니다. 자세한 내용은 자세한 단계: Azure에서 Linux VM 인증을 위해 SSH 키 만들기 및 관리를 참조하세요. (관련 정책: 인증에 SSH 키를 사용하지 않는 Linux 머신 감사).
심각도: 보통
Automation 계정 변수를 암호화해야 함
설명: 중요한 데이터를 저장할 때 Automation 계정 변수 자산의 암호화를 사용하도록 설정하는 것이 중요합니다. (관련 정책: Automation 계정 변수를 암호화해야 합니다).
심각도: 높음
가상 머신에 대해 Azure Backup을 사용하도록 설정해야 합니다.
설명: Azure Backup을 사용하여 Azure 가상 머신의 데이터를 보호합니다. Azure Backup은 Azure 고유의 비용 효율적인 데이터 보호 솔루션입니다. 지역 중복 복구 자격 증명 모음에 저장된 복구 지점을 만듭니다. 복구 지점에서 복원하는 경우 전체 VM 또는 특정 파일을 복원할 수 있습니다. (관련 정책: Virtual Machines에 대해 Azure Backup을 사용하도록 설정해야 함).
심각도: 낮음
(미리 보기) Azure Stack HCI 서버가 보안 코어 요구 사항을 충족해야 합니다.
설명: 모든 Azure Stack HCI 서버가 보안 코어 요구 사항을 충족하는지 확인합니다. (관련 정책: 게스트 구성 확장은 컴퓨터에 설치해야 합니다( Microsoft Azure).
심각도: 낮음
(미리 보기) Azure Stack HCI 서버가 지속적으로 애플리케이션 제어 정책을 적용해야 합니다.
설명: 최소한 모든 Azure Stack HCI 서버에서 Microsoft WDAC 기본 정책을 적용 모드로 적용합니다. 적용된 WDAC(Windows Defender 애플리케이션 제어) 정책은 동일한 클러스터의 서버 전체에서 일관되어야 합니다. (관련 정책: 게스트 구성 확장은 컴퓨터에 설치해야 합니다( Microsoft Azure).
심각도: 높음
(미리 보기) Azure Stack HCI 시스템에는 암호화된 볼륨이 있어야 합니다.
설명: BitLocker를 사용하여 Azure Stack HCI 시스템의 OS 및 데이터 볼륨을 암호화합니다. (관련 정책: 게스트 구성 확장은 컴퓨터에 설치해야 합니다( Microsoft Azure).
심각도: 높음
컨테이너 호스트를 안전하게 구성해야 합니다.
설명: Docker가 설치된 컴퓨터의 보안 구성 설정에서 취약성을 수정하여 공격으로부터 보호합니다. (관련 정책: 컨테이너 보안 구성의 취약성을 수정해야 함).
심각도: 높음
Azure Stream Analytics의 진단 로그를 사용하도록 설정해야 합니다.
설명: 로그를 사용하도록 설정하고 최대 1년 동안 유지합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 활동 내역을 다시 만들 수 있습니다. (관련 정책: Azure Stream Analytics의 진단 로그를 사용하도록 설정해야 함).
심각도: 낮음
Batch 계정의 진단 로그를 사용하도록 설정해야 함
설명: 로그를 사용하도록 설정하고 최대 1년 동안 유지합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 활동 내역을 다시 만들 수 있습니다. (관련 정책: Batch 계정의 진단 로그를 사용하도록 설정해야 함).
심각도: 낮음
Event Hubs의 진단 로그를 사용하도록 설정해야 합니다.
설명: 로그를 사용하도록 설정하고 최대 1년 동안 유지합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 활동 내역을 다시 만들 수 있습니다. (관련 정책: Event Hubs의 진단 로그를 사용하도록 설정해야 함).
심각도: 낮음
Logic Apps의 진단 로그를 사용하도록 설정해야 함
설명: 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 활동 내역을 다시 만들 수 있도록 하려면 로깅을 사용하도록 설정합니다. 진단 로그가 Log Analytics 작업 영역, Azure Storage 계정 또는 Azure Event Hubs로 전송되지 않는 경우 플랫폼 메트릭 및 플랫폼 로그를 관련 대상으로 보내도록 진단 설정을 구성했는지 확인합니다. [플랫폼 로그 및 메트릭을 다른 대상으로 전송하는 진단 설정 만들기]에서 자세히 알아보세요. (관련 정책: Logic Apps의 진단 로그를 사용하도록 설정해야 함).
심각도: 낮음
Service Bus의 진단 로그를 사용하도록 설정해야 함
설명: 로그를 사용하도록 설정하고 최대 1년 동안 유지합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 활동 내역을 다시 만들 수 있습니다. (관련 정책: Service Bus의 진단 로그를 사용하도록 설정해야 함).
심각도: 낮음
Virtual Machine Scale Sets의 진단 로그를 사용하도록 설정해야 합니다.
설명: 로그를 사용하도록 설정하고 최대 1년 동안 유지합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 활동 내역을 다시 만들 수 있습니다. (관련 정책: Virtual Machine Scale Sets의 진단 로그를 사용하도록 설정해야 함).
심각도: 높음
EDR 구성 문제는 가상 머신에서 해결되어야 합니다.
설명: 최신 위협 및 취약성으로부터 가상 머신을 보호하려면 설치된 EDR(엔드포인트 검색 및 응답) 솔루션에서 식별된 모든 구성 문제를 해결합니다. 현재 이 권장 사항은 엔드포인트용 Microsoft Defender 사용하도록 설정된 리소스에만 적용됩니다.
서버용 Defender 플랜 2 또는 Defender CSPM 계획이 있는 경우 이 에이전트 없는 엔드포인트 권장 사항을 사용할 수 있습니다. 에이전트 없는 엔드포인트 보호 권장 사항에 대해 자세히 알아봅니다.
- 이러한 새로운 에이전트 없는 엔드포인트 권장 사항은 Azure 및 다중 클라우드 머신을 지원합니다. 온-프레미스 서버는 지원되지 않습니다.
- 이러한 새로운 에이전트 없는 엔드포인트 권장 사항은 기존 권장 사항을 대체합니다. 엔드포인트 보호는 머신에 설치해야 하며(미리 보기) 머신에서 Endpoint Protection 상태 문제를 해결해야 합니다(미리 보기).
- 이러한 이전 권장 사항은 MMA/AMA 에이전트를 사용하며 서버용 Defender에서 에이전트가 단계적으로 중단됨에 따라 대체됩니다.
심각도: 낮음
EDR 솔루션은 Virtual Machines에 설치되어야 합니다.
설명: 가상 머신에 엔드포인트 검색 및 대응(EDR) 솔루션을 설치하는 것은 고급 위협 방지에 중요합니다. EDR은 이러한 위협을 방지, 감지, 조사 및 대응하는 데 도움이 됩니다. 서버용 Microsoft Defender를 사용하여 엔드포인트용 Microsoft Defender 배포할 수 있습니다.
- 리소스가 "비정상"으로 분류되면 지원되는 EDR 솔루션이 없음을 나타냅니다.
- EDR 솔루션이 설치되어 있지만 이 권장 사항으로 검색할 수 없는 경우 제외할 수 있습니다.
- EDR 솔루션이 없으면 가상 머신이 고급 위협의 위험에 노출됩니다.
서버용 Defender 플랜 2 또는 Defender CSPM 계획이 있는 경우 이 에이전트 없는 엔드포인트 권장 사항을 사용할 수 있습니다. 에이전트 없는 엔드포인트 보호 권장 사항에 대해 자세히 알아봅니다.
- 이러한 새로운 에이전트 없는 엔드포인트 권장 사항은 Azure 및 다중 클라우드 머신을 지원합니다. 온-프레미스 서버는 지원되지 않습니다.
- 이러한 새로운 에이전트 없는 엔드포인트 권장 사항은 기존 권장 사항을 대체합니다. 엔드포인트 보호는 머신에 설치해야 하며(미리 보기) 머신에서 Endpoint Protection 상태 문제를 해결해야 합니다(미리 보기).
- 이러한 이전 권장 사항은 MMA/AMA 에이전트를 사용하며 서버용 Defender에서 에이전트가 단계적으로 중단됨에 따라 대체됩니다.
심각도: 높음
가상 머신 확장 집합의 엔드포인트 보호 상태 문제를 해결해야 합니다.
설명: 가상 머신 확장 집합에서 엔드포인트 보호 상태 오류를 수정하여 위협 및 취약성으로부터 보호합니다. (관련 정책: Endpoint Protection 솔루션은 가상 머신 확장 집합에 설치해야 합니다).
심각도: 낮음
가상 머신 확장 집합에 엔드포인트 보호를 설치해야 합니다.
설명: 가상 머신 확장 집합에 엔드포인트 보호 솔루션을 설치하여 위협 및 취약성으로부터 보호합니다. (관련 정책: Endpoint Protection 솔루션은 가상 머신 확장 집합에 설치해야 합니다).
심각도: 높음
컴퓨터에서 파일 무결성 모니터링을 사용하도록 설정해야 함
설명: 클라우드용 Defender 파일 무결성 모니터링 솔루션이 누락된 컴퓨터를 식별했습니다. 서버의 중요한 파일, 레지스트리 키 등에 대한 변경 내용을 모니터링하려면 파일 무결성 모니터링을 사용하도록 설정합니다. 파일 무결성 모니터링 솔루션이 사용하도록 설정되면 모니터링할 파일을 정의하는 데이터 수집 규칙을 만듭니다. 규칙을 정의하거나 기존 규칙이 있는 컴퓨터에서 변경된 파일을 보려면 파일 무결성 모니터링 관리 페이지로 이동합니다. (관련 정책 없음)
심각도: 높음
지원되는 Linux 가상 머신 확장 집합에 게스트 증명 확장을 설치해야 합니다.
설명: 지원되는 Linux 가상 머신 확장 집합에 게스트 증명 확장을 설치하여 클라우드용 Microsoft Defender 부팅 무결성을 사전에 증명하고 모니터링할 수 있도록 합니다. 설치가 완료되면 원격 증명을 통해 부팅 무결성이 증명됩니다. 이 평가는 신뢰할 수 있는 시작을 지원하는 Linux 가상 머신 확장 집합에만 적용됩니다.
- 신뢰할 수 있는 시작에는 새 가상 머신을 생성해야 합니다.
- 처음에는 가상 머신 없이 만든 기존 가상 머신에서 신뢰할 수 있는 시작을 사용하도록 설정할 수 없습니다.
Azure 가상 머신의 신뢰할 수 있는 시작에 대해 자세히 알아봅니다. (관련 정책 없음)
심각도: 낮음
지원되는 Linux 가상 머신에 게스트 증명 확장을 설치해야 합니다.
설명: 지원되는 Linux 가상 머신에 게스트 증명 확장을 설치하여 클라우드용 Microsoft Defender 부팅 무결성을 사전에 증명하고 모니터링할 수 있도록 합니다. 설치가 완료되면 원격 증명을 통해 부팅 무결성이 증명됩니다. 이 평가는 신뢰할 수 있는 시작 사용 Linux 가상 머신에만 적용됩니다.
- 신뢰할 수 있는 시작에는 새 가상 머신을 생성해야 합니다.
- 처음에는 가상 머신 없이 만든 기존 가상 머신에서 신뢰할 수 있는 시작을 사용하도록 설정할 수 없습니다.
Azure 가상 머신의 신뢰할 수 있는 시작에 대해 자세히 알아봅니다. (관련 정책 없음)
심각도: 낮음
지원되는 Windows 가상 머신 확장 집합에 게스트 증명 확장을 설치해야 합니다.
설명: 지원되는 가상 머신 확장 집합에 게스트 증명 확장을 설치하여 클라우드용 Microsoft Defender 부팅 무결성을 사전에 증명하고 모니터링할 수 있도록 합니다. 설치가 완료되면 원격 증명을 통해 부팅 무결성이 증명됩니다. 이 평가는 신뢰할 수 있는 시작 사용 가상 머신 확장 집합에만 적용됩니다.
- 신뢰할 수 있는 시작에는 새 가상 머신을 생성해야 합니다.
- 처음에는 가상 머신 없이 만든 기존 가상 머신에서 신뢰할 수 있는 시작을 사용하도록 설정할 수 없습니다.
Azure 가상 머신의 신뢰할 수 있는 시작에 대해 자세히 알아봅니다. (관련 정책 없음)
심각도: 낮음
지원되는 Windows 가상 머신에 게스트 증명 확장을 설치해야 함
설명: 지원되는 가상 머신에 게스트 증명 확장을 설치하여 클라우드용 Microsoft Defender 부팅 무결성을 사전에 증명하고 모니터링할 수 있도록 합니다. 설치가 완료되면 원격 증명을 통해 부팅 무결성이 증명됩니다. 이 평가는 신뢰할 수 있는 시작을 지원하는 가상 머신에만 적용됩니다.
- 신뢰할 수 있는 시작에는 새 가상 머신을 생성해야 합니다.
- 처음에는 가상 머신 없이 만든 기존 가상 머신에서 신뢰할 수 있는 시작을 사용하도록 설정할 수 없습니다.
Azure 가상 머신의 신뢰할 수 있는 시작에 대해 자세히 알아봅니다. (관련 정책 없음)
심각도: 낮음
머신에 게스트 구성 확장을 설치해야 합니다.
설명: 머신의 게스트 내 설정의 보안 구성을 보장하려면 게스트 구성 확장을 설치합니다. 확장에서 모니터링하는 게스트 내 설정에는 운영 체제 구성, 애플리케이션 구성 또는 현재 상태 및 환경 설정이 포함됩니다. 설치되면 Windows Exploit Guard와 같은 게스트 내 정책을 사용할 수 있습니다. (관련 정책: 가상 머신에는 게스트 구성 확장이 있어야 합니다).
심각도: 보통
(미리 보기) 호스트 및 VM 네트워킹은 Azure Stack HCI 시스템에서 보호되어야 합니다.
설명: Azure Stack HCI 호스트의 네트워크 및 가상 머신 네트워크 연결에서 데이터를 보호합니다. (관련 정책: 게스트 구성 확장은 컴퓨터에 설치해야 합니다( Microsoft Azure).
심각도: 낮음
가상 머신에 엔드포인트 보호 솔루션 설치
설명: 가상 머신에 엔드포인트 보호 솔루션을 설치하여 위협 및 취약성으로부터 보호합니다. (관련 정책: Azure Security Center에서 누락된 Endpoint Protection 모니터링).
심각도: 높음
Linux 가상 머신은 Azure Disk Encryption 또는 EncryptionAtHost를 활성화해야 함
설명: 기본적으로 가상 머신의 OS 및 데이터 디스크는 플랫폼 관리형 키를 사용하여 미사용 시 암호화되고, 임시 디스크 및 데이터 캐시는 암호화되지 않으며, 컴퓨팅 리소스와 스토리지 리소스 간에 흐르는 경우 데이터가 암호화되지 않습니다. Azure Disk Encryption 또는 EncryptionAtHost를 사용하여 이 모든 데이터를 암호화합니다. 관리 디스크 암호화 옵션 개요를 방문하여 암호화 제품을 비교합니다. 이 정책을 사용하려면 정책 할당 범위에 두 가지 필수 구성 요소를 배포해야 합니다. 자세한 내용은 Azure Machine Configuration 이해를 참조하세요. (관련 정책: [미리 보기]: Linux 가상 머신은 Azure Disk Encryption 또는 EncryptionAtHost를 사용하도록 설정해야 합니다.
이전 권장 사항을 대체합니다. 가상 머신은 Compute 및 Storage 리소스 간의 임시 디스크, 캐시 및 데이터 흐름을 암호화해야 합니다. 권장 사항을 사용하면 VM 암호화 준수를 감사할 수 있습니다.
심각도: 높음
Linux 가상 머신은 커널 모듈 서명 유효성 검사를 적용해야 합니다.
설명: 커널 모드에서 악의적이거나 권한이 없는 코드의 실행을 완화하려면 지원되는 Linux 가상 머신에서 커널 모듈 서명 유효성 검사를 적용합니다. 커널 모듈 서명 유효성 검사를 통해 신뢰할 수 있는 커널 모듈만 실행할 수 있습니다. 이 평가는 Azure Monitor 에이전트가 설치된 Linux 가상 머신에만 적용됩니다. (관련 정책 없음)
심각도: 낮음
Linux 가상 머신은 서명되고 신뢰할 수 있는 부팅 구성 요소만 사용해야 합니다.
설명: 보안 부팅을 사용하도록 설정하면 신뢰할 수 있는 게시자가 모든 OS 부팅 구성 요소(부팅 로더, 커널, 커널 드라이버)에 서명해야 합니다. 클라우드용 Defender는 하나 이상의 Linux 머신에서 신뢰할 수 없는 OS 부팅 구성 요소를 식별했습니다. 잠재적으로 악의적인 구성 요소로부터 컴퓨터를 보호하려면 허용 목록에 추가하거나 식별된 구성 요소를 제거합니다. (관련 정책 없음)
심각도: 낮음
Linux 가상 머신은 보안 부팅을 사용해야 함
설명: 맬웨어 기반 루트킷 및 부팅 키트 설치로부터 보호하려면 지원되는 Linux 가상 머신에서 보안 부팅을 사용하도록 설정합니다. 보안 부팅은 서명된 운영 체제와 드라이버만 실행할 수 있도록 합니다. 이 평가는 Azure Monitor 에이전트가 설치된 Linux 가상 머신에만 적용됩니다. (관련 정책 없음)
심각도: 낮음
Linux 기반 Azure Arc 지원 컴퓨터에 Log Analytics 에이전트를 설치해야 합니다.
설명: 클라우드용 Defender Log Analytics 에이전트(OMS라고도 함)를 사용하여 Azure Arc 머신에서 보안 이벤트를 수집합니다. 모든 Azure Arc 머신에 에이전트를 배포하려면 수정 단계를 수행합니다. (관련 정책 없음)
심각도: 높음
서버용 Defender에서 AMA 및 MMA의 사용이 단계적으로 중단됨에 따라 이러한 에이전트를 사용하는 권장 사항이 제거됩니다. 대신 서버용 Defender 기능은 MMA 또는 AMA에 의존하지 않고 엔드포인트용 Microsoft Defender 에이전트 또는 에이전트 없는 검사를 사용합니다.
예상 사용 중단: 2024년 7월
가상 머신 확장 집합에 Log Analytics 에이전트를 설치해야 합니다.
설명: 클라우드용 Defender Azure VM(가상 머신)에서 데이터를 수집하여 보안 취약성 및 위협을 모니터링합니다. 데이터는 컴퓨터에서 다양한 보안 관련 구성 및 이벤트 로그를 읽고 분석을 위해 작업 영역에 데이터를 복사하는 Log Analytics 에이전트(이전의 MMA(Microsoft Monitoring Agent)를 사용하여 수집됩니다. Azure Kubernetes Service 또는 Azure Service Fabric과 같은 Azure 관리 서비스에서 VM을 사용하는 경우에도 해당 절차를 따라야 합니다. Azure 가상 머신 확장 집합에 대한 자동 프로비저닝을 구성할 수 없습니다. 가상 머신 확장 집합(Azure Kubernetes Service 및 Azure Service Fabric 같은 Azure 관리형 서비스에서 사용하는 가상 머신 확장 집합 포함)에 에이전트를 배포하려면 수정 단계의 절차를 따르세요. (관련 정책: Azure Security Center 모니터링을 위해 가상 머신 확장 집합에 Log Analytics 에이전트를 설치해야 합니다).
서버용 Defender에서 AMA 및 MMA의 사용이 단계적으로 중단됨에 따라 이러한 에이전트를 사용하는 권장 사항이 제거됩니다. 대신 서버용 Defender 기능은 MMA 또는 AMA에 의존하지 않고 엔드포인트용 Microsoft Defender 에이전트 또는 에이전트 없는 검사를 사용합니다.
예상 사용 중단: 2024년 7월
심각도: 높음
가상 머신에 Log Analytics 에이전트를 설치해야 합니다.
설명: 클라우드용 Defender Azure VM(가상 머신)에서 데이터를 수집하여 보안 취약성 및 위협을 모니터링합니다. 데이터는 컴퓨터에서 다양한 보안 관련 구성 및 이벤트 로그를 읽고 분석을 위해 Log Analytics 작업 영역에 데이터를 복사하는 Log Analytics 에이전트(이전의 MMA(Microsoft Monitoring Agent)를 사용하여 수집됩니다. Azure Kubernetes Service 또는 Azure Service Fabric 같은 Azure 관리형 서비스에서 VM을 사용하는 경우에도 이 에이전트가 필요합니다. 에이전트를 자동으로 배포하도록 자동 프로비저닝을 구성하는 것이 좋습니다. 자동 프로비저닝을 사용하지 않도록 선택한 경우 수정 단계의 지침을 사용하여 VM에 에이전트를 수동으로 배포합니다. (관련 정책: Azure Security Center 모니터링을 위해 가상 머신에 Log Analytics 에이전트를 설치해야 합니다.)
서버용 Defender에서 AMA 및 MMA의 사용이 단계적으로 중단됨에 따라 이러한 에이전트를 사용하는 권장 사항이 제거됩니다. 대신 서버용 Defender 기능은 MMA 또는 AMA에 의존하지 않고 엔드포인트용 Microsoft Defender 에이전트 또는 에이전트 없는 검사를 사용합니다.
예상 사용 중단: 2024년 7월
심각도: 높음
Windows 기반 Azure Arc 지원 컴퓨터에 Log Analytics 에이전트를 설치해야 합니다.
설명: 클라우드용 Defender Log Analytics 에이전트(MMA라고도 함)를 사용하여 Azure Arc 머신에서 보안 이벤트를 수집합니다. 모든 Azure Arc 머신에 에이전트를 배포하려면 수정 단계를 수행합니다. (관련 정책 없음)
심각도: 높음
서버용 Defender에서 AMA 및 MMA의 사용이 단계적으로 중단됨에 따라 이러한 에이전트를 사용하는 권장 사항이 제거됩니다. 대신 서버용 Defender 기능은 MMA 또는 AMA에 의존하지 않고 엔드포인트용 Microsoft Defender 에이전트 또는 에이전트 없는 검사를 사용합니다.
예상 사용 중단: 2024년 7월
컴퓨터를 안전하게 구성해야 합니다.
설명: 머신의 보안 구성에서 취약성을 수정하여 공격으로부터 보호합니다. (관련 정책: 머신의 보안 구성 취약성을 수정해야 함).
이 권장 사항은 서버 보안 상태를 개선하는 데 도움이 됩니다. 클라우드용 Defender Microsoft Defender 취약성 관리 제공하는 보안 기준을 제공하여 CIS(인터넷 보안 센터) 벤치마크를 향상시킵니다. 자세히 알아보기.
심각도: 낮음
보안 구성 업데이트를 적용하려면 컴퓨터를 다시 시작해야 합니다.
설명: 보안 구성 업데이트를 적용하고 취약성으로부터 보호하려면 컴퓨터를 다시 시작합니다. 이 평가는 Azure Monitor 에이전트가 설치된 Linux 가상 머신에만 적용됩니다. (관련 정책 없음)
심각도: 낮음
컴퓨터에 취약성 평가 솔루션이 있어야 합니다.
설명: 클라우드용 Defender 연결된 머신을 정기적으로 검사하여 취약성 평가 도구를 실행하고 있는지 확인합니다. 이 권장 사항을 사용하여 취약성 평가 솔루션을 배포합니다. (관련 정책: 가상 머신에서 취약성 평가 솔루션을 사용하도록 설정해야 함).
심각도: 보통
컴퓨터에서 취약성 결과를 해결해야 함
설명: 가상 머신의 취약성 평가 솔루션에서 결과를 해결합니다. (관련 정책: 가상 머신에서 취약성 평가 솔루션을 사용하도록 설정해야 함).
심각도: 낮음
가상 머신의 관리 포트는 Just-In-Time 네트워크 액세스 제어로 보호해야 함
설명: 클라우드용 Defender 네트워크 보안 그룹의 관리 포트에 대해 지나치게 허용되는 일부 인바운드 규칙을 식별했습니다. Just-In-Time 액세스 제어를 사용하도록 설정하여 인터넷 기반 무차별 암호 대입 공격으로부터 VM을 보호합니다. JIT(Just-In-Time) VM 액세스 이해에 대해 자세히 알아보세요. (관련 정책: 가상 머신의 관리 포트는 Just-In-Time 네트워크 액세스 제어를 사용하여 보호해야 합니다).
심각도: 높음
서버용 Microsoft Defender를 사용하도록 설정해야 함
설명: 서버용 Microsoft Defender는 서버 워크로드에 대한 실시간 위협 방지 기능을 제공하고 의심스러운 활동에 대한 경고뿐만 아니라 강화 권장 사항을 생성합니다. 이 정보를 사용하여 보안 문제를 신속하게 수정하고 서버의 보안을 향상시킬 수 있습니다.
이 권장 사항을 수정하면 서버 보호에 대한 요금이 부과됩니다. 이 구독에 서버가 없으면 요금이 발생하지 않습니다. 나중에 이 구독에 서버를 만들면 서버가 자동으로 보호되고 요금이 해당 시점에 시작됩니다. 서버용 Microsoft Defender 소개에서 자세히 알아보세요. (관련 정책: 서버용 Azure Defender를 사용하도록 설정해야 함).
심각도: 높음
작업 영역에서 서버용 Microsoft Defender를 사용해야 합니다.
설명: 서버용 Microsoft Defender는 Windows 및 Linux 머신에 대한 위협 탐지 및 고급 방어를 제공합니다. 이 Defender 플랜은 구독에서는 사용하도록 설정되지만 작업 영역에서는 사용하도록 설정되지 않은 상태라면 서버용 Microsoft Defender의 전체 기능에 대해 비용을 지불하고 있음에도 불구하고 일부 이점을 놓치게 됩니다. 작업 영역의 서버용 Microsoft Defender를 사용하도록 설정하면 해당 작업 영역에 보고하는 모든 컴퓨터에 서버용 Microsoft Defender에 대한 요금이 청구됩니다. 이는 Defender 플랜이 사용하도록 설정되지 않은 구독에 있는 경우에도 마찬가지입니다. 구독의 서버용 Microsoft Defender도 사용하도록 설정하지 않는 한 해당 컴퓨터는 Azure 리소스에 대한 Just-In-Time VM 액세스, 적응형 애플리케이션 제어, 네트워크 검색을 활용할 수 없습니다. 서버용 Microsoft Defender 소개에서 자세히 알아보세요. (관련 정책 없음)
심각도: 보통
지원되는 Windows 가상 머신에서 보안 부팅을 사용하도록 설정해야 합니다.
설명: 지원되는 Windows 가상 머신에서 보안 부팅을 사용하도록 설정하여 부팅 체인의 악의적이고 무단 변경에 대해 완화합니다. 사용하도록 설정되면 신뢰할 수 있는 부팅 로더, 커널 및 커널 드라이버만 실행할 수 있습니다. 이 평가는 신뢰할 수 있는 시작을 지원하는 Windows 가상 머신에만 적용됩니다.
- 신뢰할 수 있는 시작에는 새 가상 머신을 생성해야 합니다.
- 처음에는 가상 머신 없이 만든 기존 가상 머신에서 신뢰할 수 있는 시작을 사용하도록 설정할 수 없습니다.
Azure 가상 머신의 신뢰할 수 있는 시작에 대해 자세히 알아봅니다. (관련 정책 없음)
심각도: 낮음
Service Fabric 클러스터는 ClusterProtectionLevel 속성을 EncryptAndSign으로 설정해야 함
설명: Service Fabric은 기본 클러스터 인증서를 사용하여 노드 간 통신을 위한 세 가지 보호 수준(None, Sign 및 EncryptAndSign)을 제공합니다. 모든 노드 간 메시지가 암호화되고 디지털 서명되도록 보호 수준을 설정합니다. (관련 정책: Service Fabric 클러스터에는 ClusterProtectionLevel 속성이 EncryptAndSign으로 설정되어야 합니다).
심각도: 높음
Service Fabric 클러스터는 클라이언트 인증에 대해서만 Azure Active Directory를 사용해야 함
설명: Service Fabric에서 Azure Active Directory를 통해서만 클라이언트 인증을 수행합니다(관련 정책: Service Fabric 클러스터는 클라이언트 인증에 Azure Active Directory만 사용해야 함).
심각도: 높음
가상 머신 확장 집합에 대한 시스템 업데이트를 설치해야 합니다.
설명: 누락된 시스템 보안 및 중요한 업데이트를 설치하여 Windows 및 Linux 가상 머신 확장 집합을 보호합니다. (관련 정책: 가상 머신 확장 집합의 시스템 업데이트를 설치해야 합니다).
서버용 Defender에서 AMA(Azure Monitor Agent) 및 Log Analytics 에이전트(MMA(Microsoft Monitoring Agent)라고도 함)의 사용이 단계적으로 중단됨에 따라 이러한 에이전트를 사용하는 권장 사항이 제거됩니다. 대신 서버용 Defender 기능은 MMA 또는 AMA에 의존하지 않고 엔드포인트용 Microsoft Defender 에이전트 또는 에이전트 없는 검사를 사용합니다.
예상 사용 중단: 2024년 7월. 이러한 권장 사항은 새 권장 사항으로 대체됩니다.
심각도: 높음
시스템 업데이트를 머신에 설치해야 합니다.
설명: 누락된 시스템 보안 및 중요한 업데이트를 설치하여 Windows 및 Linux 가상 머신 및 컴퓨터를 보호합니다(관련 정책: 시스템 업데이트를 컴퓨터에 설치해야 함).
서버용 Defender에서 AMA(Azure Monitor Agent) 및 Log Analytics 에이전트(MMA(Microsoft Monitoring Agent)라고도 함)의 사용이 단계적으로 중단됨에 따라 이러한 에이전트를 사용하는 권장 사항이 제거됩니다. 대신 서버용 Defender 기능은 MMA 또는 AMA에 의존하지 않고 엔드포인트용 Microsoft Defender 에이전트 또는 에이전트 없는 검사를 사용합니다.
예상 사용 중단: 2024년 7월. 이러한 권장 사항은 새 권장 사항으로 대체됩니다.
심각도: 높음
컴퓨터에 시스템 업데이트를 설치해야 함(업데이트 센터에서 제공)
설명: 머신에 시스템, 보안 및 중요 업데이트가 없습니다. 소프트웨어 업데이트에는 보안 허점을 메우기 위한 중요한 패치가 포함된 경우가 많습니다. 이러한 허점은 맬웨어 공격에 자주 악용되므로 소프트웨어를 업데이트된 상태로 유지하는 것이 중요합니다. 미적용 패치를 모두 설치하고 머신을 보호하려면 수정 단계를 수행합니다. (관련 정책 없음)
심각도: 높음
가상 머신 및 가상 머신 확장 집합에서는 호스트에서 암호화를 사용하도록 설정해야 함
설명: 호스트에서 암호화를 사용하여 가상 머신 및 가상 머신 확장 집합 데이터에 대한 엔드 투 엔드 암호화를 가져옵니다. 호스트에서 암호화를 사용하면 임시 디스크 및 OS/데이터 디스크 캐시에 대해 미사용 데이터를 암호화할 수 있습니다. 임시 및 사용 후 삭제 OS 디스크는 호스트에서 암호화가 활성화될 때 플랫폼 관리형 키로 암호화됩니다. OS/데이터 디스크 캐시는 디스크에서 선택한 암호화 유형에 따라 고객 관리형 키 또는 플랫폼 관리형 키를 사용하여 미사용 데이터를 암호화합니다. Azure Portal을 사용하여 호스트에서 암호화를 사용하여 엔드 투 엔드 암호화를 사용하도록 설정하는 방법에 대해 자세히 알아보세요. (관련 효과: 가상 머신 및 가상 머신 확장 집합에서는 호스트에서 암호화를 사용하도록 설정해야 합니다.)
심각도: 보통
가상 머신을 새 Azure Resource Manager 리소스로 마이그레이션해야 함
설명: 가상 머신(클래식)은 더 이상 사용되지 않으며 이러한 VM을 Azure Resource Manager로 마이그레이션해야 합니다. 이제 Azure Resource Manager가 모든 IaaS 기능과 기타 고급 기능을 갖추고 있기 때문에 ASM(Azure Service Manager)을 통한 IaaS VM(가상 머신)의 관리는 2020년 2월 28일부로 사용되지 않습니다. 이 기능은 2023년 3월 1일에 완전히 사용 중지됩니다.
영향을 받는 모든 클래식 VM을 보려면 ‘디렉터리 + 구독’ 탭에서 모든 Azure 구독을 선택해야 합니다.
사용 가능한 리소스 및 이 도구에 대한 정보 및 마이그레이션: 가상 머신(클래식) 사용 중단 개요, 마이그레이션 및 사용 가능한 Microsoft 리소스에 대한 단계별 프로세스.Azure Resource Manager 마이그레이션 도구로 마이그레이션에 대한 세부 정보입니다.PowerShell을 사용하여 Azure Resource Manager 마이그레이션 도구로 마이그레이션합니다. (관련 정책: 가상 머신을 새 Azure Resource Manager 리소스로 마이그레이션해야 함).
심각도: 높음
가상 머신 게스트 증명 상태가 정상이어야 합니다.
설명: 게스트 증명은 신뢰할 수 있는 로그(TCGLog)를 증명 서버로 전송하여 수행됩니다. 서버는 이러한 로그를 사용하여 부팅 구성 요소가 신뢰할 수 있는지 여부를 확인합니다. 이 평가는 부팅 체인의 손상(감염 또는 rootkit
감염의 결과일 수 있음)을 bootkit
검색하기 위한 것입니다.
이 평가는 게스트 증명 확장이 설치된 신뢰할 수 있는 시작 사용 가상 머신에만 적용됩니다.
(관련 정책 없음)
심각도: 보통
가상 머신의 게스트 구성 확장은 시스템이 할당한 관리 ID를 사용하여 배포해야 함
설명: 게스트 구성 확장에는 시스템 할당 관리 ID가 필요합니다. 게스트 구성 확장이 설치되어 있지만 시스템이 할당한 관리 ID가 없는 경우 이 정책 범위에 속한 Azure 가상 머신은 비준수입니다. 자세한 정보(관련 정책: 시스템 할당 관리 ID를 사용하여 Azure 가상 머신에 게스트 구성 확장을 배포해야 함).
심각도: 보통
가상 머신 확장 집합을 안전하게 구성해야 합니다.
설명: 가상 머신 확장 집합에서 취약성을 수정하여 공격으로부터 보호합니다. (관련 정책: 가상 머신 확장 집합의 보안 구성 취약성을 수정해야 함).
심각도: 높음
가상 머신은 Compute 및 Storage 리소스 간에 임시 디스크, 캐시 및 데이터 흐름을 암호화해야 함
설명: 기본적으로 가상 머신의 OS 및 데이터 디스크는 플랫폼 관리형 키를 사용하여 미사용 시 암호화되고, 임시 디스크 및 데이터 캐시는 암호화되지 않으며, 컴퓨팅 리소스와 스토리지 리소스 간에 흐르는 경우 데이터가 암호화되지 않습니다. Azure의 다양한 디스크 암호화 기술을 비교하려면 관리 디스크 암호화 옵션 개요를 참조 하세요. Azure Disk Encryption을 사용하여 이 모든 데이터를 암호화합니다. 다음과 같은 경우에는 이 권장 사항을 무시합니다.
호스트에서 암호화 기능을 사용하거나 Managed Disks의 서버 쪽 암호화가 보안 요구 사항을 충족합니다. Azure Disk Storage의 서버 쪽 암호화에 대해 자세히 알아봅니다.
(관련 정책: 가상 머신에 디스크 암호화를 적용해야 함)
심각도: 높음
지원되는 가상 머신에서 vTPM을 사용하도록 설정해야 함
설명: 지원되는 가상 머신에서 가상 TPM 디바이스를 사용하도록 설정하여 TPM이 필요한 측정 부팅 및 기타 OS 보안 기능을 용이하게 합니다. 사용하도록 설정되면 vTPM을 사용하여 부팅 무결성을 증명할 수 있습니다. 이 평가는 신뢰할 수 있는 시작을 지원하는 가상 머신에만 적용됩니다.
- 신뢰할 수 있는 시작에는 새 가상 머신을 생성해야 합니다.
- 처음에는 가상 머신 없이 만든 기존 가상 머신에서 신뢰할 수 있는 시작을 사용하도록 설정할 수 없습니다.
Azure 가상 머신의 신뢰할 수 있는 시작에 대해 자세히 알아봅니다. (관련 정책 없음)
심각도: 낮음
Linux 컴퓨터의 보안 구성 취약성을 수정해야 함(게스트 구성에서 제공)
설명: Linux 머신의 보안 구성에서 취약성을 수정하여 공격으로부터 보호합니다. (관련 정책: Linux 머신은 Azure 보안 기준에 대한 요구 사항을 충족해야 합니다).
심각도: 낮음
Windows 컴퓨터의 보안 구성 취약성은 수정되어야 합니다(게스트 구성에서 제공)
설명: Windows 머신의 보안 구성에서 취약성을 수정하여 공격으로부터 보호합니다. (관련 정책 없음)
심각도: 낮음
Windows Defender Exploit Guard를 컴퓨터에서 사용하도록 설정해야 합니다.
설명: Windows Defender Exploit Guard는 Azure Policy 게스트 구성 에이전트를 사용합니다. Exploit Guard에는 다양한 공격 벡터에 대해 디바이스를 잠그고 맬웨어 공격에서 일반적으로 사용되는 동작을 차단하면서 기업에서 보안 위험과 생산성 요구 사항 사이의 균형을 맞출 수 있도록 설계된 네 가지 구성 요소가 있습니다(Windows에만 해당). (관련 정책: Windows Defender Exploit Guard를 사용하도록 설정되지 않은 Windows 머신 감사).
심각도: 보통
Windows 가상 머신은 Azure Disk Encryption 또는 EncryptionAtHost를 활성화해야 함
설명: 기본적으로 가상 머신의 OS 및 데이터 디스크는 플랫폼 관리형 키를 사용하여 미사용 시 암호화되고, 임시 디스크 및 데이터 캐시는 암호화되지 않으며, 컴퓨팅 리소스와 스토리지 리소스 간에 흐르는 경우 데이터가 암호화되지 않습니다. Azure Disk Encryption 또는 EncryptionAtHost를 사용하여 이 모든 데이터를 암호화합니다. 관리 디스크 암호화 옵션 개요를 방문하여 암호화 제품을 비교합니다. 이 정책을 사용하려면 정책 할당 범위에 두 가지 필수 구성 요소를 배포해야 합니다. 자세한 내용은 Azure Machine Configuration 이해를 참조하세요. (관련 정책: [미리 보기]: Windows 가상 머신은 Azure Disk Encryption 또는 EncryptionAtHost를 사용하도록 설정해야 합니다.
이전 권장 사항을 대체합니다. 가상 머신은 Compute 및 Storage 리소스 간의 임시 디스크, 캐시 및 데이터 흐름을 암호화해야 합니다. 권장 사항을 사용하면 VM 암호화 준수를 감사할 수 있습니다.
심각도: 높음
Windows 웹 서버는 보안 통신 프로토콜을 사용하도록 구성해야 함
설명: 인터넷을 통해 전달되는 정보의 개인 정보를 보호하려면 웹 서버에서 최신 버전의 업계 표준 암호화 프로토콜인 TLS(전송 계층 보안)를 사용해야 합니다. TLS는 보안 인증서를 사용하여 컴퓨터 간의 연결을 암호화하여 네트워크를 통한 통신을 보호합니다. (관련 정책: 보안 통신 프로토콜을 사용하지 않는 Windows 웹 서버 감사).
심각도: 높음
AWS 컴퓨팅 권장 사항
패치를 설치한 후 Systems Manager에서 관리하는 Amazon EC2 인스턴스의 패치 준수 상태가 COMPLIANT여야 합니다.
설명: 이 컨트롤은 Amazon EC2 Systems Manager 패치 준수의 준수 상태가 규격인지 또는 인스턴스에 패치를 설치한 후 NON_COMPLIANT 여부를 확인합니다. AWS Systems Manager 패치 관리자에서 관리하는 인스턴스만 확인합니다. 패치가 PCI DSS 요구 사항 '6.2'에 의해 규정된 30일 제한 내에 적용되었는지 여부는 확인하지 않습니다. 또한 적용된 패치가 보안 패치로 분류되었는지 여부도 확인하지 않습니다. 적절한 기준 설정을 사용하여 패치 그룹을 만들고 범위 내 시스템이 Systems Manager의 해당 패치 그룹에 의해 관리되도록 해야 합니다. 패치 그룹에 대한 자세한 내용은 AWS Systems Manager 사용자 가이드를 참조 하세요.
심각도: 보통
Amazon EFS는 AWS KMS를 사용하여 파일 미사용 데이터를 암호화하도록 구성해야 합니다.
설명: 이 컨트롤은 Amazon Elastic File System이 AWS KMS를 사용하여 파일 데이터를 암호화하도록 구성되어 있는지 여부를 확인합니다. 다음 경우에 검사가 실패합니다. *"Encrypted"는 DescribeFileSystems 응답에서 "false"로 설정됩니다. DescribeFileSystems 응답의 "KmsKeyId" 키는 efs-encrypted-check에 대한 KmsKeyId 매개 변수와 일치하지 않습니다. 이 컨트롤은 efs-encrypted-check에 "KmsKeyId" 매개 변수를 사용하지 않습니다. "Encrypted" 값만 확인합니다. Amazon EFS의 중요한 데이터에 대한 보안 계층을 추가하려면 암호화된 파일 시스템을 만들어야 합니다. Amazon EFS는 미사용 파일 시스템의 암호화를 지원합니다. Amazon EFS 파일 시스템을 만들 때 미사용 데이터 암호화를 사용하도록 설정할 수 있습니다. Amazon EFS 암호화에 대한 자세한 내용은 Amazon Elastic File System 사용자 가이드의 Data encryption in Amazon EFS(영문)를 참조하세요.
심각도: 보통
Amazon EFS 볼륨은 백업 플랜에 있어야 합니다.
설명: 이 컨트롤은 Amazon EFS(Amazon Elastic File System) 파일 시스템이 AWS Backup의 백업 계획에 추가되는지 여부를 확인합니다. Amazon EFS 파일 시스템이 백업 계획에 포함되지 않으면 컨트롤이 실패합니다. 백업 계획에 EFS 파일 시스템을 포함시키면 삭제 및 데이터 손실로부터 데이터를 보호할 수 있습니다.
심각도: 보통
Application Load Balancer 삭제 방지를 사용하도록 설정해야 합니다.
설명: 이 컨트롤은 애플리케이션 Load Balancer에 삭제 보호가 활성화되어 있는지 여부를 확인합니다. 삭제 보호가 구성되지 않은 경우 컨트롤이 실패합니다. 삭제 방지를 사용하도록 설정하여 Application Load Balancer가 삭제되지 않도록 보호하세요.
심각도: 보통
부하 분산 장치와 연결된 자동 크기 조정 그룹은 상태 검사를 사용해야 합니다.
설명: 부하 분산 장치와 연결된 자동 크기 조정 그룹은 탄력적 부하 분산 상태 검사를 사용합니다. PCI DSS에는 부하 분산 또는 고가용성 구성이 필요하지 않습니다. 이는 AWS 모범 사례의 권장 사항입니다.
심각도: 낮음
AWS 계정에는 Azure Arc 자동 프로비저닝을 사용하도록 설정해야 합니다.
설명: 서버용 Microsoft Defender의 보안 콘텐츠를 완전히 표시하려면 EC2 인스턴스를 Azure Arc에 연결해야 합니다. 적격 EC2 인스턴스가 모두 Azure Arc를 자동으로 받도록 하려면 AWS 계정 수준에서 클라우드용 Defender 자동 프로비전을 사용하도록 설정합니다. Azure Arc 및 서버용 Microsoft Defender에 대해 자세히 알아보세요.
심각도: 높음
CloudFront 배포에서는 원본 장애 조치(failover)를 구성해야 합니다.
설명: 이 컨트롤은 Amazon CloudFront 배포판이 두 개 이상의 원본이 있는 원본 그룹으로 구성되었는지 여부를 확인합니다. CloudFront 원본 장애 조치(failover)는 가용성을 높일 수 있습니다. 주 원본을 사용할 수 없거나 특정 HTTP 응답 상태 코드가 반환되는 경우 원본 장애 조치(failover)는 자동으로 트래픽을 보조 원본으로 리디렉션합니다.
심각도: 보통
CodeBuild GitHub 또는 Bitbucket 원본 리포지토리 URL은 OAuth를 사용해야 합니다.
설명: 이 컨트롤은 GitHub 또는 Bitbucket 원본 리포지토리 URL에 개인 액세스 토큰 또는 사용자 이름 및 암호가 포함되어 있는지 여부를 확인합니다. 인증 자격 증명은 일반 텍스트로 저장 또는 전송하거나 리포지토리 URL에 표시해서는 안 됩니다. 개인용 액세스 토큰 또는 사용자 이름과 암호 대신 OAuth를 사용하여 GitHub 또는 Bitbucket 리포지토리에 대한 액세스 권한을 부여해야 합니다. 개인용 액세스 토큰 또는 사용자 이름과 암호를 사용하면 자격 증명이 의도하지 않은 데이터 노출 및 무단 액세스 위험에 노출될 수 있습니다.
심각도: 높음
CodeBuild 프로젝트 환경 변수에 자격 증명이 포함되면 안 됩니다.
설명: 이 컨트롤은 프로젝트에 환경 변수 AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
및 .
인증 자격 증명 AWS_ACCESS_KEY_ID
및 AWS_SECRET_ACCESS_KEY
를 일반 텍스트로 저장하면 절대 안 됩니다. 의도하지 않은 데이터 노출 및 무단 액세스로 이어질 수 있습니다.
심각도: 높음
DAX(DynamoDB Accelerator) 클러스터는 미사용 암호화해야 합니다.
설명: 이 컨트롤은 DAX 클러스터가 미사용 시 암호화되는지 여부를 확인합니다. 미사용 데이터를 암호화하면 AWS에 인증되지 않은 사용자가 디스크에 저장된 데이터에 액세스할 위험이 줄어듭니다. 암호화는 권한 없는 사용자가 데이터에 액세스하는 가능성을 제한하는 또 다른 액세스 제어 세트를 추가합니다. 예를 들어 암호화된 데이터를 읽으려면 먼저 암호를 해독할 API 권한이 필요합니다.
심각도: 보통
DynamoDB 테이블은 요구 사항에 따라 용량을 자동으로 스케일링해야 합니다.
설명: 이 컨트롤은 Amazon DynamoDB 테이블이 필요에 따라 읽기 및 쓰기 용량의 크기를 조정할 수 있는지 여부를 확인합니다. 테이블에서 자동 크기 조정이 구성된 주문형 용량 모드 또는 프로비저닝 모드를 사용하는 경우 이 컨트롤은 합격입니다. 수요에 따라 용량을 스케일링하면 제한 예외를 방지할 수 있으므로 애플리케이션의 가용성을 유지하는 데 도움이 됩니다.
심각도: 보통
EC2 인스턴스를 Azure Arc에 연결해야 합니다.
설명: 서버용 Microsoft Defender 보안 콘텐츠를 완전히 볼 수 있도록 EC2 인스턴스를 Azure Arc에 연결합니다. Azure Arc 및 하이브리드 클라우드 환경의 서버용 Microsoft Defender에 대해 자세히 알아보세요.
심각도: 높음
AWS Systems Manager로 EC2 인스턴스를 관리해야 합니다.
설명: Amazon EC2 Systems Manager 패치 준수 상태는 인스턴스에 패치를 설치한 후 '준수' 또는 'NON_COMPLIANT'입니다. AWS Systems Manager 패치 관리자에서 관리하는 인스턴스만 확인됩니다. PCI DSS 요구 사항 '6'에 의해 규정된 30일 제한 내에 적용된 패치는 확인되지 않습니다.
심각도: 보통
EDR 구성 문제는 EC2에서 해결되어야 합니다.
설명: 최신 위협 및 취약성으로부터 가상 머신을 보호하려면 설치된 EDR(엔드포인트 검색 및 응답) 솔루션에서 식별된 모든 구성 문제를 해결합니다. 현재 이 권장 사항은 엔드포인트용 Microsoft Defender 사용하도록 설정된 리소스에만 적용됩니다.
서버용 Defender 플랜 2 또는 Defender CSPM 계획이 있는 경우 이 에이전트 없는 엔드포인트 권장 사항을 사용할 수 있습니다. 에이전트 없는 엔드포인트 보호 권장 사항에 대해 자세히 알아봅니다.
- 이러한 새로운 에이전트 없는 엔드포인트 권장 사항은 Azure 및 다중 클라우드 머신을 지원합니다. 온-프레미스 서버는 지원되지 않습니다.
- 이러한 새로운 에이전트 없는 엔드포인트 권장 사항은 기존 권장 사항을 대체합니다. 엔드포인트 보호는 머신에 설치해야 하며(미리 보기) 머신에서 Endpoint Protection 상태 문제를 해결해야 합니다(미리 보기).
- 이러한 이전 권장 사항은 MMA/AMA 에이전트를 사용하며 서버용 Defender에서 에이전트가 단계적으로 중단됨에 따라 대체됩니다.
심각도: 높음
EDR 솔루션은 EC2에 설치되어야 합니다.
설명: EC2를 보호하려면 EDR(엔드포인트 검색 및 응답) 솔루션을 설치합니다. EDR은 지능형 위협을 예방, 검색, 조사 및 대응하는 데 도움이 됩니다. 서버용 Microsoft Defender를 사용하여 엔드포인트용 Microsoft Defender를 배포합니다. 리소스가 "비정상"으로 분류되면 지원되는 EDR 솔루션이 설치되어 있지 않습니다. 이 권장 사항으로 발견할 수 없는 EDR 솔루션이 설치되어 있는 경우 이를 제외할 수 있습니다.
서버용 Defender 플랜 2 또는 Defender CSPM 계획이 있는 경우 이 에이전트 없는 엔드포인트 권장 사항을 사용할 수 있습니다. 에이전트 없는 엔드포인트 보호 권장 사항에 대해 자세히 알아봅니다.
- 이러한 새로운 에이전트 없는 엔드포인트 권장 사항은 Azure 및 다중 클라우드 머신을 지원합니다. 온-프레미스 서버는 지원되지 않습니다.
- 이러한 새로운 에이전트 없는 엔드포인트 권장 사항은 기존 권장 사항을 대체합니다. 엔드포인트 보호는 머신에 설치해야 하며(미리 보기) 머신에서 Endpoint Protection 상태 문제를 해결해야 합니다(미리 보기).
- 이러한 이전 권장 사항은 MMA/AMA 에이전트를 사용하며 서버용 Defender에서 에이전트가 단계적으로 중단됨에 따라 대체됩니다.
심각도: 높음
Systems Manager에서 관리하는 인스턴스의 연결 준수 상태가 COMPLIANT여야 합니다.
설명: 이 컨트롤은 인스턴스에서 연결이 실행된 후 AWS Systems Manager 연결 준수 상태가 COMPLIANT인지 NON_COMPLIANT 여부를 확인합니다. 연결 준수 상태가 COMPLIANT이면 이 컨트롤은 합격입니다. State Manager 연결은 관리되는 인스턴스에 할당된 구성입니다. 이 구성은 인스턴스에서 유지하려는 상태를 정의합니다. 예를 들어 바이러스 백신 소프트웨어를 인스턴스에 설치하고 실행해야 하거나 특정 포트를 닫아야 하는 연결을 지정할 수 있습니다. 하나 이상의 State Manager 연결을 만든 후에는 콘솔에서 또는 AWS CLI 명령이나 해당 Systems Manager API 작업에 대한 응답으로 준수 상태 정보가 즉시 제공됩니다. 연결의 경우 "구성" 준수는 준수 또는 비준수 상태와 연결에 할당된 심각도 수준(예: 위험 또는 중간)을 표시합니다. State Manager 연결 규정 준수 에 대한 자세한 내용은 AWS Systems Manager 사용자 가이드의 State Manager 연결 규정 준수 에 대해 참조하세요. Systems Manager 연결을 위한 범위 내 EC2 인스턴스를 구성해야 합니다. 또한 패치 공급업체의 보안 등급에 대한 패치 기준을 구성하고 PCI DSS 3.2.1 요구 사항 6.2를 충족하도록 자동 승인 날짜를 설정해야 합니다. 연결을 만드는 방법에 대한 자세한 지침은 AWS Systems Manager 사용자 가이드에서 연결 만들기를 참조하세요. Systems Manager의 패치 작업에 대한 자세한 내용은 AWS Systems Manager 사용자 가이드의 AWS Systems Manager 패치 관리자를 참조하세요.
심각도: 낮음
람다 함수에는 배달 못한 편지 큐가 구성되어 있어야 합니다.
설명: 이 컨트롤은 람다 함수가 배달 못 한 편지 큐로 구성되었는지 여부를 확인합니다. 람다 함수가 배달 못 한 편지 큐로 구성되지 않은 경우 컨트롤이 실패합니다. 장애 시 대상에 대한 대안으로 배달 못한 편지 큐로 함수를 구성하면 폐기된 이벤트를 절약하여 추가 처리에 사용할 수 있습니다. 배달 못한 편지 큐는 오류 발생 대상과 동일하게 작동합니다. 이벤트가 모든 처리 시도에 실패하거나 처리되지 않고 만료될 때 사용됩니다. 배달 못한 편지 큐를 사용하면 람다 함수에 대한 오류 또는 실패한 요청을 다시 확인하여 비정상적인 동작을 디버그하거나 식별할 수 있습니다. 보안 관점에서 함수가 실패한 이유를 이해하고 함수가 데이터를 삭제하거나 결과적으로 데이터 보안을 손상시키지 않도록 하는 것이 중요합니다. 예를 들어 함수가 기본 리소스와 통신할 수 없는 경우 이는 네트워크의 다른 위치에서 DoS(서비스 거부) 공격의 증상일 수 있습니다.
심각도: 보통
람다 함수는 지원되는 런타임을 사용해야 합니다.
설명: 이 컨트롤은 런타임에 대한 람다 함수 설정이 각 언어에 대해 지원되는 런타임에 대해 설정된 예상 값과 일치하는지 확인합니다. 이 컨트롤은 nodejs14.x, nodejs12.x, nodejs10.x, python3.8, python3.7, python3.6, ruby2.7, ruby2.5, java11, java8, java8.al2, go1.x, dotnetcore3.1, dotnetcore2.1람다 런타임을 확인합니다. 는 유지 관리 및 보안 업데이트가 적용되는 운영 체제, 프로그래밍 언어 및 소프트웨어 라이브러리의 조합을 중심으로 빌드됩니다. 런타임 구성 요소의 보안 업데이트가 더 이상 지원되지 않으면 람다는 런타임 사용을 중단합니다. 사용되지 않는 런타임을 사용하는 함수를 만들 수는 없지만 호출 이벤트를 처리하는 데 함수를 계속 사용할 수 있습니다. 람다 함수가 최신 상태이고 오래된 런타임 환경을 사용하지 않는지 확인합니다. 이 컨트롤이 지원되는 언어를 확인하는 지원되는 런타임에 대해 자세히 알아보려면 AWS 람다 개발자 가이드의 AWS Lambda runtimes(영문)를 참조하세요.
심각도: 보통
EC2 인스턴스의 관리 포트는 Just-In-Time 네트워크 액세스 제어로 보호해야 합니다.
설명: 클라우드용 Microsoft Defender 네트워크의 관리 포트에 대해 지나치게 허용되는 일부 인바운드 규칙을 식별했습니다. 인터넷 기반 무차별 공격으로부터 인스턴스를 보호하려면 Just-In-Time 액세스 제어를 사용하세요. 자세히 알아보기.
심각도: 높음
사용되지 않는 EC2 보안 그룹을 제거해야 합니다.
설명: 보안 그룹을 Amazon EC2 인스턴스 또는 ENI에 연결해야 합니다. 정상 발견은 사용되지 않는 Amazon EC2 보안 그룹이 있음을 나타낼 수 있습니다.
심각도: 낮음
GCP 컴퓨팅 권장 사항
컴퓨팅 엔진 VM은 컨테이너 최적화 OS를 사용해야 함
설명: 이 권장 사항은 키-값 쌍 'imageType': 'COS'에 대한 노드 풀의 구성 속성을 평가합니다.
심각도: 낮음
EDR 구성 문제는 GCP 가상 머신에서 해결되어야 합니다.
설명: 최신 위협 및 취약성으로부터 가상 머신을 보호하려면 설치된 EDR(엔드포인트 검색 및 응답) 솔루션에서 식별된 모든 구성 문제를 해결합니다. 현재 이 권장 사항은 엔드포인트용 Microsoft Defender 사용하도록 설정된 리소스에만 적용됩니다.
서버용 Defender 플랜 2 또는 Defender CSPM 계획이 있는 경우 이 에이전트 없는 엔드포인트 권장 사항을 사용할 수 있습니다. 에이전트 없는 엔드포인트 보호 권장 사항에 대해 자세히 알아봅니다.
- 이러한 새로운 에이전트 없는 엔드포인트 권장 사항은 Azure 및 다중 클라우드 머신을 지원합니다. 온-프레미스 서버는 지원되지 않습니다.
- 이러한 새로운 에이전트 없는 엔드포인트 권장 사항은 기존 권장 사항을 대체합니다. 엔드포인트 보호는 머신에 설치해야 하며(미리 보기) 머신에서 Endpoint Protection 상태 문제를 해결해야 합니다(미리 보기).
- 이러한 이전 권장 사항은 MMA/AMA 에이전트를 사용하며 서버용 Defender에서 에이전트가 단계적으로 중단됨에 따라 대체됩니다.
심각도: 높음
EDR 솔루션은 GCP Virtual Machines에 설치되어야 합니다.
설명: 가상 머신을 보호하려면 EDR(엔드포인트 검색 및 응답) 솔루션을 설치합니다. EDR은 지능형 위협을 예방, 검색, 조사 및 대응하는 데 도움이 됩니다. 서버용 Microsoft Defender를 사용하여 엔드포인트용 Microsoft Defender를 배포합니다. 리소스가 "비정상"으로 분류되면 지원되는 EDR 솔루션이 설치되어 있지 않습니다. 이 권장 사항으로 발견할 수 없는 EDR 솔루션이 설치되어 있는 경우 이를 제외할 수 있습니다.
서버용 Defender 플랜 2 또는 Defender CSPM 계획이 있는 경우 이 에이전트 없는 엔드포인트 권장 사항을 사용할 수 있습니다. 에이전트 없는 엔드포인트 보호 권장 사항에 대해 자세히 알아봅니다.
- 이러한 새로운 에이전트 없는 엔드포인트 권장 사항은 Azure 및 다중 클라우드 머신을 지원합니다. 온-프레미스 서버는 지원되지 않습니다.
- 이러한 새로운 에이전트 없는 엔드포인트 권장 사항은 기존 권장 사항을 대체합니다. 엔드포인트 보호는 머신에 설치해야 하며(미리 보기) 머신에서 Endpoint Protection 상태 문제를 해결해야 합니다(미리 보기).
- 이러한 이전 권장 사항은 MMA/AMA 에이전트를 사용하며 서버용 Defender에서 에이전트가 단계적으로 중단됨에 따라 대체됩니다.
심각도: 높음
VM 인스턴스에 대해 "프로젝트 전체 SSH 키 차단"을 사용하도록 설정해야 함
설명: 일반/공유 프로젝트 전체 SSH 키를 사용하여 인스턴스에 액세스하는 대신 인스턴스별 SSH 키를 사용하는 것이 좋습니다. 프로젝트 전체 SSH 키는 Compute/Project-meta-data에 저장됩니다. 프로젝트 전체 SSH 키를 사용하여 프로젝트 내의 모든 인스턴스에 로그인할 수 있습니다. 프로젝트 전체 SSH 키를 사용하면 SSH 키 관리가 용이하지만 손상된 경우 프로젝트 내의 모든 인스턴스에 영향을 줄 수 있는 보안 위험이 발생합니다. SSH 키가 손상된 경우 공격 노출 영역을 제한할 수 있는 인스턴스별 SSH 키를 사용하는 것이 좋습니다.
심각도: 보통
보호된 VM을 사용하도록 설정하여 Compute 인스턴스 시작
설명: 고급 위협을 방어하고 VM의 부팅 로더 및 펌웨어가 서명되고 손상되지 않도록 하려면 보호된 VM을 사용하도록 설정된 컴퓨팅 인스턴스를 시작하는 것이 좋습니다.
보호된 VM은 방어하는 데 도움이 되는 rootkits
보안 제어 집합에 의해 강화된 Google Cloud Platform의 VM입니다 bootkits
.
Shielded VM은 컴퓨팅 엔진 VM 인스턴스의 검증 가능한 무결성을 제공하므로 부팅 또는 커널 수준의 맬웨어나 루트킷에 의해 인스턴스가 손상되지 않았음을 확신할 수 있습니다.
보호된 VM의 검증 가능한 무결성은 보안 부팅, vTPM(가상 신뢰할 수 있는 플랫폼 모듈) 지원 계획 부팅 및 무결성 모니터링을 통해 달성됩니다.
보호된 VM 인스턴스는 Google의 인증 기관을 사용하여 서명되고 확인된 펌웨어를 실행하여 인스턴스의 펌웨어가 수정되지 않도록 하고 보안 부팅에 대한 신뢰의 루트를 설정합니다.
무결성 모니터링은 VM 인스턴스의 상태를 이해하고 결정하는 데 도움이 되며 Shielded VM vTPM은 무결성 정책 기준이라고 하는 알려진 양호한 부팅 기준을 만드는 데 필요한 측정을 수행하여 계획 부팅을 지원합니다.
무결성 정책 기준선은 변경된 사항이 있는지 확인하기 위해 후속 VM 부팅의 측정값과 비교하는 데 사용됩니다.
보안 부팅은 모든 부팅 구성 요소의 디지털 서명을 확인하고 서명 확인에 실패할 경우 부팅 프로세스를 중단하여 시스템이 정품 소프트웨어만 실행하도록 합니다.
심각도: 높음
VM 인스턴스에 대해 '직렬 포트에 연결 사용'을 사용하도록 설정하지 않아야 함
설명: 직렬 포트와 상호 작용하는 것을 터미널 창 사용과 유사한 직렬 콘솔이라고도 하며, 입력 및 출력은 전적으로 텍스트 모드이며 그래픽 인터페이스 또는 마우스 지원은 없습니다. 인스턴스에서 대화형 직렬 콘솔을 사용하도록 설정하면 클라이언트가 모든 IP 주소에서 해당 인스턴스에 연결을 시도할 수 있습니다. 따라서 대화형 직렬 콘솔 지원을 사용하지 않도록 설정해야 합니다. 가상 머신 인스턴스에는 4개의 가상 직렬 포트가 있습니다. 직렬 포트와 상호 작용하는 것은 터미널 창을 사용하는 것과 유사합니다. 입력 및 출력은 전적으로 텍스트 모드이며 그래픽 인터페이스 또는 마우스 지원은 없습니다. 인스턴스의 운영 체제, BIOS 및 기타 시스템 수준 엔터티는 종종 직렬 포트에 출력을 쓰고 프롬프트에 대한 명령 또는 답변과 같은 입력을 받아들일 수 있습니다. 일반적으로 이러한 시스템 수준 엔터티는 첫 번째 직렬 포트(포트 1)를 사용하며 직렬 포트 1은 종종 직렬 콘솔이라고 합니다. 대화형 직렬 콘솔은 IP 허용 목록과 같은 IP 기반 액세스 제한을 지원하지 않습니다. 인스턴스에서 대화형 직렬 콘솔을 사용하도록 설정하면 클라이언트가 모든 IP 주소에서 해당 인스턴스에 연결을 시도할 수 있습니다. 이렇게 하면 올바른 SSH 키, 사용자 이름, 프로젝트 ID, 영역 및 인스턴스 이름을 알고 있는 모든 사용자가 해당 인스턴스에 연결할 수 있습니다. 따라서 대화형 직렬 콘솔 지원을 사용하지 않도록 설정해야 합니다.
심각도: 보통
Cloud SQL PostgreSQL 인스턴스에 대한 'log_duration' 데이터베이스 플래그를 '켬'으로 설정해야 함
설명: log_hostname 설정을 사용하면 완료된 각 문의 기간이 기록됩니다. 쿼리 텍스트를 기록하지 않으므로 log_min_duration_statement 플래그와 다르게 동작합니다. 세션이 시작된 후에는 이 매개 변수를 변경할 수 없습니다. 쿼리를 실행하는 데 걸리는 시간을 모니터링하는 것은 리소스를 많이 차지하는 쿼리를 식별하고 서버의 성능을 평가하는 데 중요할 수 있습니다. 부하 분산 및 최적화된 쿼리 사용과 같은 추가 단계를 수행하여 서버의 성능과 안정성을 보장할 수 있습니다. 이 권장 사항은 PostgreSQL 데이터베이스 인스턴스에 적용됩니다.
심각도: 낮음
Cloud SQL PostgreSQL 인스턴스에 대한 'log_executor_stats' 데이터베이스 플래그를 '끔'으로 설정해야 함
설명: PostgreSQL 실행기는 PostgreSQL 플래너가 넘겨준 계획을 실행할 책임이 있습니다. 실행기는 계획을 재귀적으로 처리하여 필요한 행 집합을 추출합니다. "log_executor_stats" 플래그는 각 쿼리에 대한 PostgreSQL 로그에 PostgreSQL 실행기 성능 통계를 포함하는 것을 제어합니다. "log_executor_stats" 플래그를 사용하면 PostgreSQL 실행기 성능 통계를 로깅하는 조잡한 프로파일링 방법을 사용할 수 있으며, 문제 해결에 유용할 수 있지만 로그 수가 크게 증가하고 성능 오버헤드가 발생할 수 있습니다. 이 권장 사항은 PostgreSQL 데이터베이스 인스턴스에 적용됩니다.
심각도: 낮음
Cloud SQL PostgreSQL 인스턴스에 대한 'log_min_error_statement' 데이터베이스 플래그를 '오류' 또는 더 엄격하게 설정해야 함
설명: "log_min_error_statement" 플래그는 오류 문으로 간주되는 최소 메시지 심각도 수준을 정의합니다. 오류 문의 메시지는 SQL 문과 함께 로그됩니다. 유효한 값으로는 "DEBUG5", "DEBUG4", "DEBUG3", "DEBUG2", "DEBUG1", "INFO", "NOTICE", "WARNING", "ERROR", "LOG", "FATAL" 및 "PANIC"이 있습니다. 각 심각도 수준에는 위에서 언급한 후속 수준이 포함됩니다. ERROR 또는 그보다 더 엄격한 값이 설정되어 있는지 확인합니다. 감사는 운영 문제를 해결하는 데 도움이 되며 포렌식 분석도 허용합니다. "log_min_error_statement"이 올바른 값으로 설정되지 않은 경우 메시지는 오류 메시지로 적절하게 분류되지 않을 수 있습니다. 일반적인 로그 메시지를 오류 메시지로 간주하면 실제 오류를 찾기가 어렵고 오류 메시지가 실제 오류를 건너뛰어 SQL 문을 기록할 수 있으므로 더 엄격한 심각도 수준만 고려합니다. "log_min_error_statement" 플래그는 "ERROR" 또는 더 엄격하게 설정되어야 합니다. 이 권장 사항은 PostgreSQL 데이터베이스 인스턴스에 적용됩니다.
심각도: 낮음
Cloud SQL PostgreSQL 인스턴스에 대한 'log_parser_stats' 데이터베이스 플래그를 '끔'으로 설정해야 함
설명: PostgreSQL Planner/optimizer는 서버에서 받은 각 쿼리의 구문을 구문 분석하고 확인해야 합니다. 구문이 올바르면 "구문 분석 트리"가 구성되며 올바르지 않으면 오류가 생성됩니다. "log_parser_stats" 플래그는 각 쿼리에 대한 PostgreSQL 로그의 파서 성능 통계 포함을 제어합니다. "log_parser_stats" 플래그를 사용하면 구문 분석기 성능 통계를 로깅하는 조잡한 프로파일링 방법을 사용할 수 있습니다. 이 방법은 문제 해결에 유용할 수 있지만 로그 수가 크게 증가하고 성능 오버헤드가 발생할 수 있습니다. 이 권장 사항은 PostgreSQL 데이터베이스 인스턴스에 적용됩니다.
심각도: 낮음
Cloud SQL PostgreSQL 인스턴스에 대한 'log_planner_stats' 데이터베이스 플래그를 '끔'으로 설정해야 함
설명: 동일한 SQL 쿼리를 여러 가지 방법으로 실행할 수 있으며 여전히 다른 결과를 생성할 수 있습니다. PostgreSQL 플래너/최적화 프로그램은 각 쿼리에 대한 최적의 실행 계획을 만들 책임이 있습니다. "log_planner_stats" 플래그는 각 쿼리에 대한 PostgreSQL 로그의 PostgreSQL 플래너 성능 통계 포함을 제어합니다. "log_planner_stats" 플래그를 사용하면 PostgreSQL Planner 성능 통계를 로깅하는 조잡한 프로파일링 방법을 사용할 수 있으며, 문제 해결에 유용할 수 있지만 로그 수가 크게 증가하고 성능 오버헤드가 발생할 수 있습니다. 이 권장 사항은 PostgreSQL 데이터베이스 인스턴스에 적용됩니다.
심각도: 낮음
Cloud SQL PostgreSQL 인스턴스에 대한 'log_statement_stats' 데이터베이스 플래그를 '끔'으로 설정해야 함
설명: "log_statement_stats" 플래그는 각 쿼리에 대한 PostgreSQL 로그에 SQL 쿼리의 종단 간 성능 통계를 포함하는 것을 제어합니다. 다른 모듈 통계(log_parser_stats, log_planner_stats, log_executor_stats)에서는 사용하도록 설정할 수 없습니다. "log_statement_stats" 플래그는 SQL 쿼리의 엔드투엔드 성능 통계를 로깅하기 위한 조잡한 프로파일링 방법을 사용하도록 설정합니다. 이는 문제 해결에 유용할 수 있지만 로그 수가 크게 증가하고 성능 오버헤드가 발생할 수 있습니다. 이 권장 사항은 PostgreSQL 데이터베이스 인스턴스에 적용됩니다.
심각도: 낮음
컴퓨팅 인스턴스에 퍼블릭 IP 주소가 없어야 함
설명: 컴퓨팅 인스턴스는 외부 IP 주소를 갖도록 구성해서는 안 됩니다.
공격 노출 영역을 줄이려면 컴퓨팅 인스턴스에 공용 IP 주소가 없어야 합니다. 대신 인스턴스가 인터넷에 노출되는 것을 최소화하기 위해 부하 분산 장치 뒤에 인스턴스를 구성해야 합니다.
GKE에서 만든 인스턴스 중 일부는 외부 IP 주소를 가지고 있으며 인스턴스 설정을 편집하여 변경할 수 없으므로 제외해야 합니다.
이러한 VM에는 시작하고 gke-
레이블 goog-gke-node
이 지정된 이름이 있습니다.
심각도: 높음
인스턴스가 기본 서비스 계정을 사용하도록 구성되지 않아야 함
설명: 프로젝트에 편집기 역할이 있으므로 기본 컴퓨팅 엔진 서비스 계정을 사용하지 않도록 인스턴스를 구성하는 것이 좋습니다.
기본 컴퓨팅 엔진 서비스 계정에는 대부분의 Google Cloud 서비스에 대한 읽기 및 쓰기 권한을 허용하는 프로젝트에 대한 편집자 역할이 있습니다.
VM이 손상된 경우 권한 상승으로부터 보호하고 공격자가 모든 프로젝트에 액세스하지 못하도록 하려면 기본 컴퓨팅 엔진 서비스 계정을 사용하지 않는 것이 좋습니다.
대신 새 서비스 계정을 만들고 인스턴스에 필요한 권한만 할당해야 합니다.
기본 Compute Engine 서비스 계정의 이름은 [PROJECT_NUMBER]- compute@developer.gserviceaccount.com
.입니다.
GKE에서 만든 VM은 제외되어야 합니다. 이러한 VM에는 시작하고 gke-
레이블 goog-gke-node
이 지정된 이름이 있습니다.
심각도: 높음
인스턴스에서 모든 클라우드 API에 대한 모든 권한을 가진 기본 서비스 계정을 사용하도록 구성하지 않아야 함
설명: 최소 권한 원칙을 지원하고 잠재적인 권한 에스컬레이션을 방지하려면 "모든 클라우드 API에 대한 모든 액세스 허용" 범위가 있는 기본 서비스 계정 "컴퓨팅 엔진 기본 서비스 계정"에 인스턴스를 할당하지 않는 것이 좋습니다. 필요에 따라 사용자 관리형 사용자 지정 서비스 계정을 만들고 관리하고 사용하는 기능과 함께 Google Compute Engine은 인스턴스가 필요한 클라우드 서비스에 액세스할 수 있도록 기본 서비스 계정 "컴퓨팅 엔진 기본 서비스 계정"을 제공합니다.
"프로젝트 편집자" 역할은 "컴퓨팅 엔진 기본 서비스 계정"에 할당되므로 이 서비스 계정에는 청구를 제외한 모든 클라우드 서비스에 대한 거의 모든 기능이 있습니다. 그러나 인스턴스에 할당된 "컴퓨팅 엔진 기본 서비스 계정"은 세 가지 범위에서 작동할 수 있습니다.
- 기본 액세스 허용: 인스턴스를 실행하는 데 필요한 최소 액세스만 허용합니다(최소 권한).
- 모든 클라우드 API에 대한 모든 액세스 허용: 모든 클라우드 API/서비스에 대한 모든 액세스 허용(너무 많은 액세스).
- 각 API에 대한 액세스 설정: 인스턴스 관리자가 인스턴스에서 예상하는 특정 비즈니스 기능을 수행하는 데 필요한 API만 선택할 수 있습니다.
인스턴스가 인스턴스에 액세스하는 사용자에게 할당된 IAM 역할에 따라 범위가 "모든 클라우드 API에 대한 전체 액세스 허용"으로 "컴퓨팅 엔진 기본 서비스 계정"으로 구성된 경우 사용자가 성공적인 권한 상승으로 이어지도록 해서는 안 되는 클라우드 작업/API 호출을 수행할 수 있습니다.
GKE에서 만든 VM은 제외되어야 합니다. 이러한 VM에는 시작하고 gke-
레이블 goog-gke-node
이 지정된 이름이 있습니다.
심각도: 보통
인스턴스에서 IP 전달을 사용하도록 설정하지 않아야 함
설명: 컴퓨팅 엔진 인스턴스는 패킷의 원본 IP 주소가 인스턴스의 IP 주소와 일치하지 않는 한 패킷을 전달할 수 없습니다. 마찬가지로 GCP는 대상 IP 주소가 패킷을 수신하는 인스턴스의 IP 주소와 다른 패킷을 전달하지 않습니다. 그러나 인스턴스를 사용하여 패킷 라우팅을 지원하려면 두 기능이 모두 필요합니다. 데이터 손실 또는 정보 공개를 방지하려면 데이터 패킷 전달을 사용하지 않도록 설정해야 합니다. 패킷의 원본 IP 주소가 인스턴스의 IP 주소와 일치하지 않는 한 컴퓨팅 엔진 인스턴스는 패킷을 전달할 수 없습니다. 마찬가지로 GCP는 대상 IP 주소가 패킷을 수신하는 인스턴스의 IP 주소와 다른 패킷을 전달하지 않습니다. 그러나 인스턴스를 사용하여 패킷 라우팅을 지원하려면 두 기능이 모두 필요합니다. 이 원본 및 대상 IP 검사를 사용하도록 설정하려면 인스턴스가 일치하지 않는 대상 또는 원본 IP가 있는 패킷을 보내고 받을 수 있도록 하는 canIpForward 필드를 사용하지 않도록 설정합니다.
심각도: 보통
Cloud SQL PostgreSQL 인스턴스에 대한 'log_checkpoints' 데이터베이스 플래그를 '켬'으로 설정해야 함
설명: 클라우드 SQL PostgreSQL 인스턴스에 대한 log_checkpoints 데이터베이스 플래그가 설정되었는지 확인합니다. log_checkpoints를 사용하도록 설정하면 검사점과 다시 시작 지점이 서버 로그에 로그됩니다. 로그된 버퍼 수 및 기록에 소요된 시간을 포함하여 일부 통계가 로그 메시지에 포함됩니다. 이 매개 변수는 postgresql.conf 파일 또는 서버 명령줄에서만 설정할 수 있습니다. 이 권장 사항은 PostgreSQL 데이터베이스 인스턴스에 적용됩니다.
심각도: 낮음
Cloud SQL PostgreSQL 인스턴스에 대한 'log_lock_waits' 데이터베이스 플래그를 '켬'으로 설정해야 함
설명: PostgreSQL 인스턴스에 대해 "log_lock_waits" 플래그를 사용하도록 설정하면 할당된 "deadlock_timeout" 시간보다 오래 걸리는 모든 세션 대기에 대한 로그가 만들어집니다. 교착 상태 제한 시간은 조건을 확인하기 전에 잠금을 기다리는 시간을 정의합니다. 교착 상태 시간 제한에 대한 빈번한 실행 오버는 근본적인 문제를 나타낼 수 있습니다. log_lock_waits 플래그를 사용하도록 설정하여 잠금에서 이러한 대기를 로깅하면 잠금 지연으로 인한 성능 저하를 식별하거나 특수하게 제작된 SQL이 과도한 시간 동안 잠금을 유지하여 리소스를 굶주리려고 하는 경우 이를 사용할 수 있습니다. 이 권장 사항은 PostgreSQL 데이터베이스 인스턴스에 적용됩니다.
심각도: 낮음
Cloud SQL PostgreSQL 인스턴스의 'log_min_duration_statement' 데이터베이스 플래그가 '-1'로 설정되어 있는지 확인합니다.
설명: "log_min_duration_statement" 플래그는 문의 총 기간이 기록되는 최소 실행 시간(밀리초)을 정의합니다. "log_min_duration_statement" 사용 안 함, 즉 -1 값이 설정되었는지 확인합니다. 로깅 SQL 문에는 로그에 기록하면 안 되는 중요한 정보가 포함될 수 있습니다. 이 권장 사항은 PostgreSQL 데이터베이스 인스턴스에 적용됩니다.
심각도: 낮음
Cloud SQL PostgreSQL 인스턴스에 대한 'log_min_messages' 데이터베이스 플래그를 적절하게 설정해야 함
설명: "log_min_error_statement" 플래그는 오류 문으로 간주되는 최소 메시지 심각도 수준을 정의합니다. 오류 문의 메시지는 SQL 문과 함께 로그됩니다. 유효한 값으로는 "DEBUG5", "DEBUG4", "DEBUG3", "DEBUG2", "DEBUG1", "INFO", "NOTICE", "WARNING", "ERROR", "LOG", "FATAL" 및 "PANIC"이 있습니다. 각 심각도 수준에는 위에서 언급한 후속 수준이 포함됩니다. 로깅 실패 문을 효과적으로 해제하려면 이 매개 변수를 PANIC으로 설정합니다. ERROR는 모범 사례 설정으로 간주됩니다. 변경은 조직의 로깅 정책에 따라서만 이루어져야 합니다. 감사는 운영 문제를 해결하는 데 도움이 되며 포렌식 분석도 허용합니다. "log_min_error_statement"이 올바른 값으로 설정되지 않은 경우 메시지는 오류 메시지로 적절하게 분류되지 않을 수 있습니다. 일반 로그 메시지를 오류 메시지로 고려하면 실제 오류를 찾기 어려울 수 있지만 오류 메시지가 실제 오류를 건너뛰어 SQL 문을 기록할 수 있으므로 더 엄격한 심각도 수준만 고려할 수 있습니다. "log_min_error_statement" 플래그는 조직의 로깅 정책에 따라 설정되어야 합니다. 이 권장 사항은 PostgreSQL 데이터베이스 인스턴스에 적용됩니다.
심각도: 낮음
클라우드 SQL PostgreSQL 인스턴스에 대한 'log_temp_files' 데이터베이스 플래그가 '0'으로 설정되어 있는지 확인합니다.
설명: PostgreSQL은 이러한 작업이 "work_mem"을 초과하는 경우 정렬, 해시 및 임시 쿼리 결과와 같은 작업에 대한 임시 파일을 만들 수 있습니다. "log_temp_files" 플래그는 삭제될 때 로깅 이름 및 파일 크기를 제어합니다. "log_temp_files"를 0으로 구성하면 모든 임시 파일 정보가 로그되는 반면 양수 값은 크기가 지정된 킬로바이트 수보다 크거나 같은 파일만 로그합니다. "-1" 값은 임시 파일 정보 로깅을 사용하지 않도록 설정합니다. 모든 임시 파일이 기록되지 않은 경우 애플리케이션 코딩이 좋지 않거나 고의적인 리소스 부족 시도로 인해 발생할 수 있는 잠재적 성능 문제를 식별하기가 더 어려울 수 있습니다.
심각도: 낮음
중요 VM의 VM 디스크가 고객 제공 암호화 키로 암호화되었는지 확인
설명: CSEK(고객 제공 암호화 키)는 Google Cloud Storage 및 Google 컴퓨팅 엔진의 기능입니다. 자체 암호화 키를 제공하는 경우 Google은 사용자의 키를 사용하여 데이터를 암호화하거나 암호를 해독하는 데 사용되는 Google 생성 키를 보호합니다. 기본적으로 Google 컴퓨팅 엔진은 모든 미사용 데이터를 암호화합니다. 컴퓨팅 엔진은 사용자의 추가 작업 없이 이 암호화를 처리하고 관리합니다. 그러나 이 암호화를 직접 제어하고 관리하려는 경우 자체 암호화 키를 제공할 수 있습니다. 기본적으로 Google 컴퓨팅 엔진은 모든 미사용 데이터를 암호화합니다. 컴퓨팅 엔진은 사용자의 추가 작업 없이 이 암호화를 처리하고 관리합니다. 그러나 이 암호화를 직접 제어하고 관리하려는 경우 자체 암호화 키를 제공할 수 있습니다. 자체 암호화 키를 제공하는 경우 컴퓨팅 엔진은 키를 사용하여 데이터를 암호화하거나 암호를 해독하는 데 사용되는 Google 생성 키를 보호합니다. 올바른 키를 제공할 수 있는 사용자만 고객 제공 암호화 키로 보호되는 리소스를 사용할 수 있습니다. Google은 해당 서버에 키를 저장하지 않으며 키를 제공하지 않는 한 보호된 데이터에 액세스할 수 없습니다. 즉, 키를 잊어버리거나 분실한 경우 Google에서 키를 복구하거나 손실된 키로 암호화된 데이터를 복구할 수 있는 방법이 없습니다. 최소한 중요 비즈니스용 VM에는 CSEK로 암호화된 VM 디스크가 있어야 합니다.
심각도: 보통
GCP 프로젝트에는 Azure Arc 자동 프로비전이 사용하도록 설정되어 있어야 합니다.
설명: 서버용 Microsoft Defender의 보안 콘텐츠를 완전히 표시하려면 GCP VM 인스턴스를 Azure Arc에 연결해야 합니다. 적격 VM 인스턴스가 모두 Azure Arc를 자동으로 받도록 하려면 GCP 프로젝트 수준에서 클라우드용 Defender 자동 프로비전을 사용하도록 설정합니다. Azure Arc 및 서버용 Microsoft Defender에 대해 자세히 알아보세요.
심각도: 높음
GCP VM 인스턴스는 Azure Arc에 연결되어야 합니다.
설명: 서버용 Microsoft Defender 보안 콘텐츠를 완전히 볼 수 있도록 GCP Virtual Machines를 Azure Arc에 연결합니다. Azure Arc 및 하이브리드 클라우드 환경의 서버용 Microsoft Defender에 대해 자세히 알아보세요.
심각도: 높음
GCP VM 인스턴스에는 OS 구성 에이전트가 설치되어 있어야 합니다.
설명: Azure Arc 자동 프로비전을 사용하여 전체 서버용 Defender 기능을 받으려면 GCP VM에 OS 구성 에이전트를 사용하도록 설정해야 합니다.
심각도: 높음
GKE 클러스터의 자동 복구 기능을 사용하도록 설정해야 함
설명: 이 권장 사항은 'key': 'autoRepair', 'value': true 키-값 쌍에 대한 노드 풀의 관리 속성을 평가합니다.
심각도: 보통
GKE 클러스터의 자동 업그레이드 기능을 사용하도록 설정해야 함
설명: 이 권장 사항은 'key': 'autoUpgrade', 'value': true 키-값 쌍에 대한 노드 풀의 관리 속성을 평가합니다.
심각도: 높음
GKE 클러스터에 대한 모니터링을 사용하도록 설정해야 함
설명: 이 권장 사항은 클러스터의 monitoringService 속성에 클라우드 모니터링이 메트릭을 작성하는 데 사용해야 하는 위치가 포함되어 있는지 여부를 평가합니다.
심각도: 보통