GeoLite2

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