Apache2 Ubuntu 20.04 GeoIP Blocking einrichten
Aus znilwiki
Changelog: 2021-01-30 erste Version
Vorwort
Ich setze für diverse Dienste/Programme/Zugriffe immer jeweils eine Subdomain ein.
Am Standort wo auch diese Webseite gehostet wird habe ich mehrere öffentliche IP-Adressen hinter einer pfSense Firewall.
Auf diese nutze ich schon seit Jahren ein GeoIP-Blocking und erlaube den Zugriff auf bestimmte Dienste z.B. nur aus Deutschland.
Zu Hause habe ich inzwischen auch eine feste IP-Adresse und auch dort einiges laufen was über diverse Subdomänen erreichbar ist.
Nur habe ich dort "nur" eine FritzBox dazwischen welche per NAT die Ports 80 und 443 auf einen internen Server mit einem Apache2 weiterleitet.
Dieser hostet einiges selbst bzw. dient als Reverse Proxy zu diversen anderen Diensten/Geräten.
Um auch hier den Zugriff einzuschränken brauchte ich also eine Lösung die auf dem Ubuntu-Server ansetzt statt auf dem Router/Firewall.
Ich arbeite hier immer als root, alle Befehle sind deshalb immer ohne sudo
davor, mit
sudo -i
könnt auch Ihr dauerhaft (für die Sitzung) zum root wechseln.
Zugriff auf MaxMind GeoIP Datenbank geolite2 erhalten
Zunächst brauchen wir eine Liste / Datenbank mit allen IP-Adressen und deren Zugehörigkeit zu den verschiedenen Ländern.
Ich setze hier die kostenlose Datenbank geolite2 von MaxMind ein, die wird etwa einmal in der Woche aktualisiert und dröselt die Adressen bis auf Ländereben auf was für unsere Zwecke reicht.
Zunächst müsst Ihr euch registrieren:
https://www.maxmind.com/en/geolite2/signup
Wenn Ihr euch danach erfolgreich angemeldet habt könnten Ihr in den Account-Einstellungen unter My License Key einen neuen Zugriffsschlüssel erstellen:
Vergebt einen passenden Namen (z.B. des Servers auf welchem Ihr das einsetzen wollt) und setzt die Einstellungen wie folgt:
Dann seht Ihr eine Seite wo euch der Key angezeigt wird - notiert auch die Daten, es gibt keine Möglichkeit sich das noch einmal anzeigen zu lassen !!!!!
Die Datei geoIP.conf
könnt auch gleich herunterladen und speichern.
GeoIP Update installieren und einrichten
MaxMind bietet ein Tool an welches automatisch die Datenbank herunterladen und aktualisieren kann - geoipupdate
.
Und für Ubuntu sogar als Repository so das man sich um Updates auch nicht extra manuell bemühen muss.
Wir fügen das Repository hinzu:
add-apt-repository ppa:maxmind/ppa
danach ein
apt update apt upgrade -y apt install geoipupdate