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:

  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:

    1. 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 die remoteip_module konfiguriert 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>
      
    2. 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 Sie mod_authz_core Funktion 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>
      
  3. Legen Sie die Datei block-offending-ips.conf in /etc/conf.d Ordner des Apache-Webservers ab.

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

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