GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Panels

Verwenden von Fail2ban zum Blockieren falscher ISPConfig-Anmeldungen

Fail2ban verwenden, um falsche ISPConfig-Anmeldungen zu blockieren

Zunächst einmal:Wenn Sie nicht paranoid sind, brauchen Sie das nicht. ISPConfig leistet hervorragende Arbeit, um alle Benutzeranmeldungen zu blockieren, die mehr als fünf Mal pro Minute fehlschlagen.

Andererseits möchten Sie vielleicht in der Lage sein, dies ein wenig zu verfeinern.

In diesem Tutorial schreiben wir ein ISPConfig-Plugin, um fehlgeschlagene Anmeldungen in Syslog zu protokollieren, filtern diese Einträge mit rsyslogd und fügen eine fail2ban-Regel hinzu, um die IPs böswilliger Benutzer zu blockieren.

Nochmal:Auch dieses Teil bräuchten wir nicht. Wenn Sie den Loglevel von ISPConfig auf DEBUG setzen, werden fehlgeschlagene Anmeldungen trotzdem protokolliert. Aber wir wollen den ganzen anderen Kram nicht, oder?

Wir brauchen also ein Plugin, um zuerst fehlgeschlagene Anmeldungen in Syslog zu protokollieren:

~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 hat eine seltsame Art, seine Plugins zwischenzuspeichern, daher sollten Sie jetzt vielleicht Ihren Browser-Cache für Ihre Domain löschen.

Nun, wir wollen das nicht in /var/log/syslog. Wenn Ihr Server überfüllt ist, wird dort massiv geloggt und fail2ban muss diesen ganzen Mist nicht filtern.

Verwenden wir dafür rsyslogd:

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

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

Starten Sie nun rsyslog neu
 

service rsyslog restart

Erstellen Sie eine fail2ban-Filterregel:

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

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

Testen Sie es (Sie sollten versuchen, sich mit einem falschen Benutzernamen/Passwort anzumelden, damit dies etwas anzeigt).

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

und fügen Sie Ihrer /etc/fail2ban/jail.conf ein Jail hinzu:

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

Fail2ban neu starten und fertig.

service fail2ban restart

Viel Spaß!


Panels
  1. So parken Sie Domains mit ISPConfig

  2. Blockieren Sie eine IP oder einen IP-Bereich mithilfe der Windows-IP-Sicherheitsrichtlinie

  3. Wie blockiere ich IP mit der .htaccess-Datei?

  4. So richten Sie den GeoIP-Block mit Apache ein

  5. Mit sed einen Textblock entfernen

Wie blockiere ich Bots mit der Robots.txt-Datei in cPanel?

Verwenden von WebDAV mit ISPConfig 3 unter Ubuntu 9.10

Verwenden von Pydio in einer ISPConfig 3 Multiserver-Installation

Verwenden von RoundCube-Webmail mit ISPConfig 3 auf Debian Wheezy (nginx)

Wie blockiere ich eine IP-Adresse mit .htaccess?

So verschlüsseln Sie Blockgeräte mit LUKS unter Linux