GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So schützen Sie Ihren Server mit badIPs.com und melden IPs mit Fail2ban unter Debian

Diese Anleitung dokumentiert den Prozess der Verwendung des Missbrauchs-Trackers von badips in Verbindung mit Fail2ban zum Schutz Ihres Servers oder Computers. Ich habe es auf einem Debian 8 Jessie- und Debian 7 Wheezy-System getestet.

Was ist BadIPs?

BadIps ist eine Auflistung von IPs, die in Kombination mit fail2ban als schlecht gemeldet wurden.

Dieses Tutorial besteht aus zwei Teilen, der erste befasst sich mit der Verwendung der Liste und der zweite mit der Einspeisung von Daten.


Verwenden Sie die BadIPs-Liste

Definieren Sie Ihre Sicherheitsstufe und -kategorie

Sie können die IP-Adressliste abrufen, indem Sie einfach die REST-API verwenden.

Wenn Sie diese URL ERHALTEN: https://www.badips.com/get/categories
Sie sehen alle verschiedenen Kategorien, die im Dienst vorhanden sind.

  • Zweiter Schritt, bestimmen Sie die Hexenpunktzahl, die für Sie erstellt wurde.
    Hier ein Zitat von Badips, das helfen sollte (persönlich habe ich Punktzahl =3 genommen):
  • Wenn Sie eine Statistik erstellen oder die Daten für ein Experiment usw. verwenden möchten, können Sie mit Punktzahl 0 beginnen.
  • Wenn Sie Ihren privaten Server oder Ihre Website durch eine Firewall schützen möchten, wählen Sie Punktzahlen ab 2. Vielleicht in Kombination mit Ihren eigenen Ergebnissen, auch wenn sie keine Punktzahl über 0 oder 1 haben.
  • Wenn Sie einen Webshop oder stark frequentierten, Geld verdienenden E-Commerce-Server schützen möchten, empfehlen wir Werte von 3 oder 4 zu verwenden. Vielleicht auch in Kombination mit Ihren eigenen Ergebnissen (Schlüssel / Synchronisierung).
  • li>
  • Wenn Sie paranoid sind, nehmen Sie 5.

Nachdem Sie nun Ihre beiden Variablen erhalten haben, erstellen wir Ihren Link, indem wir sie verketten und Ihren Link abrufen.

http://www.badips.com/get/list/{{SERVICE}}/{{LEVEL}}

Hinweis:Wie ich können Sie alle Dienste in Anspruch nehmen. Ändern Sie in diesem Fall den Namen des Dienstes in "beliebig".

Die resultierende URL lautet:

https://www.badips.com/get/list/any/3

Erstellen wir das Skript

In Ordnung, wenn das erledigt ist, erstellen wir ein einfaches Skript.

  1. Stellen Sie unsere Liste in eine temporäre Datei.
  2. Erstelle (nur einmal) eine Kette in iptables.
  3. Löschen Sie alle mit unserer Kette verknüpften Daten (alte Einträge).
  4. Wir werden jede IP mit unserer neuen Kette verknüpfen.
  5. Wenn es fertig ist, blockieren Sie alle INPUT / OUTPUT / FORWARD, die mit unserer Kette verknüpft sind.
  6. Entfernen Sie unsere temporäre Datei.

Jetzt erstellen wir das Skript dafür:

cd /home/<user>/
vi myBlacklist.sh

Geben Sie den folgenden Inhalt in diese Datei ein.

#!/bin/sh
# based on this version http://www.timokorthals.de/?p=334
# adapted by Stéphane T.

_ipt=/sbin/iptables    # Location of iptables (might be correct)
_input=badips.db       # Name of database (will be downloaded with this name)
_pub_if=eth0           # Device which is connected to the internet (ex. $ifconfig for that)
_droplist=droplist     # Name of chain in iptables (Only change this if you have already a chain with this name)
_level=3               # Blog level: not so bad/false report (0) over confirmed bad (3) to quite aggressive (5) (see www.badips.com for that)
_service=any           # Logged service (see www.badips.com for that)

# Get the bad IPs
wget -qO- http://www.badips.com/get/list/${_service}/$_level > $_input || { echo "$0: Unable to download ip list."; exit 1; }

### Setup our black list ###
# First flush it
$_ipt --flush $_droplist

# Create a new chain
# Decomment the next line on the first run
# $_ipt -N $_droplist

# Filter out comments and blank lines
# store each ip in $ip
for ip in `cat $_input`
do
# Append everything to $_droplist
$_ipt -A $_droplist -i ${_pub_if} -s $ip -j LOG --log-prefix "Drop Bad IP List "
$_ipt -A $_droplist -i ${_pub_if} -s $ip -j DROP
done

