Viele Server Administratoren kennen das Problem, man betreibt einen Server der zwingend von extern per SSH erreichbar sein soll und dann noch auf dem Standard Port.
Jetzt kann man hingehen und von Hand jede IP Range von den nicht gewünschten Länder per IPTables blockieren oder man öffnet nur das eigene Land. Je nach dem für was man sich entscheidet ist beides ein riesen aufwand den man mit einem kleinen Script vereinfachen kann.
Einrichtung
- Das Script per GIT Klonen und am besten direkt in das „/srv“ Verzeichnis
git clone http://git.onesystems.ch/system-tools/blocktraffic.git /srv/BlockTraffic
- Weiter muss das Script BlockTraffic.sh ausführbar gemacht werden
chmod +x /srv/BlockTraffic/BlockTraffic.sh
- Als letztes sollte noch ein Short Link erstellen werden damit das Script automatisch jede Woche ausgeführt wird
ln –sf /srv/BlockTraffic.sh /etc/cron.weekly/BlockTraffic
Konfiguration
Im Script selber kann jetzt bei der Variable „ISO“ angegeben werden welche Länder geblockt werden sollen. Eine Liste mit allen IP Ranges und die dazugehörenden Kürzel findet man auf folgender Seite:
https://files.onesystems.ch/ipblocks/
Als letztes kann das Script ausgeführt werden damit man nicht warten muss bis der Cron das Scripte ende Woche startet…
/srv/BlockTraffic.sh