다음을 통해 공유


Azure의 IaaS 작업에 대한 보안 모범 사례

이 문서에서는 VM 및 운영 체제에 대한 보안 모범 사례를 설명합니다.

모범 사례는 의견의 일치를 기반으로 하며 현재 Azure 플랫폼 기능 및 기능 집합과 함께 작동합니다. 시간이 지남에 따라 의견과 기술이 변경될 수 있으므로 이 문서는 해당 변경 내용을 반영하도록 업데이트됩니다.

대부분 IaaS(Infrastructure as a Service) 시나리오에서 Azure VM(가상 머신)은 클라우드 컴퓨팅을 사용하는 조직에 주요 워크로드입니다. This fact is evident in hybrid scenarios where organizations want to slowly migrate workloads to the cloud. 이러한 시나리오에서 IaaS에 대한 일반적인 보안 고려 사항을 따르고 모든 VM에 보안 모범 사례를 적용합니다.

인증 및 액세스 제어를 사용하여 VM 보호

VM을 보호하는 첫 번째 단계는 승인된 사용자만 새 VM을 설정하고 VM에 액세스할 수 있게 하는 것입니다.

Note

Azure에서 Linux VM의 보안을 강화하려면 Microsoft Entra 인증으로 통합하면 됩니다. Linux VM에 Microsoft Entra 인증을 사용하면 VM에 대한 액세스를 허용하거나 거부하는 정책을 중앙에서 제어하고 적용할 수 있습니다.

Best practice: Control VM access. Detail: Use Azure policies to establish conventions for resources in your organization and create customized policies. Apply these policies to resources, such as resource groups. 리소스 그룹에 속한 VM에서 해당 정책을 상속합니다.

조직에 구독이 많으면 구독에 대한 액세스, 정책 및 준수를 효율적으로 관리하는 방법이 필요할 수 있습니다. Azure 관리 그룹은 구독 상위 수준의 범위를 제공합니다. 관리 그룹(컨테이너)에 구독을 구성하고 거버넌스 조건을 해당 그룹에 적용합니다. 관리 그룹에 속하는 모든 구독은 그룹에 적용되는 조건을 자동으로 상속합니다. 관리 그룹은 어떤 형식의 구독을 사용하든 관계 없이 대규모의 엔터프라이즈급 관리를 제공합니다.

Best practice: Reduce variability in your setup and deployment of VMs. Detail: Use Azure Resource Manager templates to strengthen your deployment choices and make it easier to understand and inventory the VMs in your environment.

Best practice: Secure privileged access. Detail: Use a least privilege approach and built-in Azure roles to enable users to access and set up VMs:

  • Virtual Machine 참여자: VM을 관리할 수 있으나 해당 컴퓨터가 연결된 가상 네트워크 또는 스토리지 계정은 관리할 수 없습니다.
  • 클래식 Virtual Machine 참여자: 클래식 배포 모델을 사용하여 만든 VM을 관리할 수 있으나 VM이 연결된 가상 네트워크 또는 스토리지 계정은 관리할 수 없습니다.
  • Security Admin: In Defender for Cloud only: Can view security policies, view security states, edit security policies, view alerts and recommendations, dismiss alerts and recommendations.
  • DevTest 실습 사용자: 모든 항목을 볼 수 있으며 VM을 연결, 시작, 다시 시작 및 종료할 수 있습니다.

구독 관리자 및 공동 관리자는 이 설정을 변경하여 구독에서 모든 VM의 관리자로 만들 수 있습니다. 모든 구독 관리자 및 공동 관리자를 신뢰하여 모든 머신에 로그인하도록 합니다.

Note

동일한 수명 주기의 VM을 동일한 리소스 그룹으로 통합하는 것이 좋습니다. 리소스 그룹을 사용하여 리소스에 대한 비용 청구를 배포, 모니터링 및 롤업할 수 있습니다.

VM 액세스 및 설정을 제어하는 조직은 해당 VM의 전반적인 보안을 개선합니다.

고가용성을 위해 Virtual Machine Scale Sets 사용

VM에서 고가용성이 필요한 중요한 애플리케이션을 실행하는 경우 Virtual Machine Scale Sets를 사용하는 것이 좋습니다.

Virtual Machine Scale Sets를 사용하면 부하 분산된 VM 그룹을 만들고 관리할 수 있습니다. VM 인스턴스의 수는 요구 또는 정의된 일정에 따라 자동으로 늘리거나 줄일 수 있습니다. 확장 집합은 애플리케이션에 고가용성을 제공하고 많은 수의 VM을 중앙에서 관리, 구성 및 업데이트할 수 있게 합니다. 확장 집합 자체에 대한 비용은 없으므로 만드는 각 VM 인스턴스에 대해서만 요금을 지불합니다.

