Schlagwort-Archive: iptables firewall

iptables ist ein Userspace-Programm zur Konfiguration der Tabellen (tables), die durch die Firewall im Linux-Kernel bereitgestellt werden.

Fail2ban gegen Brute-Force Attacken

Brute-Force Attacken blockieren mit Fail2ban

Fail2ban gegen Brute-Force Attacken

Fail2ban scannt Log-Dateien (zB. /var/log/apache/error_log) und verbietet IPs, die verwundbare anfragen enthalten und verhindert die suche nach Exploits, um die Systeme zu infizieren und zu kompromittieren versuchen. Im Allgemeinen wird das „Fehlschlag zu Bann“ Framework verwendet, um Firewall-Regeln zu aktualisieren, als Intrusion Prevention System (Framework zur Vorbeugung gegen Einbrüche). Um die Herkunft der IP-Adressen für eine bestimmte Zeit abzulehnen, wobei andere Dienste ihre Funktion wie zB. der Mail Transport Agent weiterhin Emails verarbeiten werden.

Fail2Ban ist freie Software unter GNU General Public License Version 2 und kommt Out-of-the-Box, der Filter ist für verschiedene Dienste wie Apache, Bind, Postfix, SSH etc. einsetzbar. Fail2ban ist in der Lage, die Rate der falsch-Authentifizierungen, die Brute-Force Attacken zu reduzieren, versucht aber nicht das Risiko schwacher Authentifizierung zu beseitigen.

Installation

Als erstes wird das Packet aus dem Fedora repo installiert und gleich gestartet, hier auf einem Fedora Linux.

$ wget https://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
$ rpm -ivh epel-release-5-4.noarch.rpm
$ yum repolist
$ yum install fail2ban
$ systemctl start fail2ban

Falls nicht schon vorhanden die Log-Datei erstellen:

$ mkdir /var/named/chroot/var/log/named
$ touch /var/named/chroot/var/log/named/security.log
$ chown named /var/named/chroot/var/log/named

Fail2ban Konfiguration

Nun editieren wir die Konfiguration:

$ vi /etc/fail2ban/jail.conf

Hier in diesem Beispiel der Bind Daemon:

bantime = 1440

enabled = true logpath = /var/named/chroot/var/log/named/security.log

enabled = true logpath = /var/named/chroot/var/log/named/security.log

$ vi /etc/named.conf

Den folgenden Inhalt einfügen.

logging {
 channel security_file { 
 file "/var/log/named/security.log" versions 3 size 30m;
  severity dynamic;
  print-time yes;
  };
  category security {
   security_file;
 };
};

Bind named erneut starten.

$ systemctl restart named

Im security-Log von named werden abgelehnte anfragen protokolliert.

$ tail -f /var/named/chroot/var/log/named/security.log
23-Jan-2010 07:19:56.534 client 10.1.162.1#28320: query (cache) './NS/IN' denied

Die letzten fail2ban Einträge anzeigen.

$ tail /var/log/messages
Sep  6 14:21:35 ns2 fail2ban.actions: WARNING [named-refused-tcp] Ban 10.1.162

Die durch fail2ban eingefügten iptables ketten ausgeben.

$ iptables -L -n |grep fail2ban