Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Panel
titleSommaire

Table of Contents

Contexte

Le check Security SSH lire les fichiers de configuration de votre serveur SSH et vous les afficher dans un tableau.

  • Ce qui vous permet de consulter accès simplement la configuration de votre serveur SSH, sans devoir vous connecter dessus ( dans ce cas le check sera toujours en OK ).
  • En plus, si vous le souhaitez, vous pouvez détecter si la configuration correspond à vos standards de sécurité en fournissant les valeurs des paramètres comme référence.
    • Par exemple, le standard sur le nombre maximum de clients connectés simultanément au serveur pourra être de 2, et le check sera en CRITIQUE, si un de vos serveurs est paramétré à 4.

Panel

Image Modified

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_ssh_security -H "$HOSTADDRESS$" -u "$_HOSTSSH_USER$" -p "$_HOSTSSH_PORT$" -i "$_HOSTSSH_KEY$" -P "$_HOSTSSH_KEY_PASSPHRASE$" -w "$_HOSTSSH_SECURITY_WARN$" -v "$_HOSTSSH_PROTOCOL$","$_HOSTSSH_ROOT_LOGIN$","$_HOSTSSH_EMPTY_PASS$","$_HOSTSSH_PASS_AUTH$","$_HOSTSSH_USER_ENV$","$_HOSTSSH_MAX_AUTH$","$_HOSTSSH_ALIVE_INTERVAL$","$_HOSTSSH_ALIVE_MAX$"

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éeNom dans la configuration sshdDescriptionValeur par défaut
SSH_ALIVE_MAXclientalivecountmaxNombre maximum de clients connectés simultanément au serveur

2

SSH_ALIVE_INTERVALclientaliveintervalSecondes avant que le client soit déconnecté pour inactivité

60

SSH_MAX_AUTHmaxauthtriesMaximum de tentatives de connexion autorisées

2

SSH_PASS_AUTHpasswordauthenticationAutorisation ou non d'accès au serveur par mot de passe

no

SSH_EMPTY_PASSpermitemptypasswordsAutorisation ou non d'accéder au serveur par des comptes sans mot de passe

no

SSH_ROOT_LOGINpermitrootloginAutorisation ou non d'accéder au serveur par le compte root

no

SSH_USER_ENVpermituserenvironmentAutorisation ou non au client connecté de modifier l'environnement

no

SSH_PROTOCOLprotocolVersion du protocole SSH utilisée

2

SSH_SECURITY_WARN
Active/désactive les alertes dues au check

False

Info
titleRemarque

Dans l'optique de proposer une sécurité stricte, nos valeurs par défaut ont été choisies pour une installation basique d'un serveur linux, nous vous conseillons fortement de les modifier pour les adapter à la sécurité que vous souhaitez fixer sur votre/vos serveur(s).

Comme expliqué précédemment, ces données sont utilisées uniquement si la donnée SSH_SECURITY_WARN est à True.

Données utilisées provenant du check

Pas de données spécifiques pour ce check

Résultat

Dans ce premier résultat le paramètre SSH_SECURITY_WARN est défini à False, le check passe donc en OK, car il a réussi à trouver le fichier de configuration :

Panel
Image Removed

Image Added

Interprétation des données

Statut

  • Il peut prendre quatre valeurs  OK / CRITIQUE  / INCONNU .

    • Le statut va dépendre du retour de sonde et de la configuration spécifique du check pour la donnée suivante :

      • SSH_SECURITY_WARN
    • Voici un tableau récapitulatif du statut attendu suivant le retour de sonde :

Info

Le texte de la colonne  "Affichage des seuils" montre les paramètres utilisés et leur valeur définie sur l'équipement supervisé.

Panel

 

Situation

Statut

Exemple

  • SSH_SECURITY_WARN est définit à "True".

CRITIQUE




Métriques

Aucune métrique n'est renvoyée pour ce check

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

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.

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 : 

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