Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmlfalse
Panel
titleSommaire

Table of Contents
stylenone

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 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, 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 pas 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 tentative de connexion pour le trio IP-Host-Interface ou Host-Interface.

Les deux seuils configurables concernent le total des connexions échouées.

Paneltitle

Sommaire


Table of Contents

Mise à jour d'OpenSSH

Anchor
Mise à jour d'OpenSSH
Mise à jour d'OpenSSH

Sur CentOS 6.6, 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 et Redhat et AlmaLinux

Code Block
yum update openssh

Debian et Ubuntu

Code Block
apt-get upgrade openssh

ArchLinux et autres

Code Block
pacman -Syu openssh

Sur Centos 6.6

Voici les différentes commandes : (un exemple ici avec la version OpenSSH 7.6 Officielle, mais vous pouvez prendre la dernière version disponible sur le site officiel d'OpenSSH)


Installation de quelques paquets

Code Block
yum install rpm-build gcc make wget openssl-devel krb5-devel pam-devel libX11-devel xmkmf libXt-devel


Téléchargement

Code Block
wget https://mirrors.ircam.fr/pub/OpenBSD/OpenSSH/portable/openssh-7.6p1.tar.gz


Extractions et copies


Code Block
tar xvf openssh-7.6p1.tar.gz
mkdir -p /root/rpmbuild/{SOURCES,SPECS}
cp ./openssh-7.6p1/contrib/redhat/openssh.spec /root/rpmbuild/SPECS/
cp openssh-7.6p1.tar.gz /root/rpmbuild/SOURCES/


Paramétrage Specs

Code Block
cd /root/rpmbuild/SPECS/
sed -i -e "s/%define no_gnome_askpass 0/%define no_gnome_askpass 1/g" openssh.spec
sed -i -e "s/%define no_x11_askpass 0/%define no_x11_askpass 1/g" openssh.spec
sed -i -e "s/BuildPreReq/BuildRequires/g" openssh.spec


Build du RPM et installation

Code Block
rpmbuild -bb openssh.spec

cd /root/rpmbuild/RPMS/x86_64/

rpm -Uvh *.rpm


Redémarrez votre service sshd :

Code Block
service sshd restart


Vous pouvez vérifier votre version avec :

Code Block
rpm -qa | grep openssh


Si vous avez quelconques problèmes vous pouvez revenir sur l'ancienne version avec : 

Code Block
yum downgrade openssh-server
Info

Si vous utilisez l'utilisateur "shinken" (par défaut) avec une connexion via clé RSA, il se peut que suite à la mise à jour, vos scripts affichent un message de problème d'authentification ([ERROR] Connection failed 'Authentification failed'), sur le serveur sur lequel vous avez mis à jour SSH, veuillez réinitialiser l'utilisateur en lui supprimant son mot de passe (par défaut) avec la commande :

passwd -d shinken

Exemple

Exemples de résultat

Panel

Panel

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 :

       Appliquez la ligne de commande ou le script advanced_pack_read_rights.py disponible dans la page Modèle Linux avancé. (droits spécifiques à des fichiers)


  • Si vous recevez ce message :

 

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)

Données et métriques

Données

DonnéeDescriptionValeur par défaut
CONNECTION_CRITICALDéfinit le nombre de connexions échouées à partir duquel le check passe en critical10
CONNECTION_INTERFACEInterface de connexion à prendre en compte dans le check, séparées par des virgulesssh,tty
CONNECTION_TIME_LIMITNombre d'heures prises en compte dans le check24
CONNECTION_WARNINGDéfinit le nombre de connexions échouées à partir duquel le check passe en warning

5

Métriques

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