Pourquoi root sur SSH est mauvais
Il y a beaucoup de robots qui essaient de se connecter à votre ordinateur via SSH. Ces robots fonctionnent de la manière suivante.
Ils exécutent quelque chose comme ssh root@$IP
et ensuite ils essayent des mots de passe standard comme "root" ou "password123". Ils le font aussi longtemps qu'ils le peuvent, jusqu'à ce qu'ils trouvent le bon mot de passe. Sur un serveur accessible dans le monde entier, vous pouvez voir de nombreuses entrées de journal dans vos fichiers journaux. Je peux aller jusqu'à 20 par minute ou plus.
Lorsque les attaquants ont de la chance (ou assez de temps) et trouvent un mot de passe, ils ont un accès root et cela signifie que vous êtes en difficulté.
Mais lorsque vous n'autorisez pas root à se connecter via SSH, le bot doit d'abord deviner un nom d'utilisateur, puis le mot de passe correspondant. Supposons donc que la liste des mots de passe plausibles comporte des N
entrées et que la liste des utilisateurs plausibles comporte de M
grandes entrées. Le bot a un ensemble d' N*M
entrées à tester, ce qui le rend un peu plus difficile par rapport au cas racine où il ne s'agit que d'un ensemble de taille N
.
Certaines personnes diront que cet ajout M
n’est pas un réel gain de sécurité et je conviens que ce n’est qu’une petite amélioration de la sécurité. Mais je pense plus à cela que ces petits cadenas qui, en soi, ne sont pas sécurisés, mais empêchent beaucoup de gens d’y avoir facilement accès. Bien entendu, cela n’est valable que si votre ordinateur ne possède aucun autre nom d’utilisateur standard, tel que tor ou apache.
La meilleure raison de ne pas autoriser root est que root peut causer beaucoup plus de dégâts à la machine qu'un utilisateur standard. Donc, si par hasard ils trouvent votre mot de passe, tout le système est perdu alors qu'avec un compte utilisateur standard, vous ne pouvez manipuler que les fichiers de cet utilisateur (ce qui est toujours très mauvais).
Dans les commentaires, il a été mentionné qu'un utilisateur normal pourrait avoir le droit d'utiliser sudo
et que si son mot de passe était deviné, le système serait totalement perdu.
En résumé, je dirais que le mot de passe d'un attaquant n'a pas d'importance. Quand ils devinent un mot de passe, vous ne pouvez plus faire confiance au système. Un attaquant pourrait utiliser les droits de cet utilisateur pour exécuter des commandes avec sudo
, pourrait également exploiter une faiblesse de votre système et obtenir les privilèges root. Si un attaquant avait accès à votre système, vous ne pouvez plus lui faire confiance.
Ce qu'il faut retenir ici, c'est que chaque utilisateur de votre système autorisé à se connecter via SSH constitue une faiblesse supplémentaire. En désactivant root, vous supprimez une faiblesse évidente.
Pourquoi les mots de passe sur SSH sont mauvais
La raison pour désactiver les mots de passe est très simple.
- Les utilisateurs choisissent de mauvais mots de passe!
L'idée d'essayer des mots de passe ne fonctionne que lorsque les mots de passe sont devinables. Ainsi, lorsqu'un utilisateur a le mot de passe "pw123", votre système devient instable. Un autre problème avec les mots de passe choisis par les utilisateurs est que leurs mots de passe ne sont jamais vraiment aléatoires, car il serait alors difficile de s'en souvenir.
En outre, les utilisateurs ont tendance à réutiliser leurs mots de passe, en se connectant à Facebook ou à leurs comptes Gmail et à votre serveur. Ainsi, lorsqu'un pirate informatique obtiendra le mot de passe du compte Facebook de cet utilisateur, il pourra accéder à votre serveur. L'utilisateur pourrait facilement le perdre par le biais de l'hameçonnage ou le serveur de Facebook pourrait être piraté.
Mais lorsque vous utilisez un certificat pour vous connecter, l'utilisateur ne choisit pas son mot de passe. Le certificat est basé sur une chaîne aléatoire très longue allant de 1024 bits à 4096 bits (mot de passe ~ 128 - 512 caractères). De plus, ce certificat est uniquement là pour vous connecter à votre serveur et n'est utilisé avec aucun service extérieur.
Liens
http://bsdly.blogspot.de/2013/10/the-hail-mary-cloud-and-lessons-learned.html
Cet article provient des commentaires et je voulais lui donner une position un peu plus importante, car il approfondit un peu la question des réseaux de zombies qui essaient de se connecter via SSH, comment ils le font, comment les fichiers de log se présentent et que peut-on faire pour les en empêcher? Il a été écrit par Peter Hansteen.