web-dev-qa-db-fra.com

Comment renommez-vous root?

Pas que c'est une très bonne idée de le changer, mais pour le plaisir. Selon -- Ceci Post, il y a encore des problèmes même après avoir changé des entrées dans /etc/passwd, /etc/shadow, et /etc/sudoers. Aucune suggestion?

27
yxkb

Théoriquement, la modifiant en /etc/passwd et /etc/shadow serait tout ce dont vous avez besoin pour "renommer" racine. Le problème se produit car à peu près tous les logiciels UNIX existants suppose que le nom d'utilisateur '"racine" existe et que ce sont les alias de la super-mail, divers démons, cron ...

Si tu es vraiment enfer enfilé l'essayer, find /etc -type f -exec grep -l root {} + devrait être un bon démarrage à la recherche d'une liste de chaque fichier de configuration, vous devrez probablement changer - mais comme vous l'avez déjà dit, c'est une très mauvaise idée dans presque toutes les situations imaginables.

ÉDITER Une autre pensée - si vous ne l'avez pas déjà (ce que vous devrait avoir), assurez-vous que /etc/aliases contient une entrée pour root et un nom d'utilisateur qui existe ou une adresse électronique qui évalue correctement. Beaucoup de tâches de système automatisées (cron par exemple) envoient leur sortie par courrier électronique à root, qui est traditionnellement aliasé sur les administrateurs de systèmes responsables des opérations de ce système.

29
Shadur

Toute cette peur tente, disant "ne le fais pas!" est ridicule. À une époque, oui, il a probablement rompu beaucoup de scripts gravement écrits, mais je soupçonne que ce ne sont plus si courants. au moins pas dans les distributions standard.

On nous a demandé de renommer le compte root sur un sous-ensemble de serveurs Linux. Ainsi, après avoir tenté de rechercher la manière de faire cela correctement, j'ai trouvé de nombreux postes, de nombreux postes disant "ne le font pas!" Avec beaucoup d'avertissements désireux de "mauvais trucs" se produisant si vous choisissez de le faire. Mais, je n'ai pas encore trouvé d'exemples concrets des "mauvaises choses" qui pourraient arriver.

Alors, laissez-moi sauvegarder et expliquer où je suis et comment nous sommes arrivés ici. Nous construisons un environnement conforme à PCI et l'un des outils qui nous aide à respecter ces "exigences" nous disent que nous devons renommer les comptes racine et administrateur et invité à autre chose. Pour les personnes non éduquées sur PCI, vous avez la possibilité de suivre les lignes directrices ou de la documentation de la raison pour laquelle vous ne pouvez pas ou que vous ne choisissez de ne pas suivre cette ligne directrice et quelle stratégie d'atténuation vous devez conserver les systèmes en toute sécurité. Donc, j'imagine la plupart des endroits doodez pourquoi ils ne renommeront pas à renommer leurs comptes racines. Cependant, notre groupe a décidé que, si nous pouvons renommer les comptes d'administrateur Windows sans problème, allait également renommer les comptes de racines Linux.

Je suis bien versé dans les arguments "Sécurité par l'obscurité"; Je sais que changer le nom du compte root n'améliore pas beaucoup la sécurité par beaucoup, la racine devrait être désactivée chez SSH, etc. Je sais que ce n'est pas le point, je ne suis pas intéressé à entendre plus. Je ne suis pas non plus intéressé par plus de "Le ciel tombera" des avertissements. Je cherche des déclarations comme ceci: "> Cette mauvaise chose <se produira avec> ce package standard <(à moins que vous ne <)".

Jusqu'à présent, j'ai 3 systèmes Centos (Rhel) qui apparaissent apparemment aucun problème de renommer le compte root. Voici ce que j'ai fait: j'ai changé le nom du compte dans/etc/passwd,/etc/shadow,/etc/groupe, et/etc/gshadow. Ensuite, Grepped pour le nom racine dans/etc/et modifié le fichier d'alias postfix afin que la racine était un alias sur notre nouveau nom de compte, appelez-le Rojotoro. (Quelque chose de similaire doit être fait pour d'autres systèmes de messagerie). J'ai également constaté que j'avais besoin de changer certaines configurations pour la lecture de Logrotate lorsque vous décrivez qui devrait posséder les fichiers qu'il créerait automatiquement. Et cela a été tout ce que j'ai changé jusqu'à présent.

