GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Utilisation de Fail2ban pour bloquer les mauvaises connexions ISPConfig

Utilisation de Fail2ban pour bloquer les mauvaises connexions ISPConfig

Tout d'abord :si vous n'êtes pas paranoïaque, vous n'en avez pas besoin. ISPConfig fait un excellent travail pour bloquer les connexions des utilisateurs qui échouent plus de cinq fois par minute.

D'un autre côté, vous voudrez peut-être pouvoir affiner un peu cela.

Dans ce didacticiel, nous allons écrire un plug-in ISPConfig pour consigner les échecs de connexion à syslog, filtrer ces entrées à l'aide de rsyslogd et ajouter une règle fail2ban pour bloquer les adresses IP des utilisateurs malveillants.

Encore une fois:nous n'aurions pas besoin de cette partie non plus. Si vous définissez le niveau de journalisation d'ISPConfig sur DEBUG, les échecs de connexion seront de toute façon enregistrés. Mais nous ne voulons pas de tout ce fouillis, n'est-ce pas ?

Nous avons donc besoin d'un plugin pour enregistrer d'abord les échecs de connexion à syslog :

~ispconfig/interface/lib/plugins/login_fail2ban_plugin.inc.php

class login_fail2ban_plugin { 
var $plugin_name = 'login_fail2ban_plugin';
var $class_name = 'login_fail2ban_plugin';
function onLoad() {
global $app;
$app->plugin->registerEvent('login_failed',$this->plugin_name,'log_fail');
}
function log_fail($event_name,$data) {
openlog("ispconfig", LOG_PID | LOG_PERROR, LOG_LOCAL0);
syslog(LOG_WARNING, "Login failed for user ".$_POST['username']." on IP ".$_SERVER['REMOTE_ADDR']);
}
}

ISPConfig a une étrange façon de mettre en cache ses plugins, vous voudrez peut-être vider le cache de votre navigateur pour votre domaine maintenant.

Maintenant, nous ne voulons pas cela dans /var/log/syslog. Si votre serveur est encombré, il y aura une journalisation massive et fail2ban n'a pas besoin de filtrer toutes ces conneries.

Utilisons rsyslogd pour cela :

/etc/rsyslog.d/12-ispconfig.conf

if $programname == 'ispconfig' then /var/log/ispconfig.log

Maintenant, redémarrez rsyslog
 

service rsyslog restart

Créez une règle de filtrage fail2ban :

/etc/fail2ban/filter.d/ispconfig.conf

[Definition]
failregex = (.*) Login failed for user (.*) on IP <HOST>
ignoreregex =

Testez-le (vous devriez essayer de vous connecter avec un faux nom d'utilisateur/mot de passe pour que cela s'affiche).

fail2ban-regex /var/log/ispconfig.log /etc/fail2ban/filter.d/ispconfig.conf

et ajoutez une jail à votre /etc/fail2ban/jail.conf :

[ispconfig]
enabled = true
port = http,https
filter = ispconfig
logpath = /var/log/ispconfig.log

Redémarrez fail2ban et vous avez terminé.

service fail2ban restart

Amusez-vous !


Panels
  1. Comment bloquer ou désactiver les connexions utilisateur normales sous Linux

  2. Comment parquer des domaines à l'aide d'ISPConfig

  3. Comment configurer le bloc GeoIP à l'aide d'Apache

  4. Fail2Ban Howto :Bloquer l'adresse IP à l'aide de Fail2ban et IPTables

  5. Utiliser sed pour supprimer un bloc de texte

Comment bloquer les bots à l'aide du fichier Robots.txt dans cPanel ?

Utilisation de WebDAV avec ISPConfig 3 sur Ubuntu 9.10

Utilisation de Pydio dans une installation multiserveur ISPConfig 3

Utilisation de la messagerie Web RoundCube avec ISPConfig 3 sur Debian Wheezy (nginx)

Comment bloquer une adresse IP en utilisant .htaccess ?

Comment chiffrer les périphériques de bloc à l'aide de LUKS sous Linux