Plutôt clés SSH ou mot de passe ? Telle est la question que se posent souvent les professionnels de l’IT en paramétrant l’authentification sur un serveur SFTP.
Plusieurs débats ont déjà été menés afin de savoir laquelle de ces deux méthodes sécurise le mieux, sans ne jamais obtenir de réponse officielle.
Voyons quelles sont les différences entre ces deux méthodes. Comment fonctionnent-elles et est-ce qu’une solution est plus sécurisée que l’autre ?
L’authentification par mot de passe
Authentifier un serveur SFTP avec un mot de passe est relativement simple. L’administrateur crée un identifiant et un mot de passe pour un utilisateur. Une fois le paramétrage effectué, lorsque l’utilisateur se connecte, le serveur vérifie si la combinaison identifiant et mot de passe est correcte en acceptant ou refusant la demande.
Afin de mieux sécuriser cette méthode, l’administrateur peut mettre en place un « failsafe ». Si une personne a entré un mauvais mot de passe plusieurs fois en peu de temps, le compte sera bloqué. L’administrateur devra alors le débloquer. Il peut aussi paramétrer les mots de passe de sorte qu’ils soient en adéquation avec certaines politiques (lettres majuscules, caractères spéciaux, longueur, etc.), pouvant expirer après un nombre de jours prédéfini.
Les pours :
- Simple à implémenter.
- Peut expirer et être mentionné dans les politiques internes.
Les contres :
- Les politiques de mot de passe peuvent être frustrantes.
- La méthode tend à avoir des mots de passe faibles.
- Il peut y avoir beaucoup d’erreurs humaines lors de la connexion et donc de « failsafe ».
- Possibilité d’attaques « brute-force ».
L’authentification par clés SSH
S’authentifier sur un serveur SFTP avec une clé SSH demande un peu plus de travail de paramétrage. Une paire de clés SSH est composée d’une clé privée et d’une clé publique. La paire de clés est générée automatiquement par l’ordinateur et peut atteindre 4096 bits, ce qui est beaucoup plus long qu’un mot de passe classique.
Une fois que la clé privée et la clé publique sont enregistrées, le logiciel client peut s’authentifier au serveur SSH. Certains serveurs SFTP requièrent aussi bien la clé SSH qu’un le mot de passe, pour une authentification additionnelle.
Si quelqu’un essaye de se connecter avec un nom d’utilisateur ou mot de passe (ou les deux) mais n’a pas la combinaison clé privée/clé publique, son accès sera rejeté du serveur même en tentant une attaque brute-force.
Les pours :
- Beaucoup plus complexe qu’un mot de passe car une clé n’est pas générée par une personne.
- Un mot de passe peut être ajouté pour avoir une deuxième méthode d’authentification.
Les contres :
- N’a pas d’expiration.
- Sujet au vol de matériel.
- Certaines paires de clés sont utilisées sur plusieurs serveurs SFTP, ce qui rend la clé privée précieuse et vulnérable.
Quelle est finalement la meilleure méthode d’authentification entre le mot de passe et une clé SSH ?
Chaque méthode a des avantages et des inconvénients. Le choix doit dépendre de votre entreprise : sa taille, ses besoins, la capacité du département IT et de l’administration, les politiques d’entreprise concernant la cybersécurité, etc. Aucune des deux méthodes n’est infaillible, le risque 0 n’existe pas.
Cependant, si vous ne savez vraiment pas pour quelle solution opter, nous vous conseillons d’utiliser une clé SSH et un mot de passe pour vous authentifier. Deux précautions valent mieux qu’une. Si quelqu’un compromet votre clé privée, il ne pourra pas compromettre le serveur SFTP sans mot de passe ou phrase de passe. Et si quelqu’un possède votre mot de passe mais pas votre clé privée, l’intrusion est impossible.