Website-Suche

So erhalten Sie Root- und Benutzer-SSH-Anmelde-E-Mail-Benachrichtigungen


Wann immer wir Linux-Server in einer Produktionsumgebung installieren, konfigurieren und sichern, ist es im Hinblick auf die Sicherheit des Servers sehr wichtig, den Überblick darüber zu behalten, was mit den Servern passiert und wer sich beim Server anmeldet.

Warum, denn wenn sich jemand als Root-Benutzer am Server anmeldet und Brute-Force-Taktiken über SSH anwendet, dann denken Sie darüber nach, wie er Ihren Server zerstören wird. Jeder Benutzer, der Root-Zugriff erhält, kann tun und lassen, was er will. Um solche SSH-Angriffe zu blockieren, lesen Sie unsere folgenden Artikel, in denen beschrieben wird, wie Sie Server vor solchen Angriffen schützen.

  1. Blockieren Sie SSH-Server-Brute-Force-Angriffe mit DenyHosts
  2. Verwenden Sie Pam_Tally2, um fehlgeschlagene SSH-Anmeldungen zu sperren und zu entsperren
  3. 5 Best Practices zum Sichern und Schützen von SSH-Servern

Daher ist es keine gute Praxis, eine direkte Root-Anmeldung über eine SSH-Sitzung zuzulassen und zu empfehlen, Nicht-Root-Konten mit sudo Zugang. Wenn Sie Root-Zugriff benötigen, melden Sie sich zunächst als normaler Benutzer an und wechseln Sie dann mit su zum Root-Benutzer. Um direkte SSH-Root-Anmeldungen zu deaktivieren, folgen Sie unserem folgenden Artikel, der zeigt, wie Sie die Root-Anmeldung in SSH deaktivieren und einschränken.

  1. Deaktivieren Sie die SSH-Root-Anmeldung und beschränken Sie den SSH-Zugriff

Diese Anleitung zeigt jedoch eine einfache Möglichkeit, herauszufinden, ob jemand, der sich als Root oder normaler Benutzer anmeldet, eine E-Mail-Benachrichtigung an die angegebene E-Mail-Adresse zusammen mit der IP-Adresse senden soll des letzten Logins. Sobald Sie also die IP-Adresse der letzten Anmeldung eines unbekannten Benutzers kennen, können Sie die SSH-Anmeldung einer bestimmten IP-Adresse in der iptables-Firewall blockieren.

  1. So blockieren Sie den Port in der Iptables-Firewall

So richten Sie SSH-Anmelde-E-Mail-Benachrichtigungen in Linux Server ein

Um dieses Tutorial durchführen zu können, benötigen Sie Zugriff auf Root auf dem Server und ein wenig Kenntnisse im nano- oder vi-Editor sowie mailx (Mail Client) wird auf dem Server zum Versenden der E-Mails installiert. Abhängig von Ihrer Distribution können Sie den mailx-Client mit einem der folgenden Befehle installieren.

Auf Debian/Ubuntu/Linux Mint
apt-get install mailx
Auf RHEL/CentOS/Fedora
yum install mailx

Legen Sie E-Mail-Benachrichtigungen für die SSH-Root-Anmeldung fest

Melden Sie sich nun als root-Benutzer an und gehen Sie zum Root-Home-Verzeichnis, indem Sie den Befehl cd /root eingeben.

cd /root

Fügen Sie als Nächstes einen Eintrag zur Datei .bashrc hinzu. Diese Datei legt lokale Umgebungsvariablen für die Benutzer fest und führt einige Anmeldeaufgaben aus. Hier richten wir beispielsweise eine E-Mail-Anmeldebenachrichtigung ein.

Öffnen Sie die Datei .bashrc mit dem Editor vi oder nano. Bitte denken Sie daran, dass .bashrc eine versteckte Datei ist. Sie können sie nicht sehen, wenn Sie den Befehl ls -l ausführen. Sie müssen das Flag -a verwenden, um versteckte Dateien unter Linux anzuzeigen.

vi .bashrc

Fügen Sie am Ende der Datei die folgende ganze Zeile hinzu. Stellen Sie sicher, dass Sie „ServerName“ durch einen Hostnamen Ihres Servers ersetzen und „[email “ durch Ihre E-Mail-Adresse ersetzen.

echo 'ALERT - Root Shell Access (ServerName) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" [email 

Speichern und schließen Sie die Datei, melden Sie sich ab und wieder an. Sobald Sie sich über SSH anmelden, wird standardmäßig eine .bashrc-Datei ausgeführt und Ihnen eine E-Mail-Adresse mit der Root-Anmeldewarnung gesendet.

Beispiel für eine E-Mail-Benachrichtigung
ALERT - Root Shell Access (Database Replica) on: Thu Nov 28 16:59:40 IST 2013 tecmint pts/0 2013-11-28 16:59 (172.16.25.125)

Legen Sie E-Mail-Benachrichtigungen für die normale SSH-Benutzeranmeldung fest

Melden Sie sich als normaler Benutzer (tecmint) an und wechseln Sie zum Home-Verzeichnis des Benutzers, indem Sie den Befehl cd /home/tecmint/ eingeben.

cd /home/tecmint

Öffnen Sie als Nächstes die Datei .bashrc und fügen Sie die folgende Zeile am Ende der Datei hinzu. Stellen Sie sicher, dass Sie die Werte wie oben gezeigt ersetzen.

echo 'ALERT - Root Shell Access (ServerName) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" [email 

Speichern und schließen Sie die Datei, melden Sie sich ab und erneut an. Sobald Sie sich erneut anmelden, wird eine .bashrc-Datei ausgeführt und Sie erhalten eine E-Mail-Adresse mit der Benutzeranmeldungsbenachrichtigung.

Auf diese Weise können Sie für jeden Benutzer eine E-Mail-Benachrichtigung einrichten, um Anmeldebenachrichtigungen zu erhalten. Öffnen Sie einfach die Datei .bashrc des Benutzers, die sich im Home-Verzeichnis des Benutzers befinden sollte (d. h. /home/username/.bashrc) und legen Sie die Anmeldewarnungen wie oben beschrieben fest.