Kopano4s / WebApp / z-push / Fail2ban

sky63

Benutzer
Mitglied seit
19. Okt 2017
Beiträge
467
Punkte für Reaktionen
73
Punkte
28
Hallo zusammen,

hat jemand fail2ban in Zusammenhang mit der WebApp und z-push sinnvoll laufen und kann mir mal schreiben wie er das gelöst hat?

danke und gruss,
sky
 

Tosoboso

Benutzer
Mitglied seit
27. Aug 2012
Beiträge
1.256
Punkte für Reaktionen
52
Punkte
74
Hi, vorab es gibt Teile der Lösung es ist leider nicht trivial:
1) Die echte IP Adresse wird im Docker-Container maskiert, das habe ich aber schon gelöst: https://forum.kopano.io/topic/2172/...g-kopano-web-behind-reverse-proxy-in-docker/1
Das funktioniert auch für Z-Push, da hier ein eigener Error-Log geschrieben wird, aber m.W. noch nicht in WebApp.Z-Push und fail2ban: https://wiki.z-hub.io/display/ZP/Fail2Ban+support
2) Synology ist etwas speziell in der Lösung beim IP Blocken und mit IP Tables geht das nicht so simpel. Auch da ist die Lösung: kopano4s-autoblock, das von fail2ban aufgerufen wird (Feature: https://www.synology-forum.de/showthread.html?80679-Automatischer-Import-einer-Blockliste)
3) Der Block kann / soll nicht im Docker-Container, sondern auf Synology Ebene erfolgen. Der Teil ist noch nicht implementiert. Konzept siehe hier: https://www.the-lazy-dev.com/en/install-fail2ban-with-docker/
Im Endeffekt braucht man ein fail2ban integriert in das k4s, oder als extra Paket, was beim Bannen nicht IP Tables, sondern ein Program aufruft, das den Autoblock macht => kopano4s-autoblock
EDIT Hier noch ein älteres HowTo von 2016 zu Fail2Ban auf der Synology. Soweit ich weiß funktioniert das aber mit IP Tables bzw. Route nicht mehr: http://www.iholken.com/index.php/20...-for-web-services-like-owncloud-or-wordpress/.
Dann noch standalone Fail2Ban nach Wiki: https://github.com/fail2ban/fail2ba...ersion-resp.-use-fail2ban-standalone-instance

Wieviel Erfahrung hast du mit Fail2Ban zwecks Teamwork? Es mit Python auf der Synology ans Laufen zu bringen, sollte übersichtlich sein, dann muss man sich in die Fail2Ban Aufruflogik reinfuchsen zwecks Aufruf externes Programm und zum Abschluss kann ich das in ein Synology Paket verpacken..
-TosoBoso
 
Zuletzt bearbeitet:

sky63

Benutzer
Mitglied seit
19. Okt 2017
Beiträge
467
Punkte für Reaktionen
73
Punkte
28
Wieviel Erfahrung hast du mit Fail2Ban zwecks Teamwork?
Eher wenig, aber das ist ja keine Raketentechnologie. Ich habe es bei mir auf der Syno mal installiert (V 0.10.4) und grundsätzlich ist das sofort lauffähig. Als "action" ein externes Programm aufzurufen ist ja eher der normalfall. iptables oder route ist ja auch extern.

gruss,
sky

Edit sagt: Normalerweise führt fail2ban ja ein actionban und nach Ablauf der konfigurierten bantime wieder actionunban aus. Wenn ich richtig sehe ist kopano4s-autoblock nur zum eintragen gedacht bei fest verdrahteter Zeit wann der Block wieder entfernt wird?
 
Zuletzt bearbeitet:

Tosoboso

Benutzer
Mitglied seit
27. Aug 2012
Beiträge
1.256
Punkte für Reaktionen
52
Punkte
74
Ja, kopano4s-autoblock überlässt den unblock der Synology
-TosoBoso
 

sky63

Benutzer
Mitglied seit
19. Okt 2017
Beiträge
467
Punkte für Reaktionen
73
Punkte
28
Ich hab jetzt fail2ban installiert, konfiguriert, läuft.

Ausgangslage DS918+ mit installiertem Kopano4s in der Version 1.05.

Installation fail2ban:
-Vorraussetzung schaffen
Installation des Python3-Paketes aus dem Paketdienst

