41 votes

Comment désactiver ou supprimer le compte Root créé comme effet secondaire de ce bug de sécurité de High Sierra ?

Cet article décrit un bug où le fait d'entrer Root lorsque l'on demande un déverrouillage permet à tout utilisateur de déverrouiller les préférences du système. Il prévient que :

Il n'est pas nécessaire de le faire vous-même pour le vérifier. En faisant cela, vous créez un compte "Root" dont d'autres peuvent profiter si vous ne le désactivez pas. ne le désactivez pas.

L'article ne décrit pas ce qu'il faut faire si un ingénieur trop pressé a reproduit le problème et doit maintenant supprimer ou désactiver le compte Root.

Comment désactiver ou supprimer ce compte en toute sécurité ?

Cette page Apple décrit comment désactiver le compte, mais cela ne protège pas contre le défaut, car le défaut peut simplement réactiver le compte. Une fois le bogue de sécurité corrigé, il sera possible de rétablir le système dans son état normal avec Root désactivé.

Mise à jour 2017-11-29 16:43 UTC

Véase À propos du contenu de sécurité de la mise à jour de sécurité 2017-001 pour mettre à jour MacOS High Sierra afin de protéger contre le contournement de l'authentification de l'administrateur sans fournir le mot de passe de l'administrateur.

40voto

flindeberg Points 569

Patch disponible, cliquez ici, ou mettez simplement à jour sur la machine

Il est intéressant de noter qu'il n'existe pas encore de correctif pour les versions bêta et développeur d'OSX, pour autant que je sache. Je mettrai à jour cette réponse dès que j'en aurai entendu parler.

Téléchargez le patch ci-dessus. Je laisse le reste de l'article pour l'histoire :-)

Le CVE est CVE-2017-13872 y Le NIST mettra à jour l'analyse dans un avenir proche.

Réponse originale, pertinente sans patch

Tout d'abord, faites no désactiver le compte Root via l'interface graphique, avoir un compte Root "désactivé" est la cause du problème.

Vous devez activer l'utilisateur Root et donnez-lui un mot de passe. Celui-ci est important puisque la vulnérabilité est aussi disponible à distance, via VNC et Apple Remote Desktop (pour n'en citer que quelques-uns) (autre source) .

Il existe deux méthodes de base pour ce faire : l'interface graphique et le terminal.

Tout d'abord, l'interface graphique

Pour activer le compte Root, allez dans "Directory Utility", c'est-à-dire cmd + espace et cherchez. Appuyez sur le cadenas pour déverrouiller le "mode admin", puis activez le compte Root via edit -> "Enable Root User".

How to enable root

Il devrait vous demander un mot de passe Root, pour l'instant entrez votre mot de passe normal (pour ne pas l'oublier). S'il ne demande pas de mot de passe, utilisez Edit -> "Change Root Password..." ci-dessus.

Terminal

Si vous êtes plutôt du genre à utiliser un terminal, utilisez l'option ci-dessous :

sudo passwd -u root
## Enter passwords as needed.... 
## (if you are using the terminal you should know what you are doing...)

Cela suffit avec un terminal, le problème avec l'interface graphique est que nous devons activer le compte pour définir un mot de passe, ce qui n'est pas nécessaire avec le terminal.

Notes

Même si vous avez défini un mot de passe pour le compte racine de votre ordinateur, celui-ci deviendra vulnérable si vous désactivez le compte racine. L'action de désactiver le compte racine semble être le coupable. Je répète donc que l'utilisateur racine doit être activé et ont un mot de passe si l'on utilise l'interface graphique, tandis que via le terminal, l'utilisation de 'passwd' seulement est "ok" (bien que cet état soit inaccessible via l'interface graphique seulement). Il semble que l'option "Disable Root User" dans "Directory Utility" supprime le mot de passe pour le compte Root, ce qui vous donne en quelque sorte un compte Root sans mot de passe qui est vulnérable.

Il semble que le fait d'essayer de se connecter avec "Root" dans la fenêtre de connexion d'un système active le compte Root s'il est désactivé auparavant. C'est-à-dire qu'avec un compte Root désactivé, vous devez entrer Root deux fois dans une fenêtre de connexion aux systèmes pour obtenir l'accès Root, et (selon mes tests) au premier essai, le compte Root est activé (sans mot de passe s'il n'est pas défini via passwd ), et au deuxième essai, vous passez.

Il semble que le problème soit connu depuis au moins 2017-11-13 (13 novembre), date à laquelle il est mentionné dans le forum d'assistance d'Apple .

Prouvez-moi que j'ai tort, j'apprécierais vraiment d'avoir tort en ce moment.

Une mise à jour effrayante

Après avoir activé le compte Root sans mot de passe (c'est-à-dire via le panneau des préférences système, en cliquant sur un "verrou" et en saisissant "Root" avec un mot de passe vide une, deux ou trois fois (le nombre de fois dépend de l'état initial)), il est possible de se connecter à l'ordinateur à partir de l'écran de connexion principal en utilisant "Root" et un mot de passe vide ( !). SSH / Telnet ne semble pas fonctionner, mais Apple Remote Desktop, Screen Sharing et VNC sont vulnérables.

Ainsi, pour les administrateurs de réseaux, il peut être intéressant de supprimer temporairement les paquets vers les ports suivants :

  • 5900-5905(ish, pour être sûr ninja) pour obtenir les ports VNC les plus courants. VNC commence à 5900 par défaut et énumère vers le haut si vous utilisez plusieurs écrans (peu fréquent cependant). Screen Sharing et Apple Remote Desktop semblent également utiliser ces ports ( liste des ports des logiciels Apple )
  • 3283 et 5988 pour Apple Remote Desktop ( liste des ports des logiciels Apple )

Lecture supplémentaire :

Une tentative courageuse de référencer d'autres sources traitant de la question. Modifiez et mettez à jour ma réponse si vous en avez d'autres.

10voto

Oskar Points 1242

Si vous ne pouvez pas installer le patch officiel ou ne veulent pas croire que ça a marché, alors

Vous ne voulez pas désactiver l'utilisateur Root sur High Sierra seulement.

Pour sécuriser votre Mac, activez Root avec un long mot de passe sécurisé.

Nous ne changerons pas cela au travail avant la sortie de la prochaine version complète de MacOS, qui sera probablement la 10.13.2.


Si vous n'agissez pas, l'utilisateur root est désactivé d'emblée, ce qui n'est pas bon si votre Mac n'est pas correctement patché.

Si vous le souhaitez, vous pouvez renforcer la coque jusqu'à ce qu'Apple propose un patch ou un correctif officiel.

Voici un excellent script pour définir un mot de passe aléatoire pour le Root et changer / définir le shell du Root à /usr/bin/false afin que même si le mot de passe est deviné, le shell Root ne puisse pas se connecter :

Il fait essentiellement trois choses essentielles :

rootpassword=$(openssl rand -base64 32)
/usr/bin/dscl . -passwd /Users/root "$rootpassword"
/usr/bin/dscl . -create /Users/root UserShell /usr/bin/false

La création de UserShell se fait si le shell n'est pas défini, et le script complet vérifie s'il existe un shell existant et -change es au lieu de -create l'ingérer.

Comment se protéger de la vulnérabilité de Root dans MacOS High Sierra ?

2voto

aswine Points 408

Exécutez une mise à jour du logiciel depuis l'App Store. Apple a publié une mise à jour de sécurité ce matin.

0voto

moneyt Points 1064

Vous devez vous connecter en tant qu'utilisateur Root et changer le mot de passe en quelque chose de fort. S'il crée réellement un nouveau compte (par opposition à l'activation du compte Root déjà existant), vous devez d'abord supprimer ce compte.

0voto

Melvin Jefferson Points 4109

Apple vient de publier une mise à jour pour résoudre le problème.

Mise à jour de sécurité 2017-001 https://support.apple.com/en-us/HT208315

De même, pour empêcher tout accès non autorisé à vos ordinateurs Mac, vous devez activer le compte utilisateur Root et définir un mot de passe spécifique pour l'utilisateur Root.

https://support.apple.com/en-ph/HT204012

Si votre compte d'utilisateur Root est déjà actif, veillez à changer le mot de passe afin de vous assurer que la vulnérabilité du mot de passe vide n'est pas activée.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X