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.
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: