Suite à une #attaque de #scripts bastonnant le serveur de seenthis, j’ai écrit ce petit module pour #fail2ban : apache-kiddies
Le module lui-même contient des morceaux d’URLs appelés par le robot, et qui n’ont guère de sens sur notre serveur.
/etc/fail2ban/filter.d/apache-kiddies.conf :
scriptz = act=phpinfo|DotNetInfo\.aspx|wwwroot\.rar|backup\.rar|config\.php|tz\.jsp|Entries|hgrc|config|server-status|access\.log|error\.log|md5\(1985\)|the_file_that_should_never_exist_on_server\.php|act=verify|file_download\.jsp|login\.jsp|admin_login\.asp|login\.php|login\.cfm|AspCms_AboutFun_user\.asp|JMXInvokerServlet|file_get_contents|byrtjwaz\.jsp|tagkey|class\.classLoader\.jarPath|test\.jsp|webRootzpro
failregex = ^<HOST> -."(GET|POST).(?:%(scriptz)s)
/etc/fail2ban/jail.conf :
[apache-kiddies]
enabled = true
port = http,https
filter = apache-kiddies
logpath = /var/log/apache*/*access.log
maxretry = 6
–---
Avant de choisir de l’activer (enabled=true ci-dessus), vous pouvez tester avec :
# fail2ban-regex /var/log/apache2/access.log /etc/fail2ban/filter.d/apache-kiddies.conf
(Si vous voulez essayer, tapez des urls correspondant à ces morceaux de code ; au bout de 6, votre IP sera banni… puis réhabilitée après 10 minutes.)
Ma question : comment se fait-il que je n’aie pas trouvé de module déjà fait (et mieux testé) sur google ni surtout sur #github ?
(ps : je suis curieux de the_file_that_should_never_exist_on_server.php)