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 Connections Failed 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, et un tableau comportant une ligne par, trio IP-Host-Interface ( dans le cas d'une connexion réseau ) et 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 :

$SHINKEN_LINUXBYSSH_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

Données spécifiques pour ce check

DonnéeModifiable surUnitéValeur par défautDescription
CONNECTION_WARNING

l'Hôte

( Onglet Données )

--

5

Définit le nombre de connexions échouées à partir duquel le check passe en CRITIQUE.

CONNECTION_CRITICAL

l'Hôte

( Onglet Données )

--

10

Définit le nombre de connexions échouées à partir duquel le check passe en ATTENTION.

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

Interface de connexion à prendre en compte dans le check, séparées par des virgules.

Interfaces supportés : pts,tty,ssh,all

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

  • Les charges dépassent la valeur de CONNECTION_CRITICAL.

CRITIQUE

  • Les charges dépassent la valeur de CONNECTION_WARNING.

ATTENTION





Métriques

Nom de la métriqueDescription
connection_failedNombres de connexion échouées

Pré-requis pour certains checks

Certains checks requièrent un accès spécifique à des fichiers. Pour se faire une commande est à votre disposition.

  • Cette commande permettra au groupe de l'utilisateur choisi pour votre supervision Shinken d'avoir un accès ( en lecture seule ) au fichier /var/log/btmp ( pour le check Connections Failed SSH ) et au fichier /etc/ssh/sshd_config ( pour le check Security SSH ), fichiers comportant vos logs de connexions échouées et votre configuration SSH.
  • Sans cet accès les sondes ne fonctionneront pas et vous renverront le statut "Unknown".

Fonctionnement

La commande modifie le fichier /usr/lib/tmpfiles.d/var.conf qui est chargé de rétablir les droits au redémarrage de la machine. Ce fichier n'est pas disponible sur toutes les distributions Linux, vous pourrez alors avoir une erreur, "no such file or directory", cela n'affecte en rien l'application de la commande.

Ensuite le fichier /etc/logrotate.conf sera modifié de la même façon pour qu'à la rotation des logs (tous les mois par défaut) les droits ne soient pas rétablis.

Pour finir nous changeons donc les droits des fichiers /var/log/btmp et /etc/ssh/sshd_config pour permettre au groupe utilisé pour la supervision ( et donc son utilisateur ) de les lire.

Exécution de la commande

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.

Pour donner un accès en lecture seule au fichier /var/log/btmp et au fichier /etc/ssh/sshd_config au groupe shinken, exécutez : 

sed -i -e "s/btmp 0600/btmp 0640/g" /usr/lib/tmpfiles.d/var.conf
sed -i -e "s/create 0600/create 0640/g" /etc/logrotate.conf
chmod 640 /var/log/btmp /etc/ssh/sshd_config
chown root:shinken /etc/ssh/sshd_config
usermod -aG utmp shinken