Debian12, fail2ban --> (code=exited, status=255/EXCEPTION)

Brati23

Lt. Commander
Registriert
Sep. 2018
Beiträge
1.331
Moin,

Ich habe gerade versucht fail2ban auf einem neu aufgesetzten Debian12 (bookworm) - minimal System zu installieren. (vserver, Netcup)
Mit
Code:
sudo systemctl status fail2ban
wird dann zusammengefasst
Code:
Active: failed, fail2ban.service: Main process exited, code=exited, status=255/EXCEPTION
angezeigt.

Ich habe zwar vor ssh-Keys einzurichten und das Passwort-Login zu deaktivieren.
Trotzdem wurmt es mich ein wenig. Frisches System und das erste Programm läuft schonmal nicht. Linux meine Hassliebe.

Ich bin für die Installation wie folgt vorgegangen:
Code:
sudo timedatectl set-timezone Europe/Berlin
sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot
cd /home/"Benutzername"
sudo apt-get install fail2ban
sudo service fail2ban restart
sudo systemctl status fail2ban
sudo reboot
sudo systemctl status fail2ban

Mit
Code:
sudo fail2ban-client status sshd
kommt
Code:
[724]: ERROR   Failed to access socket path: /var/run/fail2ban/fail2ban.sock. Is fail2ban running?

Sollte fail2ban nicht ohne die conf jail.local zu ändern einfach ertsmal starten.

Kann mir jemand sagen was ich falsch mache oder wie die Reihenfolge ist um fail2ban auf einem frisch aufgesetzten Debian12 System zu installieren bzw. zu aktivieren?
 
Brati23 schrieb:
Sollte fail2ban nicht ohne die conf jail.local zu ändern einfach ertsmal starten.
Hast du denn eine /etc/fail2ban/jail.local?
Falls nicht, die Standardconfig kopieren
Code:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
 
  • Gefällt mir
Reaktionen: Brati23 und nutrix
kartoffelpü schrieb:
Hast du denn eine /etc/fail2ban/jail.local?
Nein. Die wurde warum auch immer nicht erstellt. Habe ich jetzt gemacht. Es hat sich aber nicht viel geändert.
Habe fail2ban danach nochmal neu gestartet.
action.d fail2ban.d jail.conf jail.local paths-common.conf paths-opensuse.conf
fail2ban.conf filter.d jail.d paths-arch.conf paths-debian.conf
 
Fehlt oben nicht ein sudo service fail2ban enable nach dem starten des Services? Sonst wird der Service nicht nach einem reboot oder halt nicht automatisch gestartet.
 
  • Gefällt mir
Reaktionen: Brati23, LuxSkywalker und netzgestaltung
Ich enable ja immer mit sudo systemctl enable fail2ban- bei einem Fehler kommt da normal eine Ausgabe. Mit systemctl list-units --type=service steht neben dem "failed" auch ein Hinweis, warum es nicht geht.
 
  • Gefällt mir
Reaktionen: Brati23 und nutrix
Wie macht ihr diese Textboxen? Code und dann was anderes auswählen?
netzgestaltung schrieb:
Ich enable ja immer mit sudo systemctl enable fail2ban
Ausgabe:
Synchronizing state of fail2ban.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable fail2ban
nutrix schrieb:
Schon danach mal im Netz gesucht, wie hier?
Ja auf der Seite war ich schon Danke. Ich dachte nur das kanns doch nicht sein. Frisch aufgesetzt und dann muss erstmal ein Workaround gesucht werden um ein weit verbreitetes Programm zu installieren? Ehrlich gesagt dacht ich der Fehler liegt bei mir und irgendwo am Anfang.
 
Brati23 schrieb:
Wie macht ihr diese Textboxen?
Inline-Code:
1713519035443.png
 
  • Gefällt mir
Reaktionen: Gurkenwasser, nutrix und Brati23
Brati23 schrieb:
und was sagt der status dann? soweit schaut es gut aus.
ich arbeite meistens mit anderen services, zu fail2ban kann ich nicht viel sagen. Wenn sonst noch nicht viel installiert ist würd ich nochmal von vorne beginnen. vermutlich irgendwas unterwegs noch vergessen/übersehen.
 
  • Gefällt mir
