Page 1 of 1

IP Range sperren

Posted: Tue 27. Nov 2018, 18:53
by Matlock
Hi,
hab gerade ein kleines Chinabot Problem.
Hab in der Firewall ein Eintrag gemacht, um die Range zu sperren aber die Bots sind immer noch da.
# chain: Input
-A INPUT --source 220.243.0.0/16 -j DROP
-A INPUT --source 52.80.0.0/16 -j DROP
-A INPUT --source 52.83.0.0/16 -j DROP
-A INPUT --source 54.222.0.0/16 -j DROP
Oder ist der Eintrag falsch ?

Mfg

Re: IP Range sperren

Posted: Tue 27. Nov 2018, 22:10
by OlliTheDarkness
An welcher Stelle hast du den Drop in der KHFW stehen ?

Ich hatte vor einiger Zeit auch lästigen Besuch der hat sich aber sehr schnell wieder verabschiedet dank Regel.
khfw.png

Re: IP Range sperren

Posted: Tue 27. Nov 2018, 23:36
by Matlock
Ganz oben, wie bei dir.
Echt nervig, da lauern ca. 500 Bots im Forum -_- .

Re: IP Range sperren

Posted: Tue 27. Nov 2018, 23:52
by Daniel
Hallo,

Stichwort: ipset / Geoblocking
Link: http://ipdeny.com/ipblocks/data/countries/cn.zone

Oder vielleicht ist eine "Whitelist" für beispielsweise "DACH" besser geeignet?
PS. die Regeln werden, solange eine aktive Verbindung existiert von "ESTABLISHED, RELATED" übergangen. Einfach mal den Webserver + PHP-fpm neustarten um die sessions zu terminieren.

Re: IP Range sperren

Posted: Wed 28. Nov 2018, 08:56
by OlliTheDarkness
Um das ganze in die FireWall zu bekommen und aktuell zu halten könntest du folgendes Script basierend auf 2 Daten nutzen.
(Bereits angepasst auf Daniel´s gepostete Liste)

FW-Cron.sh

Code: Select all

#!/bin/bash
bash -c "[ -e cn.zone.old ] && echo 'Datei ist vorhanden' || touch cn.zone.old & echo 'Datei wurde nicht gefunden und wurde erstellt ...' " 
wget -N http://ipdeny.com/ipblocks/data/countries/cn.zone
if diff -q cn.zone cn.zone.old; then
echo "Keine neue Version vorhanden !"
else
echo "Neue Version vorhanden, starte Regelerstellung ..."
/root/FW-Blockregel-schreiben.sh
fi
FW-Blockregel-schreiben.sh

Code: Select all

_blockliste="/root/cn.zone" # Dateiname der eingelesen werden soll
NWK=DeinIFace # Dein Interface (z.B. ethX, enpXY etc.)
FWP=/sbin/iptables # Die ausführbare Firewalldatei
$FWP -N BlockFile # Erstellt eine CHAIN in der FireWall falls noch nicht vorhanden
$FWP --flush BlockFile # Löscht alle einträge im CHAIN
egrep -v "^#|^$" $_blockliste | while IFS= read -r ip
do
	$FWP -A BlockFile -i $NWK -s $ip -j DROP
done < "$_blockliste"
$FWP -I INPUT -j BlockFile
$FWP -I OUTPUT -j BlockFile
$FWP -I FORWARD -j BlockFile
rm cn.zone.old # Löscht eine ggf. vorhandene DATEINAME.old
cp cn.zone cn.zone.old # Erstellt eine Kopie aus der eingelesenen Datei als Vergleich
Ich nutze das ganze um regelmässig bestimmte Spam IP Listen abzufrühstücken.
Die FW-Cron.sh lässt du dann einfach per Cronjob alle X Stunden oder Tage laufen.
Habe keine Ahnung in welchem Zeitruam die von Daniel gennate Datei aktualisiert wird.

P.S
Ich weiß ist nicht perfekt, daher Verbesserungsvorschläge gern gesehn ^^

(EDIT 26.11.18 - 15:45 Uhr - Var NWK eingefügt)

Re: IP Range sperren

Posted: Wed 28. Nov 2018, 10:38
by Jolinar
OlliTheDarkness wrote: Wed 28. Nov 2018, 08:56 Ich weiß ist nicht perfekt, daher Verbesserungsvorschläge gern gesehn ^^
- IPv6 bleibt bisher unberücksichtigt
- Netzwerkschnittstelle hast du hardcoded angegeben. Für Leute mit weniger Shellscript-Erfahrung wäre es vielleicht sinnvoll, das in eine Variable zu packen und zu kommentieren ("Hier Netzwerkschnittstelle eintragen...") oder direkt aus der Netzwerkconfig auslesen

Re: IP Range sperren

Posted: Wed 28. Nov 2018, 15:51
by OlliTheDarkness
Jolinar wrote: Wed 28. Nov 2018, 10:38
OlliTheDarkness wrote: Wed 28. Nov 2018, 08:56 Ich weiß ist nicht perfekt, daher Verbesserungsvorschläge gern gesehn ^^
- IPv6 bleibt bisher unberücksichtigt
- Netzwerkschnittstelle hast du hardcoded angegeben. Für Leute mit weniger Shellscript-Erfahrung wäre es vielleicht sinnvoll, das in eine Variable zu packen und zu kommentieren ("Hier Netzwerkschnittstelle eintragen...") oder direkt aus der Netzwerkconfig auslesen
NWK Var hab ich mal reingepackt, ich wusste da war was, danke. :D
ipV6 stellt für mich keinerlei Bedeutung dar, weil ich es grundsätzlich abgeschaltet habe.

Re: IP Range sperren

Posted: Thu 29. Nov 2018, 18:29
by Matlock
Danke für die Antworten,
bei dem Script bekomme ich jedoch ne Fehlermeldung-> (iptables: Memory allocation problem)
Liegt es daran weil es ein VServer ist ?

Mfg

Re: IP Range sperren

Posted: Mon 10. Dec 2018, 16:40
by Martin
Hallo,

Klingt nach zuwenig RAM, wieviel steht dem vServer denn zur Verfügung?

Re: IP Range sperren

Posted: Mon 10. Dec 2018, 16:59
by OlliTheDarkness
Martin wrote: Mon 10. Dec 2018, 16:40 Hallo,

Klingt nach zuwenig RAM, wieviel steht dem vServer denn zur Verfügung?
Zu Wenig , es ist ein VServer **Spass beendet**

Der Fehler wird wenn man Googel nutzt verdammt häufig gefunden.

Grundsätzlich denke ich das man mein Script noch um einiges optimieren kann zb. das immer nur Summe X an Zeilen eingelesen und geschrieben werden danach X Sekunden sleep und dann geht es mit den nächsten X Zeilen weiter allerdings geb ich offen zu da hört es bei mir auf dies zu realisieren.

Vieleicht hat da ja jemand eine Idee die er gern in den Ring werfen darf.

Gruß aus dem Ruhrgebiet

Re: IP Range sperren

Posted: Mon 10. Dec 2018, 17:20
by Matlock
Leider nur 1 GB garantiert.