Cloud Shell에 대한 Azure 보안 기준

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

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

참고

Cloud Shell에 적용할 수 없는 컨트롤 및 글로벌 지침이 그대로 권장되는 컨트롤은 제외되었습니다. Cloud Shell이 완전히 Azure Security Benchmark에 매핑되는 방법을 보려면 전체 Cloud Shell 보안 기준 매핑 파일을 참조하세요.

네트워크 보안

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

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

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

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

책임: Customer

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

지침: 외부 네트워크의 공격으로부터 Cloud Shell 리소스를 보호합니다. 외부 공격에는 DDoS(분산 서비스 거부) 공격, 애플리케이션별 공격, 원치 않는 잠재적 악성 인터넷 트래픽이 포함될 수 있습니다.

Azure Firewall을 사용하면 인터넷 및 기타 외부 위치의 잠재적인 악성 트래픽으로부터 애플리케이션 및 서비스를 보호할 수 있습니다.

Azure 가상 네트워크에서 DDoS Protection 표준을 사용하도록 설정하여 DDoS 공격으로부터 자산을 보호합니다. 클라우드용 Microsoft Defender를 사용하여 네트워크 관련 리소스에 대한 잘못된 구성 위험을 검색합니다.

Azure 가상 네트워크의 Cloud Shell은 선택적 환경이며 기본적으로 설정되지 않습니다. 자세한 내용은 Cloud Shell 설명서를 참조하세요.

Cloud Shell은 웹 애플리케이션을 실행하지 않습니다. 웹 애플리케이션을 대상으로 하는 외부 네트워크 공격으로부터 보호하기 위해 설정을 구성하거나 네트워크 서비스를 배포할 필요가 없습니다.

책임: Customer

ID 관리

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

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

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

  • Microsoft 클라우드 리소스. 리소스에는 다음이 포함됩니다.

    • Azure Portal

    • Azure Storage

    • Azure Linux 및 Windows 가상 머신

    • Azure Key Vault

    • PaaS(Platform-as-a-Service)

    • SaaS(Software-as-a-Service) 응용프로그램

  • 조직의 리소스(예: Azure의 애플리케이션 또는 회사 네트워크 리소스)

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

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

책임: Customer

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

지침: Cloud Shell을 사용하면 고객이 코드를 실행하거나 구성을 배포하거나 ID 또는 보안 비밀이 포함될 가능성이 있는 데이터를 유지할 수 있습니다. 자격 증명 스캐너를 사용하여 이러한 자격 증명을 식별합니다. 자격 증명 스캐너는 검사된 자격 증명을 Azure Key Vault와 같은 안전한 위치로 이동하도록 권장합니다.

GitHub의 경우 기본 비밀 검사 기능을 사용하여 코드에서 자격 증명 또는 기타 비밀을 식별할 수 있습니다.

책임: Customer

권한 있는 액세스

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

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

지침: 안전하고 격리된 워크스테이션은 관리자, 개발자, 중요한 서비스 운영자와 같은 중요한 역할의 보안에 매우 중요합니다. 관리 작업에는 매우 안전한 사용자 워크스테이션 및 Azure Bastion을 사용합니다.

Azure AD, Microsoft Defender ATP(Advanced Threat Protection) 또는 Microsoft Intune을 사용하여 관리 작업을 위한 안전하고 관리되는 사용자 워크스테이션을 배포합니다. 보안 워크스테이션을 중앙에서 관리하여 다음을 포함하는 보안 구성을 적용할 수 있습니다.

  • 강력한 인증

  • 소프트웨어 및 하드웨어 기준

  • 제한된 논리적 액세스 및 네트워크 액세스

자세한 내용은 다음 참조 문서를 참조하세요.

책임: Customer

데이터 보호

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

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

지침: 해당 사항 없음 Cloud Shell은 고객 데이터 전송을 지원하지만 중요한 데이터의 무단 전송에 대한 모니터링은 기본적으로 지원하지 않습니다.

책임: Customer

자산 관리

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

AM-1: 보안 팀이 자산 위험에 대한 가시성을 확보할 수 있도록 합니다.

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

보안 위험에 대한 모니터링은 책임을 구성하는 방법에 따라 중앙 보안 팀 또는 로컬 팀의 책임이 될 수 있습니다. 항상 조직 내 중앙에서 보안 인사이트와 위험을 집계합니다.

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

참고: 워크로드 및 서비스를 표시하려면 더 많은 권한이 필요할 수도 있습니다.

책임: Customer

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

지침: 메타데이터 태그는 리소스를 분류 체계로 논리적으로 구성합니다. Cloud Shell은 태그를 사용하지 않으며 고객이 태그를 적용하거나 사용하도록 허용하지 않습니다.

Cloud Shell은 Azure Resource Manager 기반 리소스 배포 또는 Azure Resource Graph를 사용한 검색을 지원하지 않습니다.

클라우드용 Microsoft Defender 적응형 애플리케이션 제어를 사용하여 규칙이 적용되는 파일 형식을 지정할 수 있습니다.

책임: Customer

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

지침: Azure Virtual Machine 인벤토리를 사용하여 VM(가상 머신)의 소프트웨어에 대한 정보 수집을 자동화합니다. Azure Portal에서 소프트웨어 이름, 버전, 게시자 및 새로 고침 시간을 가져올 수 있습니다. 설치 날짜 및 기타 정보에 액세스하려면 게스트 수준 진단을 사용하도록 설정하고 Windows 이벤트 로그를 Log Analytics 작업 영역으로 가져옵니다.

책임: Customer

로깅 및 위협 탐지

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

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

지침: Cloud Shell 리소스를 가상 네트워크에 배포할 수 있지만 네트워크 보안 그룹을 통해 네트워크 트래픽을 적용하거나 트래픽을 전달할 수는 없습니다. Cloud Shell이 올바르게 작동하려면 서브넷에서 네트워크 정책을 사용 중지해야 합니다. 이러한 이유로 Cloud Shell에 대해 네트워크 보안 그룹 흐름 로깅을 구성할 수 없습니다.

Cloud Shell은 DNS(도메인 이름 서비스) 쿼리 로그를 생성하거나 처리하지 않습니다.

책임: Customer

태세 및 취약성 관리

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

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

지침: Cloud Shell은 타사 솔루션을 사용하여 네트워크 디바이스 및 웹 애플리케이션에 대한 취약성 평가를 수행할 수 있습니다. 원격 검사를 수행할 때 하나의 영구 관리 계정을 사용하지 마세요. 검사 계정에 대한 JIT(Just-In-Time) 프로비저닝 방법을 구현하는 것을 고려합니다. 검사 계정에 대한 자격 증명을 보호 및 모니터링하고 취약성 검사에만 사용합니다.

필요한 경우 일관된 간격으로 검사 결과를 내보냅니다. 결과를 이전 검사와 비교하여 취약성이 수정되었는지 확인합니다.

책임: Customer

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

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

기능 및 도구의 전체 목록은 Cloud Shell 기능:/azure/cloud-shell/features를 참조하세요.

책임: Customer

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

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

Microsoft 클라우드 침투 테스트 사용자 참여 규칙을 따라 침투 테스트가 Microsoft 정책을 위반하지 않도록 합니다. Microsoft의 Red Teaming 전략 및 실행을 사용합니다. Microsoft 관리 클라우드 인프라, 서비스 및 응용프로그램에 대한 실시간 사이트 침투 테스트를 수행합니다.

책임: Customer

다음 단계