다음을 통해 공유


Azure Local에 대한 syslog 전달 관리

적용 대상: Azure Local, 버전 23H2

이 문서에서는 Azure Local 버전 23H2에 대한 syslog 프로토콜을 사용하여 SIEM(고객 관리 보안 정보 및 이벤트 관리) 시스템으로 전달되도록 보안 이벤트를 구성하는 방법을 설명합니다.

syslog 전달을 사용하여 보안 모니터링 솔루션과 통합하고 관련 보안 이벤트 로그를 검색하여 사용자 고유의 SIEM 플랫폼에 보존하기 위해 저장합니다. 이 릴리스의 보안 기능에 대한 자세한 내용은 Azure Local 버전 23H2의 보안 기능을 참조하세요.

syslog 전달 구성

Syslog 전달 에이전트는 기본적으로 모든 Azure 로컬 호스트에 배포되며 구성할 준비가 됩니다. 각 에이전트는 호스트에서 고객이 구성한 syslog 서버로 syslog 형식의 보안 이벤트를 전달합니다.

Syslog 전달 에이전트는 서로 독립적으로 작동하지만 호스트 중 하나에서 모두 함께 관리할 수 있습니다. 모든 호스트에 대한 관리 권한이 있는 PowerShell cmdlet을 사용하여 모든 전달자 에이전트의 동작을 제어합니다.

Azure Local의 syslog 전달자는 다음 구성을 지원합니다.

  • TCP, 상호 인증(클라이언트 및 서버) 및 TLS 암호화를 사용한 Syslog 전달: 이 구성에서 syslog 서버와 syslog 클라이언트는 인증서를 통해 서로의 ID를 확인합니다. 메시지는 TLS 암호화 채널을 통해 전송됩니다. 자세한 내용은 TCP, 상호 인증(클라이언트 및 서버) 및 TLS 암호화를 사용한 Syslog 전달을 참조하세요.

  • TCP, 서버 인증 및 TLS 암호화를 사용한 Syslog 전달: 이 구성에서 syslog 클라이언트는 인증서를 통해 syslog 서버의 ID를 확인합니다. 메시지는 TLS 암호화 채널을 통해 전송됩니다. 자세한 내용은 TCP, 서버 인증 및 TLS 암호화를 사용한 Syslog 전달을 참조하세요.

  • TCP를 사용한 Syslog 전달 및 암호화 없음: 이 구성에서는 syslog 클라이언트 및 syslog 서버 ID가 확인되지 않습니다. 메시지는 TCP를 통해 명확한 텍스트로 전송됩니다. 자세한 내용은 TCP를 사용한 Syslog 전달 및 암호화 없음을 참조하세요.

  • UDP 및 암호화가 없는 Syslog: 이 구성에서는 syslog 클라이언트 및 syslog 서버 ID가 확인되지 않습니다. 메시지는 UDP를 통해 명확한 텍스트로 전송됩니다. 자세한 내용은 UDP를 사용한 Syslog 전달 및 암호화 없음을 참조하세요.

    Important

    메시지의 중간 공격 및 도청으로부터 보호하기 위해 프로덕션 환경에서 인증 및 암호화와 함께 TCP를 사용하는 것이 좋습니다. TLS 암호화 버전은 엔드포인트 간의 핸드셰이크에 따라 달라집니다. TLS 1.2 및 TLS 1.3 모두 기본적으로 지원됩니다.

Syslog 전달을 구성하는 cmdlet

syslog 전달자를 구성하려면 도메인 관리자 계정을 사용하여 물리적 호스트에 액세스해야 합니다. Syslog 전달자의 동작을 제어하기 위해 모든 Azure 로컬 호스트에 PowerShell cmdlet 집합이 추가되었습니다.

cmdlet Set-AzSSyslogForwarder 은 모든 호스트에 대한 syslog 전달자 구성을 설정하는 데 사용됩니다. 성공하면 작업 계획 인스턴스가 모든 호스트에서 syslog 전달자 에이전트를 구성하기 시작합니다. 작업 계획 인스턴스 ID가 반환됩니다.

다음 cmdlet을 사용하여 전달자에게 syslog 서버 정보를 전달하고 전송 프로토콜, 암호화, 인증 및 클라이언트와 서버 간에 사용되는 선택적 인증서를 구성합니다.

Set-AzSSyslogForwarder [-ServerName <String>] [-ServerPort <UInt16>] [-NoEncryption] [-SkipServerCertificateCheck | -SkipServerCNCheck] [-UseUDP] [-ClientCertificateThumbprint <String>] [-OutputSeverity {Default | Verbose}] [-Remove] 

