Azure Policy 및 PowerShell을 사용하는 Windows SSH Posture Control(프라이빗 미리 보기)은 무엇인가요?

SSH Posture Control을 사용하면 Azure Policy 및 Machine Configuration의 친숙한 워크플로를 사용하여 다음을 수행할 수 있습니다.

  • 업계 또는 조직의 표준 준수 보장
  • 원격 관리 기능의 공격 노출 영역 줄이기
  • 보안 및 생산성을 위해 차량 전체에서 일관된 설정 보장

SSH Posture Control은 규정 준수 또는 비준수 결정 방법을 설명하는 자세한 이유 도 제공합니다. 이러한 이유로 인해 더 쉽게 조치를 취하거나 규정 준수를 완전히 문서화할 수 있습니다.

규격 SSH 검사 목록을 보여 주는 스크린샷

SSH Posture Control은 약 20개의 SSH 서버(sshd) 매개 변수를 분석하고 적용합니다. 환경에 맞게 특정 매개 변수를 사용자 지정할 수도 있습니다. 예를 들어 SSH 액세스가 허용되는 사용자 및 그룹뿐만 아니라 포트 번호 등을 사용자 지정할 수 있습니다.

감사 또는 감사 및 구성 모드에서 SSH Posture Control을 배포하여 디바이스의 플릿을 감사하고, 결과를 추적한 다음, 플릿을 적절한 sshd 표준으로 자동으로 수정할 수 있습니다.

프라이빗 미리 보기 제한 사항

중요합니다

SSH Posture Control은 프라이빗 미리 보기로 제공되며, 사용자와 Microsoft 간의 대화 상자를 트리거하기 위한 것입니다.

  • 미리 보기는 격리된 개발/테스트 머신에서 사용하기 위한 것으로, 모든 문제(실수로 SSH 액세스에서 자신을 잠그는 것 포함)는 중요한 결과를 초래하지 않습니다.
  • 미리 보기에는 Azure Policy 기본 제공 목록에서 선택하는 대신 정책 정의를 가져오는 작업이 포함됩니다.
  • 이를 위해 감사 및 감사 및 구성 워크플로를 모두 제공합니다.
  • 지원되는 Windows SKU는 현재 Windows Server 2025 만 지원됩니다.

Azure Policy 시작

이 예제는 Azure Policy 내에서 빠르게 시작하는 데 중점을 줍니다. 가정을 단순화하고 가능한 모든 것을 탐색하지는 않습니다. 예를 들어 허용되는 사용자 및 그룹과 같은 매개 변수를 사용자 지정하는 대신 PolicyDefinition의 기본 SSH 설정을 사용합니다. 설정 및 동작을 포함한 SSH Posture Control에 대한 보다 포괄적인 정보는 가까운 장래에 예상됩니다. PowerShell 섹션은 문서의 끝 부분에 있는 섹션에 있습니다.

팁 (조언)

이 문서 전체에서 사용되는 정신 모델 및 용어는 다음과 같습니다.

Azure 구독에 PolicyAssignment를 통해 컴퓨터가 포함된 ResourceGroup에 연결된 PolicyDefinition이 포함됨을 보여 주는 다이어그램

  • PolicyDefinition : Azure Policy 서비스에 표시되는 SSH Posture Control 정의 및 메타데이터입니다.
  • PolicyAssignment : SSH Posture Control PolicyDefinition을 리소스 그룹과 같이 해당 정책을 적용해야 하는 범위에 연결합니다.
  • 컴퓨터 : Azure Policy 및 Machine Configuration(게스트 구성이라고도 함)에서 관리할 수 있는 엔드포인트입니다. 즉, Arc 지원 컴퓨터 또는 Azure VM입니다.

A. 필수 구성 요소

  1. 리소스 그룹, VM(또는 Arc 컴퓨터), 정책 정의 및 정책 할당을 만들 수 있는 권한이 있는 Azure 계정입니다.
  2. 추가 필수 구성 요소를 보려면 원하는 환경을 선택합니다.
  1. 웹 브라우저를 사용하여 Azure Portal 또는 해당 로컬에 로그인합니다.

B. 리소스 그룹 만들기

  1. 리소스 그룹을 만듭니다. 이후 단계에서는 정책의 범위를 지정하고 새 테스트 머신을 포함하는 데 사용됩니다.

리소스 그룹 만들기의 화면 캡처

C. PolicyDefinition 만들기

비고