- Installation
fail2ban Version 0.10.4 als tar.gz von https://github.com/fail2ban/fail2ban/releases
entpacken
installieren als root mit
Code:
python setup.py install
überprüfen der Installation
Code:
fail2ban-client -h

- Konfiguration
Die Konfiguration findet unter /etc/fail2ban statt.
Anlegen der Datei /etc/fail2ban/jail.d/kopano4s-z-push.conf mit folgendem Inhalt
Code:
[kopano4s-z-push]
enabled = true
filter = kopano4s-z-push
banaction = kopano4s-z-push
logpath = /var/log/kopano/z-push/z-push-error.log
maxretry = 3
bantime = 120

bantime ist hier in Sekunden angegeben ist in der implementierten Form aber irrelevant. Sollte nur kleiner sein als der Wert der in kopano4s-autoblock steht.

Anlegen der Datei /etc/fail2ban/action.d/kopano4s-z-push.conf mit folgendem Inhalt
Code:
[Definition]
actionban   = kopano4s-autoblock <ip>
actionunban =
actioncheck =
actionstart =
actionstop =

[Init]

Vorraussetzung hier ist das kopano4s-autoblock im Pfad steht(was bei einer normalen Installation der Fall ist), ansonsten komplette Pfadangabe.
actionunban braucht hier nicht angegeben werden weil das unblocking die Syno übernimmt.


Anlegen der Datei /etc/fail2ban/filter.d/kopano4s-z-push.conf mit folgendem Inhalt.
Code:
[INCLUDES]

before = common.conf

[Definition]

failregex = IP: <HOST> failed to authenticate user

ignoreregex =

Hier kann man sich die INCLUDES eigentlich sparen aber die fressen kein Brot.

Anpassen der /etc/fail2ban/fail2ban.conf nach Geschmack. Wenn dbfile nicht angepasst wird muss das Verzeichnis noch angelegt werden.
Anpassen der /etc/fail2ban/jail.conf nach Geschmack. Hier könnte man insbesondere unter Default den Wert ignoreip auf das eigene Netz setzen.

Danach kann man zunächst manuell fail2ban starten
Code:
fail2ban-client start

Was passiert kann man im log beobachten. Wer da allerdings Anfangs sehen möchte wie fail2ban die einzelnen fehlgeschlagenen login-Versuche hochzählt muss in /etc/fail2ban/fail2ban.conf den LogLevel auf DEBUG setzen.


Das ganze funktioniert aktuell nur für z-push, noch nicht für WebApp, da im nginx-error.log die aufrufende IP (noch) nicht geloggt wird.

gruss,
sky

Edit sagt: todo: Autostart
 
Zuletzt bearbeitet:

Tosoboso

Benutzer
Mitglied seit
27. Aug 2012
Beiträge
1.256
Punkte für Reaktionen
52
Punkte
74
Hallo zusammen, ich habe nun das Paket Fail2Ban4S erstellt!!
Es vereinfacht die beschriebene Installation und man kann fail2b stoppen / starten etc.Zu finden bald auf: https://www.cphub.net/. Das Paket arbeitet dann in Ergänzung zu k4s, kann aber auch jdes andere 3rd-Party Paket absichern.
Die Beispiel-Dateien für z-push sind unter /var/packages/Fail2Ban4s/target/etc-samples/ und müssen nach /etc/fail2ban kopiert werden.IN action.d ist als Befehl "synof2bautoblock" eingebaut, den kann man gegen "kopano4s-autoblock" Tauschen.
@sky63: du kannst das Paket über deine manuelle Installation drüber-bügeln. Im Gegensatz dazu sind die f2b-bins / etc, lib im Paket-Target und es wird mit Softlinks gearbeitet. Das Überlebt die Synology Updates besser.. Danke nochmal fürs Teamwork
-TosoBoso
 

leobard

Benutzer
Mitglied seit
17. Feb 2013
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
@Tosoboso - danke! hab dein fail2ban4s grad installiert für Nextcloud. Zuerst dacht ich mir "wat? wer bitte soll tosoboso sein? komische quelle". Dann googelte ich nach "fail2ban synology" und fand den Eintrag hier und dann deinen Post. Das schafft Vertrauen :)
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat