jetset
Goto Top

Windows Server Firewall - Mehrere IP Adressbereiche Sperren

Hallo,

ich würde gerne in der Windows Server standard Edition mit der Windows Firewall verschiedene Länder wie China und Russland blockieren.
Als Quelle wollte ich die Bereiche von dieser Seite nehmen: http://www.ipaddresslocation.org/ip_ranges/get_ranges.php
Ich habe leider bisher keine Idee wie ich diese ganzen IPs unter eingehende Regeln reinkopieren könnte zumal das Format in der txt was man von der Seite bekommt nicht windows tauglich ist.
Hat da jemand erfahrung?

Gruß

Content-Key: 244804

Url: https://administrator.de/contentid/244804

Printed on: April 19, 2024 at 09:04 o'clock

Member: colinardo
colinardo Jul 28, 2014 updated at 13:05:08 (UTC)
Goto Top
Moin,
mit einem kleinen Powershell-Einzeiler ist der Import schnell erledigt:
gc "C:\CN_ipranges.txt" | %{netsh.exe advfirewall firewall add rule name="CHINA_RANGE_$_" dir=in action=block enable=yes remoteip="$($_.Replace(' ',''))"}
Grüße Uwe

-edit- kleinen Tippfehler korrigiert
Member: Jetset
Jetset Jul 28, 2014 at 10:05:26 (UTC)
Goto Top
Mhh...entweder hab mich jetzt selber ausgesperrt oder ich hab den Server abgeschossen :X
Irgendwas stimmt da noch nicht. Hab die policy geändert das ich das script ausführen konnte ...kam aber trotzdem immer noch ne fehlermeldung....auf mal hat er mich gekickt....firewall ist deaktiviert. Jetzt komm ich wieder drauf.
Aber das sieht jetzt so aus face-sad

Unter engehende regeln:

CHINA_ 101.224.0.0 - 101.233.255.255
Member: colinardo
colinardo Jul 28, 2014 updated at 10:16:15 (UTC)
Goto Top
Hier keine Probleme, getestet auf einem Server 2008R2 mit einem File von deiner verlinkten Seite (Format IP-Range).
Member: Jetset
Jetset Jul 28, 2014 updated at 10:45:42 (UTC)
Goto Top
Hi Uwe,

ich hab jetzt hier ungefähr 300 IP regeln die alle irgendwas mit china_ am anfang heissen...face-sad
gibt es ne möglichkeit die alle wieder zu entfernen oder das anzupassen das es funktioniert?
Ich würde ja n screenshot hochladen aber geht das hier glaub ich nicht oder?
Member: colinardo
colinardo Jul 28, 2014 updated at 10:50:54 (UTC)
Goto Top
Achso du möchtest alle in eine Regel ... das geht auch muss ich nur umbauen
gibt es ne möglichkeit die alle wieder zu entfernen
markieren und entf drücken ...
Ich würde ja n screenshot hochladen aber geht das hier glaub ich nicht oder?
doch geht, aber ich weis was du meinst ...
Member: Jetset
Jetset Jul 28, 2014 at 10:51:08 (UTC)
Goto Top
Ja...kann aber nicht alle makieren...nur jede einzeln :/

Problem ist...die regel heisst zwar zb: CHINA_ 101.224.0.0 - 101.233.255.255
aber unter Eigenschaften" -> "Bereich" ist nichts eingetragen
Member: colinardo
colinardo Jul 28, 2014 updated at 11:30:32 (UTC)
Goto Top
Zitat von @Jetset:
Ja...kann aber nicht alle makieren...nur jede einzeln :/
Geht hier problemlos mit SHIFT
Problem ist...die regel heisst zwar zb: CHINA_ 101.224.0.0 - 101.233.255.255
aber unter Eigenschaften" -> "Bereich" ist nichts eingetragen
dann machst du was falsch.
Member: Jetset
Jetset Jul 28, 2014 at 11:00:09 (UTC)
Goto Top
Liegt das vielleicht an der Windows Version oder das ich per remote drauf bin?
Ich kann die alle nur einzeln anwählen face-sad
Member: colinardo
colinardo Jul 28, 2014 updated at 11:03:16 (UTC)
Goto Top
Achso du möchtest alle in eine Regel ... das geht auch muss ich nur umbauen
Das Problem ist hier das es zu viele Adressbereiche sind, die können nicht alle in eine einzige netsh-Zeile gepackt werden, da diese zu lang würde und die Shell das nicht schafft ! Das müsste man dann schon aufteilen.
Member: Jetset
Jetset Jul 28, 2014 at 11:04:10 (UTC)
Goto Top
Oh oh...ist versionsabhängig...hab auf einem server auch die 2008R2...da geht das mit shift.
Irgendwelche Vorschläge wie ich die sosnst wieder rausbekomme?
Member: colinardo
colinardo Jul 28, 2014 updated at 11:10:15 (UTC)
Goto Top
Zitat von @Jetset:
Irgendwelche Vorschläge wie ich die sosnst wieder rausbekomme?
auch wieder mit einem powershell-script und netsh einfach etwas anpassen face-wink poste es gleich
Member: Jetset
Jetset Jul 28, 2014 at 11:10:25 (UTC)
Goto Top
Der war gut^^.
Ich bin da nicht fitt...sonst würde ich ja nicht fragen ;)
Member: colinardo
colinardo Jul 28, 2014 updated at 11:12:39 (UTC)
Goto Top
gc "C:\CN_ipranges.txt" | %{netsh.exe advfirewall firewall delete rule name="CHINA_$_"}
Member: Jetset
Jetset Jul 28, 2014 at 11:50:35 (UTC)
Goto Top
DANKESCHÖN face-smile
Der Mann hatts drauf.
Denkst Du das das mit den regeln eventuell auch n Versionsproblem ist? Also das es bei dir Funktioniert und bei der älteren Version nicht?
Member: colinardo
colinardo Jul 28, 2014 updated at 11:57:03 (UTC)
Goto Top
Zitat von @Jetset:
Denkst Du das das mit den regeln eventuell auch n Versionsproblem ist? Also das es bei dir Funktioniert und bei der älteren
Version nicht?
kann ich ohne eine Fehlermeldung deinerseits nicht sagen, auf was für einem genauem Windows Server arbeitest du denn (winver).
Eventuell ist hier bei den Parametern des Netsh Befehl geringfügig was anzupassen.
Das sagt dir netsh auf der Kommandozeile, das für das Anlegen der Firewall Regeln zuständig ist.
Member: Jetset
Jetset Jul 28, 2014 at 13:00:38 (UTC)
Goto Top
Hallo Uwe,