# Finally, insert or append our black list
$_ipt -I INPUT -j $_droplist
$_ipt -I OUTPUT -j $_droplist
$_ipt -I FORWARD -j $_droplist

# Delete your temp file
rm $_input
exit 0

Wenn das erledigt ist, sollten Sie einen Cronjob erstellen, der unsere schwarze Liste aktualisiert.

Dafür habe ich crontab verwendet und das Skript jeden Tag um 23:30 Uhr ausgeführt (kurz vor meiner verzögerten Sicherung).

crontab -e
23 30 * * * /home/<user>/myBlacklist.sh #Block BAD IPS

Vergessen Sie nicht, Ihr Skript zu ändern:

chmod + x myBlacklist.sh

Jetzt, wo das erledigt ist, sollte Ihr Server/Computer etwas sicherer sein.

Sie können das Skript auch wie folgt manuell ausführen:

cd /home/<user>/
./myBlacklist.sh

Es sollte einige Zeit dauern ... also brechen Sie nicht das Skript. Tatsächlich liegt der Wert davon in den letzten Zeilen.

IP-Adressen mit Fail2ban an badIPs melden

Im zweiten Teil dieses Tutorials zeige ich Ihnen, wie Sie mit Fail2ban bd-IP-Adressen direkt an die Website badips.com melden.

Fail2ban>=0.8.12

Das Reporting erfolgt mit Fail2ban. Abhängig von Ihrer Fail2ban-Version müssen Sie den ersten oder zweiten Abschnitt dieses Kapitels verwenden. Wenn Sie fail2ban in Version 0.8.12 haben.

Wenn Sie die fail2ban-Version 0.8.12 oder höher haben.

fail2ban-server --version

Fügen Sie in jeder Kategorie, die Sie melden, einfach eine Aktion hinzu.

[ssh]
enabled = true
action = iptables-multiport
badips[category=ssh]
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry= 6

Wie Sie sehen können, ist die Kategorie SSH, schauen Sie hier (https://www.badips.com/get/categories), um die richtige Kategorie zu finden.

Fail2ban < 0.8.12

Wenn die Version jünger als 0.8.12 ist, müssen Sie eine Aktion erstellen. Diese kann hier heruntergeladen werden: https://www.badips.com/asset/fail2ban/badips.conf.

wget https://www.badips.com/asset/fail2ban/badips.conf -O /etc/fail2ban/action.d/badips.conf

Mit der obigen badips.conf können Sie entweder wie oben pro Kategorie oder global aktivieren:

cd /etc/fail2ban/
vi jail.conf
[DEFAULT]

...

banaction = iptables-multiport
badips

Starten Sie jetzt fail2ban neu - es sollte von nun an mit der Berichterstattung beginnen.

service fail2ban restart

Statistiken Ihrer IP-Berichte


Letzter Schritt – nicht wirklich nützlich… Sie können einen Schlüssel erstellen.
Dieser ist nützlich, wenn Sie Ihre Daten sehen möchten.
Einfach kopieren / einfügen und eine JSON-Antwort wird auf Ihrem erscheinen Konsole.

wget https://www.badips.com/get/key -qO -
{
  "err":"",
  "suc":"new key 5f72253b673eb49fc64dd34439531b5cca05327f has been set.",
  "key":"5f72253b673eb49fc64dd34439531b5cca05327f"
}

Gehen Sie dann auf die badips-Website, geben Sie Ihren „Schlüssel“ ein und klicken Sie auf „Statistik“.

Los geht's ... all Ihre Statistiken nach Kategorie.


Debian
  1. Erhöhen Sie Ihre IPv4-Sicherheit mit Fail2Ban und Tinyhoneypot auf Debian Jessie

  2. So installieren Sie den vsftpd-FTP-Server und sichern ihn mit TLS unter Debian 11

  3. So installieren Sie Spamassassin mit Postfix und Dovecot auf Ubuntu/Debian Server

  4. So konfigurieren Sie eine Firewall mit CSF unter Debian 9

  5. So schützen Sie Apache und SSH mit Fail2Ban unter CentOS 8

So richten Sie NTP-Server und -Client unter Debian 11 ein

So konfigurieren Sie LAMP mit Debian 11

So konfigurieren Sie Bind mit Debian 11

So konfigurieren Sie Samba Server mit Debian 11

So installieren Sie Nginx mit PHP-FPM unter Debian 11

So installieren und aktivieren Sie den SSH-Server unter Debian 10