다음을 통해 공유


Azure Arc 사용 서버에 대한 보안 개요

이 문서에서는 Azure Arc 지원 서버를 사용할 때 사용할 수 있는 보안 고려 사항 및 제어에 대해 설명합니다. 보안 전문가이든 IT 운영자이든 이 문서의 정보를 사용하면 조직의 보안 요구 사항을 충족하는 방식으로 Azure Arc를 자신 있게 구성할 수 있습니다.

책무

Azure Arc 지원 서버 배포의 보안은 사용자와 Microsoft 간의 공동 책임입니다. Microsoft는 다음을 담당합니다.

  • 시스템 메타데이터를 저장하고 서비스에 연결하는 에이전트의 작업을 오케스트레이션하는 클라우드 서비스를 보호합니다.
  • Azure에 저장된 시스템 메타데이터의 개인 정보를 안전하게 보호합니다.
  • 배포 옵션의 이점과 단점을 이해할 수 있도록 선택적 보안 기능을 문서화합니다.
  • 보안, 품질, 성능 및 기능 개선을 통해 정기적인 에이전트 업데이트를 게시합니다.

사용자에게는 다음에 대한 책임이 있습니다.

  • Azure 구독에서 Azure Arc 지원 리소스에 대한 RBAC 액세스를 관리하고 모니터링합니다.
  • Azure Arc 지원 서버를 관리하는 데 사용되는 모든 계정의 자격 증명을 보호하고 정기적으로 회전합니다. 여기에는 새 서버를 온보딩하는 데 사용되는 모든 서비스 주체 비밀 또는 자격 증명이 포함됩니다.
  • 이 문서에 설명된 보안 기능(예: 확장 허용 목록)을 배포하는 Azure Connected Machine 에이전트에 적용해야 하는지 여부와 방법을 결정합니다.
  • Azure Connected Machine 에이전트 및 확장을 최신 상태로 유지합니다.
  • Azure Arc가 조직의 법률, 규정, 내부 정책 의무를 준수하는지 확인합니다.
  • 서버를 실행하는 데 사용되는 컴퓨팅, 스토리지, 네트워킹 인프라를 포함하여 서버 자체를 보호합니다.

아키텍처 개요

Azure Arc 지원 서버는 에이전트 기반 서비스입니다. Azure Arc와의 상호 작용은 주로 Azure의 API, 포털 및 관리 환경을 통해 이루어집니다. Azure에서 표시되는 데이터와 수행하는 작업은 각 관리 서버에 설치된 Azure Connected Machine 에이전트를 통해 전달됩니다. Azure는 에이전트의 정보 원본입니다. 에이전트에 작업(예: 확장 설치)을 지시하는 유일한 방법은 서버의 Azure 표현에 대해 작업을 수행하는 것입니다. 이렇게 하면 조직의 RBAC 및 정책 할당이 변경되기 전에 요청을 평가할 수 있습니다.

Azure Connected Machine 에이전트는 주로 다른 Azure 및 타사 서비스를 위한 지원 플랫폼입니다. 핵심 기능은 다음과 같습니다.

  • 컴퓨터와 Azure 구독 간의 관계 설정
  • Azure로 인증할 때 사용할 에이전트 및 기타 앱에 대한 관리 ID 제공
  • 확장을 통해 다른 기능(에이전트, 스크립트) 사용
  • 서버의 설정 평가 및 적용

Azure Connected Machine 에이전트가 설치되면 모니터링, 패치 관리, 원격 액세스 또는 기타 요구 사항을 충족하기 위해 서버에서 다른 Azure 서비스를 사용하도록 설정할 수 있습니다. Azure Arc의 역할은 해당 서비스가 Azure 자체 데이터 센터 외부에서 작동할 수 있도록 돕는 것입니다.

Azure Policy를 사용하여 조직의 사용자가 Azure Arc로 수행할 수 있는 작업을 제한할 수 있습니다. Azure Policy와 같은 클라우드 기반 제한은 언제든지 제한을 조정할 수 있는 유연성을 보존하면서 대규모로 보안 제어를 적용할 수 있는 좋은 방법입니다. 그러나 보안 조치(예: 정책 사용하지 않도록 설정)를 우회하는 데 합법적으로 권한이 부여된 계정을 보호하기 위해 더 강력한 제어가 필요한 경우도 있습니다. 이를 설명하기 위해 Azure Connected Machine 에이전트에는 클라우드에 설정된 모든 제한 사항보다 우선하는 자체 보안 제어 기능도 있습니다.

Azure Connected Machine 에이전트의 작동 방식을 설명하는 아키텍처 다이어그램.

에이전트 서비스

Azure Connected Machine 에이전트는 서버에서 실행되고 Azure와 연결하는 데 도움이 되는 4가지 서비스/디먼의 조합입니다. 단일 애플리케이션으로 함께 설치되며 azcmagent 명령줄 인터페이스를 사용하여 중앙에서 관리됩니다.

Hybrid Instance Metadata Service

HIMDS(Hybrid Instance Metadata Service)는 에이전트의 "핵심" 서비스이며 Azure에 서버 등록, 지속적인 메타데이터 동기화(하트비트), 관리 ID 작업 및 다른 앱이 쿼리하여 Azure와의 디바이스 연결에 대해 알아볼 수 있는 로컬 REST API를 호스팅하는 역할을 담당합니다. 이 서비스는 권한이 없으며 Windows에서는 가상 계정(SID S-1-5-80-4215458991-2034252225-2287069555-1155419622-2701885083을 사용하는 NT SERVICE\himds) 또는 Linux 운영 체제에서는 표준 사용자 계정(himds)으로 실행됩니다.