확장 집합의 가상 머신은 여러 가용성 영역, 단일 가용성 영역 또는 지역에 배포할 수도 있습니다.

맬웨어로부터 보호

맬웨어 방지 보호를 설치하여 바이러스, 스파이웨어 및 기타 악성 소프트웨어를 식별하고 제거해야 합니다. You can install Microsoft Antimalware or a Microsoft partner's endpoint protection solution (Trend Micro, Broadcom, McAfee, Windows Defender, and System Center Endpoint Protection).

Microsoft 맬웨어 방지 프로그램에는 실시간 보호, 예약된 검색, 맬웨어 치료, 서명 업데이트, 엔진 업데이트, 샘플 보고 및 제외 이벤트 컬렉션과 같은 기능이 포함됩니다. 프로덕션 환경과는 별도로 호스트되는 환경의 경우 VM 및 클라우드 서비스를 보호하는 데 맬웨어 방지 확장을 사용할 수 있습니다.

편리한 배포와 기본 제공 탐지(경고 및 인시던트)를 위해 클라우드용 Microsoft Defender와 Microsoft Antimalware 및 파트너 솔루션을 통합할 수 있습니다.

Best practice: Install an antimalware solution to protect against malware.
Detail: Install a Microsoft partner solution or Microsoft Antimalware

Best practice: Integrate your antimalware solution with Defender for Cloud to monitor the status of your protection.
Detail: Manage endpoint protection issues with Defender for Cloud

VM 업데이트 관리

모든 온-프레미스 VM과 같이 Azure VM은 사용자가 관리하도록 합니다. Azure에서는 Windows 업데이트를 푸시하지 않습니다. VM 업데이트를 관리해야 합니다.

Best practice: Keep your VMs current.
Detail: Use the Update Management solution in Azure Automation to manage operating system updates for your Windows and Linux computers that are deployed in Azure, in on-premises environments, or in other cloud providers. 모든 에이전트 컴퓨터에서 사용 가능한 업데이트의 상태를 신속하게 평가하고 서버에 대한 필수 업데이트를 설치하는 프로세스를 관리할 수 있습니다.

업데이트 관리를 통해 관리되는 컴퓨터는 다음 구성을 사용하여 평가 및 업데이트 배포를 수행합니다.

  • Windows 또는 Linux용 MMA(Microsoft Monitoring Agent)
  • Linux용 PowerShell DSC(필요한 상태 구성)
  • 자동화 하이브리드 실행 일지 작업자
  • Windows 컴퓨터용 Microsoft Update 또는 WSUS(Windows Server Update Services)

Windows 업데이트를 사용하면 해당 설정을 활성화 상태로 유지하는 것이 좋습니다.

Best practice: Ensure at deployment that images you built include the most recent round of Windows updates.
Detail: Check for and install all Windows updates as a first step of every deployment. 이 측정값은 사용자 또는 사용자의 고유한 라이브러리에서 제공되는 이미지를 배포할 때 적용하는 것이 특히 중요합니다. Azure Marketplace의 이미지가 기본적으로 자동으로 업데이트되지만 공용 릴리스 이후 최대 몇 주 동안 지연 시간이 발생할 수 있습니다.

Best practice: Periodically redeploy your VMs to force a fresh version of the OS.
Detail: Define your VM with an Azure Resource Manager template so you can easily redeploy it. 템플릿을 사용하면 필요한 경우 패치된 보안 VM을 제공합니다.

Best practice: Rapidly apply security updates to VMs.
Detail: Enable Microsoft Defender for Cloud (Free tier or Standard tier) to identify missing security updates and apply them.

Best practice: Install the latest security updates.
Detail: Some of the first workloads that customers move to Azure are labs and external-facing systems. Azure VM이 인터넷에 액세스할 수 있어야 하는 애플리케이션 또는 서비스를 호스트하는 경우 패치 적용에 유의해야 합니다. 운영 체제에 대해 패치를 설치합니다. 파트너 애플리케이션의 취약점을 패치하지 않으면 적절한 패치 관리가 진행되어도 우회할 수 있는 문제가 야기될 수도 있습니다.

Best practice: Deploy and test a backup solution.
Detail: A backup needs to be handled the same way that you handle any other operation. 클라우드로 확장되는 프로덕션 환경에 속하는 시스템의 경우도 마찬가지입니다.

테스트 및 개발 시스템은 온-프레미스 환경에 대한 경험을 토대로 사용자에게 친숙한 비슷한 복원 기능을 제공하는 백업 전략을 따라야 합니다. Azure로 이동되는 프로덕션 작업은 가능한 경우 기존 백업 솔루션과 통합되어야 합니다. Or, you can use Azure Backup to help address your backup requirements.

소프트웨어 업데이트 정책을 적용하지 않는 조직은 알려진, 이전에 고정 취약점을 악용하는 위협에 더 많이 노출됩니다. 산업 규정을 준수하려면 회사는 클라우드에 있는 워크로드의 보안을 보장할 수 있도록 성실하게 올바른 보안 컨트롤을 사용하고 있음을 증명해야 합니다.

기존 데이터센터 및 Azure IaaS에 대한 소프트웨어 업데이트 모범 사례에는 많은 유사점이 있습니다. Azure에 위치한 VM을 포함하도록 현재 소프트웨어 업데이트 정책을 평가하는 것이 좋습니다.

VM 보안 태세 관리

사이버 위협은 진화하고 있습니다. VM을 보호하려면 신속하게 위협을 감지하고 리소스에 대한 무단 액세스를 방지하고 경고를 트리거하며 거짓 오류를 줄일 수 있는 모니터링 기능이 필요합니다.

To monitor the security posture of your Windows and Linux VMs, use Microsoft Defender for Cloud. 클라우드용 Defender에서 다음 기능을 활용하여 VM을 보호합니다.

  • 권장된 구성 규칙으로 OS 보안 설정 적용
  • 누락될 수 있는 시스템 보안 및 중요 업데이트 식별 및 다운로드
  • 엔드포인트 맬웨어 방지 보호에 대한 권장 사항 배포
  • 디스크 암호화 유효성 검사
  • 취약점 평가 및 수정
  • Detect threats.

클라우드용 Defender는 위협을 적극적으로 모니터링할 수 있으며, 잠재적 위협은 보안 경고에 표시됩니다. 상호 관련된 위협은 보안 인시던트라고 하는 단일 보기로 집계됩니다.

클라우드용 Defender는 Azure Monitor 로그에 데이터를 저장합니다. Azure Monitor 로그는 애플리케이션 및 리소스의 작업에 대한 인사이트를 제공하는 쿼리 언어 및 분석 엔진을 제공합니다. Data is also collected from Azure Monitor, management solutions, and agents installed on virtual machines in the cloud or on-premises. 이렇게 공유된 기능은 환경에 대한 전체적인 그림을 만드는 데 도움이 됩니다.

VM에 대해 강력한 보안을 적용하지 않는 조직은 권한이 없는 사용자가 보안 컨트롤을 억제하는 잠재적인 시도를 알지 못하는 상태가 됩니다.

VM 성능 모니터링

리소스 남용은 VM 프로세스가 소비해야 하는 것보다 더 많은 리소스를 소비하는 경우 문제가 될 수 있습니다. VM의 성능 문제로 인해 가용성의 보안 원칙을 위반하는 서비스 중단이 발생할 수 있습니다. CPU 또는 메모리 사용량이 높으면 DoS(서비스 거부) 공격을 나타낼 수 있기 때문에 IIS 또는 다른 웹 서버를 호스팅하는 VM에 특히 중요합니다. 문제가 발생하는 동안 VM 액세스를 적극적으로 모니터링할 뿐만 아니라 정상 작업 중에 측정된 기준 성능에 대해 사전 대처식으로 모니터링해야 합니다.

We recommend that you use Azure Monitor to gain visibility into your resource’s health. Azure Monitor 기능:

VM 성능을 모니터링하지 않는 조직은 성능 패턴의 특정 변경 내용이 정상 또는 비정상인지 확인할 수 없습니다. 정상보다 더 많은 리소스를 소비하는 VM은 외부 리소스의 잠재적인 공격 또는 VM에서 손상된 프로세스가 실행 중임을 나타낼 수 있습니다.

가상 하드 디스크 파일 암호화

VHD(가상 하드 디스크)를 암호화하여 암호화 키 및 비밀과 함께 스토리지의 미사용 부팅 볼륨 및 데이터 볼륨을 보호할 수 있는 것이 좋습니다.

Linux VM용 Azure Disk EncryptionWindows VM용 Azure Disk Encryption을 사용하면 Linux 및 Windows IaaS 가상 머신 디스크를 암호화할 수 있습니다. Azure Disk Encryption uses the industry-standard DM-Crypt feature of Linux and the BitLocker feature of Windows to provide volume encryption for the OS and the data disks. 또한 고객이 Key Vault 구독에서 디스크 암호화 키 및 암호를 관리 및 제어할 수 있도록 Azure Key Vault에 통합되어 있습니다. 이 솔루션은 가상 머신 디스크에 있는 모든 데이터가 Azure Storage에서 미사용 시 암호화되도록 합니다.

Azure Disk Encryption을 사용하는 모범 사례는 다음과 같습니다.

