IP-Range sperren?

Status
Für weitere Antworten geschlossen.
IPs von Ländern sind auch nur eine grosse Liste von ip Ranges resp Subnets. Theoretisch könnte man heute mit der DS schon folgendes machen: Erstmal eine Liste der Subs für die gewünschten Länder erstellen (ein Sub pro Zeile, normales Textfile). Dafür gibt es Generatoren im Internet. Diese Subs kann man dann relativ einfach mittels weniger Zeilen Shellcode in die iptables schreiben. Dabei ist das File mit den Subs als /tmp/subs.txt auf der DS:
Code:
for i in (cat /tmp/subs.txt) ; do
 iptables -A INPUT -s $i -j DROP
done
ich bleib dabei und würde trotzdem nicht empfehlen ganze Länder zu blocken. Das werden sehr schnell abertausende von Einträge ;-)
 
Code:
grep '192.168.100.1' /pfad/verzeichnis/*
obiges sollte eigentlich gehen und würde in pfad/verzeichnis alle Dateien nach dem String 192.168.100.1 durchsuchen
 
Also könnte ich das ganze NAS mit dem Befehl

grep '192.168.100.1' /

durchsuchen.
Verstehe ich das richtig?
 
und falls du nur die Dateinamen willst wo Treffer drin vorkommen dann kombiniere es noch mit awk
Code:
grep '192.168.100.1' /path/verzeichnis/* | awk -F: '{print $1}'
 
Also könnte ich das ganze NAS mit dem Befehl
Verstehe ich das richtig?
falsch :-)
Wenn schon /* für das Verzeichnis, aber auch dies würde nicht rekursiv suchen, sondern nur direkt in / alle Files durchsuchen. Würde aber z.B. /root/datei nicht durchsuchen. Wenn du wirklich Rekursion willst würde ich find empfehlen
Code:
find / -type f -exec grep '192.168.100.1' {} \;
find geht rekursiv durch. Aber das dauert sehr sehr sehr lange, weil z.B. auch alle externen Platten durchsucht werden. Nach Möglichkeit solltest du also nicht / als Basis nehmen
 
Ich möchte halt die Datei finden, wo die geblockten IPs drinnstehen. Habe auch schon Synology angefragt, bisher aber noch keine Antwort.
 
Woher weisst du dass es eine Textdatei ist? Vielleicht ist es ein File im Binärformat. Da würde grep eh nichts finden, der kann nur Textfiles sinnvoll durchsuchen
 
Habe vorhin Post von Synology bekommen.
Sie sagen, dass es keine Datei mit den IP Adressen gibt.
Wird dann wohl doch ein Binärfile sein.
 
Die geblockten IPs standen in einem nicht wirklich lesbaren Format zur Verfügung, habe ich da auch mal informiert, wo es hieß, dass jemand bestimmte IPs von der Automatischen Blockierung rausnehmen wollte. Synology sollte endlich implementieren, dass für bestimmte IP-Bereiche (Länder, Kontinente, selbst definierte IPs bzw. Bereiche) kein Login, oder nur userlogin erlaubt ist (kein admin). Wo die Datei lag kann ich dir nicht sagen, glaub im /etc Verzeichnis. War die File /etc/synoIPs.deny
 
Zuletzt bearbeitet:
Die geblockten IPs standen in einem nicht wirklich lesbaren Format zur Verfügung, habe ich da auch mal informiert, wo es hieß, dass jemand bestimmte IPs von der Automatischen Blockierung rausnehmen wollte. Synology sollte endlich implementieren, dass für bestimmte IP-Bereiche (Länder, Kontinente, selbst definierte IPs bzw. Bereiche) kein Login, oder nur userlogin erlaubt ist (kein admin).

Weisst du noch, wie die Datei hiess?
 
Die geblockten IPs standen in einem nicht wirklich lesbaren Format zur Verfügung, habe ich da auch mal informiert, wo es hieß, dass jemand bestimmte IPs von der Automatischen Blockierung rausnehmen wollte. Synology sollte endlich implementieren, dass für bestimmte IP-Bereiche (Länder, Kontinente, selbst definierte IPs bzw. Bereiche) kein Login, oder nur userlogin erlaubt ist (kein admin).
Das klingt sehr nach Binärformat. Kennst du Namen und Pfad der Datei? Wenn ja dann könnte man z.B. mittels strings mal gucken ob man Textstrings aus dem File lesen kann. strings ist glaub bei der Firmware ned dabei. Sollte es aber in ipkg in irgendeinem der utils Pakete geben. Frag mich aber nicht welches :-)
 
Siehe edit:
/etc/synoIPs.deny
 
ist die Datei sicher binär und nicht etwa nur IPs in dezimaler Schreibweise? 10-stellige Zahlen würde auf IPs im Dezimalformat hindeuten
 
ist die Datei sicher binär und nicht etwa nur IPs in dezimaler Schreibweise? 10-stellige Zahlen würde auf IPs im Dezimalformat hindeuten
Ich kann das gerade nicht prüfen, da ich gerade keinen Zugriff auf das Terminal meiner NAS habe (gibt ja leider noch kein Terminal standardmäßig in DSM wie AjaxTerm).
 
habs gerade bei mir nachgeguckt. Die IP scheint lesbar im File zu sein. Hat zwar noch andere Zeichen drin, aber die IP kann ich mit cat im File sehen und mit strings kommt man direkt an die IP
Code:
strings /etc/synoIPs.deny
192.168.199.7
 
Strings ist in den binutils enthalten.

Ich habs bei mir auch mal ausprobiert:
Rich (BBCode):
Nas-Marco> strings /etc/synoIPs.deny
b       O74.117.56.131
O200.98.138.45
O188.101.220.88
!O60.248.152.55
\O113.10.172.8
\O74.118.192.153
aO203.238.190.19
eO113.31.65.84
'fO222.122.72.170
$<fO87.76.32.45
IfO115.236.99.200
gO31.211.142.118
yWgO
c6hO61.167.199.239
c6hO
hO72.38.108.162
c6hO
hO88.198.153.70
c6hO
jO165.228.170.186
kO209.55.5.134
 :kO117.79.91.197
_fkO186.113.12.139
lO82.194.76.61
lO60.250.38.36
Nas-Marco>
Dazwischen kommen leider noch solche andere Zeichen, was ein bisschen unschön ist.

Gibt es denn auch eine Möglichkeit, die IPs in dieses Format zu packen?
 
das wird wohl nicht ganz so einfach, wenn die "Störzeichen" noch da sind. Der schnellste Weg wäre ein regulärer Ausdruck. Mir scheint die IPs würden bei dir immer nach einem '
O' beginnen. Jetzt müsste man noch wissen obs O (grosses o) oder 0 (null) ist
 
Ich hab gerade mal nachgeschaut. Es ist ein O (grosses o)

Und dann hats bei manchen IPs noch ein Sonderzeichen oder Buchstabe vornedrann.

Kannst du eine Regelmässigkeit erkennen?
 
wenn es imme ein O vor der IP ist dann würde ich mit PHP so was probieren
zuerst den output von string in /tmp/strings.txt
Code:
strings /etc/synoIP.deny > /tmp/strings.txt
und dann mit PHP
PHP:
$f = file('/tmp/strings.txt');
for($i=0;$i<count($f);$i++){
 $f[$i] = substr($f[$i],strpos($f[$i],'O'));
}
var_dump($f);
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat