Blockieren von IP-Adressen auf Apache-HTTP-Server-Ebene
Die meisten Web-Anwendungs-Firewalls (WAF) können Blockierungslisten von IP-Adressen verwenden. Wenn Sie jedoch Apache HTTP Server ausführen und IPs sofort blockieren möchten, führen Sie die Schritte im Artikel aus, um eine Zugriffsliste zu erstellen oder die Require-Funktion von Apache zu verwenden.
Beschreibung description
Umgebung
Adobe Experience Manager (AEM)
Problem
Wie blockiert man IP-Adressen auf Apache HTTP Server (AEM Dispatcher)-Ebene, wenn auf der Website DoS-Angriffe, Spam oder Hacker stattfinden?
Auflösung resolution
Die meisten Web Application Firewalls (WAF), wie z. B. Mod-Sicherheit, können Blockierungslisten von IP-Adressen enthalten.
Wenn Sie jedoch Apache HTTP Server ausführen und IPs sofort blockieren möchten, führen Sie die folgenden Schritte aus:
-
Erstellen Sie eine Datei mit dem Namen
block-offending-ips.confauf Ihrem Server. -
Öffnen Sie die Datei in einem Editor und fügen Sie eine Location-Direktive hinzu, die alle fehlerhaften IPs daran hindert, auf die gewünschten URLs zuzugreifen. Es gibt zwei Optionen für den Inhalt der Datei unten:
-
Wenn die Anfrage über einen Proxy erfolgt (über CDN, Load Balancer usw.) und sich die IP des Remote-Benutzers nur in einer Kopfzeile wie
X-Forwarded-Forbefindet, kann diese Konfiguration verwendet werden. Beachten Sie, dass diese Konfiguration nicht zutrifft, wenn dieremoteip_modulekonfiguriert ist.code language-none <LocationMatch "/.*"> Order Allow,Deny Allow from all SetEnvif X-Forwarded-For "123\.123\.123\.123" DenyAccess #Repeat the "SetEnvlf X-Forwarded-For ..." for each IP you want to block Deny from env=DenyAccess </LocationMatch> -
Wenn der Remote-Benutzer direkt auf Apache zugreift oder Sie das Modul „remoteip_module“ verwenden (siehe
[1]), um es zu extrahieren und in Apache festzulegen, können Siemod_authz_coreFunktion Require direkt verwenden (Apache 2.4):code language-none <LocationMatch "/.*"> <RequireAll> Require all granted Require not ip 123.123.123.123 #Repeat the "Require not ip ..." for each IP you want to block </RequireAll> ></LocationMatch><[ 1]code language-none # Extract true client IP from header added by load balancer/CDN <IfModule remoteip_module> # valid for ELB or ELB+CloudFront RemoteIPHeader X-Forwarded-For </IfModule>
-
-
Legen Sie die Datei
block-offending-ips.confin/etc/conf.dOrdner des Apache-Webservers ab. -
Starten Sie den Apache-HTTP-Server neu.