Aller au contenu

Recevoir des alertes Telegram pour chaque connexion SSH


Ldfa

Messages recommandés

Bonjour à tous,

Aujourd’hui, on va voir comment recevoir une alerte Telegram à chaque fois que l’on se connecte en SSH à un serveur.

Aussi, on verra comment mettre ça en place pour une infrastructure conséquente de façon automatisée avec Ansible.

Le principe :

Dans l’idée, on va créer un bot Telegram pour recevoir toutes les notifications, histoire de garder un historique pour le SSH (ça ne remplace pas un serveur de log évidemment).

Ensuite, on va créer un script que l’on placera dans /etc/profile.d/. Ce script sera lu à chaque ouverture de session et renverra les informations suivantes que vous pouvez voir sur l’image :

telegram-ssh-01.png

Création du bot Telegram :

Commencez un chat avec https://telegram.me/botfather.

Écrivez /newbot dans le chat et donnez le nom et le nom d’utilisateur de votre bot. Notez bien le HTTP API qui vous sera donné :

alertes-librenms-telegram-01.png

Maintenant, insérez votre token dans l’url suivante et accédez-y :

https://api.telegram.org/bot-token-/getUpdates

Une fois la page ouverte, envoyez un message à votre bot :

alertes-librenms-telegram-02.png

Actualisez la page et cherchez le chat id :

alertes-librenms-telegram-05.png

Notez bien le Chat ID et le token.

Configuration du script sur un serveur :

Installez git et curl avec la commande suivante :

apt-get install git curl

Ensuite, récupérez le script avec la commande suivante :

cd /opt/ && git clone https://github.com/stylersnico/ssh-login-alert-telegram

Éditez le script d’alerte :

nano /opt/ssh-login-alert-telegram/alert.sh

Placez votre token et votre chat ID au début du fichier :

USERID=""
KEY=""

Lancez ensuite le script suivant pour ajouter le script dans /etc/profile.d/ :

sh /opt/ssh-login-alert-telegram/deploy.sh

Testez le bon fonctionnement avec la commande suivante :

sh /etc/profile.d/telegram-alert.sh

Configuration du script sur une infrastructure complète avec Ansible :

Vous devez déjà avoir un Ansible configuré pour que cela soit fonctionnel. Pour plus d’informations sur Ansible : https://www.abyssproject.net/?s=ansible

Rendez-vous ici et téléchargez les fichiers de configuration à placer dans votre dossier Ansible : https://github.com/stylersnico/Deploy-Telegram-SSH-Alerting-with-Ansible

Éditez le script d’alerte :

nano /etc/ansible/ressources/conf/ssh/alert.sh

Placez votre token et votre chat ID au début du fichier :

USERID=""
KEY=""

Lancez ensuite le playbook qui déploiera le script sur l’ensemble de votre infrastructure :

ansible-playbook /etc/ansible/playbooks/installs/ssh-telegram.yml

Remerciements :

Merci à @Noobunbox de m’avoir dit que ça existait 🙂

Merci à @MyTheValentinus pour le script de base : https://github.com/MyTheValentinus/ssh-login-alert-telegram

Afficher l’article complet

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.