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:
| Port | Protokół | Uwaga |
|---|---|---|
| 5985 | HTTP | nieszyfrowany transport — unikaj |
| 5986 | HTTPS | szyfrowany — 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.