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) :
-
Créez un fichier nommé
block-offending-ips.conf
sur votre serveur. -
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_modulecode 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
-
Déposez le fichier block-offending-ips.conf dans le dossier /etc/conf.d du serveur web Apache.
-
Redémarrez le serveur Apache HTTP.