Server administrieren - wo fange ich an?
- Bud
- Thread is marked as Resolved.
-
-
was sagen folgende commands?
Wenn ich das richtig verstehe sucht er die Logs? Hätte ich da manuell welche anlegen müssen?
-
selinux-ssh? klingt mir als hättest du das falsche Jail aktiviert. es sei denn du nutzt Rocky Linux o.ä....dächte aber du wolltest auf Debian setzen.
Hier ein Auszug aus meiner jail.local eines Debian:
Code[sshd] enabled = true port = ssh logpath = %(sshd_log)s backend = %(sshd_backend)s banaction = iptables-allports [selinux-ssh] port = ssh logpath = %(auditd_log)s
man beachte, dass [selinux-ssh] nicht enabled wurde, sondern nur [sshd].
-
selinux-ssh ist nicht enabled, aber sshd auch nicht.
Ich habe bei sshd enabled = true gesetzt.
Die Fehlermeldungen bleiben die gleiche.
-
fail2ban auch neu gestartet?
-
fail2ban auch neu gestartet?
ja - keine rückmeldung
-
Welche jails sind denn tatsächlich aktiviert? Was sagt also
fail2ban-client status
Edit: Ich meine gleich nach dem Start, bevor sich fail2ban wieder beendet. Das hat ja laut Logifle eine gute Viertelstunde gedauert.
Steht irgendwas in der /var/log/syslog oder einer anderen Logdatei, was zu der Zeit passiert ist?
Edit2: Hast du vielleicht versehentlich unter [DEFAULT] alle jails aktiviert? Immerhin deutet der Fehler auf das selinux-ssh jail hin, das du ja eigentlich gar nicht aktiv zu haben glaubst.
-
Hast du vielleicht versehentlich unter [DEFAULT] alle jails aktiviert?
DAS war der Fehler, vielen Dank! Ich hatte das sogar auf Seite 9 so dokumentiert, das ich alle jails aktiviert habe
Hab "meine" Doku jetzt wie folgt geändert:
-
Zum Thema fail2ban empfehle ich gerne diesen Artikel zum Thema inkrementelle Bantime.
Ist meiner Ansicht nach eine sehr sinnvolle Ergänzung zu deiner aktuellen Konfiguration.
-
Zum Thema fail2ban empfehle ich gerne diesen Artikel zum Thema inkrementelle Bantime.
Ist meiner Ansicht nach eine sehr sinnvolle Ergänzung zu deiner aktuellen Konfiguration.
Sehr interessanter Artikel, werde ich gleich mal einbauen. Frage vorweg: Kann ich auch irgendwie "für immer" angeben?
Also ich finde das super sinnvoll, aber warum so "schwach" einstellen, wenn die "bad IP" immer wieder kommt?
Warum nicht 1h - 24h - 1w - 1m - forever, also in Minuten dann 60 1440 10080 43200 9999999 - Letzteres wären zumindest mal rund 19 JahreEdit:
Ich hab grad aus Interesse und zur Übung Netdata installiert, und erschreckend festgestellt das es für die Webanwendung unter 19999 kein Passwort braucht.
Anscheinend kann man das auch nur erstellen, wenn man Netdata hitner nginx/apache laufen lässt.
Dann würde ich 19999 einfach wieder schließen, und ggf. öffnen wenn ich mal reinschauen will...
-
IPs können sich halt ändern. Wenn du eine IP für immer sperrst besteht die Gefahr dass du Stück für Stück immer mehr berechtigte IPs aussperrst. Dass kann dir bei deinem Server evtl. egal sein, aber wenn du International Besuchet haben willst eventuell nicht.
Und ja, sehr gut aufgepasst. Irgendwelche Anwendungen die nicht richtig abgesichert sind sind der Weg um deinen Server zu hacken. Übrigens kann ich tryhackme.com empfehlen, mach da mal ne Übungsmaschine um dich in einen einfachen Server einzuhacken. Da lernt man viel!
-
ass kann dir bei deinem Server evtl. egal sein, aber wenn du International Besuchet haben willst eventuell nicht.
Also wäre diese Einstellung eigentlich "perfekt" für den Vereinsserver, auf welchem nur "interne" Seiten laufen sollen? Denn sollte da jemand nicht auf den Server kommen, meldet er sich ja bei mir.
Und ja, sehr gut aufgepasst.
Yep, aber warum komme ich trotzdem noch über IP:19999 auf Netdata, obwohl ich den Port aus ufw gelöscht habe? Einzig und allein mein SSH Port (im Beispiel 12345) ist noch offen.
Code
Display Morebud@netcup:~$ sudo ufw status numbered Status: active To Action From -- ------ ---- [ 1] 12345/tcp ALLOW IN Anywhere [ 2] 19999/tcp ALLOW IN Anywhere bud@netcup:~$ sudo ufw delete 2 Deleting: allow 19999/tcp Proceed with operation (y|n)? y Rule deleted bud@netcup:~$ sudo ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 12345/tcp ALLOW IN Anywhere
-
Mit dem Nginx Proxy Manager (Docker) und Netdata auf Dockerbasis könntest Du das mit Basic Auth absichern.
-
DAS war der Fehler,
ich würd auch die jail.conf nicht nach jail.local kopieren sondern ebendort genau nur die lokalen abweichungen konfigurieren.
-
Yep, aber warum komme ich trotzdem noch über IP:19999 auf Netdata, obwohl ich den Port aus ufw gelöscht habe?
Hast du die Regeln mit
neu konfigurieren lassen?
-
Hat keine Besserung gebracht
Edit:
ich würd auch die jail.conf nicht nach jail.local kopieren sondern ebendort genau nur die lokalen abweichungen konfigurieren.
Aber überall wird es anders empfohlen...
Edit2: Was ich damit sagen will: Aus welchem Grund empfiehlst du es anders? Was ist dein Hintergrund dazu?
-
Naja, die jail.local ist eigentlich dafür gedacht, dass man darin die Einstellungenen macht, die man eben anders haben will als es in der mitgelieferten jail.conf drinsteht. So ist es eben so updatesicher wie möglich. Steht zuviel drin und man behält die Datei dann auch so bei, wenn durch ein fail2ban-Update die jail.conf - aus möglicherweise guten Gründen - geändert wird, dann kommen diese Änderungen eben nicht zur Anwendung, weil sie in der jail.local mit den alten Werten, mit den Einstellungen aus einer Kopie einer alten jail.conf überschrieben werden. Man kann das auch noch verfeinern, indem man die Änderungen im Verzeichnis /etc/fail2ban/jail.d anlegt. Eine bei systemd gebräuchliche Methode. Bei mir ist da z.B. eine Datei defaults-debian.conf drin. Ich habe die nicht erstellt und sie tut nichts Anderes als das sshd-Jail zu enablen. Falls die Datei so auch bei dir existiert, weisst du dann auch gleich, warum dieses Jail bei dir enabled war, obwohl es in der jail.conf und jail.local nicht drinstand.
-
ich würd auch die jail.conf nicht nach jail.local kopieren sondern ebendort genau nur die lokalen abweichungen konfigurieren.
Mache ich auch so.
Meine jail.local ist deshalb auch recht überschaubar.
Ich muss mir dann auch keine großen Sorgen machen, wenn beim nächsten Update von fail2ban die jail.conf irgendwo geändert wird.
-
Also wird für die Einstellungen quasi immer die jail.conf abgerufen, aber die Angaben in der jail.local sind höher priorisiert? Kann man das so sehen?
Sprich es reicht wenn meine jail.local wie folgt aussieht, da die hier nicht getätigten Einstellungen aus der jail.conf geholt werden?
Code[default] bantime = 24h findtime = 10m maxretry = 3 [sshd] enabled = true [recidive] enabled = true
Ist es eigentlich relevant ob ich [default] oder [DEFAULT] schreibe?
-
jail.conf ist default. jail.local sind deine Anpassungen. NIEMALS die jail.conf anpassen. Kann bei einem Update ueberschrieben werden.
Prinzipiell ist die DeFaAUlt Schreibweise egal. Aber zur besseren Lesbarkeit sollte man klein schreiben.