GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So richten Sie den GeoIP-Block mit Apache ein

Richten Sie GeoIP-basiertes Blockieren mit Apache auf Ubuntu oder Debian ein. Das GeoIP-Modul ermöglicht es dem Administrator, Datenverkehr basierend auf dem Standort zu blockieren oder umzuleiten.

In diesem Handbuch erfahren Sie, wie Sie das GeoIP-Modul installieren und konfigurieren, um bestimmte Länder zu blockieren.

Voraussetzungen

Apache installiert und konfiguriert. In dieser Anleitung erfahren Sie, wie Sie Apache2 installieren und konfigurieren.

GeoIP-Modul installieren

Installieren Sie das GeoIP-Modul für Apache mit dem folgenden Befehl.

sudo apt install libapache2-mod-geoip

Dieser Befehl installiert das erforderliche Modul für Apache.

GeoIP aktivieren

Es gibt 2 Methoden, um GeoIP zu aktivieren. Wenn Sie GeoIP serverweit aktivieren möchten, können Sie Methode 1 befolgen. Bei dieser Methode treten einige Leistungsprobleme auf.

Sie können GeoIP auch über Ihre virtuelle Hostkonfiguration aktivieren.

Methode 1 – Serverweite Konfiguration

Sobald das Modul installiert ist, bearbeiten Sie die Modulkonfiguration und nehmen Sie die unten aufgeführten Änderungen vor.

Bearbeiten Sie die Konfigurationsdatei des Dateimoduls.

sudo nano /etc/apache2/mods-available/geoip.conf
  • Setzen Sie die Zeile GeoIPEnable von Aus auf Ein .
  • Entkommentieren Sie die GeoIPDBFile Linie.

Ihre endgültige Datei sollte wie unten aussehen.

<IfModule mod_geoip.c>
  GeoIPEnable On
  GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
</IfModule>

Speichern und beenden Sie die Datei.

Modul aktivieren.

sudo a2enmod geoip

Methode 2 – Konfiguration des virtuellen Hosts

Da Sie das Modul installiert haben, sollten Sie auch die GeoIP-Datenbank installiert haben. Sie können also einfach Ihre Konfiguration des virtuellen Hosts bearbeiten und die folgenden Änderungen vornehmen.

Bearbeiten Sie Ihre Konfiguration des virtuellen Hosts.

sudo nano /etc/apache2/sites-available/virtualhost.conf

Fügen Sie Folgendes unter dem ServerAlias hinzu Richtlinie.

GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
GeoIPScanProxyHeaders On

Speichern und beenden Sie die Datei.

Apache neu starten

Überprüfen Sie, ob die Konfiguration korrekt ist, und starten Sie Apache neu.

sudo apachectl configtest
sudo service apache2 restart

Jetzt haben Sie GeoIP aktiviert.

Einschränkungen verwalten

Bestimmte Länder sperren

Erstellen oder öffnen Sie die .htaccess-Datei, die sich in Ihrem Web-Root-Verzeichnis befindet, und fügen Sie das folgende Snippet hinzu, um Länder zu blockieren.

SetEnvIf GEOIP_COUNTRY_CODE UA BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE VN BlockCountry
Deny from env=BlockCountry

Die obige Konfiguration blockiert Anfragen aus den oben genannten 2 Ländern. Sie können nach Ihren Wünschen hinzufügen.

Bestimmte Länder zulassen

Erstellen oder öffnen Sie die .htaccess-Datei, die sich in Ihrem Web-Root-Verzeichnis befindet, und fügen Sie das folgende Snippet hinzu, um Länder zuzulassen.

SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry
Deny from all

Allow from env=AllowCountry

Die obige Konfiguration erlaubt nur Anfragen aus den oben genannten 2 Ländern. Sie können nach Ihren Wünschen hinzufügen.

Sie finden die Liste der Ländercodes aus der offiziellen maxmind-Datenbank.

Schlussfolgerung

Jetzt haben Sie gelernt, wie Sie GeoIP-basierte Beschränkungen mit Apache auf Ihren Ubuntu- oder Debian-Servern konfigurieren.

Vielen Dank für Ihre Zeit. Wenn Sie auf ein Problem oder Feedback stoßen, hinterlassen Sie bitte unten einen Kommentar.


Linux
  1. So aktivieren Sie mod_rewrite auf Apache unter CentOS

  2. So richten Sie die grundlegende Authentifizierung in Apache mit .htaccess ein

  3. So installieren Sie phpMyAdmin unter Linux mithilfe des Quellcodes

  4. So richten Sie einen zentralen Protokollierungsserver mit Rsyslog ein

  5. So richten Sie eine Firewall mit FirewallD unter CentOS 8 ein

So installieren Sie Nginx mit dem GeoIP-Modul

So richten Sie WebDAV mit Apache unter CentOS 7 ein

Wie aktualisiere ich Apache mit EasyApache?

So richten Sie eine Subdomain mit cPanel ein

So richten Sie Nginx Cache auf einem LAMP-Server ein

Wie blockiere ich eine IP-Adresse mit .htaccess?