Best practice: Enable encryption on VMs.
Detail: Azure Disk Encryption generates and writes the encryption keys to your key vault. 키 자격 증명 모음에서 암호화 키를 관리하려면 Microsoft Entra 인증이 필요합니다. 이 목적을 위해 Microsoft Entra 애플리케이션을 만듭니다. 인증을 위해 클라이언트 암호 기반 인증 또는 클라이언트 인증서 기반 Microsoft Entra 인증을 사용할 수 있습니다.

Best practice: Use a key encryption key (KEK) for an additional layer of security for encryption keys. KEK를 키 자격 증명 모음에 추가합니다.
Detail: Use the Add-AzKeyVaultKey cmdlet to create a key encryption key in the key vault. 또한 키를 관리하기 위해 온-프레미스 HSM(하드웨어 보안 모듈)에서 KEK를 가져올 수도 있습니다. 자세한 내용은 Key Vault 설명서를 참조하세요. 키 암호화 키가 지정되면 Azure Disk Encryption에서 해당 키를 사용하여 Key Vault에 쓰기 전에 암호화 비밀을 래핑합니다. 온-프레미스 키 관리 HSM에서 이 키의 에스크로 복사본을 유지하면 키를 실수로 삭제하는 경우에 추가적인 보호를 제공합니다.

Best practice: Take a snapshot and/or backup before disks are encrypted. 백업은 암호화 중에 예상치 않은 오류가 발생하는 경우 복구 옵션을 제공합니다.
Detail: VMs with managed disks require a backup before encryption occurs. After a backup is made, you can use the Set-AzVMDiskEncryptionExtension cmdlet to encrypt managed disks by specifying the -skipVmBackup parameter. For more information about how to back up and restore encrypted VMs, see the Azure Backup article.

Best practice: To make sure the encryption secrets don’t cross regional boundaries, Azure Disk Encryption needs the key vault and the VMs to be located in the same region.
Detail: Create and use a key vault that is in the same region as the VM to be encrypted.

Azure Disk Encryption을 적용할 때 다음 비즈니스 요구 사항을 충족할 수 있습니다.

  • IaaS VM은 업계 표준 암호화 기술을 통해 미사용 시 보호되어 조직의 보안 및 규정 준수 요구 사항을 처리합니다.
  • IaaS VM은 고객이 제어하는 키 및 정책에 따라 시작되고, 키 자격 증명 모음에서 이러한 사용을 감사할 수 있습니다.

직접 인터넷 연결 제한

VM 직접 인터넷 연결을 모니터링하고 제한합니다. 공격자는 개방형 관리 포트의 퍼블릭 클라우드 IP 범위를 지속적으로 검색하고 공용 암호 및 패치가 적용되지 않은 알려진 취약점과 같은 “쉬운” 공격을 시도합니다. 다음 표에서는 해당 공격으로부터 보호하는 데 도움이 되는 모범 사례를 보여 줍니다.

Best practice: Prevent inadvertent exposure to network routing and security.
Detail: Use Azure RBAC to ensure that only the central networking group has permission to networking resources.

Best practice: Identify and remediate exposed VMs that allow access from “any” source IP address.
Detail: Use Microsoft Defender for Cloud. 클라우드용 Defender는 네트워크 보안 그룹에 “임의” 원본 IP 주소의 액세스를 허용하는 인바운드 규칙이 하나 이상 있는 경우 인터넷 엔드포인트를 통한 액세스를 제한할 것을 권장합니다. Defender for Cloud will recommend that you edit these inbound rules to restrict access to source IP addresses that actually need access.

Best practice: Restrict management ports (RDP, SSH).
Detail: Just-in-time (JIT) VM access can be used to lock down inbound traffic to your Azure VMs, reducing exposure to attacks while providing easy access to connect to VMs when needed. JIT를 사용하도록 설정하면 클라우드용 Defender에서 네트워크 보안 그룹 규칙을 만들어 Azure VM에 대한 인바운드 트래픽을 잠급니다. VM에서 인바운드 트래픽을 잠글 포트를 선택합니다. 해당 포트는 JIT 솔루션에 의해 제어됩니다.

Next steps

Azure 보안 모범 사례 및 패턴에서 Azure를 사용하여 클라우드 솔루션을 디자인하고, 배포하고, 관리할 때 사용할 수 있는 더 많은 보안 모범 사례를 참조하세요.

Azure 보안 및 관련 Microsoft 서비스에 대한 보다 일반적인 정보를 제공하는 다음 리소스도 확인할 수 있습니다.

  • Azure 보안 팀 블로그 – Azure Security 관련 최신 정보를 확인할 수 있습니다.
  • Microsoft 보안 응답 센터 - Azure와 관련된 문제를 비롯한 Microsoft 보안 취약점을 보고하거나 secure@microsoft.com으로 이메일을 보낼 수 있습니다.