Benachrichtigung bei SSH Login funktioniert nicht (mehr)

  • Hallo,


    bisher habe ich immer nach dieser Anleitung auf Ubuntu 20.04 und 22.04 eine Benachrichtigung per Mail bei SSH Login eingestellt. Unter 24.04 funktioniert das nicht mehr. Hat sich hier was grundlegendes geändert?



    E-Mail bei neuer SSH Verbindung senden

    Installieren

    Damit die Benachrichtigung funktioniert muss ein Tool zum Senden von E-Mails auf der Kommandozeile installiert sein. Unter Ubuntu Linux 16.04 liefert das Paket mailutils ein solches Tool. Falls das Paket noch nicht installiert ist kann es mit nachfolgendem Befehl installiert werden. Der Befehl sollte auch bei anderen auf Debian basierenden Linux Distributionen wie Raspbian funktionieren.

    Code
    $ sudo apt install mailutils


    Konfigurieren

    Nun muss noch ein Skript erstellt werden, welches eine E-Mail versendet. Ich nutze nachfolgendes Skript und speichere es als /etc/ssh/login_notification.sh ab. In dem Skript muss <receiver> durch die E-Mail-Adresse des Empfängers der Benachrichtigung ersetzt werden.

    Das Skript muss jetzt noch ausführbar gemacht werden.

    Code
    $ sudo chmod 755 /etc/ssh/login_notification.sh

    Abschließend muss PAM noch so konfiguriert werden, dass bei einem erfolgreichen Login das gerade angelegte Skript ausgeführt wird. Dazu muss die Datei /etc/pam.d/sshd angepasst werden. Es muss folgendes ganz am Ende der Datei hinzugefügt werden.

    | | |

    | --- | --- |Datei /etc/pam.d/sshd

    Code
    #Send notification mail on login
    session optional pam_exec.so seteuid /etc/ssh/login_notification.sh

    Nun wird bei jedem erfolgreichen Login eine E-Mail von root@host mit dem Titel „sshd login on <host> for account <user>“ und nachfolgendem Inhalt an den im Skript angegebenen Empfänger gesendet.

    Code
    User: <Benutzername>
    Remote Host: <IP des Clienst>
    Service: sshd
    TTY: ssh
    Date: <Datum>
    Server: Linux <host> 5.X.X-XX-generic #XX-Ubuntu SMP Xxx Xxx XX 
  • Interessent

    Changed the title of the thread from “Benachrichtigung bei SSH Login läuft nicht” to “Benachrichtigung bei SSH Login funktioniert nicht (mehr)”.
  • Wie tab schon angedeutet hat. Schau wirklich erst einmal, ob der Server überhaupt Mails versenden kann. Denn deine Anleitung ist etwas ungenau bzw. unvollständig. Das mailutils Paket alleine reicht nämlich nicht um Mails versendet zu können. Das sind nur Tools um mit einem Mailserver zu kommunizieren um über diesen Mails zu verschicken. Aber einen laufenden Mailserver braucht es dafür trotzdem. Es könnte gut sein, dass bei deinen alten Ubuntu Installationen dieser automatisch installiert und gestartet wurde und dieser jetzt in Ubuntu 24.04 (zumindest in der Standard-Installation) fehlt.


    Da du mit keinem Wort erwähnst, dass du einen solchen Mailserver installiert oder konfiguriert hast, war es vermutlich sowieso eher Glück, dass das in der Vergangenheit funktioniert hat. Denn einen Mailserver (auch wenn er nur Mails verschicken soll), muss man dennoch entsprechend einrichten (mit allem was dazu gehört: DNS, DKIM, ...). Ohne eine entsprechende Konfiguration würde es früher oder später sowieso zu Problemen kommen. Es kommt natürlich auch etwas darauf an, wo man die Empfänger E-Mail Adresse hat, aber um grundlegende Mailserver Kenntnisse kommt man da nicht drum herum.

  • Dann nennen wir es eben nicht Zufall, sondern Glück. Die drei Server haben vermutlich das selbe Image als Grundlage, den selben Mailempfänger - und auf der Basis hat es eben funktioniert. Der vierte Server hat jetzt eben ein anderes Image als Grundlage, falls du nicht sowieso alles selbst installierst.


    Bei einem meiner allerersten Versuche bin ich ähnlich vorgegangen wie Du jetzt (wahrscheinlich). Image installieren lassen (Debian 11 Minimal von netcup), SSH-Zugang abgesichert, meine benötigte Software noch dazu installiert und entweder logwatch mit Versand per Mail oder so ein Skript wie Du, was bei Login über SSH eine Mail verschickt installiert. Ob Logwatch oder das Skript, kann ich heute nicht mehr sicher sagen. Ich tippe auf Logwatch, weil es sehr schnell ging und weil ich da immer erst mal den für den Cronjob vorgesehenen Befehl ausprobiere. Befehl ausgeführt, Mail wurde verschickt - und schon war meine IP auf einer Blacklist eingetragen. Dass die Mail zusätzlich auch abgewiesen wurde ist eh klar.


    Natürlich hatte ich, genau wie Du jetzt, rein gar nichts für den Mailversand konfiguriert. Die IP nicht im SPF als berechtigten Absender drin, kein DKIM für die Serverdomain - das war damals wohl noch das Geringste der Probleme - und auch den Mailserver hatte ich in keinster Weise eingerichtet. Was genau dann den Empfänger-Mailserver bei einem Shared Webhosting so extrem getriggert hat, dass er meine IP gleich beim ersten Mail auf einer Blacklist eingetragen hat, das weiss ich noch nicht mal. Passende Ursachen gab es aus heutiger Sicht reichlich. Ich fand es damals einfacher, alle installierten Mailserver zu deinstallieren und auf Mailbenachrichtigung zu verzichten :rolleyes: . Ziemlich schlechte Lösung, aber Glück gehabt, bzw die Absicherung des SSH-Zugangs nur mit Key hat Schlimmeres verhindert.


    Heute werden auch System-Mails von meinen Servern zumindest mit passendem SPF, DKIM und DMARC verschickt und der Server hat natürlich auch ein gültiges Zertifikat.

  • Unter 24.04 funktioniert das nicht mehr. Hat sich hier was grundlegendes geändert?

    Das könnte durchaus auch der Fall sein.

    Unter Ubuntu 24.04 gab es da ein paar Änderungen.

    (z.B. reicht es da ja auch nicht mehr, den ssh-Port nur in der sshd.conf zu ändern, falls systemd läuft)