Environnement
Adobe Experience Manager
Problème
Lorsque votre site subit une attaque par déni de service (DoS), du spam ou est piraté, comment bloquez-vous les adresses IP au niveau du serveur HTTP Apache (AEM Dispatcher) ?
Solution
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 immédiatement les adresses IP, procédez comme suit :
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 :
Si la requête est en proxy (via CDN, équilibreur de charge, etc.) et l’adresse IP de l’utilisateur distant n’est que dans un en-tête tel que X-Forwarded-For
cette configuration peut ensuite être utilisée. Notez que cette configuration ne s’applique pas si la variable remoteip_module
est configuré.
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
Sinon, si l’utilisateur distant accède directement à Apache ou si vous utilisez remoteip_module (voir 1) pour l’extraire et le définir dans Apache, vous pouvez utiliser mod_authz_core
's Require fonctionnalité directement (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
# 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
Déposer le fichier block-offending-ips.conf
in /etc/conf.d
du serveur Web Apache.
Redémarrez le serveur Apache HTTP.