확장 관리자

확장 관리자는 컴퓨터에 추가 소프트웨어를 설치, 구성, 업그레이드 및 제거하는 일을 담당합니다. 기본적으로 Azure Arc는 컴퓨터 모니터링이나 패치와 같은 작업을 수행하는 방법을 모릅니다. 대신, 해당 기능을 사용하도록 선택하면 확장 관리자가 해당 기능을 다운로드하고 사용하도록 설정합니다. 확장 관리자는 설치하는 소프트웨어에 전체 시스템 액세스가 필요할 수 있으므로 Windows에서는 로컬 시스템으로 실행되고 Linux에서는 루트로 실행됩니다. 확장을 사용하지 않으려는 경우 확장 관리자가 설치하도록 허용하는 확장을 제한하거나 완전히 사용하지 않도록 설정할 수 있습니다.

게스트 구성

게스트 구성 서비스는 서버에서 Azure 컴퓨터(게스트) 구성 정책을 평가하고 적용합니다. 이는 서버의 소프트웨어 설정을 확인하기 위해 PowerShell Desired State Configuration에 작성된 특수 Azure 정책입니다. 게스트 구성 서비스는 이러한 정책 준수 여부를 정기적으로 평가하고 보고하며, 정책이 적용 모드로 구성된 경우 필요한 경우 컴퓨터가 다시 준수하도록 시스템의 설정을 변경합니다. 게스트 구성 서비스는 Windows에서는 로컬 시스템으로, Linux에서는 루트로 실행되어 시스템의 모든 설정에 액세스할 수 있는지 확인합니다. 게스트 구성 정책을 사용하지 않으려는 경우 게스트 구성 기능을 사용하지 않도록 설정할 수 있습니다.

Azure Arc 프록시

Azure Arc 프록시 서비스는 Azure Connected Machine 에이전트 서비스와 사용자가 설치한 모든 확장의 네트워크 트래픽을 집계하고 해당 데이터를 라우팅할 위치를 결정하는 일을 담당합니다. Azure Arc 게이트웨이를 사용하여 네트워크 엔드포인트를 간소화하는 경우 Azure Arc 프록시 서비스는 기본 경로 대신 Azure Arc 게이트웨이를 통해 네트워크 요청을 전달하는 로컬 구성 요소입니다. Azure Arc 프록시는 Windows에서는 네트워크 서비스로 실행되고 Linux에서는 표준 사용자 계정(arcproxy)으로 실행됩니다. Azure Arc Gateway를 사용하도록 에이전트를 구성할 때까지는 기본적으로 사용하지 않도록 설정되어 있습니다.

계층 0 자산에 대한 보안 고려 사항

Active Directory 도메인 컨트롤러, 권한 부여 기관 서버 또는 매우 중요한 비즈니스 애플리케이션 서버와 같은 계층 0 자산은 원하는 관리 함수와 권한 있는 사용자만 서버를 관리할 수 있도록 각별히 주의하여 Azure Arc에 연결할 수 있습니다. 이러한 권장 사항은 필수는 아니지만 계층 0 자산의 보안 태세를 유지하는 데 적극 권장됩니다.

전용 Azure 구독

Azure Arc 지원 서버에 대한 액세스는 Azure에 속한 조직 계층 구조에 따라 결정되는 경우가 많습니다. 모든 구독 또는 관리 그룹 관리자는 해당 권한을 사용하여 Azure Arc 리소스에 새 역할 할당을 추가할 수 있으므로 계층 0 자산의 로컬 관리자와 동등하게 처리해야 합니다. 또한 구독 또는 관리 그룹 수준에서 적용되는 정책에는 서버를 변경할 수 있는 권한이 있을 수도 있습니다.

계층 0 자산에 액세스할 수 있는 계정 및 정책 수를 최소화하려면 가능한 한 적은 수의 영구 관리자로 면밀히 모니터링하고 구성할 수 있는 전용 Azure 구독을 사용하는 것이 좋습니다. 부모 관리 그룹의 Azure 정책을 검토하여 이러한 서버에 대한 의도와 일치하는지 확인합니다.

불필요한 관리 기능 사용 안 함

계층 0 자산의 경우 로컬 에이전트 보안 제어를 사용하여 에이전트에서 사용하지 않는 기능을 사용하지 않도록 설정하여 해당 기능을 의도적으로 또는 우발적으로 사용하여 서버를 변경하는 것을 방지해야 합니다. 다음 내용이 포함됩니다.

  • 원격 액세스 기능 사용 안 함
  • 사용하려는 확장에 대한 확장 허용 목록을 설정하거나 확장을 사용하지 않는 경우 확장 관리자를 사용하지 않도록 설정합니다.
  • 컴퓨터 구성 정책을 사용하지 않으려는 경우 컴퓨터 구성 에이전트 사용 안 함

다음 예에서는 맬웨어 위협으로부터 보호하기 위해 Azure Monitor 에이전트를 사용하여 Microsoft Sentinel 및 서버용 Microsoft Defender에 대한 보안 로그를 수집해야 하는 도메인 컨트롤러에 대한 Azure Connected Machine 에이전트를 잠그는 방법을 보여 줍니다.

azcmagent config set incomingconnections.enabled false

azcmagent config set guestconfiguration.enabled false

azcmagent config set extensions.allowlist “Microsoft.Azure.Monitor/AzureMonitorWindowsAgent,Microsoft.Azure.AzureDefenderForServers/MDE.Windows”