Configurer des notifications SSH Slack

22 mai 2017 Sécurité 1 Commentaire

Slack est une une plate-forme de communication collaborative assez chouette à utiliser. J’essaye donc d’y intégrer plusieurs outils et donc je me suis demandé comment je pouvais configurer des notifications SSH Slack. Comme vous pouvez vous en douter la réponse se trouve ci-dessous 🙂

 

Configurer des notifications SSH Slack : Setup Slack

Avant de « travailler » coté serveur(s), vous allez devoir créer un Wek Hook sur Slack.

https://votre-domaine.slack.com/apps/manage/custom-integrations

 

Une fois la manipulation effectuée, récupérez l’URL du Web Hook et conservez la

 

Configurer des notifications SSH Slack : Configuration serveur(s)

Maintenant il s’agira de se connecter à toutes les machines qui devront envoyer des notifications, et de créer un script

sudo nano /etc/ssh/notify.sh

 

Ajoutez le code suivant en remplacant YOUR_SLACK_WEBHOOK_URL par l’URL récupérée sur Slack

#!/bin/sh
if [ "$PAM_TYPE" != "close_session" ]; then 
 url="YOUR_SLACK_WEBHOOK_URL"
 channel="#ssh-logins"
 host="`hostname`"
 content="\"attachments\": [ { \"mrkdwn_in\": [\"text\", \"fallback\"], \"fallback\": \"SSH login: $PAM_USER connected to \`$host\`\", \"text\": \"SSH login to \`$host\`\", \"fields\": [ { \"title\": \"User\", \"value\": \"$PAM_USER\", \"short\": true }, { \"title\": \"IP Address\", \"value\": \"$PAM_RHOST\", \"short\": true } ], \"color\": \"#F35A00\" } ]"
 curl -X POST --data-urlencode "payload={\"channel\": \"$channel\", \"mrkdwn\": true, \"username\": \"ssh-bot\", $content, \"icon_emoji\": \":computer:\"}" $url &
fi

 

Rendez le script exécutable avec la commande suivante

sudo chmod +x /etc/ssh/notify.sh

 

Puis modifier le fichier /etc/pam.d/sshd en y ajoutant le code suivant (en fin de fichier convient parfaitement)

session optional pam_exec.so seteuid /etc/ssh/notify.sh

 

Vous pouvez maintenant recharger la configuration du serveur SSH et effectuer un test en vous connectant

sudo service ssh reload

 

Voici le type de notification que vous devriez recevoir

Configurer des notifications SSH Slack

 

 

Source