TODO: GeoLite2 noch nicht aktiv, und update ungeklärt
Immer mehr Hacker Angriffe kommen aus China. Der Versuch, IP-Adressen aus dem fernen Land zu blocken brachte mich zu MAXMIND und deren Datenbank (GeoLite2 Country). Man muss erst ein Konto erstellen, um die Datenbank herunterladen zu können. Am Mac muss man dann noch die entsprechende Library installieren
brew install libmaxminddb
Dann kann man eine IP wie folgt abfragen
mmdblookup --file /path/to/file.mmdb --ip 1.2.3.4
Es kommt ein JSON Ergebnis raus. Das kann man noch einschränken, z.B. auf Asien mittels
mmdblookup --file /path/to/file.mmdb --ip 1.2.3.4 continent code
Das wäre im Falle der 1.2.3.4 dann
"OC" <utf8_string>
Jetzt muss man das nur noch irgendwo einbauen…
Nachdem in OS X die hosts.deny ignoriert und durch pfctl ersetzt wurde, klappt nachfolgendes nicht mehr
In /etc/hosts.deny add the line: sshd: ALL and in /etc/hosts.allow add the line sshd: ALL: aclexec /usr/local/bin/sshfilter.sh %a
EmergencyThreads sollte ich mir anschauen, habe aber nicht die Datei gefunden, die ich einbauen kann (die angegebene ist alt). https://www.amsys.co.uk/wp-content/uploads/Using-the-Lion-pf-firewall-with-the-Emerging-Threats-list.pdf
Direkt in pf geht es wohl nicht, ein script aufzurufen. Entweder eine andere Lösung, oder den Aufruf direkt in fail2ban und sshblack einbauen. Dort dann schon beim ersten Zugriff auf ssh oder html prüfen.
Fehlt aber noch der regelmäßige Update der Datenbank…
Stand November 2020