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:

  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 verletzenden IPs daran hindert, auf die URLs zuzugreifen, die Sie blockieren möchten.  Es gibt zwei Optionen für den Inhalt der Datei unten:

    1. 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 die remoteip_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>
      
    2. 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 dann mod_authz_cores 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>
      
  3. Datei ablegen block-offending-ips.conf in /etc/conf.d Ordner des Apache-Webservers.

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

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