J'ai regardé de nombreux scripts Init.D, mais je n'ai rien changé, et tout semble commencer à bien au démarrage. Je dois spécifier le nouveau compte lors de l'utilisation sudo: "sudo -u rojotoro vim/etc/passwd" à titre d'exemple, mais je n'ai pas eu besoin de changer quoi que ce soit dans le fichier sudoers. Je m'attendais peut-être quelques problèmes avec SELINUX que nous avons sur lesquels nous avons sur et appliquer, mais jusqu'à présent, je n'ai pas eu besoin de toucher ce système.

Je peux également voir que les scripts MKDEV ou MKFS devraient être ajustés, mais je ne prévois pas d'utiliser ceux-ci, donc je ne les ai pas regardés avec le contrôle qu'ils méritent.

Si c'est vraiment si facile à changer sans effets néfastes sur un système compatible SELINUX, pourquoi la poursuite de toute la peur se termine?

23
5mi11er

suggestion: Ne faites pas ça.

Certains outils essaient de parler à la racine via UID, vous ne devriez pas avoir de problèmes. Certains outils supposent que votre compte root est appelé root et se brisera. À moins que vous ne soyez prêt à recompiler la moitié de votre système "pour le plaisir", n'essayez tout simplement pas.

7
kuhkatz

À mon esprit, la chose la plus facile à faire est de créer un nouvel utilisateur (alias), avec UID 0 et /root comme à la maison.

Pourquoi ne changeez-vous pas la coque par défaut de votre racine à /bin/false ou /sbin/nologin (Donc, personne ne peut se connecter, mais le système l'utilise toujours) et se connecter au nouvel alias créé?

[email protected] ~ $ head -2 /etc/passwd
root:x:0:0:root:/root:/bin/nologin
root2:x:0:0:root:/root:/bin/bash
[email protected] ~ $ su -
Password:
su: Authentication failure
[email protected] ~ $ su root2
Password:
naboo razvan # whoami
root

Si vous modifiez la coquille de la racine à Nologin, le sudo, le courrier ou le FTW ne sera pas endommagé.

4
fromnaboo

Linux n'est pas des fenêtres et la racine ne peut actuellement pas être renommée facilement sans créer des problèmes futurs inconnus.

Désactivation de la connexion distante et même locale en tant que root est une approche plus sûre car elle désactive activement la racine de compte! Ubuntu fait essentiellement cela et force sudo au lieu de l'accès root.

Essentiellement, personne ne peut utiliser le compte root pour attaquer votre système car il ne peut plus être utilisé pour vous connecter au système!

Ce serait bien si une manière standard a été créée pour modifier facilement le nom du compte root ainsi que générer de manière aléatoire son UID lors de l'installation et si jamais possible à chaque départ à froid pour empêcher le ciblage de l'UID, mais cela n'existe actuellement pas.

Réglage/etc/passwd Modifier la racine: x: 0: 0: root:/root:/bin/nologin

Créez un seul compte administrateur de secours pour une utilisation d'urgence uniquement! Fallbackadmin: x: 0: 0: root:/root:/bin/bash

Mettre en œuvre sudo pour tous les administrateurs afin que le changement de journal de modification puisse être mis en œuvre pour suivre avec précision qui apporte des modifications à la responsabilité!

Cela implémente les exigences GOV PCI US pour désactiver les comptes d'administrateur/invité par défaut et créer un compte d'administration d'utilisation d'urgence unique.

Un moyen d'archiver des journaux pour l'audit est de collecter l'historique des terminaux à partir de tous les utilisateurs avec un accès au compte Sudo si l'AAA centralisée n'est pas implémentée.

Une solution à mettre en œuvre uniquement les comptes d'administrateur consiste à créer un compte utilisateur utilisateur et un compte activé par Sudo, puis forcer l'utilisateur à suivre à leur compte activé par Sudo pour un accès administratif.

Vous pouvez également implémenter l'authentification de la carte à puce si vous souhaitez une meilleure sécurité. Il existe des solutions disponibles pour GNU/Linux qui comparent à la US Common Access Carte CAC Solutions pour deux facteurs d'authentification.

2