Zum Inhalt springen

Fail2ban/Nextcloud: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 40: Zeile 40:
</syntaxhighlight>
</syntaxhighlight>


== Installation für Nextcloud AIO ==
== Nextcloud AIO ==
 
Das Autorisierungsprotokoll für die Webschnittstelle von Nextcloud AIO befindet sich unter dem Mount-Pfad des Volumes:
Das Autorisierungsprotokoll für die Webschnittstelle von Nextcloud AIO befindet sich unter dem Mount-Pfad des Volumes:
''/var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/data/nextcloud.log''
/var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/data/nextcloud.log


0. Installieren Sie das Paket fail2ban.<syntaxhighlight lang="bash" highlight="1" copy="" line="">
; Installieren Sie das Paket fail2ban
<syntaxhighlight lang="bash" highlight="1" copy="" line="">
  sudo apt install fail2ban
  sudo apt install fail2ban
</syntaxhighlight>1. Erstellen Sie die Datei ''/etc/fail2ban/filter.d/nextcloud.conf'':<syntaxhighlight lang="ini" copy="" line="">
</syntaxhighlight>
 
1. Erstellen Sie die Datei ''/etc/fail2ban/filter.d/nextcloud.conf'':
<syntaxhighlight lang="ini" copy="" line="">
[Definition]
[Definition]
_groupsre = (?:(?:,?\s*"\w+":(?:"[^"]+"|\w+))*)
_groupsre = (?:(?:,?\s*"\w+":(?:"[^"]+"|\w+))*)
Zeile 53: Zeile 56:
             ^\{%(_groupsre)s,?\s*"remoteAddr":"<HOST>"%(_groupsre)s,?\s*"message":"Trusted domain error.
             ^\{%(_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)?"
datepattern = ,?\s*"time"\s*:\s*"%%Y-%%m-%%d[T ]%%H:%%M:%%S(%%z)?"
</syntaxhighlight>2. Erstellen Sie die Datei ''/etc/fail2ban/jail.d/nextcloud.local'':<syntaxhighlight lang="ini" copy="" line="">
</syntaxhighlight>
 
; Erstellen Sie die Datei ''/etc/fail2ban/jail.d/nextcloud.local''
<syntaxhighlight lang="ini" copy="" line="">
[nextcloud]
[nextcloud]
backend = auto
backend = auto
Zeile 68: Zeile 74:
</syntaxhighlight>
</syntaxhighlight>


3. Fail2ban nachladen
; Fail2ban nachladen
 
<syntaxhighlight lang="bash" highlight="1" copy="" line="">
<syntaxhighlight lang="bash" highlight="1" copy="" line="">
sudo fail2ban-client reload
sudo fail2ban-client reload
</syntaxhighlight>
</syntaxhighlight>


4. Überprüfen des Status von Nextcloud Jail:
; Überprüfen des Status von Nextcloud Jail:
 
<syntaxhighlight lang="bash" highlight="1" copy="" line="">
<syntaxhighlight lang="bash" highlight="1" copy="" line="">
sudo fail2ban-client status nextcloud
sudo fail2ban-client status nextcloud

Version vom 30. Dezember 2025, 11:48 Uhr

Standardinstallation

Installieren Sie das Paket fail2ban
 sudo apt install fail2ban
/etc/fail2ban/filter.d/nextcloud.conf erstellen
[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)?"
/etc/fail2ban/jail.d/nextcloud.local erstellen
[nextcloud]
backend = auto
enabled = true
port = 80,443
protocol = tcp
filter = nextcloud
maxretry = 5
bantime = 1h
findtime = 3m
logpath = /var/log/nextcloud.log
Fail2ban neu laden
sudo fail2ban-client reload
Überprüfen des Status von Nextcloud Jail
sudo fail2ban-client status nextcloud

Nextcloud AIO

Das Autorisierungsprotokoll für die Webschnittstelle von Nextcloud AIO befindet sich unter dem Mount-Pfad des Volumes:

/var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/data/nextcloud.log
Installieren Sie das Paket fail2ban
 sudo apt install fail2ban

1. Erstellen Sie die Datei /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)?"
Erstellen Sie die Datei /etc/fail2ban/jail.d/nextcloud.local
[nextcloud]
backend = auto
enabled = true
port = 80,443
protocol = tcp
filter = nextcloud
maxretry = 2
bantime = 1h
findtime = 5m
logpath = /var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/data/nextcloud.log
chain=DOCKER-USER
action = iptables-multiport[name=nextcloud, port="80,443", chain="DOCKER-USER"]
Fail2ban nachladen
sudo fail2ban-client reload
Überprüfen des Status von Nextcloud Jail
sudo fail2ban-client status nextcloud