Configuration (suite)
filter.d/
Ce répertoire est rempli de filtres pour des services de toutes sortes, surtout pour Apache, le serveur Web.
- Je n'ai rien trouvé qui me satisfaisait dans ce répertoire, étant donné que la majorité des attaques se faisaient au moyen de la requête "POST / xmlrpc.php HTTP/1.1" qui sert à faire des modifications dans les pages du site à l'aide du courriel
- Ces requêtes ne génèrent aucun message d'erreur.
- La majorité des filtres préétablis s'appliquent aux messages d'erreur.
- J'ai donc décidé de créer mon propre filtre pour Apache.
- Après de nombreux essais et erreurs (je ne suis pas un spécialiste des expressions régulières), je suis arrivé à ceci :
failregex = ^<HOST>.*"POST /xmlrpc.php HTTP.*
^<HOST>.*"GET / .*
J'ai utilisé un fichier existant, j'ai remplacé le contenu de la définition par ce qui précède et je l'ai nommé apache-post.conf.
jail.d/
Au départ, ce répertoire est vide, du moins dans le cas de la distribution Gentoo. C'est dans ce répertoire que j'ai créé le fichier apache.conf :
[apache-post-clg]
enabled = true (prison activée)
filter = apache-post (filter.d/apache-post.conf)
action = iptables[name=APACHE, port=http, protocol=tcp]
(action.d/iptables.conf) port = http,https logpath = /var/log/apache2/clo_access_log (le journal d'accès au serveur, et non pas le journal d'erreurs)
maxretry = 10 (nombre d'essais maximal)
findtime = 60 (période de temps durant laquelle le nombre d'essais sont effectués -- pourrait être plus courte)
bantime = 432000 (période de temps pendant laquelle l'adresse offensante sera bannie -- 5 jours)
[apache-post-securinux] enabled = true
filter = apache-post
action = iptables[name=APACHE, port=http, protocol=tcp] port = http,https]
logpath = /var/log/apache2/tux_access
log maxretry = 10
findtime = 60
bantime = 432000