이 추가 단계(PolicyDefinition을 선택하는 대신 만들기)는 프라이빗 미리 보기 중에 필요합니다.

  1. Azure Policy 개요 페이지로 이동합니다. 예를 들어 URI https://portal.azure.com/#view/Microsoft_Azure_Policy/PolicyMenuBlade/~/Overview를 사용할 수 있습니다.
  2. 정의 보기로 이동합니다.
  3. + 정책 정의 단추를 클릭하여 새 PolicyDefinition을 만들고 다음을 입력으로 입력합니다.
    1. 정의 위치: PolicyDefinition이 있는 Azure 구독을 선택합니다.
    2. 이름: [미리 보기] SSH Posture Control 정책 감사 또는 [미리 보기] SSH Posture Control 정책 구성
    3. 범주: 기존 항목 사용, 게스트 구성 선택
    4. 정책 규칙: 기존 JSON을 삭제하고 미리 보기 감사 SSH Posture Control 정책 정의 또는 미리 보기 감사 및 구성 SSH Posture Control 정책 정의에서 PolicyDefinition JSON을 붙여넣습니다.
  4. 저장을 클릭하세요

이전 단계를 보여 주는 화면 캡처

D. PolicyAssignment를 사용하여 리소스 그룹에 PolicyDefinition 적용

주의

이 정책은 범위 내 컴퓨터에서 sshd 구성을 수정합니다. 이러한 지침에 따라 처음에는 빈 리소스 그룹에 할당하고 나중에 테스트 머신을 만듭니다. 더 넓은 범위에 할당하도록 선택하는 경우 주의해야 합니다.

  1. 정책으로 이동 | 사용 가능한 모든 정책 정의를 나열하는 정의 페이지입니다.
  2. 이전에 만든 [미리 보기] SSH Posture Control 정책 PolicyDefinition을 선택합니다.
  3. 할당을 클릭합니다.
  4. 범위의 경우 나중에 새 테스트 머신을 만들 리소스 그룹을 선택합니다.
  5. 매개 변수 탭으로 이동합니다.
    1. Arc 연결된 컴퓨터를 특별히 제외하지 않으려면 Arc 연결된 컴퓨터 포함에 대해 "true"를 선택합니다.
    2. 참고: 허용된 그룹과 같은 SSH 설정을 사용자 지정하려면 매개 변수만 표시 ... 상자의 선택을 취소하여 사용 가능한 모든 매개 변수를 표시합니다. 허용되거나 거부된 사용자 또는 그룹을 지정하도록 선택하는 경우 공백으로 구분된 문자열을 입력합니다( 예: userA userB).
  6. 수정 탭으로 이동합니다.
    1. 참고: 이 데모는 새 컴퓨터에 중점을 두지만 PolicyAssignment를 기존 컴퓨터에 적용하려는 다른 시나리오에서는 수정 작업 만들기 확인란을 선택할 수 있습니다.
    2. 시스템이 할당된관리 ID 만들기 및 선택한 ID 위치를 선택합니다.
  7. 검토 + 만들기 진행
    1. 만들기를 선택하여 PolicyAssignment를 완료합니다.

이전 PolicyAssignment 단계의 예를 보여 주는 화면 캡처

E. 새 컴퓨터 만들기

새 PolicyAssignments는 기존 컴퓨터에 적용할 수 있지만 프로세스는 최대 24시간이 걸릴 수 있습니다. 이 빠른 시작에서는 새 머신을 평가하는 데 집중합니다. 이 예제에서는 Azure VM을 만들지만 원하는 경우 Arc 지원 컴퓨터를 만들 수 있습니다.

  1. Azure Virtual Machines 환경으로 이동합니다.
  2. 새 VM을 만들어 다음 속성을 확인합니다.
    1. 구독 및 리소스 그룹은 PolicyAssignment 범위가 지정된 위치와 일치해야 합니다.
    2. 이미지는 "Windows Server 2025"여야 합니다.
    3. VM 아키텍처는 x64여야 합니다.
    4. VM 이름, 크기 등과 같은 다른 속성은 원하는 대로 될 수 있습니다.
  3. VM 만들기가 완료되기를 기다린 다음 리소스로 이동을 클릭하여 컴퓨터 개요 페이지에 도달합니다.
  4. 왼쪽 탐색에서 ID 를 선택하고 컴퓨터에 시스템 관리 ID가 있는지 확인합니다.
  5. 왼쪽 탐색에서 확장 + 애플리케이션을 선택한 다음 + 추가
  6. Windows용 Azure Machine Configuration 확장을 선택하고 다음을 선택합니다.
  7. 검토 + 만들기를 선택한 다음 만들기

