중요한 변경 내용에 대한 추적 및 경고 활성화
Azure 변경 내용 추적 및 인벤토리는 하이브리드 환경의 구성 상태 및 해당 환경의 변경 내용에 대한 경고를 제공합니다. 배포된 서버에 영향을 줄 수 있는 중요한 파일, 서비스, 소프트웨어 및 레지스트리 변경 내용을 보고할 수 있습니다.
기본적으로 Azure Automation 인벤토리 서비스는 파일 또는 레지스트리 설정을 모니터링하지 않습니다. 이 솔루션은 모니터링에 권장되는 레지스트리 키 목록을 제공합니다. 이 목록을 보려면 Azure Portal에서 Azure Automation 계정으로 이동한 다음, 인벤토리>설정 편집을 선택합니다.
각 레지스트리 키에 대한 자세한 내용은 레지스트리 키 변경 내용 추적을 참조하세요. 평가할 키를 선택한 다음, 활성화합니다. 이 설정은 현재 작업 영역에서 활성화된 모든 VM에 적용됩니다.
서비스를 사용하여 중요한 파일 변경 내용을 추적할 수도 있습니다. 예를 들어 OS에서 호스트 이름을 IP 주소에 매핑하는 데 사용하므로 C:\windows\system32\drivers\etc\hosts
파일을 추적할 수 있습니다. 이 파일을 변경하면 연결 문제가 발생하거나 트래픽을 위험한 웹 사이트로 리디렉션할 수 있습니다.
호스트 파일에 대해 파일 콘텐츠 추적을 활성화하려면 파일 콘텐츠 추적 활성화의 단계를 수행합니다.
추적 중인 파일의 변경 내용에 대한 경고를 추가할 수도 있습니다. 예를 들어 호스트 파일의 변경 내용에 대한 경고를 설정할 수 있습니다. 이렇게 하려면 명령 모음에서 Log Analytics를 선택하거나 연결된 Log Analytics 작업 영역에 대한 로그 검색을 선택합니다. Log Analytics에서 다음 쿼리를 사용하여 호스트 파일의 변경 내용을 검색합니다.
ConfigurationChange | where FieldsChanged contains "FileContentChecksum" and FileSystemPath contains "hosts"
이 쿼리는 hosts
단어가 포함된 경로가 있는 파일의 콘텐츠에 대한 변경 내용을 검색합니다. 경로 매개 변수를 변경하여 특정 파일을 검색할 수도 있습니다. (예: FileSystemPath == "c:\\windows\\system32\\drivers\\etc\\hosts"
)
쿼리가 결과를 반환한 후 새 경고 규칙을 선택하여 경고 규칙 편집기를 엽니다. Azure Portal에서 Azure Monitor를 통해 이 편집기를 가져올 수도 있습니다.
필요한 경우 경고 규칙 편집기에서 쿼리를 검토하고 경고 논리를 변경합니다. 이 경우 환경의 모든 머신에서 변경 내용이 검색되면 경고를 발생시키고자 합니다.
조건 논리를 설정한 후에는 경고에 대응하여 작업을 수행할 작업 그룹을 할당할 수 있습니다. 이 예제에서는 경고가 발생하면 이메일이 전송되고 ITSM 티켓이 만들어집니다. Azure 함수, Azure Automation Runbook, 웹후크 또는 논리 앱 트리거와 같은 다른 많은 유용한 작업을 수행할 수 있습니다.
모든 매개 변수와 논리를 설정하고 나면 환경에 경고를 적용할 수 있습니다.
추적 및 경고 예제
이 섹션에서는 사용할 수 있는 추적 및 경고에 대한 다른 일반적인 시나리오를 보여 줍니다.
드라이버 파일이 변경됨
다음 쿼리를 사용하여 드라이버 파일이 변경, 추가 또는 제거되었는지 검색합니다. 중요한 시스템 파일의 변경 내용을 추적하는 데 유용합니다.
ConfigurationChange | where ConfigChangeType == "Files" and FileSystemPath contains " c:\\windows\\system32\\drivers\\"
특정 서비스가 중지됨
다음 쿼리를 사용하여 시스템에 중요한 서비스의 변경 내용을 추적합니다.
ConfigurationChange | where SvcState == "Stopped" and SvcName contains "w3svc"
새 소프트웨어가 설치됨
소프트웨어 구성을 잠가야 하는 환경에 대해 다음 쿼리를 사용합니다.
ConfigurationChange | where ConfigChangeType == "Software" and ChangeCategory == "Added"
특정 소프트웨어 버전이 머신에 설치되어 있거나 설치되지 않음
다음 쿼리를 사용하여 보안을 평가합니다. 이 쿼리는 ConfigurationData
를 참조합니다. 이는 인벤토리에 대한 로그를 포함하고 변경이 아닌 마지막으로 보고된 구성 상태를 제공합니다.
ConfigurationData | where SoftwareName contains "Monitoring Agent" and CurrentVersion != "8.0.11081.0"
알려진 DLL이 레지스트리를 통해 변경됨
다음 쿼리를 사용하여 잘 알려진 레지스트리 키에 대한 변경 내용을 검색합니다.
ConfigurationChange | where RegistryKey == "HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\Session Manager\\KnownDlls"
다음 단계
Azure Automation에서 서버 업데이트를 관리하는 업데이트 일정을 만드는 방법을 알아봅니다.