Méthodes essentielles pour sécuriser votre configuration SSH

Un guide complet pour sécuriser les configurations SSH grâce à 8 pratiques essentielles, notamment l'authentification par clé, la désactivation de la connexion root, le chiffrement, les mises à jour, la 2FA, la journalisation, les contrôles d'accès et la gestion des clés. Idéal pour les administrateurs système et les professionnels de la sécurité qui mettent en œuvre les meilleures pratiques SSH.

La sécurisation de SSH implique un large éventail de techniques possibles, mais toutes ne sont pas aussi pratiques pour tous les environnements. Les recommandations de cet article sont des méthodes largement reconnues et à fort impact qui équilibrent la facilité de mise en œuvre avec une protection robuste. Elles sont tirées de normes définies par des organisations telles que le NIST, le CERT et le projet OpenSSH, et reflètent les principes fondamentaux que SSL.com applique également à la sécurisation des certificats numériques : protection des clés, utilisation d'un chiffrement fort et limitation de l'accès privilégié.

Une fois que vous avez mis en place ces bonnes pratiques fondamentales, vous pouvez explorer des tactiques plus avancées, telles que le SSH basé sur des certificats, le port knocking ou le SSH sur VPN, selon vos besoins.

1. Utilisez l'authentification par clé plutôt que par mot de passe

Qu'est-ce que c'est:

Vous remplacez les identifiants de connexion par mot de passe par une paire de clés publique/privée cryptographique. La clé publique est stockée sur votre serveur, tandis que la clé privée reste sur votre machine locale.

Pourquoi c'est plus sécurisé :

  • Les mots de passe sont susceptibles d'être attaqués par force brute
  • Un attaquant doit obtenir physiquement votre clé privée pour entrer, ce qui est beaucoup plus difficile que de deviner un mot de passe.

Comment mettre en œuvre :

Générer une paire de clés

Sous Linux ou macOS, ouvrez un terminal et exécutez :

ssh-keygen -t ed25519

Pour plus de sécurité (si ed25519 n'est pas disponible dans votre environnement), vous pouvez utiliser :

ssh-keygen -t rsa -b 4096

Copiez la clé publique sur votre serveur

Vous pouvez utiliser la commande ssh-copy-id (sous Linux/macOS) pour transférer facilement votre clé publique :

ssh-copy-id utilisateur@adresse_serveur

Si ssh-copy-id n'est pas disponible, ajoutez manuellement le contenu de votre fichier id_ed25519.pub (ou id_rsa.pub) au fichier ~/.ssh/authorized_keys du serveur.

Désactiver l'authentification par mot de passe

Dans /etc/ssh/sshd_config, définissez :

Mot de passeAuthentification non

Redémarrez le service SSH :

sudo systemctl recommencer ssh

Tout comme la gestion des certificats numériques, l’authentification basée sur une clé SSH garantit que seule une personne disposant de la bonne clé privée peut établir une connexion.

2. Désactiver la connexion root

Qu'est-ce que c'est:

Empêcher l'utilisateur root de se connecter directement via SSH.

Pourquoi c'est plus sécurisé :

  • Le compte root détient des privilèges illimités et constitue une cible attrayante pour les attaquants
  • La désactivation de l'accès root direct oblige les attaquants à deviner non seulement une clé ou un mot de passe, mais également un nom d'utilisateur valide

Comment mettre en œuvre :

Dans /etc/ssh/sshd_config, recherchez ou ajoutez :

PermitRootLogin no

Redémarrer SSH :

sudo systemctl recommencer ssh

Cette étape réduit efficacement votre surface d’attaque en supprimant le compte le plus puissant de la portée facile.

3. Appliquer un chiffrement fort et des algorithmes MAC

Qu'est-ce que c'est:

SSH vous permet de spécifier les chiffrements et les codes d'authentification de message (MAC) à utiliser pour crypter les données et vérifier l'intégrité des données.

Pourquoi c'est plus sécurisé :

  • Les algorithmes plus anciens ou faibles (par exemple, DES, RC4) peuvent être vulnérables aux attaques cryptographiques
  • L'utilisation de chiffrements modernes (comme AES-256) et de MAC forts (comme HMAC-SHA2) permet de préserver la confidentialité et l'inviolabilité de vos données de session.

Comment mettre en œuvre :

Dans /etc/ssh/sshd_config, ajoutez ou mettez à jour votre liste de chiffrement/MAC :

Chiffres aes256-ctr,aes192-ctr,aes128-ctr
MAC hmac-sha2-256, hmac-sha2-512

Redémarrer SSH :

sudo systemctl recommencer ssh

Maintenir la cryptographie à jour pour SSH est tout aussi essentiel que de garantir l'utilisation de protocoles et de chiffrements sécurisés. TLS.

4. Maintenez SSH (et votre système) à jour

Qu'est-ce que c'est:

S'assurer qu'OpenSSH, ainsi que le reste de votre système d'exploitation, reçoit régulièrement des correctifs de sécurité.

Pourquoi c'est plus sécurisé :

  • Les logiciels obsolètes contiennent souvent des vulnérabilités connues
  • Les attaquants ciblent souvent des versions plus anciennes avec des exploits non corrigés

Comment mettre en œuvre :

Sur les systèmes basés sur Debian ou Ubuntu :

sudo apt-get mise à jour && sudo apt-get mise à niveau

Sur les systèmes basés sur CentOS, Fedora ou RHEL :

sudo yum update

Assurez-vous également de vérifier les mises à jour du micrologiciel si vous exécutez SSH sur des appareils réseau ou d'autres matériels.

5. Mettre en œuvre l’authentification à deux facteurs ou à plusieurs facteurs (2FA/MFA)

Qu'est-ce que c'est:

Ajoute une couche de sécurité supplémentaire en exigeant quelque chose en plus d'un mot de passe ou d'une clé (par exemple, un code à usage unique sur votre téléphone).

Pourquoi c'est plus sécurisé :

  • Même si les attaquants obtiennent votre clé SSH, ils ont toujours besoin du deuxième facteur pour se connecter
  • Aide à se défendre contre le vol d'informations d'identification

Comment mettre en œuvre :

Installer et configurer un outil MFA

Par exemple, Authentificateur Google peut être installé sur des serveurs Linux et configuré comme un module PAM (Pluggable Authentication Modules). Suivez les instructions d'installation spécifiques à votre distribution.

Modifiez /etc/pam.d/sshd et /etc/ssh/sshd_config

  • Activer Google Authenticator ou un autre module MFA
  • Définissez ChallengeResponseAuthentication sur oui et AuthenticationMethods sur publickey,keyboard-interactive (ou la combinaison qui convient à votre environnement)

Redémarrer SSH :

sudo systemctl recommencer ssh

6. Activer la journalisation et la surveillance

Qu'est-ce que c'est:

Capturez les événements de connexion SSH, suivez les activités suspectes et recevez des alertes lorsque quelque chose ne va pas.

Pourquoi c'est plus sécurisé :

  • Les tentatives d'intrusion sont souvent visibles dans les journaux sous forme d'échecs de connexion répétés ou d'actions non autorisées
  • La détection précoce signifie que vous pouvez réagir rapidement, en bloquant les adresses IP ou en modifiant les configurations avant que des dommages ne soient causés.

Comment mettre en œuvre :

Augmenter la verbosité du journal

Dans /etc/ssh/sshd_config, définissez :

Niveau de journalisation VERBOSE

Journaux agrégés

Utiliser les outils de prévention des intrusions

fail2ban analyse les fichiers journaux et bannit les adresses IP présentant des signes malveillants, tels que trop d'échecs de mot de passe.

7. Mettre en œuvre des contrôles et des restrictions d’accès

Qu'est-ce que c'est:

Limitez qui peut se connecter à SSH et d'où, empêchant les demandes entrantes non autorisées ou excessives.

Façons de le faire :

Restrictions du pare-feu

Autorisez uniquement le SSH à partir d'adresses IP connues ou approuvées. Par exemple, sous Linux avec ufw :

sudo ufw autoriser à partir de 192.168.1.0/24 vers n'importe quel port 22

Configuration Port

L'exécution de SSH sur un port non standard (par exemple, 2222) peut réduire les tentatives d'analyse automatisées. Cela ne remplace pas les mesures de sécurité réelles, mais cela peut réduire le bruit.

Restrictions d'utilisateur/groupe

Dans /etc/ssh/sshd_config, spécifiez :

Autoriser les utilisateurs Alice Bob

or

AllowGroups sshadmins

8. Utilisez des mots de passe de clé SSH et un stockage de clé sécurisé

Qu'est-ce que c'est:

Chiffrez votre clé privée avec une phrase secrète afin que même si votre machine est compromise, la clé elle-même ne soit pas immédiatement utilisable.

Pourquoi c'est plus sécurisé :

  • Un fichier clé volé sans mot de passe peut accorder un accès instantané
  • Les phrases de passe agissent comme une couche de cryptage supplémentaire sur votre clé locale

Comment mettre en œuvre :

Définir une phrase secrète lors de la génération de la clé

ssh-keygen -t ed25519

(Vous serez invité à saisir une phrase secrète.)

Protégez vos fichiers clés

Limitez les autorisations sur votre dossier .ssh et vos fichiers clés :

chmod 700 ~ / .ssh
chmod 600 ~/.ssh/id_ed25519

Envisagez des modules de sécurité matériels (HSM) ou des jetons

Pour les grandes organisations, l’utilisation de matériel dédié au stockage des clés peut atténuer les risques de vol de logiciels ou de logiciels malveillants.

Pour aller plus loin

La sécurité SSH se résume à plusieurs couches de protection. En mettant en œuvre l'authentification par clé, en désactivant l'accès root direct, en utilisant un chiffrement fort, en restant à jour, en exigeant une authentification multifacteur, en surveillant les journaux, en limitant l'accès et en protégeant vos clés avec des phrases de passe, vous couvrez les risques les plus courants (et les plus graves).

Ces mesures s'inscrivent dans la même philosophie de sécurité plus large que celle préconisée par SSL.com pour les certificats numériques : protéger les clés cryptographiques, utiliser un chiffrement robuste, restreindre l'accès privilégié et surveiller de près vos systèmes. Une fois que vous avez établi ces bonnes pratiques fondamentales, vous pouvez explorer des options plus avancées telles que les autorités de certification SSH, le port knocking ou l'exécution de SSH sur un VPN pour personnaliser davantage votre posture de sécurité.

Restez informé et en sécurité

SSL.com est un leader mondial de la cybersécurité, PKI et les certificats numériques. Inscrivez-vous pour recevoir les dernières nouvelles de l'industrie, des conseils et des annonces de produits de SSL.com.

Nous aimerions recevoir vos commentaires

Répondez à notre enquête et faites-nous part de votre avis sur votre récent achat.