Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Make by tools (01.00.01) - action=same_as_next_version
none

Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmlfalse
Panel
titleSommaire

Table of Contents

style

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 script check a donc été conçu pour vous permettre de garder le maximum de vigilance sur les échecs de connexion sur votre parc.

Description

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 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 ) et ou couple Host-Interface ( dans le cas d'une connexion locale sans adresse IP ).

  • Vous obtiendrez alors le nombre de tentatives au cas
pas
  • par cas, la date de la première et de la dernière tentative, et les informations précédemment énoncées.
 Le
    • Le tableau est classé par le nombre total de
tentative
    • tentatives de connexion pour le
trio IP
    • trio IP-Host-Interface
ou Host
    • ou Host-Interface.
Les deux
  • Deux seuils configurables
concernent le total des connexions échouées. AnchorMise à jour d'OpenSSHMise à jour d'OpenSSH

Mise à jour d'OpenSSH

Ce script peut ne pas fonctionner correctement avec les versions d'OpenSSH antérieure à la 6 ( dû à une impossibilité de modifier les droits des fichiers et donc de faire fonctionner le script hors root lors des accès à la commande "lastb" à distance ).

Nous vous conseillons donc de mettre à jour votre version d'OpenSSH, ce qui garantira également une meilleure sécurité sur votre environnement. Attention, par précaution, assurez vous d'avoir une session console au serveur sur lequel vous souhaitez réaliser la mise à jour.

En général

Sur la plupart des distributions encore à jour les versions d'OpenSSH 6 ou supérieures se trouvent déjà dans les dépôts officiels, il vous suffit donc de réaliser votre commande de mise à jour, quelques exemples :

Info
titleNote

Les commandes peuvent s'étendre à d'autres distributions non répertoriées

Centos 7, Redhat et AlmaLinux

Code Block
languagetext
themeEmacs
yum update openssh

Debian et Ubuntu

Code Block
languagetext
themeEmacs
apt-get upgrade openssh

ArchLinux et autres

Code Block
languagetext
themeEmacs
pacman -Syu openssh

Exemple

Exemples de résultat

Panel

Image Removed

Panel

Image Removed

Info
titleRemarque

Si vous souhaitez archiver ponctuellement les logs de tentatives de connexion, vous pouvez utiliser la commande : logrotate -f /etc/logrotate.conf

Si vous purger les logs de tentatives de connexion, vous pouvez utiliser la commande : cat /dev/null > /var/log/btmp

Cas spécifiques (Retour UNKNOWN)

  • Si le check a le statut "Unknown" avec le message :

Image Removed

       Modifier les droits des fichiers de log d'ssh. ( voir la page Modèle linux_by_ssh_advanced chapitre "Exécution de la commande" )

  • Si vous recevez ce message :

 Image Removed

Référez vous à la section de Mise à jour d'OpenSSH

Info
titleRemarques
Si vous avez trop de connexions échouées sur votre serveur dans le délai donné ( plus de 20000 ), nous ne serons pas en mesure de vous donner le nombre total de connexions échouées et devrons nous arrêter à 20000 dans des soucis d'optimisation.
Pareillement un tableau de plus de 50 lignes sera tronqué à ce stade, et ce afin d'empêcher des soucis de visibilité.

Si le check n'aboutit pas, vous pouvez purger les logs de tentatives de connexion avec la commande :  cat /dev/null > /var/log/btmp ( si besoin, faites un backup de /var/log/btmp au préalable )

  • permettent de déterminer quand le check passe en ATTENTION, puis en CRITIQUE.

Panel

Image Added

Paramétrage

Le check utilise la ligne de commande suivante :

Code Block
languagetext
themeEmacs
$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

Excerpt Include
Modèle linux_by_ssh
Modèle linux_by_ssh
nopaneltrue

Données spécifiques pour ce check

DonnéeModifiable surUnitéValeur par défautDescription
No Format
CONNECTION_WARNING

l'Hôte

( Onglet Données )

--

5

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

No Format
CONNECTION_CRITICAL

l'Hôte

( Onglet Données )

--

10

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

No Format
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.

No Format
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.

Les interfaces supportées sont : pts,tty,ssh,all

Données utilisées provenant du check

Pas de données spécifiques pour ce check

Résultat

Exemple

Panel

Image Added

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 :

Info

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é.

Panel

 Image Added

Situation

Statut

Exemple

  • Les nombre de tentatives de connections échouésest supérieur ou égal à CONNECTION_CRITICAL.

CRITIQUE

Image Added

  • Les nombre de tentatives de connections échouésest supérieur ou égal à CONNECTION_WARNING.

ATTENTION

Image Added





Métriques

Nom de la métriqueDescription
totalNombre de connexions échouées

Mise en place ( pré-requis pour ce check )

Certains checks requièrent un accès spécifique à des fichiers.

  • Pour ce faire, nous vous mettons à disposition une série de commandes.
    • Ces commandes 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.

Info
titleRemarque

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 à éxecuter :

Code Block
languagebash
titleUtilisation
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

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.

  • Cette modification garantit que, même après un redémarrage, les permissions de btmp resteront correctes (lecture pour le groupe).
  • Note : Si le fichier /usr/lib/tmpfiles.d/var.conf n'existe pas sur votre système, une erreur "no such file or directory" peut apparaître.  Cela n'affecte en rien l'application de la commande.

2.  La commande chmod 640 /var/log/btmp applique immédiatement les droits nécessaires sur le fichier.

  • Les utilisateurs du groupe pourront lire les journaux des tentatives de connexion échouées.

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.

  • Cela permet à l'utilisateur de supervision de lire le fichier /var/log/btmp.

Données et métriques

Données

DonnéeDescriptionValeur par défautCONNECTION_CRITICALDéfinit le nombre de connexions échouées à partir duquel le check passe en critical10CONNECTION_INTERFACEInterface de connexion à prendre en compte dans le check, séparées par des virgulesssh,ttyCONNECTION_TIME_LIMITNombre d'heures prises en compte dans le check24CONNECTION_WARNINGDéfinit le nombre de connexions échouées à partir duquel le check passe en warning

5

Métriques

Nom de la métriqueDescriptionconnection_failedNombre de connexion échouées