Linux Server Security Monitoring

  • Hallo zusammen,


    Mich hat der Thread "Windows 'Server' richtig absichern" etwas zum nachdenken gebracht.


    Es handelt sich um einen VServer mit Ubuntu 20.04.


    Grundsätzlich habe ich meine Maschine durchaus abgesichert. Diese Maßnahmen sind aber nur präventiv und helfen mir nicht, wenn es, aus welchen Gründen auch immer, jemand auf die Maschine geschafft hat.


    Für diesen Fall habe ich aktuell keine Absicherung. Mit der Ausnahme, dass es irgendwann schon auf fällt, wenn der Server z.B. dauerhaft Mails spamed oder die CPU durchgehend auf 100% Auslastung ist. Naja oder das man selbst nicht mehr drauf kommt.


    Mir geht es also Hauptsächlich darum, wie ich feststelle, da passiert gerade etwas merkwürdiges. Z.B. ein SSH Login oder eine unübliche Last. Ich denke sehr geholfen wäre mir schon, wenn der SSH Login irgendwie Mitgeteilt wird. Oder was meint ihr?


    Habt ihr Empfehlungen? Ich brauche dabei jetzt nichts großes.


    Vielen Dank euch schon einmal und Viele Grüße


    Roknix


    *Update:


    Auf dem Server läuft ein Mailserver. Wenn nötig könnte man diese direkt Nutzen.

  • Kommt darauf an, wie viele Rechte der Angreifer hat und wie Professionell er vorgeht.

    SSH Logins kannst du ganz einfach über /var/log/auth.log prüfen.


    Wenn da etwas drinne steht von: sshd[11324]: Accepted password for [username] from 2a02:8106:26:abcd:eff::ff port 45294 ssh2 dann hast du ein Problem. Du könntest dir SSH Logins per E-Mail o.ä. schicken lassen.


    Fertige Lösungen dafür findest du mit ein wenig googlen: "ssh login email notification"


    Wenn der Angreifer root Rechte hat, ist davon auszugehen, dass ein rootkit installiert wurde. Sprich alles, was das Betriebssystem dir an Daten liefert ist unbrauchbar bzw. gefälscht, damit der Schadcode nicht auffällt. Hier hilft dann nur noch der Blick ins SCP oder ein Blick auf die Festplatte mit dem Rettungssystem.


    Ein gutes Indiz für ein kompromitiertes System ist auch eine Abuse Mail von Netcup ;)

    Wenn der Angreifer auf dem System ist, ist das Kind meistens schon in den Brunnen gefallen.

  • Da die Frage kam, ich habe folgendes gemacht:

    - SSH Port geändert.

    - Fail2Ban installiert (aufgrund der Port Änderung ist es da aber recht ruhig)

    - root den Login verboten

    - Einen Arbeitsuser Erstellt aber auch vom SSH Login ausgeschlossen

    - Einen Login user erstellt, welcher keine Rechte hat. Naja außer das umloggen auf andere user.

    - Jeder User hat eigene recht lange Passwörter (30-50 Zeichen). Die Passwörter ändere ich spätestens alle 6 Monate.


    Keyonly habe ich noch nicht.


    @H6G Das Problem habe ich aber nur, wenn nicht ich mich da eingeloggt habe oder nicht? :D Und danke für die Infos


    @aRaphael Ich schau mir das mal an danke

  • Zumindest einen Brutforce Angriff kann man damit durchaus erschweren. Durch das komplette Ändern des Passworts müsste man eigtl. mit dem Angriff von neuem anfangen.


    Da der Angreifer das aber nicht weiß, kann er dadurch mit seinem Angriff ins leere laufen.


    Ich hatte auch schon privat den Fall, dass Anbieter gehackt worden sind und somit mein Passwort ergattert wurde. Ich hoffe mal das die da verschlüsselt gespeichert werden, aber ich muss mir da wenig sorgen machen, da ich in der Zwischenzeit das Passwort schon öfter geändert hatte. Zudem nutze ich eh einzigartige Passwörter.

  • Ich hoffe mal das die da verschlüsselt gespeichert werden

    Was meinst du damit genau? Das Passwort wird seitens Netcup nirgends gespeichert. Und was du mit deinem Server machst und wie dort Daten abgelegt werden, obliegt ganz dir. Deine Festplatte könntest du sogar verschlüsseln bei Bedarf.


    Oder reden wir hier von Passwort-Tresoren im Internet? Für sowas bin ich zu paranoid und speichere Kennwörter nur lokal in Keepass (auf meinem NAS).

  • Was meinst du damit genau? Das Passwort wird seitens Netcup nirgends gespeichert. Und was du mit deinem Server machst und wie dort Daten abgelegt werden, obliegt ganz dir. Deine Festplatte könntest du sogar verschlüsseln bei Bedarf.


    Oder reden wir hier von Passwort-Tresoren im Internet? Für sowas bin ich zu paranoid und speichere Kennwörter nur lokal in Keepass (auf meinem NAS).

    Ich meine tatsächlich z.B. E-Mail Provider oder auch Anbieter wie Steam, Netflix, Amazon. Eigentlich egal wer. Passwörter gehören für mich nicht in Klartext irgendwo hin.


    Verschlüsselt ist dabei etwas irreführend. Normalerweise werden die ja gehashed.


    Mir geht es da um Hacks oder Datenleaks die bei 3. Anbietern passiert sind und dadurch Daten gestohlen wurden. Hat wenig mit dem Server zu tun und sollte nur ein Beispiel sein :)

  • Ich hatte auch schon privat den Fall, dass Anbieter gehackt worden sind und somit mein Passwort ergattert wurde. Ich hoffe mal das die da verschlüsselt gespeichert werden, aber ich muss mir da wenig sorgen machen, da ich in der Zwischenzeit das Passwort schon öfter geändert hatte. Zudem nutze ich eh einzigartige Passwörter.


    Wenn du überall ein eigenes Passwort benutzt, sollte dich das ja dann relativ wenig stören.


    So viel hab ich nicht mehr hinzuzufügen, aber wenn du das Thema CPU Last erwähnst, dann wäre vielleicht noch ein Monitoring ganz empfehlenswert. So etwas wie Munin oder Monit würde ja schon reichen, um die Auslastung zu sehen oder wie viele Benutzer zu welchem Zeitpunkt eingeloggt waren und so weiter.


    SSH nur über Keys wäre halt wünschenswert :)


    Zumindest einen Brutforce Angriff kann man damit durchaus erschweren. Durch das komplette Ändern des Passworts müsste man eigtl. mit dem Angriff von neuem anfangen.


    Najaaa, ich sehe das jetzt mal so. Angenommen dein Passwort ist die 27195 und der Übeltäter fängt einfach bei 1 an und geht immer höher. Nach 6 Monaten ist er bei der 27031 und du änderst dein Passwort auf etwas zufälliges... 31817 meinetwegen. Dann hast du es maximal etwas hinausgezögert.

    Natürlich ist das aber nicht realistisch so ein Passwort zu benutzen. Bei einem Passwort mit 20-30+ Stellen, Groß- und Kleinschreibung und noch mindestens eine Zahl ist die Wahrscheinlichkeit des Bruteforcens schon extrem gering und sehr wahrscheinlich wird dann auch nicht bei 1 angefangen, sondern random einfach etwas eingegeben. Dadurch kannst du auch beim ersten Versuch "geknackt" sein, oder erst bei Versuch 9174158321501, der aber durch die gebrauchten 100 Jahre nicht realistisch ist. Letztenendes ist es immer nur die Frage, welche Geschütze der Angreifer auffährt und ob sich das für ihn lohnen könnte.

    Funktioniert aber nur, wie ihr schon erwähnt habt, wenn man das Passwort nur einmal benutzt.


    Ansonsten klingt die Email Benachrichtigung bei SSH Login nach genau dem richtigen Mittel für dich :)

  • Najaaa, ich sehe das jetzt mal so. Angenommen dein Passwort ist die 27195 und der Übeltäter fängt einfach bei 1 an und geht immer höher. Nach 6 Monaten ist er bei der 27031 und du änderst dein Passwort auf etwas zufälliges... 31817 meinetwegen. Dann hast du es maximal etwas hinausgezögert.

    Oder du hast dein Passwort dummerweise auf 27032 geändert.;)

  • Oder du hast dein Passwort dummerweise auf 27032 geändert.;)

    Das stimmt :D Möglich ist es. Der Gedanke dabei ist aber eigtl: Um so älter ein Passwort, um so wahrscheinlicher ist es, dass ein Angreifer (angenommen er ist so ausdauernd) beim nächsten Versuch durch kommt. Ändert man nun da Passwort, sinkt diese Wahrscheinlichkeit theoretisch wieder. Dafür muss das Passwort aber lang und sicher genug sein.


    Ordentlich abgesichert muss der Angreifer aber schon wirklich bei dir rein wollen. Was bei meinem kleinen Server vermutlich nicht der Fall ist. Der würde wohl eher unter die Kategorie Zufallshack fallen.



    Ich habe auf eure Empfehlung mal die Key only Einstellung vor genommen. Ist mir noch nie passiert, aber habe irgenwie immer Angst die Files zu verlieren :D Darum hatte ich immer einen Nutzer mit ewig langem Passwort.


    Das mit der E-Mail Benachrichtigung schaue ich mal nach. Hatte schon sSMPT versucht. Damit komme ich aber nicht an, weil mein mailserver das alte TLS ablehnt. Ich schau mir mal mSMTP an.


    Danke und VG :)

  • Den Bots ist es egal ob kleiner oder großer Server. Die kleinen sind für weitere Verteilung auch ein gern genommenes Ziel, da man oft davon ausgeht (was sich leider regelmäßig bewahrheitet) das diese nicht so gut abgesichert sind.

    Selbst wenn du den Key verlierst, kommst du ja noch über die VNC Konsole dran.

    Einfach alles in einem Keepass auch zur not ablegen. Dazu das kdbx File mit der Portable Version vielleicht als Backup auf einen USB Stick.

    Wenn du etwas buntes für Performance haben willst, kannst dir gern mal Netdata anschauen.

  • Um so älter ein Passwort, um so wahrscheinlicher ist es, dass ein Angreifer (angenommen er ist so ausdauernd) beim nächsten Versuch durch kommt. Ändert man nun da Passwort, sinkt diese Wahrscheinlichkeit theoretisch wieder.

    Hat jemand, der in der Lotterie seit Jahren die gleichen Zahlen tippt, eine höhere Chance auf den Jackpot, als jemand der jedes Mal mit anderen Zahlen spielt?

  • Ich muss gestehen, dass ich nie wirklich verstanden habe, worin der Sicherheitsgewinn liegen soll, wenn man die Passwörter regelmäßig ändert.

    Ich mache das auch nicht, solange mich das System nicht dazu zwingt.

    Bringt auch nix. Wenn jemand nach zwei Monaten reinkommt, hilft es auch nichts mehr, wenn du vier Monate später das Passwort änderst.

    Kompromittiert ist kompromittiert.

  • Hat jemand, der in der Lotterie seit Jahren die gleichen Zahlen tippt, eine höhere Chance auf den Jackpot, als jemand der jedes Mal mit anderen Zahlen spielt?

    KOmmt auf die Betrachtung an. Die tatsächlichen Chancen in dieser einen Ziehung sind die gleichen wie in jeder Ziehung. Die Kombinatorik lehrt aber, dass über viele Versuche die Chance auf einen Gewinn steigt. Wenn sechs mal mit einem Würfel gewürfelt wird, ist die Chance, dabei eine 6 zu würfeln etwa 2:3 (1-(1-1/6)^6). Es ist unwahrscheinlich(!Achtung Wortspiel), dass das beim Lottospielen ins Gewicht fällt.