Sécurité

Vérifiez la sécurité de votre serveur SSH et protégez-le des attaques

Le protocole SSH est aujourd’hui essentiel pour gérer en toute sécurité les serveurs, les routeurs, les commutateurs et autres types d’appareils, tels que les contrôleurs Wi-Fi ou les points d’accès. Ce protocole est l’un des plus utilisés car il utilise la cryptographie symétrique et asymétrique pour assurer la confidentialité, l’authentification et l’intégrité des données transmises. Aujourd’hui, dans RedesZone, nous allons parler de la façon de protéger un serveur SSH avec des outils externes, et nous expliquerons également comment effectuer un audit de sécurité complet.

Surveiller les journaux du serveur SSH pour détecter les attaques

SSHGuard est un programme qui nous permettra de surveiller les journaux de notre serveur SSH, pour détecter d’éventuelles attaques par force brute contre les utilisateurs que nous sommes autorisés à connecter à notre serveur. Pour une bonne administration des systèmes informatiques d’une organisation, il est très important de surveiller les journaux des différents services, et grâce à SSHGuard, nous pourrons les surveiller pour détecter plus tard les attaques et bloquer les attaquants en utilisant le propre pare-feu du système d’exploitation.

Ce logiciel surveillera les logs sous différents formats, en particulier, il est capable de reconnaître ces logs sous différents formats :

  • macOS
  • métallogue
  • multilog
  • fichiers journaux bruts
  • syslog
  • syslog-ng
  • journal systemd

SSHGuard nous permet non seulement de protéger notre serveur SSH, mais il est également prêt à analyser, détecter et protéger d’autres services essentiels sur n’importe quel système informatique. Au départ il n’était compatible qu’avec OpenSSH, mais il a évolué et nous avons actuellement tous ces services :

  • OpenSSH (serveur SSH)
  • Sendmail (serveur de messagerie)
  • Exim (serveur de messagerie)
  • Pigeonnier (serveur de messagerie)
  • Cucipop (serveur de messagerie)
  • UWimap (serveur de messagerie)
  • vsftpd (serveur FTP / FTPES)
  • proftpd (serveur FTP / FTPES)
  • pure-ftpd (serveur FTP / FTPES)
  • FreeBSD ftpd (serveur FTP / FTPES)

Lorsque SSHGuard lit les journaux des différents services système et détecte un type d’attaque, il le bloque automatiquement à l’aide du pare-feu du système d’exploitation. Logiquement, en fonction du système d’exploitation, nous aurons un pare-feu spécifique installé, actuellement SSHGuard est compatible avec les pare-feu suivants pour les systèmes basés sur Unix et Linux :

  • Pare-feuD
  • ipfw
  • FILTRE IP
  • netfilter / iptables
  • netfilter / ipset
  • Pf
  • hosts.allow de tcpd
  • Le pare-feu d’IBM AIX

D’autres options intéressantes sont que nous pouvons créer une liste noire d’adresses IP automatiquement, en plus, il est également capable de surveiller plusieurs fichiers journaux simultanément. Si vous utilisez le protocole IPv6 dans votre réseau professionnel ou domestique, vous avez de la chance car SSHGuard prend entièrement en charge le protocole IPv6.

Installation et démarrage de SSHGuard

Cet excellent outil pour protéger notre serveur SSH est disponible dans les principaux référentiels de logiciels des distributions Linux telles que Debian, ArchLinux, Ubuntu, OpenSUSE, ainsi que dans le système d’exploitation FreeBSD basé sur Unix. L’installation doit se faire via le gestionnaire de paquets de votre distribution, s’il n’existe pas, vous pouvez toujours télécharger le logiciel et le compiler vous-même, vous pouvez accéder au site officiel de SSHGuard pour accéder à son téléchargement.

Pour démarrer SSHGuard, la première chose à faire est de configurer le système de journalisation sur votre serveur. Si vous ne savez pas comment faire, il existe une magnifique documentation sur le site officiel du logiciel . Ensuite, vous devrez configurer certains paramètres dans le pare-feu, afin que SSHGuard puisse bloquer les adresses IP d’éventuels attaquants dont nous disposons de manière entièrement automatique et sans l’intervention de l’administrateur réseau ou système.

Vérifiez la sécurité de votre serveur SSH

Si nous avons configuré notre serveur SSH avec une sécurité maximale , comme nous l’avons expliqué dans RedesZone, vous ne devriez pas avoir de problème, cependant, cela ne fait jamais de mal de vérifier la sécurité de votre serveur avec des outils externes.

Vérification SSH Rebex

L’ outil Rebex SSH Check gratuit et en ligne effectuera une analyse rapide des algorithmes d’échange de clés, des algorithmes de cryptage symétrique, de l’algorithme de clé, ainsi que des algorithmes MAC que nous avons actuellement configurés sur notre serveur SSH. Si nous utilisons un algorithme qui n’est actuellement pas considéré comme sûr, il nous l’indiquera, afin que nous puissions ultérieurement configurer correctement le serveur SSH et supprimer cet algorithme de ceux «autorisés».

La première chose que nous devrons faire est d’entrer sur le site officiel, nous verrons qu’il nous demande à la fois notre adresse IP ou notre domaine, ainsi que le port sur lequel le serveur SSH écoute. Lorsque nous avons saisi les données de notre serveur SSH, nous cliquons sur le bouton « TEST ».

Le processus de vérification de la sécurité du serveur SSH prend environ 10 secondes, et il nous informera de tous les algorithmes que nous pouvons utiliser, et s’ils sont sécurisés ou non. Par exemple, dans notre cas avec le serveur XigmaNAS SSH avec les valeurs par défaut, nous obtenons que la sécurité est exceptionnelle, car il utilise tous les algorithmes de chiffrement symétriques et asymétriques sûrs, en rejetant la grande majorité des anciens.

Cet outil est également capable de vérifier les algorithmes de clé du serveur, comme vous pouvez le voir, il nous informe que celui utilisé avec SHA-1 est «sûr» mais il nous informe déjà qu’il est obsolète, et qu’il est conseillé de toujours utiliser SHA2-256 ou supérieur, donc dans le fichier de configuration, nous pourrions supprimer cet algorithme.

Nous aurons également les algorithmes de chiffrement symétrique disponibles, nous n’en voyons qu’un car nous l’avons défini dans le fichier de configuration. Cet outil est également très utile pour vérifier qu’effectivement la configuration de sécurité est comme on le souhaite.

Enfin, il indique également les algorithmes MAC dont nous disposons sur le serveur SSH, certains d’entre eux, comme vous pouvez le constater, sont considérés comme non sécurisés, il est donc conseillé de retirer leur support au plus vite :

D’autres données que ce service est capable de nous fournir sont, si nous utilisons un certain type de compression, et si nous l’utilisons, il nous dira quel type de compression est que nous avons activé dans le fichier de configuration du serveur. Enfin, il nous informera également sur la clé publique du serveur, notamment l’empreinte MD5, SHA2-256 et même la clé publique que nous utilisons :

Comme vous l’avez vu, grâce à ce formidable outil en ligne entièrement gratuit, nous pouvons vérifier rapidement et facilement la sécurité de notre serveur SSH.

ssh-audit

ssh-audit est un outil totalement gratuit, écrit en Python et qui va scanner la configuration de notre serveur SSH, cette fois, nous n’avons pas d’outil en ligne, mais nous devrons l’exécuter sur le serveur lui-même où nous voulons vérifier la sécurité SSH. ssh-audit nous dira si les différentes configurations que nous avons appliquées sont sûres, non sécurisées ou présentent des faiblesses, idéales pour apporter ultérieurement des modifications audit serveur SSH.

Certaines des principales caractéristiques de cet outil gratuit sont qu’il nous permettra de détecter la bannière de connexion, si nous utilisons un protocole non sécurisé tel que SSH1, et même si nous utilisons la compression avec la bibliothèque zlib. Il pourra également vérifier les algorithmes d’échange de clés, la clé publique de l’hôte, le chiffrement symétrique lorsque la communication est déjà établie, ainsi que les messages d’authentification des informations.

Lorsque ssh-audit a analysé tous ces paramètres de manière entièrement automatisée, il produira un rapport complet indiquant quand une certaine option est disponible, si elle a été éliminée, désactivée, si elle n’est pas sécurisée, faible ou si elle est sûre. Selon la sévérité de la configuration, on peut voir différentes couleurs dans les notices.

Cet outil nous montrera également la version de SSH utilisée, en plus, il est compatible avec OpenSSH et Dropbear, les deux serveurs SSH les plus utilisés dans les systèmes d’exploitation et dans les appareils tels que les routeurs, les commutateurs, etc. Cet outil est plus avancé que le précédent, car il nous fournira plus d’informations.

Pour l’utiliser, tout ce que nous avons à faire est de télécharger le fichier .py depuis le ssh-audit officiel GitHub , puis nous l’exécuterons comme n’importe quel autre outil Python comme suit :

python ssh-audit.py [-nv] host[:port]

L’argument -n désactivera les différentes couleurs dans la sortie de toutes les informations, et le -v nous montrera absolument toutes les informations que l’outil nous donne.

Comme vous l’avez vu, protéger avec des outils externes et vérifier la sécurité de votre serveur SSH est très simple. Bien que SSH soit un protocole sécurisé, il est toujours nécessaire de le configurer correctement pour éviter des problèmes ou des attaques.

Articles Similaires

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba