Aller au contenu principal

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