
So lassen Sie sich über SSH-Anmeldungen unter Linux benachrichtigen
Erfahren Sie, wie Sie SSH-Anmeldebenachrichtigungen unter Linux einrichten und Echtzeit-Benachrichtigungen erhalten, wenn sich jemand mit Ihrem Server verbindet.
Eine Übersetzung von 🇬🇧 Linuxiac.com
Es ist immer eine gute Idee zu wissen, wer sich wann über SSH bei Ihrem Linux-Server anmeldet. Selbst wenn Sie der Einzige mit Zugriff sind, ist es empfehlenswert, die Verbindungen im Auge zu behalten. Für Teams oder Produktionssysteme bietet die Benachrichtigung über SSH-Anmeldungen ein zusätzliches Maß an Transparenz und Sicherheit.
Deshalb zeige ich Ihnen in diesem Leitfaden eine einfache Möglichkeit, SSH-Anmeldungsbenachrichtigungen zu implementieren, die Ihnen zusätzliche Sicherheit geben, indem sie Ihnen in Echtzeit Einblick darüber verschaffen, wer auf Ihren Server zugreift.
So aktivieren Sie SSH-Anmeldebenachrichtigungen mit PAM
PAM (Pluggable Authentication Module) ist die zuverlässigste und reibungsloseste Methode, um genau dann einen Hook auszulösen, wenn eine SSH-Sitzung geöffnet (und geschlossen) wird. So funktioniert es:
Wenn sich jemand mit SSH anmeldet, fordert das System Anweisungen von PAM an. Normalerweise überprüft PAM Passwörter, Schlüssel oder 2FA, aber wir können ihm auch mitteilen: „Jedes Mal, wenn eine neue SSH-Sitzung gestartet wird, führe dieses Skript aus.“ Auf diese Weise erhält das Skript nützliche Details wie den Benutzernamen und die IP-Adresse und kann Ihnen sofort eine Benachrichtigung senden – ohne dass Sie Protokolle scannen oder zusätzliche Daemons ausführen müssen. So geht's.
Bearbeiten Sie mit Ihrem bevorzugten Terminal-Texteditor /etc/pam.d/sshd
und fügen Sie nach den vorhandenen „session“-Zeilen Folgendes hinzu:
Die endgültige Version sieht also wie folgt aus:
Speichern Sie die Datei und beenden Sie das Programm. Nun erstellen wir das Skript selbst. Dank der soeben eingerichteten PAM-SSH-Konfiguration wird es jedes Mal ausgeführt, wenn eine SSH-Anmeldung erfolgreich ist. Das Einzige, was Sie hier wirklich herausfinden müssen, ist, welche Art von Benachrichtigung Sie einrichten möchten.
Ich erwähne dies, weil es dafür zahlreiche Möglichkeiten gibt. Wenn Sie beispielsweise bereits ein selbst gehostetes Benachrichtigungssystem wie Ntfy oder Gotify oder ein öffentlich zugängliches System wie Pushover verwenden, können Sie sich direkt daran anschließen. Eine weitere Option ist Apprise, das mit fast allen gängigen Benachrichtigungsdiensten kompatibel ist. Sie können sich auch für Telegram, Discord, Slack oder eine ähnliche Plattform entscheiden.
Kurz gesagt, die Möglichkeiten sind nahezu unbegrenzt – es kommt wirklich darauf an, welchen Dienst Sie bevorzugen. Um diesen Leitfaden jedoch einfach zu halten, zeige ich Ihnen eine der unkompliziertesten Konfigurationen: das Versenden einer Benachrichtigung per E-Mail unter Verwendung des SMTP von Gmail.
Zunächst installieren wir die Voraussetzungen. Wenn Sie eine DEB-basierte Distribution (Debian, Ubuntu usw.) verwenden, führen Sie Folgendes aus:
Für die RPM-basierten Distributionen (Fedora, Alma, Rocky usw.):
Wie Sie sehen können, verwenden wir msmtp – ein leichtgewichtiges und einfaches Befehlszeilentool zum Versenden von E-Mails, indem diese an einen konfigurierten Mailserver weitergeleitet werden. In unserem Fall ist dies der SMTP-Server von Google. Erstellen Sie eine Datei /etc/msmtprc
und fügen Sie Folgendes ein:
Ersetzen Sie natürlich YOUR_GMAIL_ADDRESS@gmail.com
durch Ihre tatsächliche E-Mail. Konzentrieren wir uns nun auf die Option passwordeval
. Wie Sie sehen können, verweist sie auf eine Datei namens /root/.gmail_app_password
. Da Google es Drittanbieter-Anwendungen oder Skripten nicht mehr erlaubt, sich mit Ihrem regulären Gmail-Passwort anzumelden, müssen Sie vorab ein App-Passwort erstellen – einen speziellen 16-stelligen Token, der Zugriff auf Ihr Gmail-Konto gewährt.
Klicken Sie dazu auf Ihr Profilbild in der oberen rechten Ecke Ihres Google-Kontos und wählen Sie „Google-Konto verwalten“. Geben Sie in die Suchleiste „App-Passwort“ ein und wählen Sie es aus, wenn es angezeigt wird. Geben Sie einen Namen für Ihre neue App ein, z. B. „Meine SMTP-Benachrichtigungen“, und klicken Sie auf „Erstellen“. Google generiert ein 16-stelliges Passwort, das in vier Gruppen zu je vier Zeichen unterteilt ist. Kopieren Sie diesen Code und bewahren Sie ihn griffbereit auf.
Führen Sie nun die folgenden Befehle aus. Ersetzen Sie natürlich YOUR_16_CHAR_APP_PASSWORD
im ersten Befehl durch den Code, den Google gerade für Sie generiert hat.
Erstellen Sie abschließend das Skript, das PAM jedes Mal automatisch ausführt, wenn sich jemand erfolgreich über SSH bei Ihrem Server anmeldet.
Ersetzen Sie hier you@example.com
durch die E-Mail-Adresse, an die Benachrichtigungen gesendet werden sollen. Machen Sie dann das Skript ausführbar:
Um alles zu testen, was Sie bisher gemacht haben, melden Sie sich über SSH von einem anderen Host aus beim Server an. Sie sollten eine E-Mail an die von Ihnen eingerichtete Adresse erhalten, ähnlich der unten gezeigten:
Wenn Sie aus irgendeinem Grund nicht das erwartete Ergebnis erhalten, sehen Sie sich die Protokolle in /var/log/msmtp.log
an, um festzustellen, was schiefgelaufen ist.
Fazit
Die Verwendung von PAM zum Auslösen von SSH-Anmeldebenachrichtigungen ist ein zuverlässiger Ansatz, der sich direkt in den Authentifizierungsprozess integrieren lässt – ohne Log-Scraping oder Hintergrund-Daemons. Einmal konfiguriert, erhalten Sie sofortige Informationen darüber, wer von wo aus auf Ihren Server zugreift, sodass Sie unbefugte Aktivitäten frühzeitig erkennen können.
Für eine zusätzliche Schutzebene sollten Sie auch ein Tool wie SSHGuard oder Fail2Ban in Betracht ziehen. Wenn Sie sich nicht sicher sind, wie Sie es einrichten sollen, lesen Sie unsere 🇬🇧 Anleitungen How to Secure Your SSH Server with SSHGuard und How To Protect SSH with Fail2Ban, die Sie Schritt für Schritt durch den Prozess führen. Um noch einen Schritt weiter zu gehen, würde ich empfehlen, SSH mit Zwei-Faktor-Authentifizierung einzurichten.
🎓 Vermeiden Sie schließlich die Verwendung der Passwortauthentifizierung. Generieren Sie stattdessen ein SSH-Schlüsselpaar und verwenden Sie es für eine sichere Anmeldung.
Vielen Dank, dass Sie sich die Zeit genommen haben, diese Anleitung zu lesen. Wie immer freuen wir uns über Ihre Kommentare.
Comments