cmdlet 매개 변수

다음 표에서는 cmdlet에 대한 매개 변수를 Set-AzSSyslogForwarder 제공합니다.

매개 변수 설명 Type Required
ServerName Syslog 서버의 FQDN 또는 IP 주소입니다. String
ServerPort Syslog 서버에서 수신 대기하는 포트 번호입니다. UInt16
NoEncryption 클라이언트가 syslog 메시지를 일반 텍스트로 보내도록 강제합니다. 플래그 아니요
SkipServerCertificateCheck 초기 TLS 핸드셰이크 중에 syslog 서버에서 제공하는 인증서의 유효성 검사를 건너뜁니다. 플래그 아니요
SkipServerCNCheck 초기 TLS 핸드셰이크 중에 syslog 서버에서 제공하는 인증서의 Common Name 값에 대한 유효성 검사를 건너뜁니다. 플래그 아니요
UseUDP UDP를 지원하는 syslog를 전송 프로토콜로 사용합니다. 플래그 아니요
ClientCertificateThumbprint syslog 서버와 통신하는 데 사용되는 클라이언트 인증서의 지문입니다. 문자열 아니요
OutputSeverity 출력 로깅 수준입니다. 값은 Default 또는 Verbose입니다. Default에는 심각도 수준(경고, 위험 또는 오류)이 포함됩니다. Verbose에는 모든 심각도 수준(자세한 정보, 정보, 경고, 위험 또는 오류)이 포함됩니다. 문자열 아니요
Remove 현재 syslog 전달자 구성을 제거하고 syslog 전달자를 중지합니다. 플래그 아니요

TCP, 상호 인증(클라이언트 및 서버) 및 TLS 암호화를 사용한 Syslog 전달

이 구성에서 Azure Local의 syslog 클라이언트는 TLS 암호화를 사용하여 TCP를 통해 syslog 서버에 메시지를 전달합니다. 초기 핸드셰이크 중에 클라이언트는 서버가 신뢰할 수 있는 유효한 인증서를 제공하는지 확인합니다. 또한 클라이언트는 자신의 ID를 증명하기 위해 서버에 인증서를 제공합니다.

이 구성은 클라이언트와 서버의 ID에 대한 전체 유효성 검사를 제공하고 암호화된 채널을 통해 메시지를 전송하므로 가장 안전합니다.

Important

프로덕션 환경에 이 구성을 사용하는 것이 좋습니다.

TCP, 상호 인증 및 TLS 암호화를 사용하여 syslog 전달자를 구성하려면 서버를 구성하고 서버에 대해 인증할 인증서를 클라이언트에 제공합니다.

물리적 호스트에 대해 다음 cmdlet을 실행합니다.

Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening> -ClientCertificateThumbprint <Thumbprint of the client certificate>

Important

클라이언트 인증서에는 프라이빗 키가 포함되어야 합니다. 자체 서명된 루트 인증서를 사용하여 클라이언트 인증서에 서명된 경우 루트 인증서도 가져와야 합니다.

TCP, 서버 인증 및 TLS 암호화를 사용한 Syslog 전달

이 구성에서 Azure Local의 syslog 전달자는 TLS 암호화를 사용하여 TCP를 통해 메시지를 syslog 서버로 전달합니다. 초기 핸드셰이크 중에 클라이언트는 서버가 신뢰할 수 있는 유효한 인증서를 제공하는지도 확인합니다.

이 구성은 클라이언트가 신뢰할 수 없는 대상으로 메시지를 보낼 수 없도록 합니다. 인증 및 암호화를 사용하는 TCP는 기본 구성이며 Microsoft에서 프로덕션 환경에 권장하는 최소 보안 수준을 나타냅니다.

Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening>

자체 서명되거나 신뢰할 수 없는 인증서를 사용하여 Syslog 서버와 Azure Local syslog 전달자의 통합을 테스트하려면 이러한 플래그를 사용하여 초기 핸드셰이크 중에 클라이언트가 수행한 서버 유효성 검사를 건너뜁니다.

  1. 서버 인증서에서 일반 이름 값의 유효성 검사를 건너뜁니다. syslog 서버에 대한 IP 주소를 제공하는 경우 이 플래그를 사용합니다.

    Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening> 
    -SkipServerCNCheck
    
  2. 서버 인증서 유효성 검사를 건너뜁니다.

    Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening>  
    -SkipServerCertificateCheck
    

    Important

    프로덕션 환경에서는 플래그를 -SkipServerCertificateCheck 사용하지 않는 것이 좋습니다.

