4 façons de désactiver le compte racine dans Linux

4 façons de désactiver le compte racine dans Linux

Le racine Le compte est le compte ultime sur un linux et d'autres systèmes d'exploitation de type UNIX. Ce compte a accès à toutes les commandes et fichiers sur un système avec des autorisations à lire complète, à écrire et à exécuter. Il est utilisé pour effectuer n'importe quel type de tâche sur un système; Pour créer / mettre à jour / accéder / supprimer les comptes d'autres utilisateurs, installer / supprimer / mettre à niveau les packages de logiciels, et bien plus encore.

Parce que le racine L'utilisateur a des pouvoirs absolus, toutes les actions qu'il effectue sont essentielles sur un système. À cet égard, toutes les erreurs de la racine L'utilisateur peut avoir d'énormes implications sur le fonctionnement normal d'un système. De plus, ce compte peut également être abusé en l'utilisant à mal ou à une manière inappropriée accidentellement, de manière malicieusement ou par l'ignorance artificielle des politiques.

Par conséquent, il est conseillé de désactiver l'accès root dans votre serveur Linux, mais plutôt un compte administratif qui doit être configuré pour obtenir des privilèges de l'utilisateur racine à l'aide de la commande sudo, pour effectuer des tâches critiques sur le serveur.

Dans cet article, nous expliquerons quatre façons de désactiver la connexion du compte d'utilisateur racine dans Linux.

Attention: Avant de bloquer l'accès au racine Compte, assurez-vous d'avoir créé un compte administratif, capable d'utiliser la commande sudo pour obtenir des privilèges d'utilisateur racine, avec la commande userAdd et donner à ce compte utilisateur un mot de passe fort. Le drapeau -m signifie créer le répertoire personnel de l'utilisateur et -c permet de spécifier un commentaire:

# userAdd -m -c "admin utilisateur" Admin # admin de passwd 

Ensuite, ajoutez cet utilisateur au groupe approprié d'administrateurs système à l'aide de la commande UserMod, où le commutateur -un signifie un compte utilisateur d'ajout et -g Spécifie un groupe pour ajouter l'utilisateur (roue ou sudo en fonction de votre distribution Linux):

# Usermod -Ag Wheel Admin # Centos / Rhel # Usermod -ag Sudo Admin # Debian / Ubuntu 

Une fois que vous avez créé un utilisateur avec des privilèges administratifs, passez à ce compte afin de bloquer l'accès root.

# su administrateur 

1. Modifier le shell de l'utilisateur racine

La méthode la plus simple pour désactiver la connexion de l'utilisateur racine est de changer son shell parmi / bac / bash ou / bac / bash (ou tout autre shell qui permet la connexion de l'utilisateur) à / sbin / nologine, dans le / etc / passwd Fichier, que vous pouvez ouvrir pour l'édition en utilisant l'un de vos éditeurs de ligne de commande préférés comme indiqué.

 $ sudo vim / etc / passwd 

Changez la ligne:

Root: x: 0: 0: root: / root: / bin / bash à root: x: 0: 0: root: / root:/ sbin / nologine 
Modifier le shell d'utilisateur racine

Enregistrez le fichier et fermez-le.

À partir de maintenant, quand racine Les utilisateurs se connectent, il obtiendra le message "Ce compte n'est actuellement pas disponible."C'est le message par défaut, mais vous pouvez le modifier et définir un message personnalisé dans le fichier / etc / nologine.SMS.

Cette méthode n'est efficace qu'avec des programmes qui nécessitent un shell pour la connexion de l'utilisateur, sinon, Sudo, FTP et e-mail Les clients peuvent accéder au compte racine.

2. Désactiver la connexion racine via le dispositif de console (TTY)

La deuxième méthode utilise un Pam module appelé pam_securetty, qui permet l'accès root uniquement si l'utilisateur se connecte sur un «sécurisé », tel que défini par la liste dans / etc /.

