Folgender Fall: Aus Sicherheitsgründen soll der zugelassene IP-Bereich für den Zugriff auf einen Webserver per RDP mit der Windows-Firewall eingeschränkt werden. Das Problem ist, dass nur die wenigsten Internet-Nutzer über eine eigene feste IP zu Hause verfügen.
Die Lösung: Einrichten einer dynamischen Internet-Adresse per DynDNS und eine automatische Aktualisierung des Eintrags in der Firewall mit einem Batch-Skript, das dann per Cronjob regelmäßig ausgeführt wird. Glücklicherweise werden damit auch nur Windows-Bordmittel benötigt (neben der DynDNS-Adresse). Auch wenn ich hier keine detaillierte Sicherheitsanalyse anbieten kann, bin ich doch überzeugt, dass dieser Ansatz pragmatisch ist und eine höhere Sicherheit gewährleistet als die Unterlassung einer IP-Bereichs-Einschränkung.
Das folgende Skript sieht die Einbindung einer einzelnen festen IP-Adresse vor, für den Fall, dass ein Zugriffsberechtigter über eine solche verfügt. Falls dies nicht der Fall ist, lässt sich dies leicht wieder entfernen.
@echo off
REM --------------- KONFIGURATION ---------------
SET DynAddr=your-name.dyndns.org
SET StaticIP=123.123.123.123
REM ------------- ENDE KONFIGURATION ------------
echo Skript zur Aufloesung der IP der DynDNS-
echo Adresse und Eintragung in die Firewall
echo.
FOR /F "tokens=3 delims= " %%A IN ('nslookup %DynAddr%
↳ ^| findstr "[0-9].[0-9].[0-9].[0-9]"') DO SET
↳ ResolvedIP=%%A
echo IP: %ResolvedIP%
netsh advfirewall firewall set rule name="Remotedesktop
↳ (TCP eingehend)" new remoteip=%StaticIP%/32,
↳ %ResolvedIP%/32
Der Knackpunkt ist das Herumexperimentieren mit dem netsh-Befehl – für mich persönlich war allerdings der lästige Teil die Sache mit der for-Schleife, die an sich nur einen Substring extrahiert. Workarounds, die man erst lange suchen muss, wenn man sonst keine Batch-Skripte schreibt…
Wenn ein Fehler enthalten ist, bitte schreibt mir – ich benutze die paar Zeilen schließlich selbst auch ;-)
Hier nochmal die Datei zum Download: DynDNS_FW_Rewrite.bat [0,00MB]
(98 mal heruntergeladen)