이전 단계의 예를 보여 주는 화면 캡처

F. 계속하기 전에 휴식을 취하십시오.

새 PolicyDefinitions, PolicyAssignments 및 컴퓨터가 관련된 경우 모든 항목이 안정적인 상태에 도달하는 데 몇 분 정도 걸릴 수 있습니다. 다음 단계로 진행하기 전에 30분 이상 기다리는 것이 좋습니다.

G. 규정 준수 결과 관찰

다음 단계를 통해 다양한 고도에서 규정 준수 롤업을 볼 수 있습니다.

  • PolicyAssignment의 규정 준수
    • 규격 및 비규격 컴퓨터 수
    • 가장 높은 고도, 특히 대형 함대에 유용
  • 컴퓨터별 규정 준수
    • 컴퓨터당 예/아니요가 있는 컴퓨터 목록
  • 특정 머신에 대한 설정별 규정 준수
    • 이 문서의 맨 위에 있는 스크린샷과 같은 가장 깊은 수준의 세부 정보입니다.

팁 (조언)

새 컴퓨터가 처음으로 정책을 발견하면 비준수로 판단될 수 있습니다. 정책의 기본 SSH 설정은 기본적으로 구성된 많은 OS 이미지보다 더 엄격합니다. 추가 20분 정도가 지나면 SSH Posture Control에 기본 제공되는 수정 논리 덕분에 컴퓨터가 규정을 준수하게 됩니다.

  1. 정책으로 이동 | 준수 페이지입니다.
  2. [미리 보기] SSH Posture Control 정책을 선택합니다.
  3. 규격/비규격 컴퓨터 수가 보고되는지 확인합니다.
  4. 리소스 준수에서 개별 컴퓨터의 상태를 볼 수 있습니다.
  5. 특정 컴퓨터에 대한 설정별 세부 정보로 드릴다운하려면 다음을 수행합니다.
    1. 컴퓨터 옆의 ... 를 클릭하고 리소스 보기를 선택하여 컴퓨터의 개요 페이지에 도달합니다.
    2. 작업 아래의 왼쪽 탐색에서 구성 관리를 클릭합니다(설정의 구성 아님).
    3. SecureShell 클릭
    4. 결과 페이지에는 규정 준수 및 규정 준수 결정 방법에 대한 세부 정보가 포함된 구성의 각 설정이 표시됩니다.

이전 단계를 보여 주는 화면 캡처

로컬 환경 시작(PowerShell)

필수 조건

  • 디바이스에서 프로덕션 서명 Windows Server 2025 빌드를 실행해야 합니다.
  • OSConfig PowerShell 모듈을 서버 디바이스에 설치해야 합니다. 자세한 내용은 OSConfig PowerShell 모듈 설치 를 참조하세요.
  • 다음 가이드 https://aka.ms/windows-openssh-install에 따라 sshd 서비스를 설치하고 실행해야 합니다.

기준을 적용하려면 기준이 적용되었는지 확인하거나, 기준을 제거하거나, PowerShell에서 OSConfig에 대한 자세한 준수 정보를 보려면 다음 탭의 명령을 사용합니다.

설정

SSH 시나리오를 적용하려면 다음 명령을 실행합니다.

Set-OSConfigDesiredConfiguration -Scenario SSH -Default

확인

SSH 시나리오가 제대로 적용되었는지 확인하려면 다음 명령을 실행합니다.

Get-OSConfigDesiredConfiguration -Scenario SSH

규정 준수 확인

지정된 시나리오에 대해 원하는 구성 세부 정보를 가져오려면 다음 명령을 사용합니다. 출력은 구성 항목의 이름, 준수 상태 및 비준수 이유를 포함하는 테이블 형식으로 표시됩니다.

SSH scenairo에 대한 규정 준수 세부 정보를 확인하려면 다음 명령을 실행합니다.

Get-OSConfigDesiredConfiguration -Scenario SSH | ft Name, @{ Name = "Status"; Expression={$_.Compliance.Status} }, @{ Name = "Reason"; Expression={$_.Compliance.Reason} } -AutoSize -Wrap

사용자 지정 구성

SSH 시나리오에서 설정을 사용자 지정하려면 '-Name' 및 '-Value' 매개 변수를 사용하여 설정을 구성할 수 있습니다.

Set-OSConfigDesiredConfiguration -Scenario SSH -Name Banner -Value "Custom Banner"

다음 단계

Microsoft 팀에 문의하여 피드백, 기능 요청 등을 제공합니다.