habe eben n scrrenshot hochgeladen...sehe ichnicht...ist echt blöd gemacht hier....

Also beim aussführen des Scripts sagt er : sie können keine methode für einen ausdruck mit dem wert null aufrufen bei C:\script\chinarules.ps1:1 zeichen 15

back-to-top$range.Replace <<<< (' ','')

+ CategoryInfo :InvalidOperation: (Replace:String) RunteimeExcetion
+FullyQualifiedErrorID: InvokeMethodOnNull
Member: colinardo
colinardo Jul 28, 2014 updated at 13:12:18 (UTC)
Goto Top
Zitat von @Jetset:
habe eben n scrrenshot hochgeladen...sehe ichnicht...ist echt blöd gemacht hier....
ja da stimme ich dir zu, geht im Moment nur über einen Trick, indem du deinen Ursprungspost bearbeitest und dort deine Bilder hochlädst. Den angezeigten Code kannst du dann in jedem Kommentar einfügen:
dd734be15ff48f33bc796357a8bdbedd

Also beim aussführen des Scripts sagt er : sie können keine methode für einen ausdruck mit dem wert null aufrufen
da war ein Tippfehler drin, den hatte ich oben bereits korrigiert muss so lauten:
gc "C:\CN_ipranges.txt" | %{netsh.exe advfirewall firewall add rule name="CHINA_RANGE_$_" dir=in action=block enable=yes remoteip="$($_.Replace(' ',''))"}
Member: Jetset
Jetset Jul 28, 2014 at 13:32:15 (UTC)
Goto Top
Super ...jetzt hatts auch funktioniert.
face-smile
Dankeschön
Member: colinardo
colinardo Jul 28, 2014 updated at 14:21:51 (UTC)
Goto Top
Noch als Nachtrag:

Falls du die Anzahl der Regeln reduzieren willst, hier noch ein Script das die Anzahl der Regeln in Sets zu 200 IP-Ranges anlegt. Du legst deine Textdateien die du heruntergeladen hast in einen Ordner, und gibst diesen dann in Zeile 1 an.
Dann werden die Regeln für alle Dateien automatisch angelegt - die Namen der Regeln werden dabei aus dem zweistelligen Ländercode gebildet der am Anfang jedes Dateinamens steht.
$files = dir "C:\Ordner\*_ipranges.txt"  
foreach($file in $files){
    $rules = gc $file.Fullname
    $divider = 200
    $numRules = $rules.length / $divider
    $rest = $rules.length % $divider
    if ($numRules -gt 0){
        for ($i = 0; $i -le $numRules; $i++){
            $range = (($rules)[($i*$divider)..(($i*$divider)+($divider -1))] -join ",").replace(' ','')      
            if ($i -eq $numRules){
                $range = (($rules)[($i*$divider)..(($i*$divider-1)+$rest)] -join ",").replace(' ','')      
            }
            netsh.exe advfirewall firewall add rule name="$($file.Basename.Substring(0,2))_BLOCK_$i" dir=in action=block enable=yes remoteip="$range"  
        }


    }else{
        netsh.exe advfirewall firewall add rule name="$($file.Basename.Substring(0,2))_BLOCK" dir=in action=block enable=yes remoteip="$(($rules -join ",").Replace(' ',''))"  
    }
}
Zur Info, das ganze muss als Powershell-Script (*.ps1) gespeichert und dann ausgeführt werden.

Viel Spaß
Grüße Uwe
Member: momo2109
momo2109 Nov 21, 2016 updated at 16:04:09 (UTC)
Goto Top
Hallo, ich hatte vor kurzem auch nach einer Lösung gesucht da ich aus China, Russland etc... ständig irgendwelche fehlerhaften Loginversuche hatte. Nach langer Suche habe ich einen Interessanten Blog von einem IT Dienstleister gefunden. Ich finde die Lösung dort Super und bei mir hats geklappt... Also für diejenigen die auch noch sowas suchen hier der Link:

https://sus-its.de/laender-blockieren-in-der-windows-server-2012-firewal ...