In diesem Beitrag geht es darum eine Nextcloud Installation auf einem Debian Server mit fail2ban abzusichern.
Das Root Verzeichnis unserer Nextcloud Installation liegt unter
/var/www/files.example.com/html
Der Inhalt der Apache vHost Konfigurationsdatei (/etc/apache2/sites-available/default.conf)
<VirtualHost *:80>
ServerName files.example.com
Serveralias files.example.com
DocumentRoot /var/www/files.example.com/html/
php_admin_value open_basedir /var/www/files.example.com:/dev/urandom:/tmp/:/proc/meminfo/:/var/log/nextcloud/
php_admin_value safe_mode 0
php_admin_value file_uploads 1
php_admin_value upload_tmp_dir /var/www/files.example.com/phptmp/
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
</IfModule>
</VirtualHost>
Wir erstellen einen neuen Ordner für die Logfiles von Owncloud unter
/var/log/nextcloud
und setzten mit
chown www-data:www-data /var/log/nextcloud
die entsprechenden Schreibrechte für den Apache2 User. Damit die Logfiles nicht unendlich groß werden, richten wir noch eine entsprechende Konfiguration für Logrotate unter /etc/logrotate.d/nextcloud ein. Hierzu folgende Datei mit Inhalt erstellen:
/var/log/nextcloud/nextcloud.log {
create 664 www-data www-data
weekly
rotate 4
copytruncate
compress
missingok
notifempty
sharedscripts
postrotate
endscript
}
Nextcloud muss die Logfiles natürlich ins das entsprechende Verzeichnis schreiben. Dazu editieren wir die Nextcloud config.php im Ordner /config/ und fügen folgenden Code ein:
'logfile' => '/var/log/nextcloud/nextcloud.log',
'loglevel' => '2',
'log_authfailip' => true,
Nun bringen wir fail2ban bei, Nextcloud zu berücksichtigen. Der Filter mit der korrekten Regex wird unter /etc/fail2ban/filter.d/nextcloud.conf eingetragen:
[Includes]
before = common.conf
[Definition]
failregex = ^.*\"remoteAddr\":\"
Nun wird die Konfiguration in der jail.conf unter /etc/fail2ban/ angepasst. Fügen Sie dazu folgenden Inhalt ein:
[nextcloud]
enabled = true
filter = nextcloud
port = http,https
logpath = /var/log/nextcloud/nextcloud.log
maxretry = 4
Im Anschluss muss fail2ban mit
service fail2ban restart
neu gestartet werden. Ab sofort sollte eure Nextcloud Installation gegen Bruteforce Attacken gesichert sein.
Schreibe einen Kommentar