WinRM i zarządzanie flotą Windows

Flota serwerów Windows on-premise wymaga zdalnego zarządzania bez logowania się do każdej maszyny osobno. Standardem jest WinRM (Windows Remote Management) — i to przez niego ZEUS odczytuje stan hostów Windows.

Czym jest WinRM

WinRM to implementacja protokołu WS-Management — zarządzanie przez HTTP(S) z ładunkiem SOAP. To transport, na którym działa PowerShell Remoting (Invoke-Command, Enter-PSSession). Dwa porty:

PortProtokółUwaga
5985HTTPnieszyfrowany transport — unikaj
5986HTTPSszyfrowany — zalecany
# Włączenie WinRM (na maszynie docelowej)
Enable-PSRemoting -Force

# Konfiguracja listenera HTTPS z certyfikatem
New-Item -Path WSMan:\localhost\Listener -Transport HTTPS `
  -Address * -CertificateThumbPrint <odcisk-cert>

Uwierzytelnienie

WinRM wspiera kilka mechanizmów. W domenie AD najlepszy jest Kerberos (brak przesyłania hasła). Dla maszyn poza domeną lub przez tunel używa się NTLM albo CredSSP — ale CredSSP deleguje credentiale i bywa ryzykowne.

# Zdalne odpytanie stanu poprawek na grupie serwerów
$cred = Get-Credential
Invoke-Command -ComputerName srv01,srv02 -Credential $cred -ScriptBlock {
    Get-HotFix | Select-Object HotFixID, InstalledOn |
        Sort-Object InstalledOn -Descending | Select-Object -First 5
}

Wskazówka: zawsze HTTPS (5986) i Kerberos w domenie. WinRM po HTTP z NTLM to ryzyko przechwycenia. ZEUS oznacza hosty z listenerem WinRM na HTTP jako finding.

Co odpytujemy dla bezpieczeństwa

Przez WinRM (read-only — same Get-*) zbieramy stan hosta:

  • poziom poprawek (Get-HotFix) — brakujące krytyczne aktualizacje,
  • lokalni administratorzy (Get-LocalGroupMember Administrators),
  • usługi i ich konta (Get-Service, Get-WmiObject Win32_Service),
  • stan firewalla (Get-NetFirewallProfile),
  • wersja OS i jego wsparcie (Get-CimInstance Win32_OperatingSystem).
Invoke-Command -ComputerName srv01 -Credential $cred -ScriptBlock {
    Get-LocalGroupMember -Group "Administrators" |
        Select-Object Name, PrincipalSource
}

Jak to widzi ZEUS

Konektor ZEUS on-prem łączy się z hostami Windows przez WinRM (HTTPS), używając konta domenowego z uprawnieniami tylko do odczytu — wyłącznie polecenia Get-*/Query, żadnych modyfikacji. Odczytuje poziom poprawek, lokalnych administratorów, konfigurację usług i firewalla. Te dane składają się na endpoint posture floty Windows i trafiają do tego samego widoku co zasoby chmurowe. Połączenie idzie przez reverse-SSH tunnel — szczegóły w lekcji 06.

W następnej lekcji: sieci on-prem, VPN i tunelowanie.