Vorwort:

Auch wenn man den SSH Zugriff des Systems absichert, z.B. durch das sperren aller Ports mittels „iptables“, oder „Fail2Ban“ installiert hat, 100% sicher ist man damit nicht. Das richtige Passwort genügt! Man könnte (sollte!) hier zusätzlich die zwei-wege Authentifizierung erwähnen, welche die beste aller Möglichkeiten ist sich abzusichern, jedoch in meinem Falle nicht in Frage kommt. Ich möchte von überall, zu jeder Zeit, auf meinen Server zugreifen.
Wenn ich also nicht zu 100% verhindern kann, dass sich jemand in mein System hackt, dann will ich es wenigstens mitbekommen.

Natürlich ist das Ganze ein alter Hut. Ein Shell Skript zur Alarmierung per E-Mail findet man fast überall. Jedoch bin ich ein Fan von Instant Messaging. Nachrichten via Telegram oder WhatsApp erreichen einen bedeutend schneller.
Also entschied ich mich, mir den Telegram-Bot zunutze zu machen. Er soll mir eine Nachricht schicken, wenn sich jemand an dem System anmeldet.

Das funktioniert wie folgt:

Schritt 1 – Botfather

Zuerst muss der Nutzer „@botfather“ hinzugefügt werden. Alternativ über diesen Link (https://telegram.me/botfather)

Schritt 2 – Bot erstellen

Nun dem „BotFather“ folgende Nachricht senden:

/newbot

Im Anschluss muss der Nutzer- und Bot-Name vergeben werden. Der Bot-Name muss mit „bot“ enden (z.B. BTbot oder BT_bot).
Ist das erledigt, wird ein Token generiert. Somit ist der Bot erstellt.

Schritt 3 – ChatID

Um eine Nachricht an einen Chat oder eine Gruppe zu versenden, wird eine ID benötigt.
Die findet man wie folgt heraus:

curl -X POST https://api.telegram.org/bot[BOT-TOKEN]/getUpdates
z.B.
curl -X POST https://api.telegram.org/bot123456789:ABCDE/getUpdates

Folgendes wird ausgegeben:
„chat“:{„id“:987654321,[…]}

Hier muss noch erwähnt werden, dass man zuvor dem Bot eine Nachicht schreiben muss.. der Text ist egal. Anderfalls bekommt man eine Ausgabe, in der die ChatID nicht vorhanden ist.

Schritt 4 – Test Nachricht senden

Um zu kontrollieren ob alles funktioniert, einfach eine kurze Nachricht senden. Das geht wie folgt:

https://api.telegram.org/bot123456789:ABCDEF/sendMessage?chat_id=987654321&text=Test

Schritt 5 – SSH Login Skript

Nun folgendes Skript als Root Benutzer in /etc/profile.d/ssh-telegram.sh speichern.
Die Variablen „USERID“ und „KEY“ durch die in Schritt 2 & 3 erhaltenen Daten ersetzen.

Sven Singer

Sven Singer

System Engineer

Gefällt dir der Artikel? Bitte teile ihn!
Share on Facebook
Facebook
0Share on LinkedIn
Linkedin
Email this to someone
email
Tweet about this on Twitter
Twitter