Dienste sicher konfigurieren unter Windows 2000/XP - ntsvcfg.de =============================================================== v1.0 Die Urform mit dem Ziel, den Abschnitt "Einstellungen der Startart der Dienste" von www.kssysteme.de automatisch ausführen zu lassen. Der Gedanke dazu ergibt sich schnell, wenn man mehrere Rechner konfigurieren muß. Ohne den Parameter "/all" bleiben Grund- funktionen wie SMB, NetBIOS o.ä. für das LAN in gewissem Umfang erhalten. v1.01, v1.02 Kleinere Bugfixes und Anpassungen v1.03 - Der Parameter "/restore" wurde hinzugefügt. Somit werden vor jeder Veränderung Sicherheitskopien der entsprechenden Registry-Schlüssel angelegt, um bei Problemen die vorgenommenen Änderungen zurücknehmen zu können. Diese Funktion wurde getestet und arbeitet fehlerfrei. - Mitttels "/lan" können geziehlt Einstellungen und Dienste aktiviert werden, die für einen Betrieb im LAN notwendig sind. v1.04 Kleinere Bugfixes und Anpassungen v1.05_beta Zusätzlich wurden in dieser Version weitere Maßnahmen nach www.kssysteme.de aufgenommen, um diese ebenfalls automatisiert durchführen zu können: ->DCom: standardmäßig wird auch DCOM deaktiviert und die Standardprotokolle werden entfernt ->NEtBios: Der NetBios-Dienst (NetBT) wird beendet und deaktiviert. v1.06_beta In Änderung zur v1.05 wird der NetBios-Dienst nicht mehr deaktiviert/beendet, sondern anstelle dessen SMB abgeschaltet. Dadurch bleibt die NetBIOS-Funktionalität erhalten, kann jetzt aber weiterhin für jeden Netzwerk-Adapter (Netzwerkkarte)getrennt festge- legt werden. Lt. kssysteme wird dringlich empfohlen, NetBIOS bei der Internet-Verbindung zu deaktivieren. Innerhalb des LAN (intern) kann NetBios aber weiterhin aktiv bleiben (z.B. für Freigaben, Netzwerk-Drucker). ->DHCP: es wird geprüft, ob DHCP verwendet wird. Dies ist z.B. bei einigen Konfigurationen, die über DSL mit dem Internet verbunden sind und keine statische IP zugewiesen bekommen, notwendig. Wird DHCP verwen- det, erfolgt keine Änderung des Dienstes. Ist DHCP nicht aktiv, wird als Starttyp "manuell" festgelegt. v1.07_beta Es gibt für Win2000 und Windows XP nur noch ein Script für beide Betriebssysteme. Es wird selbstständig erkannt, welches gerade verwendet wird. Außerdem wird nun kurz geprüft, ob die Datei SC.EXE aufgerufen werden kann. v1.1 Final Release Die Version 1.07 wurde noch einmal unter Windows 2000 und XP getestet und es wurden keine Fehler registriert. Daher wurde sie jetzt offiziell zum Download freigegeben und besitzt nun keinen Beta Status mehr. Trotzdem ist nicht ausgeschlossen, daß noch Fehler im Quellcode stecken, welche aber dankend durch den Autor zur Kenntnis genommen werden. v1.1_build0 Ergänzend zur den Änderungen in Version 1.1 wurde der Speicherpfad für .REG-Sicherungsdateien von C:\ auf %WINDIR% umgeleitet. Ob hierfür (Schreib-)rechte vorhanden sind, wird vorher überprüft. v1.1_build1 Der Speicherpfad wurde erneut geändert und zeigt nun auf das Home- Verzeichnis des jeweiligen Benutzers (%USERPROFILE%). Desweiteren sind Meldungen jetzt auf Englisch, wichtige Dialoge und Fehlermeldungen erscheinen in Deutsch und Englisch. Auch wurden systemspezifische Aufrufe an US-versionen angepaßt (im Moment wird nur die US-Version von Windows2000 zusätzlich unterstützt!). Die Erkennung der notwendigen Rechte zum Ausführen dieses Skriptes ist verbessert und korrigiert worden. v1.1_build2 Kleiner Bugfix beim Erzeugen der Registrierungsdateien. v1.1_build3 Der "Nachrichtendienst" wurde geändert. Bisher wurde er nur bei Aufruf mit dem Parameter /all überhaupt geändert und auf "Manuell" gesetzt. Jetzt wird er immer deaktivert und falls er läuft, beendet. v1.1_build3 Kleiner Bugfix bei Bildschirmausgabe "This script works only on Windows 2000/XP machines!" v1.1_build4/5 Fehler behoben: Optionen sind nun nicht mehr "case-sensitiv", Textausgabefehler behoben v1.1_build6 Messenger: doppelter Aufruf/Deaktivierung korrigiert Skript trägt nun die Endung .CMD, was für NT-Systeme üblicher ist v2.0_beta0 (21.12.2003) Mit viel Hilfe von Ansgar Wiechers wurde der komplette Programmcode optimiert. Einige Routinen wurden verbessert und das Skript ist nun für andere besser nachvollziehbar und anpassbar, da strukturierter. v2.0_beta1 (23.12.2003) Es wurden einige Tests unter Windowx XP duchgeführt. Dabei wurden einzelne Fehler in Dialogen gefunden und behoben. Die Funktionalität blieb davon unbeeinträchtigt. v2.0_build0 (27.12.2003) Nach erweiterten Testdurchläufen ist die Version 2.0 des Skriptes freigegeben. Es wurden einige kleinere Bugs gefixt, Dialoge ange- paßt und ein einfaches Auswahlmenü hinzugefügt. v2.0_build1 (27.12.2003) Nach Problemen mit dem Benutzernamen (Name mit Leerzeichen) in Verbindung mit der Rechte-Überprüfung wurde dieses nun behoben. v2.0_build2 (28.12.2003) Erstmalig wurde eine Installationsroutine für die Datei SC.EXE implementiert, falls diese noch nicht existiert. Diese Funktion befindet sich noch im Beta-Stadium! v2.0_build3 (8.1.2004) Der Header bei generierten REG-Dateien wurde auf "REGEDIT4" an- gepasst, um mögliche Kompatibilitätsprobleme beim Import hinsichtlich Unicode zu vermeiden. v2.0_build4 (19.1.2004) Das Problem "Die Überprüfung der erforderlichen Rechte schlägt fehl, wenn ein Domänenbenutzer angemeldet ist" wurde behoben. v2.0_build5 (9.2.2004) Kleinere Bugfixes. Das Script wird ab sofort unter der GNU General Public License angeboten. v2.0_build6 (3.3.2004) Unter Windows XP gibt es möglicherweise Probleme nach Ausführung des Skriptes, wenn WLAN-Netzwerkverbindungen exisitieren. Die Behandlung des Dienstes "WZCSVC" wurde aufgehoben. v2.0_build7 (9.4.2004) Es wurden Änderungen bei den Diensten "Automatische Updates" sowie "Taskplaner" vorgenommen. Bisher wurden beide Dienste angehalten und deaktivert. Ab sofort sind sie von der Behandlung durch das Script ausgenommen. Um trotzdem eine Bindung an das externe Interface zu vermeiden, wird der Schlüssel [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\ClientProtocols] gelöscht und folgender ergänzt: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\Internet] "PortsInternetAvailable"="N" "UseInternetPorts"="N" Desweiteren wurden folgende Keys erweitert [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole] "EnableDCOM"="N" append: "EnableDCOMHTTP"="N" append: "EnableRemoteConnect"="N" sowie entfernt: [-HKEY_CLASSES_ROOT\AIM] [-HKEY_CLASSES_ROOT\gopher] [-HKEY_CLASSES_ROOT\telnet] v2.0_build8 *Preview, not published* (16.4.2004) Die Behandlung der Dienste "Automatische Updates" sowie "Taskplaner" werden vorraussichtlich folgendermaßen geändert: (1) Standard: Dienste bleiben unberührt (2) /all : Dienste werden beendet und deaktiviert (hardening) Es wurden Programmfehler behoben, die möglicherweise Probleme verursachen könnten (Pfadangaben sowie Benutzer-Login mit Leerzeichen). v2.1_build0 (25.4.2004) Die Benutzeroberfläche wurde verändert, um nun 3 Szenarien (LAN, Standard, ALL) anbieten zu können; der Quellcode und die Dienste- behandlung wurde dementsprechend angepasst. NetBios wird ab dieser Version global an allen NIC-Interfaces deaktiviert, sofern WSH (Windows Scripting Host) korrekt installiert ist. v2.1_build1 (15.5.2004) Das Problem mit dem Taskplaner unter WindowsXP (Taskplaner konnte nicht gestartet werden - "Systemfehler 87. Falscher Parameter"). wurde in der aktuellen Version behoben. WindowsXP: Die Schlüssel [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\Internet] "PortsInternetAvailable"="N" "UseInternetPorts"="N" werden unter WinXP nur noch bei Auswahl des Parameters "/ALL" angelegt. Bitte beachten Sie, dass hierdurch moeglicherweise nicht alle Ports geschlossen werden können. Überprüfen Sie daher mittels eines Portscanners (z.B. http://webscan.security-check.ch/ ) ihren Rechner auf noch offene Ports. Die fehlerhafte Restore-Funktion wurde korrigiert. v2.1_build2 (18.05.2004) Unter Windows XP erfolgt bei Auswahl von (1) LAN oder (2) Standard eine Abfrage, ob der Taskplaner verwendet wird. Bei Nichtverwendung wird der Taskplaner deaktiviert und beendet. v2.1_build3 (28.06.2004) (1) Fingerprinting Es wird nach Konfiguration der Dienste ein Musterabbild der aktuellen Dienste-Konfiguration erstellt. Falls durch den Benutzer oder Updates bzw. Patches eine Änderung an den Diensten vorgenommen wurde, wird dies erkannt und beim Starten des Scriptes gemeldet: "Checking for modified services..." a.) "WARNING-services maybe modified!" bedeutet, das Veränderungen vorgenommen wurden, welche nicht durch das script erfolgten. b.) "OK" bedeutet, das keine Veränderungen der Dienste außerhalb des Scriptes vorgenommen wurden. (2) Betrifft nur "/all": Der Dienst RemoteRegistry wurde von Startart "manuell" auf "deaktivert" geändert. (3) Desweiteren werden vorhandene Sicherungsdateien eingespielt, bevor Änderungen an den Diensten vorgenommen werden, um Probleme und Seiteneffekte bei mehrmaliger Ausführung des Scriptes zu vermeiden. v2.1_build3a (29.06.2004) Die Funktion "Fingerprinting" wurde bis auf weiteres deaktiviert, da eine zuverlässige Erkennung der Änderung von Diensten noch nicht gewährleistet werden kann. v2.1_build4 (02.08.2004) (1) Probleme mit der Funktion "Fingerprinting" wurden behoben. Trotzdem ist diese Option noch in der Entwicklung. An dieser Stelle Danke an Joerg Ott und Johannes Lichtenberger. Mehr Informationen unter www.ntsvcfg.de/fprint. (2) Die DHCP-Erkennung wurde korrigiert (3) Ein doppelter Eintrag wurde entfernt (double-stop during removing messenger) v2.2_build0 (14.08.2004) (1) Die Funktion "fingerprinting" wird nur noch bei Start des Scriptes oder nach Neuerstellung eines "fingerprints" aufgerufen. Außerdem kann diese Funktion bei Problemen mittels des Eintrages set USE_FPRINT=NO deaktiviert werden. (2) Wenn Windows XP SP2 installiert wurde, wird die XP-Firewall (ICF) nur bei Verwendung der Option (2) Standard nicht verändert (in allen anderen Fällen wird die ICF deaktiviert) (3) Das in Windows XP SP2 enthaltene Sicherheitscenter wird bei Verwednung von Option "(3) /ALL" deaktiviert. (4) Erkennung von ServicePack-Level hinzugefügt (5) der Taskplaner wird unter Windows XP SP2 nur noch bei Verwendung der Option "(3) /All" deaktiviert. v2.2_build1 (20.08.2004) - Bugfixes - Sicherheitscenter wird deaktiviert - VBS Skript verändert (cscript.exe wurde ergänzt) - Bei Aufruf über Kommandozeile wurden erforderliche Rechte nicht überprüft v2.2_build2 (02.10.2004) Die Funktion "Fingerprinting" wurde korrigiert und ist nun u.a. auch auf Rechnern mit ATI-Grafikkarten lauffähig. Dienste mit Leerzeichen im Namen werden von nun an unterstützt. v2.2_build3 (28.01.2005) Es wird überprüft, ob das Skript auf NT Server Versionen ausgeführt wird (NT-Server Versionen werden NICHT unterstützt!). v2.2_build3a (29.01.2005) Die Erkennung von Serverversionen arbeitete nicht zuverlässig und wurde korrigiert. v2.2_build3b-c (13.02.2005, unreleased) Der Pfad zu Regedit wird vorgegeben v2.2_build3d (16.02.2005, unreleased) Ein kritisches Problem in build3c in Zusammenhang mit der Behandlung von Regedit wurde behoben. v2.2_build4 (30.03.2005) (1) Es wird geprüft, ob %SystemRoot%\System32\find.exe sowie %SystemRoot%\regedit.exe exisitieren. (2) Desweiteren wurde die Backup-Routine (Save/Restore) erweitert. Es ist nun möglich, zwischen folgenden Profilen zu wählen: Restore Regfiles Saving Regfiles RESTORE_MODE=1 JA JA RESTORE_MODE=2 JA NEIN RESTORE_MODE=3 NEIN JA RESTORE_MODE=4 NEIN NEIN (Sind keine Sicherungsdateien vorhanden, wird in jedem Fall erstmals ein Backup erstellt.) Default: MODE=2 - Es werden bei jeder weiteren Ausführung immer nur die (erstmalig) erstellten Sicherungsdateien zurückgesichert, jedoch keine Neuen erstellt. Somit kann auch nach mehrmaligem Ausführen des Scripts bei Bedarf der Zustand wie vor erstmaliger Anwendung (Ausnahme: NETBios-Einstellung) hergestellt werden. (3) Unabhängig von dem in (2) gewählten Modus werden bei Erstanwendung des Scripts einmalig Sicherungsdateien mit der Extension ".default" erstellt. Diese sollen das Zurücksetzen der Konfiguration in den ursprünglichen Zustand mittels Aufruf durch den Parameter "/DEFAULT" erleichtern, falls es nach Anwendung des Skripts Probleme geben sollte. (4) Über (M)ore Options kann die aktuelle Dienstekonfiguration (Starttyp, Startart) gesichert werden, um diese, insbesondere bei manueller Konfiguration nach Anleitung von Frank Kaune, zu einem späteren Zeitpunkt rücksichern zu könnnen. (5) Die FTP-Adresse für den automatischen Bezug der Datei SC.EXE war ungültig und wurde korrigiert. (6) Einige Informationen werden nun übersichtlicher dargestellt. v2.2_build5 (07.06.2005) (1) Der Ort der Sicherungsdateien wurde von %USERPROFILE% nach %USERPROFILE%\ntsvcfg\ geändert. Sicherungsdateien, welche sich im alten Verzeichnis befinden, werden importiert. (2) Es wird bei Ausführung unter Windows XP ein Systemwieder- herstellungspunkt erstellt. Bei Problemen kann diese Funktion mittels dem Eintrag REM *****Options***** set UseXPSysRestore=NO deaktiviert werden. v2.2_build5a (10.06.2005) Die URL zum Download von PKUNZIP.EXE wurde angepaßt v2.2_build5b (10.06.2005) Die Exit-Sequence wurde angepaßt: bei Aufruf des Scripts über Parameter ist bei Programmende keine Nutzerinteraktion mehr erforderlich ("press key to continue"). Somit kann das Script auch von anderen Batchprozessen aufgerufen. v2.2_build5c (11.06.2005) Eine Sicherungsdatei konnte nicht korrekt in das neue Sicherungsverzeichnis (USERPROFILE\ntsvcfg) übernommen werden. Das Problem wurde mit v22_build_5c behoben. v2.2_build6 (07.07.2005) Windowx XP64-Unterstützung (basic) wurde hinzugefügt. Achtung: die Dienstekonfiguration entspricht der von Windows XP und wurde noch nicht explizit unter XP64 evaluiert! v2.2_build6a (12.08.2005) Ein Fehler im Script führte dazu, das auf XP32-Systemen eine "!EXPERIMENTAL! Windows XP64" Warnmeldung ausgegeben wurde. Dieses Problem wurde mit diesem Build behoben. Es gab keine Beeinträchtigungen in der Funktion. v2.2_build7 (29.11.2005) Einige kleinere Fehler wurden korrigiert. Desweiteren wird ein deutlicherer Hinweis auf Internetverbindungsprobleme gegeben, falls DHCP (irrtümlich) deaktivert wurde. v2.2_build7a (07.12.2005) Ein Fehler bei Verwendung der Option "/DEFAULT" wurde behoben: notwendige Variablen waren nicht deklariert. v2.2_build7b (18.12.2005) Ein Fehler bei Verwendung der Option "(4) Restore" und "/Default" wurde behoben. Der Eintrag "SMBDeviceEnabled" wird nun ggfls. korrekt entfernt. v2.2_build8 (18.04.2008) ~~~~~~~~~~~~~~~~~~~~~~~~ Deutsch: - Anpassungen fuer windows XP Service Pack 3 sowie kleinere Verbesserungen in der Uebersetzung English: - Adjustment in order to run on Windows XP Service Pack 3, some minor improvements in translation.) v2.2_build9 (30.05.2008) ~~~~~~~~~~~~~~~~~~~~~~~~ Deutsch: - Die Serveradresse für den Download der Datei SC.EXE wurde aktualisiert English: - Server address for file SC.EXE has now been updated to URL scheme ftp.microsoft.com (former 207.46.133.140). v2.2_build10 (30.08.2008) ~~~~~~~~~~~~~~~~~~~~~~~~~ Harden DNS Client if option (3) or "/all" is used (Thanks to Stefan Kanthak): [HKLM\System\CurrentControlSet\Services\TcpIp\Parameters] "QueryIPMatching"=dword:01 ============================ ##EOF##