Contexte
Les tentatives d'intrusion pour corruption ou vol de données ne doivent pas être sous-estimées dans le cadre de votre supervision de vos postes et serveurs Linux. Ce check a donc été conçu pour vous permettre de garder le maximum de vigilance sur les échecs de connexion sur votre parc.
Le check Connection Failed by SSH va vérifier vos logs dans un laps de temps donné ( 24h par défaut, modifiable dans les données ) et vous donner le nombre total de tentatives de connexions échouées, et un tableau comportant une ligne par trio IP-Host-Interface ( dans le cas d'une connexion réseau ) ou couple Host-Interface ( dans le cas d'une connexion locale sans adresse IP ).
- Vous obtiendrez alors le nombre de tentatives au cas par cas, la date de la première et de la dernière tentative, et les informations précédemment énoncées.
- Le tableau est classé par le nombre total de tentatives de connexion pour le trio IP-Host-Interface ou Host-Interface.
- Deux seuils configurables permettent de déterminer quand le check passe en ATTENTION, puis en CRITIQUE.
Paramétrage
Le check utilise la ligne de commande suivante :
$LINUXBYSSH_SHINKEN_PLUGINSDIR$/check_linux_health_by_ssh_rust --check check_connection_failed
-H "$HOSTADDRESS$"
-u "$_HOSTSSH_USER$"
-p "$_HOSTSSH_PORT$"
-i "$_HOSTSSH_KEY$"
-P "$_HOSTSSH_KEY_PASSPHRASE$"
-w "$_HOSTCONNECTION_WARNING$"
-c "$_HOSTCONNECTION_CRITICAL$"
-l "$_HOSTCONNECTION_INTERFACE$"
-t "$_HOSTCONNECTION_TIME_LIMIT$"
Données utilisées provenant du modèle
Données communes pour les checks des modèles
Authentification
| Nom | Modifiable sur | Unité | Défaut | Valeur par défaut à l'installation de Shinken | Description |
|---|---|---|---|---|---|
SSH_KEY | l'Hôte ( Onglet Données ) | -- | $SSH_KEY_KEY$ | ~/.ssh/id_rsa | Chemin vers la clé SSH privé de l'utilisateur shinken, sur le serveur hébergeant le Poller qui exécutera le check.
|
SSH_KEY_PASSPHRASE | l'Hôte ( Onglet Données ) | -- | $SSH_KEY_PASSPHRASE$ | '' | Phrase secrète utilisée pour déchiffrer la clé privée de l'utilisateur ( si celle-ci est protégée par une passphrase ). La clé privée déchiffré est ensuite utilisée pour authentifier l'utilisateur. |
SSH_PORT | l'Hôte ( Onglet Données ) | -- | $SSH_PORT$ | 22 | Port de connexion SSH. |
SSH_USER | l'Hôte ( Onglet Données ) | -- | $SSH_USER$ | shinken | Nom de l'utilisateur pour se connecter sur le serveur supervisé. |
Données spécifiques pour ce check
| Donnée | Modifiable sur | Unité | Valeur par défaut | Description |
|---|---|---|---|---|
CONNECTION_WARNING | l'Hôte ( Onglet Données ) | -- | 5 | Définit le nombre de connexions échouées à partir duquel le check passe en ATTENTION. |
CONNECTION_CRITICAL | l'Hôte ( Onglet Données ) | -- | 10 | Définit le nombre de connexions échouées à partir duquel le check passe en CRITIQUE. |
CONNECTION_TIME_LIMIT | l'Hôte ( Onglet Données ) | heures | 24 | Les X dernières heures de logs lus pour identifier les connexions échouées. |
CONNECTION_INTERFACE | l'Hôte ( Onglet Données ) | ssh,tty | Filtres des interfaces de connexion à prendre en compte dans le check, séparées par des virgules. Exemples :
La valeur ALL peut être utilisé afin de prendre en compte toutes les interfaces. |
Données utilisées provenant du check
Pas de données spécifiques pour ce check
Résultat
Exemple
Interprétation des données
Statut
Il peut prendre 4 valeurs OK / CRITIQUE / ATTENTION / INCONNU .
Le statut va dépendre du retour de sonde et de la configuration spécifique du check pour les données suivantes :
- CONNECTION_WARNING
- CONNECTION_CRITICAL
Voici un tableau récapitulatif du statut attendu suivant le retour de sonde :
Affichage des Seuils
Le texte de la colonne "Affichage des seuils" montre les DONNÉES utilisées et leur valeur définie sur l'équipement supervisé.
Situation | Statut | Exemple |
|---|---|---|
| CRITIQUE |
|
| ATTENTION |
|
Métriques
Définition
| Nom de la métrique | Unité | Description | Seuil d'avertissement | Seuil critique |
|---|---|---|---|---|
| total | -- | Nombre de connexions échouées | CONNECTION_WARNING | CONNECTION_CRITICAL |
Exemple
Les Erreurs
Erreurs spécifiques à ce check
Le check va exécuter à distance la commande 'lastb' mais qui n'est pas disponible sur votre machine.
L'utilisateur de supervision n'a pas accès aux fichiers de logs btmp ( /var/log/btmp )
Les commandes suivantes permettront au groupe de l'utilisateur choisi pour votre supervision Shinken d'avoir un accès ( en lecture seule ) au fichier /var/log/btmp, fichier comportant vos logs de connexions échouées. Sans cet accès, la sonde ne fonctionnera pas et vous renverra le statut INCONNU. Remarque Cette série de commandes ne peut être effectuée qu'en ayant les droits root. Donc en étant connecté au compte root ou en ayant fait la commande "su" au préalable. Commandes à exécuter : 1. La commande sed -i -e "s/btmp 0600/btmp 0640/g" /usr/lib/tmpfiles.d/var.conf modifie les droits par défaut du fichier /var/log/btmp dans le fichier de configuration des fichiers temporaires. 2. La commande chmod 640 /var/log/btmp applique immédiatement les droits nécessaires sur le fichier. 3. La commande usermod -aG utmp user-service-shinken ajoute l'utilisateur user-service-shinken au groupe utmp, qui a la responsabilité des logs système.MONITORED HOST - BAD STATE – The command 'lastb' was not found.
MONITORED HOST - BAD STATE – Permission denied
sed -i -e "s/btmp 0600/btmp 0640/g" /usr/lib/tmpfiles.d/var.conf
chmod 640 /var/log/btmp
usermod -aG utmp user-service-shinken
Erreurs de connexion ( communes à tous les checks )
UNKNOWN – Username/PublicKey combination invalid
La connexion a échoué, car la paire utilisateur / clef public n'est pas reconnu par l'hôte supervisée.
Résolution :
Possibles raisons :
- L'utilisateur utilisé n'existe pas
- La paire utilisateur / clef public n'est pas autorisé pour se connecter sur la machine supervisée.
UNKNOWN – Unable to extract public key from private key file : Unable to open private key file
La clef privée configurée par la donnée SSH_KEY n'existe pas.
UNKNOWN – Unable to extract public key from private key file : Wrong passphrase or invalid/unrecognized private key file format
Le mot de passe pour déchiffrer la clef privé n'est pas correct.
Résolution :
Vérifier la donnée SSH_KEY_PASSPHRASE.
UNKNOWN – Connection refused (os error 111)
La résolution DNS a échoué.
Résolution :
Vérifier l'adresse ou le nom utilisé pour se connecter à l'hôte
UNKNOWN – Name or service not known
La résolution DNS a échoué.
Résolution :
Vérifier l'adresse ou le nom utilisé pour se connecter à l'hôte













