Sicherer Betrieb von Windows-Systemen?
Windows Personal Firewall
windows-eigene firewall (es gibt Alternativen)Grundlagen (Skizze)
- "Windows-Firewall" ab Windows XP SP2 (vorher "Internetverbindungsfirewall" - ICF),
sowie Windows Server 2003, Windows Vista und Windows Server 2008 - PC hat eine oder mehrere Netzverbindungen
- Kommunikation - Empfangen bzw. Senden von Nachrichten - erfolgt in Paketen
- übliche Protokolle: TCP und UDP
- Pakete enthalten sog. Portnummern zugeordnet (z.B. 80 = http; 20,21 = ftp; 22 = ssh; 23 = telnet), siehe
C:\WINDOWS\system32\drivers\etc/services
- Zuordnung: Dienstname, Port, Protokoll
oder http://www.iana.org/assignments/port-numbers - Liste der IANA (Internet Assigned Numbers Authority) - jedes Paket hat einen Absender sowie ein Ziel (in Windows-Firewall als "Bereich" bezeichnet - IP-Adresse, Subnetz, "alle")
- nur für eingehende Netzverbindungen (Ausnahmen siehe icmp)
Konfigurationsmöglichkeiten (Alternativen)
- Grafische/Interaktive Konfiguration (Windows like)
- Start -> Systemsteuerung -> Windows-Firewall (XP)
bzw. Start -> Systemsteuerung -> Sicherheit -> Windows-Firewall -> Einstellungen ändern (Vista) - Gruppenrichtlinien -> gpedit.msc (nicht in Home-editions enthalten)
-> Computerkonfiguration -> Administrative Vorlagen -> Netzwerk -> Netzwerkverbindungen -> Windows firewall
siehe auch Verwalten von Windows XP Service Pack 2-Features mithilfe von Gruppenrichtlinien - Start -> Systemsteuerung -> Sicherheitscenter bzw. ... -> Sicherheit ...
- Start -> Systemsteuerung -> Windows-Firewall (XP)
- Konfiguration mit Kommando (in allen Windows-Editions verfügbar)
netsh firewall ...
(Kommandozeilen)
netsh
->firewall
(Umgebung) - Einstellungen in der registry vornehmen
- regedit
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List
...
- unattended-Installation ( section [WindowsFirewall])
- Konfiguration der Windows Firewall von Microsoft Windows XP Service Pack 2 über eine INF-Datei
Grafische Konfiguration
Start -> Systemsteuerung -> Sicherheit... -> Windows-Firewalloder alternativ im Eingaben-Fenster firewall.cpl starten
- ==> Allgemein - Aktiv / Inaktiv
- mit aktuellen Service Packs standardmäßig aktiviert - dies soll immer so sein
- ==> Ausnahmen
- gültig für alle Netzverbindungen
- über eine Netzverbindung kommende Daten, die akzeptiert werden sollen
Remote Desktop / Remote Unterstützung - Eintrag automatisch, wenn dieses feature aktiviert wird (Systemsteuerung -> System -> Remote)
für AFS:- Name: AFS CacheManager Callback
- Port: 7001
- TCP oder UDP : UDP und TCP (zwei Ausnahmen, mit Paketinstallation realisiert)
- Ausnahmen für Programme, Systemdienste, Ports
- Empfehlungen
- Ausnahmen nur, wenn unbedingt benötigt (z.B. UPnP-Framework nicht benötigt - Kommunikation zwischen PCs, Suchanforderungen)
- Ausnahme entfernen, wenn nicht mehr benötigt
- keine Ausnahme für unbekannte Programme
- Achtung bei "Benachrichtigen, wenn Programm durch Windows-Firewall geblockt wird": Bei Erlauben kann dies zu einer Änderung der bisherigen generellen Einstellung führen ==> Kontrolle
- ==> Erweitert
- ==> Sicherheitsprotokollierung
- Empfehlung
- "Verworfene Pakete protokollieren" und/oder "Erfolgreiche Verbindungen protokollieren"
- je nach Bedarf und Datenmenge nach
C:\WINDOWS\pfirewall.log
(siehe "Größenlimit" und verfügbaren Platz) - "Verworfene ..." - sinnvoll, wenn ein Dienst nicht funktioniert
- "Erfolgreiche ..." - Kontrolle / Überwachung
- ==> ICMP
- Internet Control Message Protocol (ICMP)
- für Austausch von Fehler- und Informationsmeldungen in Netzwerken
- spezieller Paket-/Nachrichtentyp für Diagnose-Informationen
- "Echo Reply" / "Eingehende Echo-Anforderungen" => ping (Paket zurücksenden) - "Sichtbarkeit" des PCs
- ==> Netzwerkverbindungseinstellungen
- Konfiguration je ausgewählter Netzverbindung
- incl. ICMP
- hier die Möglichkeit, eine bestimmte Netzverbindung ohne Firewall zu betreiben
- ==> Standardeinstellungen
- Standardeinstellungen aktivieren
- Modifikationen gehen verloren
- ==> Sicherheitsprotokollierung
Konfiguration/Informationen mittels Kommando
- geeignet für Auswertung, Kontrolle, automatische Konfiguration (Wiederholung)
- in einem File zusammenfassen (.bat, .cmd)
- netsh firewall /?
In diesem Kontext: ? - Zeigt eine Liste der Befehle an. add - Fügt die Firewallkonfiguration hinzu. delete - Löscht die Firewallkonfiguration. dump - Zeigt ein Konfigurationsskript an. help - Zeigt eine Liste der Befehle an. reset - Setzt die Firewallkonfiguration auf den Standardwert zurück. set - Legt die Firewallkonfiguration fest. show - Zeigt die Firewallkonfiguration an.
netsh firewall show
- Anzeigen der aktuellen firewall-Konfiguration
- Anzeigefunktionen - auch ohne Adminrechte nutzbar
- Kommando-Optionen zur Steuerung des Informationsinhalts (Umfang, spezielle Bereiche)
C:\>netsh firewall show /? Folgende Befehle sind verfügbar: Befehle in diesem Kontext: show allowedprogram - Zeigt vom Firewall zugelassene Programmkonfiguration an. show config - Zeigt die Firewallkonfiguration an. show currentprofile - Zeigt das aktuelle Firewallprofil an. show icmpsetting - Zeigt die Firewall-ICMP-Konfiguration an. show logging - Zeigt die Firewallprotokollierungskonfiguration an. show multicastbroadcastresponse - Zeigt die Multicast-/Broadcastantwort- konfiguration des Firewalls an. show notifications - Zeigt die Firewallbenachrichtigungskonfiguration an. show opmode - Zeigt die Firewallbetriebskonfiguration an. show portopening - Zeigt die Firewallportkonfiguration an. show service - Zeigt die Firewalldienstkonfiguration an. show state - Zeigt aktuellen Firewallstatus an.
- allowedprogram
- icmpsetting
- ICMP = Internet Control Message Protocol
(zulassen von Fehler- und Statusmeldungen in Netzwerken) - z.B. ping
- netsh firewall show icmpsetting -> Anzeige zugelassener ICMP's
- netsh firewall show icmpsetting ENABLE -> Liste aller ICMP-Konfigurationsmöglichkeiten
- ICMP = Internet Control Message Protocol
- logging
- Anzeige der aktuellen firewall-Protokollierung (Konfiguration)
C:\>netsh firewall show logging Protokollierungskonfiguration: ------------------------------------------- Dateipfad = C:\WINDOWS\pfirewall.log Max. Dateigre = 4096 KB Verworf. Pakete = Aktiv Verbindungen = Aktiv
- portopening
- aktuelle port-Konfiguration anzeigen (je Netzverbindung)
- ... ENABLE -> Anzeige aller freigegebenen (Aktiv) sowie freigebbaren (Inaktiv) Ports
(weitere Ports sind hinzufügbar)
C:\>netsh firewall show portopening Portkonfiguration fr Profil "Domne": Port Protokoll Modus Name ---------------------------------------------------------- 3389 TCP Aktiv Remotedesktop Portkonfiguration fr Profil "Standard": Port Protokoll Modus Name ---------------------------------------------------------- 1346 UDP Aktiv GhostConsole 7001 UDP Aktiv AFS CacheManager Callback (UDP) 7001 TCP Aktiv AFS CacheManager Callback (TCP) 5900 TCP Aktiv WinVNC 139 TCP Aktiv NetBIOS-Sitzungsdienst 445 TCP Aktiv SMB ber TCP 3389 TCP Aktiv Remotedesktop
- state
- aktuellen Status des firewalls anzeigen (Zusammenfassung)
- ... ENABLE -> ...
netsh firewall set
- Änderungen an der aktuellen Konfiguration vornehmen
- Kommando-Optionen (analog netsh firewall show):
allowedprogram, icmpsetting, logging, multicastbroadcastresponse, notifications, opmode, portopening, service - spezifische Syntax je Option siehe: netsh firewall set option /?
- Empfehlung:
Jede Änderung an der firewall-Konfiguration explizit prüfen!
Mindestens mittels ... show ..., möglichst auch einen Praxistest! - Beispiele
- netsh firewall set allowedprogram C:\Programme\Symantec\Ghost\ngctw32.exe GhostClient DISABLE ALL
- netsh firewall show icmpsetting ENABLE
netsh firewall set icmpsetting type = 8 mode = ENABLE
netsh firewall show icmpsetting - netsh firewall set logging connections = DISABLE
erfolgreiche Verbindungen nicht protokollieren - netsh firewall set service type = REMOTEDESKTOP
- netsh firewall set notification ENABLE
Benutzer werden benachrichtigt, wenn ein Programm versucht einen Port zu öffnen - netsh firewall set portopening TCP 80 Web
netsh firewall add / delete / dump / reset
- dump - nicht unterstützt
(export-/import-Funktion in Vista) - reset
- firewall-Konfiguration wird auf Standard zurückgesetzt
- Standard festgelegt in %WINDIR%\inf\netfw.inf = Installation
siehe Installations-CD: i386\netfw.in_ - Modifikation möglich (s.o.)
- add / delete
- für allowedprogram bzw. portopening
- Beispiel
1346 UDP Aktiv GhostConsole netsh firewall delete portopening UDP 1346 netsh firewall add portopening UDP 1346 Ghost 1346 UDP Aktiv Ghost
Einstellungen in der registry
- Vorsicht!
- für Sicherung geeignet (s.u.)
- Beispiel für registry-Inhalt
Protokolldatei
pfirewall.logErläuterung:#Version: 1.5 #Software: Microsoft Windows Firewall #Time Format: Local #Fields: date time action protocol src-ip dst-ip src-port dst-port size tcpflags tcpsyn tcpack tcpwin icmptype icmpcode info path #Fields: #date time action protocol src-ip dst-ip src- dst- size tcpflags tcpsyn tcpack tcpwin icmptype icmpcode info path port port 2006-12-22 00:58:25 DROP UDP 134.109.200.209 134.109.201.255 138 138 202 - - - - - - - RECEIVE 2006-12-22 00:58:25 DROP UDP 134.109.200.209 134.109.201.255 137 137 78 - - - - - - - RECEIVE 2006-12-22 00:58:26 OPEN TCP 134.109.200.109 134.109.132.164 3598 1984 - - - - - - - - - ... 2006-12-22 05:22:28 DROP TCP 59.148.181.199 134.109.200.109 80 12115 48 SA 3885423350 104298265 16384 - - - RECEIVE 2006-12-22 05:22:32 DROP TCP 59.148.181.199 134.109.200.109 80 12115 48 SA 3885423350 104298265 16384 - - - RECEIVE 2006-12-22 05:25:44 DROP TCP 59.148.181.199 134.109.200.109 80 12115 48 SA 4208457496 104298265 16384 - - - RECEIVE 2006-12-22 05:25:47 DROP TCP 59.148.181.199 134.109.200.109 80 12115 48 SA 4208457496 104298265 16384 - - - RECEIVE 2006-12-22 09:15:55 DROP TCP 222.134.32.227 134.109.200.109 80 12115 40 AR 0 104298265 0 - - - RECEIVE 2006-12-22 09:15:55 DROP TCP 222.134.32.227 134.109.200.109 80 12115 40 AR 0 104298265 0 - - - RECEIVE
- ... selbsterläuternd
- src... - Quelle, Absender
- dst... - Ziel, Adressat
- tcpflags - TCP-Steuerungsflags
- tcpsyn - TCP-Sequenznummer
- tcpack - TCP-Bestätigungsnummer
- tcpwin - TCP-Fenstergröße
- icmptype - Typ-Feld der ICMP-Nachricht
- icmpcode - Code-Feld der ICMP-Nachricht
- ...
Spezifika in Windows Vista
- unterstützt eingehenden und ausgehenden Netzwerkverkehr
- Konfiguration von Ausnahmen für für Quell- und Ziel-IP-Adressen, für IP-Protokollnummern, für Quell- und Ziel-TCP- und UDP-Ports, ...
- logging in C:\Windows\system32\LogFiles\Firewall\pfirewall.log
- Filter zur Anzeige
- Profile <- Netzwerkstandorte (festgelegt bei allererster Anmeldung)
- "zu Hause " -> Profil: Privat
- "Arbeistplatz" -> Profil: Privat
- "Öffentlicher Ort" -> Profil: Öffentlich
- oder bei Integration in eine Domäne -> Profil: Domäne
- IPsec - "sichere Verbindungen", Schlüsselaustausch
- Kontrolle/Änderung: -> Systemsteuerung -> Netzwerk- und Freigabecenter
- MS-Console: wf.msc
- gpedit.msc -> Computerkonfiguration -> Windows-Einstellungen -> Sicherheitseinstellungen -> Windows-firewall mit erweiterter Sicherheit ... (nicht in Home-Edition)
- Kommando
netsh advfirewall ...
- "Profil Standard" entspricht "Profil Privat"
- komplette Kommandozeile (ähnlich netsh firewall ...)
- spezielle advfirewall-Kommandoumgebung möglich: Kommando
netsh
Kommandoadvfirewall
Kommandohelp
...- Protokollierung:
set file ...
- firewall-Administration eines anderen PCs:
set machine ...
- Protokollierung:
- Beispiele
netsh advfirewall /?
Befehle in diesem Kontext: ? - Zeigt eine Liste der Befehle an. consec - Wechselt zum "netsh advfirewall consec"-Kontext. dump - Zeigt ein Konfigurationsskript an. export - Exportiert die aktuelle Richtlinie in eine Datei. firewall - Wechselt zum "netsh advfirewall firewall"-Kontext. help - Zeigt eine Liste der Befehle an. import - Importiert eine Richtliniendatei in den aktuellen Speicher. monitor - Wechselt zum "netsh advfirewall monitor"-Kontext. reset - Setzt die Richtlinie auf die standardmäßige Richtlinie zurück. set - Legt die profilbezogenen oder globalen Einstellungen fest. show - Zeigt Profil- bzw. globale Eigenschaften an. Folgende Unterkontexte sind verfügbar: consec firewall monitor
netsh advfirewall show allprofiles
Domänenprofil-Einstellungen: ---------------------------------------------------------------------- Status ON Firewallrichtlinie BlockInbound,AllowOutbound Lokale Firewallregeln Nicht zutreffend (nur für GRO-Speicher) Lokale Verbindungssicherheitsregeln Nicht zutreffend (nur für GRO-Speicher) Eingehende Benutzerbenachrichtigung Enable Remoteverwaltung Disable Unicastantwort auf Multicast Enable Protokollierung: Zugelassene Verbindungen protokol. Disable Getrennte Verbindungen protokollieren Enable Dateiname C:\Windows\system32\LogFiles\Firewall\pfirewall.log Max. Dateigröße 4096 Privates Profil-Einstellungen: ---------------------------------------------------------------------- Status ON Firewallrichtlinie BlockInbound,AllowOutbound Lokale Firewallregeln Nicht zutreffend (nur für GRO-Speicher) Lokale Verbindungssicherheitsregeln Nicht zutreffend (nur für GRO-Speicher) Eingehende Benutzerbenachrichtigung Enable Remoteverwaltung Disable Unicastantwort auf Multicast Enable Protokollierung: Zugelassene Verbindungen protokol. Disable Getrennte Verbindungen protokollieren Enable Dateiname C:\Windows\system32\LogFiles\Firewall\pfirewall.log Max. Dateigröße 4096 Öffentliches Profil-Einstellungen: ---------------------------------------------------------------------- Status ON Firewallrichtlinie BlockInbound,AllowOutbound Lokale Firewallregeln Nicht zutreffend (nur für GRO-Speicher) Lokale Verbindungssicherheitsregeln Nicht zutreffend (nur für GRO-Speicher) Eingehende Benutzerbenachrichtigung Enable Remoteverwaltung Disable Unicastantwort auf Multicast Enable Protokollierung: Zugelassene Verbindungen protokol. Disable Getrennte Verbindungen protokollieren Enable Dateiname C:\Windows\system32\LogFiles\Firewall\pfirewall.log Max. Dateigröße 4096 OK.
Tipps
- Immer mit aktivem firewall arbeiten, niemals ausschalten (auch nicht für Tests)!
Aktuelle Systeme haben zum Abschluss einer Installation einen aktiven firewall.
(Sonst Vorkehrungen treffen, u.U. ohne Netz installieren.) - Problembehebung - netzbasierte Software funktioniert nicht
- siehe firewall-Protokoll -> C:\WINDOWS\pfirewall.log -> abgewiesene Pakete (siehe Quelle und Datum)
- siehe Programm-/Produktbeschreibung oder Hersteller kontaktieren
- C:\WINDOWS\system32\drivers\etc/services oder http://www.iana.org/assignments/port-numbers
- benötigte Portnummer selbst ermitteln:
-
netstat -ano
-> ... IP-Adresse:Port PID -
tasklist
bzw.tasklist /svc
-> ... PID
-
- Problembehebung - kein Zugriff/ keine Manipulation der firewall möglich
Dienst "Windows-Firewall/Gemeinsame Nutzung der Internetverbindung" reagiert nicht mehr (fehlerhafte registry-Bearbeitung?!)- %WINDIR%\inf\netfw.inf wiederherstellen
- netsh firewall reset
- firewall-Konfiguration aktualisieren
oder
- Rundll32 setupapi,InstallHinfSection Ndi-Steelhead 132 %windir%\inf\netrass.inf (s. http://support.microsoft.com/kb/920074)
- Sicherung/Wiederherstellung der aktuellen firewall-Konfiguration
- registry-Teil SharedAccess sichern
exportieren von HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess nach Datei sharedaccess.reg
- registry-Teil SharedAccess sichern
- firewall nur für benötigte und nachvollziehbare Anforderungen öffnen!
Nicht mehr benötigte Ausnahmen unbedingt schließen! (nach Programm-Deinstallation, ...) - Achtung, wenn bei fehlendem Zugriff eines Programms mittels Fenster die "Behebung" des Problems angeboten wird, "Weiterhin blocken"/"Nicht mehr blocken"/"Erneut nachfragen". Dies sollte als anonyme Änderung der firewall (in Bezug auf Ports, Dauer, ...) interpretiert und somit abgelehnt werden! Konsequenz: explizite (eigene) firewall-Konfiguration vornehmen.
- häufig: Ports 137, 138, 139 für NETBIOS ... (file und printer sharing)
- Kontrolle auf Veränderungen?
Links
- http://www.wintotal.de/Artikel/firewallxpsp2/firewallxpsp2.php
- http://www.microsoft.com/germany/technet/datenbank/articles/600522.mspx - Verwalten von Windows XP Service Pack 2-Features mithilfe von Gruppenrichtlinien
- http://www.windowsecurity.com/articles/Customizing-Windows-Firewall.html - kurze Erläuterung der alternativen Konfigurationsmöglichkeiten
- Deploying Windows Firewall Settings for Microsoft Windows XP with Service Pack 2 (download doc)
- Introduction to Windows Firewall with Advanced Security