fail2ban _설치 환경설정

6. Systemhärtung (fail2ban (alternativ „crowdsec IPS„) und ufw)

Zuerst installieren wir fail2ban (alternativ crowdsec IPS) um den Server gegen Brute-force-Attacken und fehlerhafte Loginversuche zu schützen:

apt update && apt install -y fail2ban && systemctl enable fail2ban.service

Erstellen Sie eine neue Filterdatei und befüllen diese wie nachfolgend beschrieben (» codeberg: https://codeberg.org/criegerde/nextcloud/src/branch/master/etc/fail2ban/filter.d/nextcloud.conf):

touch /etc/fail2ban/filter.d/nextcloud.conf

Kopieren Sie alles von „cat …“ bis „… EOF“ in Ihre Zwischenablage und fügen es dann in die Shell ein:

cat <<EOF >/etc/fail2ban/filter.d/nextcloud.conf
[Definition]
_groupsre = (?:(?:,?\s*"\w+":(?:"[^"]+"|\w+))*)
failregex = ^\{%(_groupsre)s,?\s*"remoteAddr":"<HOST>"%(_groupsre)s,?\s*"message":"Login failed:
            ^\{%(_groupsre)s,?\s*"remoteAddr":"<HOST>"%(_groupsre)s,?\s*"message":"Trusted domain error.
datepattern = ,?\s*"time"\s*:\s*"%%Y-%%m-%%d[T ]%%H:%%M:%%S(%%z)?"
EOF

Bestätigen Sie mit <ENTER> um die Datei zu befüllen. Das Ergebnis sieht im Anschluß wie folgt aus:

cat /etc/fail2ban/filter.d/nextcloud.conf
zur Kontrolle: cat /etc/fail2ban/filter.d/nextcloud.conf

Legen Sie nun eine neue Jail-Datei an (» codeberg: https://codeberg.org/criegerde/nextcloud/src/branch/master/etc/fail2ban/jail.d/nextcloud.local):

nano /etc/fail2ban/jail.d/nextcloud.local

Kopieren Sie alle nachfolgenden Zeilen hinein:

[nextcloud]
backend = auto
enabled = true
port = 80,443
protocol = tcp
filter = nextcloud
maxretry = 5
bantime = 3600
findtime = 36000
logpath = /var/log/nextcloud/nextcloud.log 

Mit den zuvor dargestellten Parameteren wird nach 5 fehlerhaften Anmeldeversuchen (maxretry) innerhalb der letzten 36000 Sekunden (findtime, das entspricht 10h) die IP des potentiellen Angreifers für einen Zeitraum von 3600 Sekunden (bantime, enspricht 1h) gesperrt.

Starten Sie fail2ban neu und überprüfen den fail2ban-status:

systemctl restart fail2ban.service
fail2ban-client status nextcloud

Ab sofort werden IP-Adressen, von denen 5 oder mehr fehlerhafte Anmeldeversuche innerhalb der letzten 10h ausgegangen sind für 1h gesperrt und Ihr Server somit vor weiteren Attacken geschützt. Wenn Sie die Sperre manuell testen wollen und die resultierende Sperre Ihrer IP respektive bereits gesperrte IPs entsperren wollen, so führen Sie zuerst diesen Befehl aus,

fail2ban-client status nextcloud

um sich die gesperrten IP-Adressen anzeigen zu lassen. Die dargestellte(n) IP(s) können Sie mittels des nachfolgenden Befehls entsperrren:

fail2ban-client set nextcloud unbanip <ip-adresse>

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다