Comment bloquer les adresses IP au niveau du serveur Apache HTTP ?

Découvrez comment bloquer les adresses IP au niveau du serveur Apache HTTP. Créez un fichier .conf avec les adresses IP à bloquer dans le dossier /etc/conf.d du serveur web Apache.

Description description

Environnement

Adobe Experience Manager

Problèmes/Symptômes

Notre site subit une attaque par déni de service, du spam ou est piraté. Comment bloquer les adresses IP au niveau du serveur HTTP Apache (Dispatcher AEM) ?

Résolution resolution

La plupart des pare-feu d’applications web (WAF), tels que la sécurité mod, peuvent contenir des listes bloquées d’adresses IP. Cependant, si vous exécutez Apache HTTP Server et souhaitez bloquer les adresses IP, procédez immédiatement comme suit (non applicable sur AEM as a Cloud Service) :

  1. Créez un fichier nommé block-offending-ips.conf sur votre serveur.

  2. Ouvrez le fichier dans un éditeur et ajoutez une directive d’emplacement qui empêche toutes les adresses IP incriminées d’accéder aux URL que vous souhaitez bloquer. Il existe deux options pour le contenu du fichier ci-dessous :
    A. Si la requête est en proxy (via CDN, équilibreur de charge, etc.) et que l’adresse IP de l’utilisateur distant n’est que dans un en-tête tel que X-Forwarded-For, cette configuration peut être utilisée. Notez que cette configuration ne s’applique pas si le module remoteip_module est configuré.

    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
    

    B. Si l’utilisateur distant accède directement à Apache ou que vous utilisez remoteip_module (voir [ 1] ci-dessous) pour l’extraire et le définir dans Apache, vous pouvez alors utiliser directement la fonction Require de mod_authz_core (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] remoteip_module

    code language-none
    # 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. Déposez le fichier block-offending-ips.conf dans le dossier /etc/conf.d du serveur web Apache.

  4. Redémarrez le serveur Apache HTTP.

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