Ce tutoriel te guide pas à pas pour configurer ton serveur Debian afin de recevoir des notifications par SMS lors des connexions et déconnexions SSH. On utilisera PAM (Pluggable Authentication Modules) pour déclencher l'exécution de deux scripts (un pour la connexion et un pour la déconnexion) et le service "Notification par SMS" de Free Mobile pour l'envoi des SMS.
Note : Pour utiliser le service Free Mobile, active l'option "Notification par SMS" sur ton espace client Free Mobile. Cette option est gratuite et te fournira une clé API nécessaire pour l'envoi des messages.
Sécurité accrue :
Tu es immédiatement alerté en cas de connexion ou de déconnexion, ce qui permet de détecter rapidement toute activité anormale ou non autorisée sur ton serveur.
Réactivité :
En recevant des SMS en temps réel, tu peux agir rapidement pour enquêter ou prendre des mesures préventives.
Gratuité et simplicité :
Le service Free Mobile est gratuit (après activation) et la configuration via PAM est directement intégrée dans Debian, sans besoin d’installer des logiciels tiers complexes.
Compte Free Mobile :
Un compte avec l'option "Notification par SMS" activée. Cette activation génère une clé API (ou mot de passe API) que tu utiliseras dans tes scripts.
Serveur Debian :
Un serveur avec SSH installé et configuré.
Droits administrateur (root) :
Pour modifier la configuration PAM.
curl installé :
Utilisé pour envoyer des requêtes HTTP vers l'API de Free Mobile.
Nous allons créer deux scripts :
connexion.sh
: pour notifier une connexion SSH.
deconnexion.sh
: pour notifier une déconnexion SSH.
connexion.sh
)Crée le fichier /chemin/vers/connexion.sh
avec le contenu suivant (en remplaçant bien entendu ID
et API_KEY
par tes informations Free Mobile) :
# Script de notification SMS à la connexion SSH
# Variables free-mobile
ID="identifiant_free_mobile"
API_KEY="clé_API"
# Récupération des variables PAM
USER=${PAM_USER}
IP=${PAM_RHOST}
DATE=$(date '+%d-%m-%Y')
HEURE=$(date '+%H:%M:%S')
# Construction du message de notification
MESSAGE="Havelcloud : Connexion SSH réussie par ${USER} depuis l'adresse IP ${IP} le ${DATE} à ${HEURE}"
# Envoi du SMS via l'API Free Mobile
curl -G --data-urlencode "user=${ID}" --data-urlencode "pass=${API_KEY}" --data-urlencode "msg=${MESSAGE}" https://smsapi.free-mobile.fr/sendmsg
Rends le script exécutable :
chmod +x /chemin/vers/connexion.sh
deconnexion.sh
)Crée le fichier /chemin/vers/deconnexion.sh
avec le contenu suivant (même principe pour ID
et API_KEY
) :
# Script de notification SMS à la déconnexion SSH
# Variables Free Mobile
ID="identifiant_free_mobile"
API_KEY="clé_API"
# Récupération des variables PAM
USER=${PAM_USER}
DATE=$(date '+%d-%m-%Y')
HEURE=$(date '+%H:%M:%S')
# Construction du message de notification
MESSAGE="Havelcloud : Déconnexion SSH de l'utilisateur ${USER} le ${DATE} à ${HEURE}"
# Envoi du SMS via l'API Free Mobile
curl -G --data-urlencode "user=${ID}" --data-urlencode "pass=${API_KEY}" --data-urlencode "msg=${MESSAGE}" https://smsapi.free-mobile.fr/sendmsg
Rends ce script exécutable également :
chmod +x /chemin/vers/deconnexion.sh
Nous allons utiliser le module pam_exec
pour exécuter ces scripts lors de l'ouverture et de la fermeture d'une session SSH.
Ouvre le fichier de configuration PAM pour le service SSH :
nano /etc/pam.d/sshd
Ajoute les lignes suivantes dans la section session
:
# Notification à la connexion SSH
session optional pam_exec.so /chemin/vers/connexion.sh
# Notification à la déconnexion SSH
session optional pam_exec.so onexit=/chemin/vers/deconnexion.sh
onexit=
, exécute le script de déconnexion lorsque la session se termine.Astuce : Avant de modifier ce fichier, effectue une sauvegarde pour pouvoir revenir en arrière en cas de problème :
cp /etc/pam.d/sshd /etc/pam.d/sshd.backup
Connexion SSH :
Ouvre une session SSH sur ton serveur et vérifie que tu reçois un SMS de notification de connexion.
Déconnexion SSH :
Ferme ta session SSH et vérifie que tu reçois également un SMS de notification de déconnexion.
Dépannage :
curl
fonctionne correctement sur ton serveur.PAM_USER
et PAM_RHOST
) sont bien définies lors de l'exécution du script par PAM.En suivant ce tutoriel, tu as mis en place une surveillance en temps réel des connexions et déconnexions SSH sur ton serveur Debian, avec des notifications envoyées par SMS via Free Mobile. Cette solution te permet de renforcer la sécurité de ton système et d'être alerté immédiatement en cas d'activité suspecte.
Si tout marche bien, félicitations ! Tu vas recevoir des sms à chaque accés SSH de ton serveur !
N'oublie pas : la sécurité, c'est l'affaire de tous, et avec ce tutoriel, tu as fait un grand pas pour surveiller ton serveur !