Reaktionen: Brati23
Gerade ausgeloggt :/

Neu begonnen habe ich schon zwei Mal. Aber aller guten Dinge sind ja bekanntlich drei :)
Darf ich das mit dem "root-Benutzer" machen oder besser erst den "richtigen-Benutzer" erstellen und dann installieren?
Muss man dazu im "home-Ordner" sein oder egal?
Ich versuche es später gerne nochmal.
Danke schonmal für die Hilfestellung.
 
der ordner ist in dem fall egal.
ich würde das mit sudo machen.
den root user sowieso deaktivieren/login deaktivieren.

eins ist aber gewiss: Kaum macht mans richtig, gehts auch schon.
das ist meine Erfahrung bei den ganzen Linux-Computer-Zeugs :heilig:, daher nur nicht aufgeben!
 
  • Gefällt mir
Reaktionen: nutrix, gimmix und Brati23
  • Gefällt mir
Reaktionen: nutrix
Brati23 schrieb:
Ausgabe:
Synchronizing state of fail2ban.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable fail2ban
Tja, dann mußt Du Dir das erstellte Systemd-Script anschauen und es ggf. korrigieren.
Brati23 schrieb:
Ja auf der Seite war ich schon Danke. Ich dachte nur das kanns doch nicht sein. Frisch aufgesetzt und dann muss erstmal ein Workaround gesucht werden um ein weit verbreitetes Programm zu installieren? Ehrlich gesagt dacht ich der Fehler liegt bei mir und irgendwo am Anfang.
Ne, ist leider im Linux-Umfeld mit OpenSoftware so gang und gäbe. Man hat zig Versionen und Varianten von Installationsanleitungen, die sich teilweise widersprechen oder ganz anders machen, und man braucht mehrere Anläufe, bis das Zeugs läuft. Ich mach das schon sehr lange als DevOps in diesem Umfeld, da läuft selten was auf Anhieb, gerade wenn es neue Versionen ist. Aber dann wird solange daran gebaut, bis es läuft, dokumentiert es bei sich selbst den "richtigen" Weg, und fertig.
Ergänzung ()

netzgestaltung schrieb:
eins ist aber gewiss: Kaum macht mans richtig, gehts auch schon.
Na ja, richtig ist oftmals das falsche Wort, man muß Workarounds finden, gerade bei Bugs.
netzgestaltung schrieb:
das ist meine Erfahrung bei den ganzen Linux-Computer-Zeugs :heilig:, daher nur nicht aufgeben!
Richtig, man muß sehr beharrlich und geduldig sein, und vor allen Dingen viel Lesen und suchen (stackoverflow und Co. sind Dein Freund). Gerade das systemd-Zeugs war am Anfang extrem unsympatisch, weil vieles nicht funktionierte oder die Ersteller der Software es nicht richtig verstanden, wie man richtige systemd-Scripte erstellt. Aber cooler Lerneffekt, dadurch beschäftigt man sich damit etwas tiefer, und dann kann man mit geübten Blick schnell solche Fehler fixen.
 
  • Gefällt mir
Reaktionen: Brati23
Versuch Nummer drei:

Ich habe extra wenig verstellt und wirklich nur diese Schritte gemacht um andere Fehler auszuschliessen. Vielleicht könnte ich es ja auch schon als root und gleich mit: sudo apt-get install fail2ban beginnen.
Code:
#Debian12 neu installiert, Zeitzone schon auf Berlin
#Anmelden mit "root"

sudo apt-get update #Update
sudo apt-get dist-upgrade #Upgrade

sudo useradd -m "Benutzer" -G sudo #Neuen Benutzer erstellen
sudo passwd "Benutzer" #Neues Passwort hinterlegen

sudo nano /etc/ssh/sshd_config #ssh config öffnen
PermitRootLogin yes -->PermitRootLogin no #ssh login von root verbieten
sudo systemctl restart sshd #sshd Service neustarten

sudo reboot #Neustart
#Anmelden mit "Benutzer"

