Les alertes et notifications SMS avec Free Mobile

Écrit par fdgeek
7 minutes
Les alertes et notifications SMS avec Free Mobile

Depuis maintenant plusieurs années Free Mobile propose à tous ses abonnés une multitude de services et d'options gratuites et ce, quelque soit le forfait, du plus basique au plus complet. De quoi rendre jaloux les concurrents chez qui, certains de ces services sont payants ou purement inexistants.

Parmi ces options gratuites, figure la notification par SMS qui permet au détenteur de la ligne de recevoir sur son smartphone des alertes SMS en provenance de ses matériels connectés ou de ses applications au sein des quels ce service aura été défini. Pour proposer cela, FREE utilise une API spécifique qui doit être appelée via une requête HTTPS.

Nous allons donc voir ci-dessous en quelques étapes comment activer cette fonction et comment, au moyen d'un petit script adapté que j'ai déniché que le web paramétrer une alerte SMS lorsque qu'un utilisateur établit une connexion sécurisée sur le service SSH d'un serveur.

La toute première chose à faire est donc de se connecter à son espace de gestion Free mobile, de se rendre dans la section "Options" et d'activer le service de notification par SMS comme sur l'image ci-dessous :

Une fois l'option activée, vous remarquerez qu'une clé d'identification personnelle a 14 caractères a été générée. ATTENTION : Elle est confidentielle et sera régénérée à chaque désactivation/activation de l'option. Notez donc bien cette clé, car elle est très importante pour la suite.

Maintenant que l'option de notification est active, voyons son utilisation en pratique. Pour ce faire je prends comme exemple le cas d'une machine sous Linux (ex: Ubuntu ou Debian) sur laquelle un serveur SSH est actif et pour lequel l'utilisateur souhaite recevoir un SMS à chaque connexion.

Au préalable il vous faudra vérifier si les paquets "Curl" (nécessaire pour appeler l'API de Free) et "Dnsutils" (le script utilise la commande dig pour retourner des informations réseau ) sont installés. Si tel n'était pas le cas voici les commandes d'installation :

# mise à jour du système :
sudo apt-get update 
sudo apt-get upgrade

# installation de curl et dnsutils :
sudo apt-get install curl
sudo apt-get install dnsutils

Il faut maintenant créer notre script par exemple dans un sous-répertoire /scripts du dossier utilisateur :

# création du fichier notification_sms.sh :

sudo nano /home/nom_utilisateur/scripts/notification_sms.sh

Puis au sein de ce fichier notification_sms.sh il suffit de copier et modifier le script suivant :

#!/bin/bash
read -d " " ip <<< $SSH_CONNECTION
reverse=$(dig -x $ip +short)
who=$(whoami)
hostname=$(hostname)
curl --insecure "https://smsapi.free-mobile.fr/sendmsg?user=XXXXXX&pass=XXXXXXXXXXXXXX&msg=Une connexion SSH de $who sur $hostname vient d'être lancée ($ip:$reverse)"

ATTENTION :  Dans la ligne qui commence par curl, vous devez renseignez à la place des X avant &pass et &msg par votre identifiant de connexion Free mobile (user=) et par la clé d'identification qui vous a été attribuée (pass=).

Vous pouvez-maintenant enregistrer (CTRL+O) et quitter l'éditeur Nano (CTRL+X). Ensuite, il faut modifier les droits sur ce script afin d'en autoriser l'exécution comme ceci :

sudo chmod +x /home/nom_utilisateur/scripts/notification_sms.sh

Pour terminer, il reste à paramétrer le service SSH afin qu'il fasse appel à ce script lorsqu'une connexion distante est établie. Pour ce faire il suffit de rajouter une ligne au sein du fichier sshrc présent dans le répertoire /etc/ssh/.

PS : il est possible que le fichier sshrc n'existe pas et il faut donc le créer ou l'éditer de la manière suivante :

sudo nano /etc/ssh/sshrc

Puis il suffit de rajouter la ligne qui appelle votre script :

/home/nom_utilisateur/scripts/notification_sms.sh

Enregistrer, quitter (CRTL+O et CTRL+X) et c'est terminé. Dorénavant, à chaque connexion SSH vous recevrez dans les secondes qui suivent un SMS de Free sous la forme suivante :

Une connexion SSH de "Nom_Utilisateur" sur "Nom du serveur" vient d'être lancée (adresse IP de la machine : Nom de la machine et du réseau local utilisé).

Vous l'aurez compris, il est possible de créer, de  modifier ou d'adapter ce script pour la surveillance d'autres matériels ou services. Le plus important restant la ligne curl permettant l'appel à l'API SMS de Free Mobile.

Je suis certain que les fanas de domotique vont adorer.😉