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.
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.
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.
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 :
Les commandes peuvent s'étendre à d'autres distributions non répertoriées |
yum update openssh |
apt-get upgrade openssh |
pacman -Syu openssh |
|
|
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 |

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

Référez vous à la section de Connections Failed SSH
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. 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ée | Description | Valeur par défaut |
|---|---|---|
| CONNECTION_CRITICAL | Définit le nombre de connexions échouées à partir duquel le check passe en critical | 10 |
| CONNECTION_INTERFACE | Interface de connexion à prendre en compte dans le check, séparées par des virgules | ssh,tty |
| CONNECTION_TIME_LIMIT | Nombre d'heures prises en compte dans le check | 24 |
| CONNECTION_WARNING | Définit le nombre de connexions échouées à partir duquel le check passe en warning | 5 |
| Nom de la métrique | Description |
|---|---|
| connection_failed | Nombre de connexion échouées |