Interdire les connexions SSH de l’utilisateur root

I. Présentation

L'accès SSH à une machine permet de manager cette dernière via un terminal (CLI). Par défaut, on peut utiliser tous les utilisateurs présents sur le système pour s'y authentifier. Néanmoins, il peut être dangereux de laisser l'utilisateur root se loguer en SSH car cela peut ouvrir la porte à des brute force qui donneront un accès direct au plus au niveau de privilège de la machine, c'est pour cela que nous allons voir comment interdire les connexions SSH en tant que root dans ce tutoriel.

II. Procédure

Si SSH est déjà installé (apt-get ou yum install openssh-server si ce n'est pas le cas), sa configuration se trouvera dans "/etc/ssh/sshd_config". Nous allons dans un premier temps nous y rendre puis y trouver et décommenter la ligne suivante :

PermitRootLogin yes

Après l'avoir décommentée, nous passerons sa valeur "yes" à "no". Enfin, nous pourrons redémarrer notre service SSH, pour Debian :

service ssh restart

pour CentOS :

service sshd restart

Voila, vous pourrez à présent essayer de vous connecter en root via SSH pour voir que ce n'est plus possible. Si vous souhaitez avoir plus de conseil sur la sécurisation du protocol SSH, suivez le guide : Sécuriser l'accès SSH

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.

Nombre de posts de cet auteur : 526.Voir tous les posts

6 thoughts on “Interdire les connexions SSH de l’utilisateur root

  • Mouais plutôt violente comme solution

    de tout facon si il arrive pas en ROOT il essaye les autres login

    utiliser plutôt fail2ban et interdisez plus de 2 tentatives de login SSH

    http://www.fail2ban.org/wiki/index.php/Main_Page et de plus on peut avoir un rapport par mail des tentatives

    Répondre
    • Bonjour marc,

      Oui je suis d’accord avoir toi, il s’agit d’une protection plutôt légère, mais la sécurité est suffisament absente dans certaines politiques de sécurité en entreprises pour que de petits trucs comme celui-ci fasses la différence. L’avantage de couper l’utilisateur root est qu’il est le seul à être présent sur 100% des machines alors que les autres login sont à trouver au contraire de root. Dans un environnements d’entreprise, la meilleur sécurité reste Fail2ban, mais attention au mauvaises surprises, dans la précipitation il est parfois rapide de se tromper X fois de mots de passe.

      Merci du partage ! A bientôt 😉
      Mickael

      Répondre
  • Utiliser la directive ‘AllowUsers’ est également intéressante.
    Elle n’autorise l’accès SSH qu’aux utilisateurs nommés explicitement. tant pis pour les autres. 😉

    AllowUsers user1 user2

    Cordialement

    Répondre
  • En règle générale, j’interdis également toujours les connexions root en ssh, et j’utilise également la variable AllowUsers….

    Après on peut également également désactiver le compte root avec la commande « sudo passwd -l root » et se connecter uniquement avec un compte utilisateur et utiliser la commande « sudo » pour effectuer les taches administratives….

    Répondre
  • Merci pour ce tutoriel vous pouvez aller loin en faisant une restriction ou autorisation à une connexion par ssh selon un pays grâce à geoip.

    Répondre

Répondre à tuxmika Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.