Le fichier ci-dessus vous permet de spécifier lequel Tty Appareils sur lesquels l'utilisateur racine est autorisé à se connecter, la vidange de ce fichier empêche la connexion racine sur tous les appareils attachés au système informatique.

Pour créer un fichier vide, exécutez.

$ sudo mv / etc / securetty / etc / secutty.orig $ sudo touch / etc / secutty $ sudo chmod 600 / etc / secutty 

Cette méthode a certaines limites, elle affecte uniquement des programmes tels que la connexion, les gestionnaires d'affichage (i.e gdm, KDM et xdm) et d'autres services de réseau qui lancent un tty. Des programmes tels que Su, Sudo, SSH et d'autres outils OpenSSH connexes auront accès au compte racine.

3. Désactiver la connexion des racines SSH

Le moyen le plus commun d'accéder aux serveurs distants ou VPSS est via SSH et pour bloquer la connexion de l'utilisateur racine en dessous, vous devez modifier le / etc / ssh / sshd_config déposer.

$ sudo vim / etc / ssh / sshd_config 

Alors inconditionnel (s'il est commenté) la directive Permatlogine et définir sa valeur sur Non Comme indiqué dans la capture d'écran.

Désactiver la connexion racine dans SSH

Une fois que vous avez terminé, enregistrez et fermez le fichier. Puis redémarrez le SSHD Service pour appliquer le changement récent dans les configurations.

$ sudo systemctl redémarrer sshd ou $ sudo service sshd redémarrer 

Comme vous le savez peut-être déjà, cette méthode n'affecte que l'ensemble d'outils OpenSSH, des programmes tels que SSH, SCP, SFTP seront empêchés d'accès au compte racine.

4. Restreindre le root access aux services via PAM

Modules d'authentification enfichables (Pam En bref) est une méthode d'authentification centralisée, enfichable, modulaire et flexible sur les systèmes Linux. Pam, à travers le / lib / security / pam_listfile.donc module, permet une grande flexibilité pour limiter les privilèges des comptes spécifiques.

Le module ci-dessus peut être utilisé pour faire référence à une liste d'utilisateurs qui ne sont pas autorisés à se connecter via certains services cibles tels que la connexion, SSH et tout programme de conscience PAM.

Dans ce cas, nous voulons désactiver l'accès des utilisateurs racine à un système, en restreignant l'accès aux services de connexion et SSHD. Ouvrez et modifiez d'abord le fichier du service cible dans le / etc / pam.d/ Répertoire comme indiqué.

$ sudo vim / etc / pam.D / Login ou sudo vim / etc / pam.d / sshd 

Ensuite, ajoutez la configuration ci-dessous dans les deux fichiers.

Auth exigé PAM_LISTFILE.donc \ onerr = succéder item = utilisateur Sense = refuser le fichier = / etc / ssh / deniedusers 

Lorsque vous avez terminé, enregistrez et fermez chaque fichier. Puis créez le fichier simple / etc / ssh / deniedusers qui doit contenir un élément par ligne et non lisible dans le monde.

Ajoutez la racine du nom, puis enregistrez et fermez-le.

$ sudo vim / etc / ssh / deniedusers 

Définissez également les autorisations requises à ce sujet.

$ sudo chmod 600 / etc / ssh / deniedusers 

Cette méthode n'affecte que les programmes et les services qui sont conscients de Pam. Vous pouvez bloquer l'accès racine au système via FTP et les clients de messagerie et plus.

Pour plus d'informations, consultez les pages d'homme concernées.

$ man pam_securetty $ man sshd_config $ man pam 

C'est tout! Dans cet article, nous avons expliqué quatre façons de désactiver la connexion (ou le compte) de l'utilisateur racine dans Linux. Avez-vous des commentaires, des suggestions ou des questions, n'hésitez pas à nous joindre via le formulaire de rétroaction ci-dessous.