Dokumentation

Wie blockiert man IP-Adressen auf Apache HTTP-Server-Ebene?

Letzte Aktualisierung: 30. Dezember 2024

Erfahren Sie, wie Sie IP-Adressen auf Apache-HTTP-Server-Ebene blockieren. Erstellen Sie eine .conf-Datei mit den IPs, die im Ordner /etc/conf.d des Apache-Webservers blockiert werden sollen.

Beschreibung

Umgebung

Adobe Experience Manager

Probleme/Symptome

Auf unserer Website kommt es zu einem Denial-of-Service-Angriff, Spam oder Hacking. Wie blockiert man IP-Adressen auf Apache HTTP-Server-Ebene (AEM Dispatcher)?

Auflösung

Die meisten Web Application Firewalls (WAF), wie z. B. Mod-Sicherheit, können Blockierungslisten von IP-Adressen enthalten. Wenn Sie jedoch den Apache-HTTP-Server ausführen und IPs blockieren möchten, führen Sie die folgenden Schritte aus (für AEM as a Cloud Service nicht)

  1. Erstellen Sie eine Datei mit dem Namen block-offending-ips.conf auf Ihrem Server

  2. Ö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:
    A. 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-For befindet, kann diese Konfiguration verwendet werden. Beachten Sie, dass diese Konfiguration nicht zutrifft, wenn das Modul „remoteip_module“ konfiguriert ist.

    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
    

    B. Wenn der Remote-Benutzer direkt auf Apache zugreift oder Sie das Modul „remoteip_module“ verwenden (siehe [ 1] unten), um es zu extrahieren und in Apache festzulegen, können Sie die Funktion Require von mod_authz_core direkt verwenden (Apache 2.4).

    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] remoteIP_module

    # Extract true client IP from header added by load balancer/CDN
        IfModule remotetip module
        # valid for ELB or ELB+CloudFront
        RemoteIPHeader X-Forwarded-For
        IfModule
    
  3. Legen Sie die Datei block-offending-ips.conf im Ordner /etc/conf.d des Apache-Webservers ab.

  4. Starten Sie den Apache-HTTP-Server neu.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f