SSH Login: eMail Benachrichtigung an Admin versenden

Als Teil des Sicherheitskonzepts eines Servers empfiehlt es sich SSH (Secure Shell) abzusichern und sich ggfs. eine eMail bei jedem Login im Hintergrund zu senden. Derjenige der sich einloggt, kriegt davon nichts mit.

Mit der folgenden Anleitung und dem aufgeführten Skript versendet das System eine E-Mail an den Administrator, sobald sich der Benutzer via Secure Shell einloggt.

Schritt 1: SSH Login Benachrichtigungs-Shell-Skript erstellen

Zunächst werden wir also ein ausführbares Shell Skript /opt/sshlogin.sh mit folgendem Inhalt erstellen

#!/bin/bash

# Hole IP und hostname des Users
ip=`echo $SSH_CONNECTION | cut -d " " -f 1`
name=`nslookup $ip | grep "name =" | cut -d " " -f 3`

# Schreibe in syslog
logger -t ssh-login $USER login from $ip - $name

# Ausgabe fürr eMail
echo "Login auf Server DIEGO am $(date +%Y-%m-%d) um $(date +%H:%M)"
echo
echo "Benutzer: >$USER< hat sich von IP: >$ip<  Hostname: >$name<  per SSH angemeldet"
echo
finger

Der Datei /opt/ssshlogin.sh müssen die Rechte 755 gegeben werden, dazu folgendes eingeben:

chmod 755 /opt/sshlogin.sh

Erklärung des SSH Login Shell Scripts:

  • Zeile (1): Kennzeichnet das Shell Script
  • Zeile (4): IP ermitteln von der das SSH Login kommt
  • Zeile (5): DNS-Namen zur IP Adresse feststellen
  • Zeile (8): SSH Login ins syslog schreiben (dokumentieren)
  • Zeile (11-14): Ermittelte Daten ausgeben
  • Zeile (15): Verfügbare aktuelle und eingeloggte Userinformationen des Linux Systems mit finger ausgeben

Schritt 2: eMail Versendung aktivieren

Damit das System bei einem Login eine eMail versendet, wird nun die folgende Zeile in der Datei /etc/profile ergänzt

/opt/sshlogin.sh | mailx -s "SSH Login auf Server DIEGO" deine@email.blubb

ssh login email sendenDie eMail wird nun bei einem Benutzer Login per Secure Shell automatisch versendet. Der Benutzer selbst kriegt das nicht mit, das passiert im Hintergrund.

Achtung: Man sollte allerdings beachten, das bei Programme wie winSCP keinen vollständigen Login ausführen und damit auch keine eMail verschickt wird. Es empfiehlt sich aber ohnehin den Benutzer root im SSH daemon nicht zuzulassen und einen separaten User anzulegen, der in seinem /home/user Verzeichnis gefangen wird. Dazu bei nächster Gelegenheit mehr. Die hier beschriebene Maßnahme kann natürlich nur Teil eines umfassenden Sicherheitskonzepts des betreffenden Linux Servers sein. Ich gestehe aber, diese Maßnahme im Speziellen beruhigt mich ungemein … 😉

Wie immer ein herzliches GL & HF …

Leave a Comment