sudo apt-get install fail2ban #fail2ban installieren
cd /etc/fail2ban #Ins Verzeichniss von Fail2ban wechseln
sudo cp jail.conf jail.local #Die Fail2ban config kopieren
sudo service fail2ban restart #service neustart
sudo systemctl enable fail2ban #autostart
sudo systemctl status fail2ban #status

Immer noch mit dem gleichen Ergebniss: Active: failed, fail2ban.service: Main process exited, code=exited, status=255/EXCEPTION

Sieht jemand einen Fehler bei meinem Setup als Ursache für dieses Problem? Ansonsten werd ich wohl bei Post#7 weitermachen.
 
Zuletzt bearbeitet:
nutrix hatte doch in #7 einen guten Link drin. Die Tipps von dort hast du scheinbar nicht umgesetzt:

On Debian 12 there are a couple of things you have to do to make it work.
First go to the config file:
nano /etc/fail2ban/jail.local

And add this backend=systemd before enabled=true to make it look like that for example:
[sshd]
backend=systemd
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

And then save and run this command:
apt install python3-systemd

Now restart fail2ban:
systemctl restart fail2ban

And check the status, it should be working.
 
  • Gefällt mir
Reaktionen: nutrix und Der Lord
Nein die Tipps habe ich (noch) nicht umgesetzt. Es geht mir darum ob ich von Anfang an was falsch gemacht habe oder ob es ein anderes Problem sein könnte. Deshalb meine Frage ob jemand bei der Installation einen (groben) Fehler sieht.
Ich schreib ja oben sonst geht es mit #7 weiter.
Edit: Dann sei es so. Danke Euch! 👍 🤗
 
Zuletzt bearbeitet:
netzgestaltung schrieb:
eins ist aber gewiss: Kaum macht mans richtig, gehts auch schon.
Joa, manchmal auch eine andere Lösung. Hab das ssh-Login nur noch per Key aktiviert. Fail2ban ist meiner Meinung nach daher nicht mehr von Nöten.
 
Brati23 schrieb:
Fail2ban ist meiner Meinung nach daher nicht mehr von Nöten.
Hängt halt auch stark davon ab, welche weiteren Dienste auf dem Server laufen. Fail2ban dient ja nicht ausschließlich der ssh-Absicherung. Gibt dutzende weitere, teils mehr teils weniger, sinnvolle Jails. Beispielsweise würde ich keine Logins ohne fail2ban oder andere Schutzmöglichkeiten ins Internet hängen - war es in deinem Fall nicht ein DAV Dienst via apache? :)

Und generell läuft fail2ban auch absolut problemlos auf einem Debian 12, man muss nur je nach Jail systemd als backend einstellen. Entweder global (s.u.) und dann ggf. in den Jails falls nötig erneut anpassen oder eben andersrum.

Eben nochmal durchgespielt in einer frischen VM:

Code:
me@f2btest:~$ sudo apt update && sudo apt upgrade

me@f2btest:~$ cat /etc/debian_version
12.5

me@f2btest:~$ sudo apt install fail2ban

sudo tee /etc/fail2ban/jail.local > /dev/null <<EOT
[DEFAULT]
backend = systemd
logtarget = STDOUT

bantime  = 1d
maxretry = 5
findtime  = 1h

[sshd]
enabled = true
EOT

me@f2btest:~$ sudo systemctl enable --now fail2ban
Synchronizing state of fail2ban.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable fail2ban

me@f2btest:~$ systemctl status fail2ban.service
* fail2ban.service - Fail2Ban Service
     Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; preset: enabled)
     Active: active (running) since Thu 2024-05-02 15:02:30 CEST; 3s ago
       Docs: man:fail2ban(1)
   Main PID: 603 (fail2ban-server)
      Tasks: 5 (limit: 18888)
     Memory: 15.3M
        CPU: 227ms
     CGroup: /system.slice/fail2ban.service
             `-603 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

me@f2btest:~$ sudo fail2ban-client status
Status
|- Number of jail:      1
`- Jail list:   sshd

Klappt ohne Mucken.
 
Zurück
Oben