GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Uso de Fail2ban para bloquear inicios de sesión incorrectos de ISPConfig

Uso de Fail2ban para bloquear inicios de sesión incorrectos de ISPConfig

En primer lugar:si no eres paranoico, no necesitas esto. ISPConfig hace un buen trabajo al bloquear cualquier inicio de sesión de usuario que falle más de cinco veces por minuto.

Por otro lado, es posible que desee ajustar esto un poco.

En este tutorial, escribiremos un complemento ISPConfig para registrar los inicios de sesión fallidos en syslog, filtrar esas entradas usando rsyslogd y agregar una regla fail2ban para bloquear las direcciones IP de los usuarios maliciosos.

De nuevo:tampoco necesitaríamos esta parte. Si establece el nivel de registro de ISPConfig en DEBUG, los inicios de sesión fallidos se registrarán de todos modos. Pero no queremos todo ese otro desorden, ¿verdad?

Entonces, primero necesitamos un complemento para registrar los inicios de sesión fallidos en 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 tiene una forma extraña de almacenar en caché sus complementos, por lo que es posible que desee borrar el caché de su navegador para su dominio ahora.

Ahora, no queremos eso en /var/log/syslog. Si su servidor está abarrotado, habrá un registro masivo allí y fail2ban no necesita filtrar toda esa basura.

Usemos rsyslogd para eso:

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

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

Ahora reinicie rsyslog
 

service rsyslog restart

Cree una regla de filtro fail2ban:

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

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

Pruébelo (debe intentar iniciar sesión con un nombre de usuario/contraseña falso para que esto muestre algo).

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

y agregue una cárcel a su /etc/fail2ban/jail.conf:

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

Reinicie fail2ban y listo.

service fail2ban restart

¡Diviértete!


Panels
  1. Cómo bloquear o deshabilitar los inicios de sesión de usuarios normales en Linux

  2. Cómo aparcar dominios usando ISPConfig

  3. Bloquear direcciones IP y países usando .htaccess

  4. ¿Cómo bloquear IP usando el archivo .htaccess?

  5. Bloquea los bots malos con Fail2ban

¿Cómo bloquear bots usando el archivo Robots.txt en cPanel?

Uso de WebDAV con ISPConfig 3 en Ubuntu 9.10

Uso de Pydio en una instalación multiservidor ISPConfig 3

Uso de RoundCube Webmail con ISPConfig 3 en Debian Wheezy (nginx)

¿Cómo bloquear una dirección IP usando .htaccess?

Cómo encriptar dispositivos de bloque usando LUKS en Linux