TCP를 사용한 Syslog 전달 및 암호화 없음

이 구성에서 Azure Local의 syslog 클라이언트는 암호화 없이 TCP를 통해 syslog 서버에 메시지를 전달합니다. 클라이언트는 서버의 ID를 확인하지 않으며 확인을 위해 서버에 자체 ID를 제공하지도 않습니다.

Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening on> -NoEncryption

Important

프로덕션 환경에서는 이 구성을 사용하지 않는 것이 좋습니다.

UDP를 사용한 Syslog 전달 및 암호화 없음

이 구성에서 Azure Local의 syslog 클라이언트는 암호화 없이 UDP를 통해 syslog 서버에 메시지를 전달합니다. 클라이언트는 서버의 ID를 확인하지 않으며 확인을 위해 서버에 자체 ID를 제공하지도 않습니다.

Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening> -UseUDP

암호화가 없는 UDP는 가장 쉽게 구성할 수 있지만 메시지의 중간 공격이나 도청에 대한 보호는 제공하지 않습니다.

Important

프로덕션 환경에서는 이 구성을 사용하지 않는 것이 좋습니다.

syslog 전달 사용

다음 cmdlet을 실행하여 syslog 전달을 사용하도록 설정합니다.

Enable-AzSSyslogForwarder [-Force]

Syslog 전달자는 마지막으로 성공한 Set-AzSSyslogForwarder 호출에서 제공하는 저장된 구성으로 사용하도록 설정됩니다. 를 사용하여 Set-AzSSyslogForwarder구성이 제공되지 않은 경우 cmdlet이 실패합니다.

syslog 전달 사용 안 함

다음 cmdlet을 실행하여 syslog 전달을 사용하지 않도록 설정합니다.

Disable-AzSSyslogForwarder [-Force] 

및 cmdlet에 대한 Enable-AzSSyslogForwarder Disable-AzSSyslogForwarder 매개 변수:

매개 변수 설명 Type Required
Force 지정한 경우 대상 상태가 현재 상태와 동일한 경우에도 작업 계획이 항상 트리거됩니다. 대역 외 변경 내용을 다시 설정하는 데 도움이 될 수 있습니다. 플래그 아니요

syslog 설치 확인

syslog 클라이언트를 syslog 서버에 성공적으로 연결하면 이벤트 알림을 받기 시작합니다. 알림이 표시되지 않으면 다음 cmdlet을 실행하여 클러스터 syslog 전달자 구성을 확인합니다.

Get-AzSSyslogForwarder [-Local | -PerNode | -Cluster] 

각 호스트에는 클러스터 구성의 로컬 복사본을 사용하는 자체 syslog 전달자 에이전트가 있습니다. 항상 클러스터 구성과 동일해야 합니다. 다음 cmdlet을 사용하여 각 호스트에서 현재 구성을 확인할 수 있습니다.

Get-AzSSyslogForwarder -PerNode 

다음 cmdlet을 사용하여 연결된 호스트의 구성을 확인할 수도 있습니다.

Get-AzSSyslogForwarder -Local

cmdlet에 Get-AzSSyslogForwarder 대한 Cmdlet 매개 변수:

매개 변수 설명 Type Required
Local 현재 호스트에서 현재 사용되는 구성을 표시합니다. 플래그 아니요
PerNode 각 호스트에서 현재 사용되는 구성을 표시합니다. 플래그 아니요
클러스터 Azure Local에서 현재 전역 구성을 표시합니다. 매개 변수가 제공되지 않는 경우 기본 동작입니다. 플래그 아니요

syslog 전달 제거

다음 명령을 실행하여 syslog 전달자 구성을 제거하고 syslog 전달자를 중지합니다.

Set-AzSSyslogForwarder -Remove 

메시지 스키마 및 이벤트 로그 참조

다음 참조 자료는 syslog 메시지 스키마 및 이벤트 정의를 문서화합니다.

Azure 로컬 인프라의 syslog 전달자는 RFC3164 정의된 BSD syslog 프로토콜에 따라 형식이 지정된 메시지를 보냅니다. CEF는 syslog 메시지 페이로드의 형식을 지정하는 데도 사용됩니다.

각 syslog 메시지는 이 스키마를 기반으로 구조화됩니다. 우선 순위(PRI) | 시간 | 호스트 | CEF 페이로드 |

PRI 파트에는 시설 및 심각도의 두 가지 값이 포함됩니다. 둘 다 Windows 이벤트 등의 메시지 유형에 따라 달라집니다.

다음 단계

자세히 알아보기: