Le protocole SSH s’impose comme la méthode standard pour l’administration sécurisée de serveurs à distance. Il chiffre les échanges, protège les identifiants et permet l’automatisation des opérations critiques avec fiabilité.
Ce guide pratique décrit le fonctionnement, les usages, les risques et les bonnes pratiques pour durcir un accès à distance par SSH. Retrouvez ci‑dessous les éléments essentiels résumés dans A retenir, utiles pour sécuriser un serveur rapidement.
A retenir :
- Authentification par clé publique Ed25519, passphrase et agent actifs
- Désactivation PasswordAuthentication et PermitRootLogin, limitation des utilisateurs via AllowUsers
- Pare‑feu et fail2ban activés, ports restreints, journaux surveillés régulièrement
- Bastion central, ProxyJump, rotation des clés et révocation rapide
SSH : fonctionnement et bases pour administration sécurisée
Après ces repères, il faut comprendre l’architecture de base du protocole SSH pour agir correctement. La couche transport, l’authentification et la couche de connexion forment ensemble le socle cryptographique du service.
Modèle client‑serveur et chiffrement
Ce point explicite comment le client et le serveur négocient le chiffrement et l’authentification. La négociation sélectionne les algorithmes et génère une clé de session partagée sans l’envoyer. Vérifier l’empreinte de la clé d’hôte évite les attaques de type homme‑du‑milieu et protège la connexion sécurisée.
Connexions, ports et vérification d’empreinte
Ce paragraphe décrit les étapes pratiques pour établir et diagnostiquer une connexion sécurisée. Utilisez ssh -vvv pour suivre la négociation, et stockez known_hosts pour éviter les alertes répétées. Changer le port par défaut diminue le bruit des scans automatiques mais ne remplace pas d’autres protections.
Élément
Valeur par défaut
Recommandation
Port
22
Choisir un port non standard et pare‑feu
Types de clé
RSA 2048 souvent présent
Privilégier Ed25519 ou RSA 4096 si nécessaire
PasswordAuthentication
Yes sur beaucoup d’installations
Désactiver et imposer clés publiques
PermitRootLogin
Often yes
Interdire et utiliser sudo pour l’élévation
AllowTcpForwarding
Yes par défaut
Désactiver si non utilisé
Mesures techniques de base et compréhension du flux cryptographique aident à prioriser les actions. Selon NIST, favoriser algorithmes modernes augmente la résilience face aux attaques automatisées.
Mesures immédiates :
- Activer authentification par clé
- Interdire root via PermitRootLogin no
- Installer fail2ban et configurer bannissement
- Limiter accès par AllowUsers ou pare‑feu
- Vérifier journaux /var/log/auth.log
« J’ai basculé tous nos serveurs vers des clés Ed25519 et réduit les tentatives de brute force en quelques jours. »
Alban D.
Surveiller les connexions actives et les processus réseau complète la posture défensive côté opérateur. Ce constat ouvre la gestion des clés et des politiques d’authentification, développées dans la section suivante.
Authentification SSH : clés, passphrase et gestion
En lien avec la configuration serveur, la gestion des clés détermine la robustesse de l’authentification. Des clés uniques par projet et des passphrases empêchent les usages non autorisés et limitent l’impact d’un vol.
Génération et déploiement de clés
Cette section explique comment générer une clé moderne et la déployer de façon sûre. Privilégiez Ed25519 pour les nouveaux déploiements et RSA 4096 pour compatibilité rétrograde. Utilisez ssh-copy-id ou copiez la clé publique dans authorized_keys avec permissions strictes.
Bonnes pratiques :
- Clé par projet et par utilisateur
- Passphrase et usage de ssh-agent
- Rotation régulière des clés
- Révocation immédiate en cas de suspicion
Hygiène des clés en entreprise
Ce point élargit la pratique individuelle vers une politique d’entreprise et un cycle de vie des clés. Selon OpenSSH, la séparation des clés par contexte limite les risques de compromission. Mettez en place une procédure de révocation et testez régulièrement la suppression des accès.
Type de clé
Sécurité
Compatibilité
Recommandation
Ed25519
Élevée
Bonne sur systèmes récents
Préférer pour nouveaux usages
RSA 4096
Élevée
Large compatibilité
Utiliser si nécessaire
ECDSA 256
Moyenne
Variable selon implémentation
Évaluer compatibilité
ssh-rsa
Déconseillée
Ancienne compatibilité
Éviter si possible
« Sur mon laptop, l’utilisation d’une clé FIDO2 a réduit le risque associé aux clés volées. »
Claire M.
La gestion centralisée des clés évite les accès orphelins et facilite la révocation rapide en cas d’incident. Ces règles conduisent aux usages avancés comme les tunnels, la surveillance et la réponse aux incidents.
Tunnels SSH, transferts et surveillance pour serveurs
Après avoir sécurisé l’authentification, le tunneling et la surveillance réduisent la surface d’attaque restante pour les serveurs. Ce chapitre présente cas d’usage pratiques, outils de vérification et méthodes de réponse aux incidents.
Tunneling pour services internes
Ici on détaille les tunnels locaux, distants et le proxy dynamique pour des besoins concrets. Un tunnel local permet d’accéder à une base non exposée en pointant un port local vers le service distant.
Outils de surveillance :
- who, w, last pour sessions et historique
- journalctl -u ssh pour journaux systemd
- ss et lsof pour ports et processus
- ssh-audit pour auditer algorithmes et options
Surveillance et réponse à incident
Ce point montre comment détecter une compromission et réagir pour limiter les dégâts. Selon SANS Institute, la conservation des journaux et l’isolement du serveur sont des étapes initiales éprouvées. Si une compromission est confirmée, révoquez les clés, restaurez depuis sauvegardes et auditez les processus.
« Après une intrusion, nous avons isolé la machine et restauré une image propre en vingt minutes. »
Marc L.
« L’usage d’un bastion reste la meilleure pratique pour équipes nombreuses et accès centralisés. »
Anne P.
Surveillez les connexions anormales, configurez alertes et révisez les accès régulièrement pour maintenir la sécurité. La discipline opérationnelle et la centralisation des logs garantissent durablement un accès fiable et maîtrisé.