IP-Adressen auf Apache HTTP Server-Ebene blockieren
Die meisten Web Application Firewalls (WAF) können Blockierungslisten von IP-Adressen. Wenn Sie jedoch den 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.
Beschreibung description
Umgebung
Adobe Experience Manager (AEM)
Problem
Wie blockieren Sie IP-Adressen auf Apache HTTP Server-Ebene (AEM Dispatcher), wenn auf Ihrer Site ein DoS-Angriff (Denial of Service), Spam oder ein Hack auftritt?
Auflösung resolution
Lösung
Die meisten Web Application Firewalls (WAF), wie z. B. Mod Security, können Blockierungslisten von IP-Adressen.
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.conf
auf Ihrem Server. -
Öffnen Sie die Datei in einem Editor und fügen Sie eine Location-Direktive hinzu, die alle verletzenden IPs daran hindert, auf die URLs zuzugreifen, die Sie blockieren möchten. Es gibt zwei Optionen für den Inhalt der Datei unten:
-
Wenn die Anforderung Proxys enthält (über CDN, Load Balancer usw.) und sich die IP des Remote-Benutzers nur in einer Kopfzeile wie
X-Forwarded-For
dann kann diese Konfiguration verwendet werden. Beachten Sie, dass diese Konfiguration nicht gilt, wenn dieremoteip_module
konfiguriert ist.code language-none <LocationMatch "/.*"> Order Allow,Deny Allow from all SetEnvif X-Forwarded-For "10\.42\.137\.123" DenyAccess SetEnvif X-Forwarded-For "122\.6\.218\.101" 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 remoteip_module verwenden (siehe
[
1]
), um sie in Apache zu extrahieren und festzulegen, können Sie dannmod_authz_core
s Require direkt Funktion (Apache 2.4):code language-none <LocationMatch "/.*"> <RequireAll> Require all granted Require not ip 10.42.137.123 Require not ip 122.6.218.101 #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>
-
-
Datei ablegen
block-offending-ips.conf
in/etc/conf.d
Ordner des Apache-Webservers. -
Starten Sie den Apache-HTTP-Server neu.