#
## Vorausetzung rsyslog installieren
- @apt-get install rsyslog
## Optional: server modul in rsyslog aktivieren START
- @nano /etc/rsyslog.conf
## Folgende Zeilen hinzufügen START
# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")
# provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")
#
$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
## Folgende Zeilen hinzufügen ENDE
## Datei speicher und schliessen
## Optional: server modul in rsyslog aktivieren ENDE
- @systemctl restart rsyslog
## Prüfen
- @systemctl status rsyslog oder /etc/init.d/rsyslog status
#
# ###############################################################
# Optional: Rsyslog auf einen Client einrichten wenn der Client den RSyslog Server benutzt START
# ###############################################################
# Configure Rsyslog Client
- @nano /etc/rsyslog.conf
# Zeile hinzufügen
#Enable sending system logs over UDP to rsyslog server
*.* @rsyslog-server-ip:514
#Enable sending system logs over TCP to rsyslog server
*.* @@rsyslog-server-ip:514
# Zeile hinzufügen ende
# Zeilen hinzufügen, um die Datenträgerwarteschlange festzulegen, sollte rsyslog-Server ausfallen
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
# Zeilen hinzufügen, um die Datenträgerwarteschlange festzulegen, sollte rsyslog-Server ausfallen ENDE
- @systemctl restart rsyslog
- @systemctl status rsyslog
## Achtung! Wenn ubuntu und rsyslog nicht startet dann nochmals installieren
- @sudo add-apt-repository ppa:adiscon/v8-stable
- @sudo apt-get install rsyslog
# ##############################################################
# Optional: Rsyslog auf einen Client einrichten wenn der Client den RSyslog Server benutzt ENDE
# ##############################################################
#
## fail2ban installieren ##
- @apt-get update
- @apt-get install fail2ban
## Solten beide .local Dateien nicht vorhandnen sein, dann:
- @cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
- @cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
## Damit dieser Fehler nicht angezeigt wird muss mindestens allowipv6 auf Auto gestellt werden.
## Fehlermeldung: WARNING 'allowipv6' not defined in 'Definition'. Using default one: 'auto'
#### Zeile 62 auskommentieren. Das Zeichen "#" vor allowip6.. entfernen
- #sudo nano /etc/fail2ban/fail2ban.local
#allowipv6 = auto
allowipv6 = auto
## Das gleiche nochmals aber diesmal in fail2ban.conf
- #sudo nano /etc/fail2ban/fail2ban.conf
## Fail2ban Service neu straten
- #sudo service fail2ban restart
- #sudo service fail2ban status
#
## Wenn Nextcloud nicht vorhanden kann hier bis restart fail2ban übersprungen werden
# fail2ban: edit nextcloud config.php ##
- @nano /var/www/nextcloud/config/config.php
#
'log_type' => 'file',
'logtimezone' => 'Europe/Berlin',
'logfile' => '/var/log/nextcloud.log',
'loglevel' => 2,
'syslog_tag' => 'Nextcloud',
## prepare logfile ##
- @touch /var/log/nextcloud.log
- @chown -R www-data:www-data /var/log/nextcloud.log
- @chmod -R 755 /var/log/nextcloud.log
## create the Nextcloud-filter ##
- @nano /etc/fail2ban/filter.d/nextcloud.conf
#
[Definition]
failregex=^{"reqId":".*","remoteAddr":".*","app":"core","message":"Login failed: '.*' \(Remote IP: '<HOST>'\)","level":2,"time":".*"}$
^{"reqId":".*","level":2,"time":".*","remoteAddr":".*","user,:".*","app":"no app in context".*","method":".*","message":"Login failed: '.*' \(Remote IP: '<HOST>'\)".*}$
^{"reqId":".*","level":2,"time":".*","remoteAddr":".*","user":".*","app":".*","method":".*","url":".*","message":"Login failed: .* \(Remote IP: <HOST>\).*}$
## create new jail Port. Hinweis: Port ändern wenn Nextcloud (Apache Server) auf einen anderen Port lauscht als 80 und 443
- @nano /etc/fail2ban/jail.d/nextcloud.local
[nextcloud]
backend = auto
enabled = true
port = 80,443
protocol = tcp
filter = nextcloud
maxretry = 3
bantime = 36000
findtime = 36000
logpath = /var/log/nextcloud.log
## restart fail2ban ##
- @service fail2ban restart
## Wenn kein Nextcloud kann der Test übersprungen werden: test fail2ban ##
- @fail2ban-client status
- @fail2ban-regex /var/log/nextcloud.log /etc/fail2ban/filter.d/nextcloud.conf
=> "macthed" should be ≠ 0
#
|