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)
Mit freundlichen Grüßen
OlliTheDarkness
**************************************************************
Helden leben lange, Legenden sterben nie
World Hack Organization
**************************************************************