Cet article décrit un bogue dans lequel la saisie de la racine à l'invite d'un déverrouillage permet à tout utilisateur de déverrouiller les préférences système. Il avertit que:
Il n'est pas nécessaire de le faire vous-même pour le vérifier. Cela crée un compte «racine» que d'autres pourraient utiliser si vous ne le désactivez pas.
L'article ne décrit pas ce qu'il faut faire si un ingénieur trop impatient reproduisait le problème et devait maintenant supprimer ou désactiver le compte root.
Comment ce compte peut-il être désactivé ou supprimé en toute sécurité?
Cette page Apple décrit comment désactiver le compte, mais cela ne protège pas contre l'erreur, car elle peut simplement réactiver le compte. Cela fonctionnera pour restaurer le système à son état normal avec la racine désactivée une fois le bogue de sécurité corrigé.
Mise à jour le 2017-11-29 16h43 UTC
Reportez -vous à la section À propos des éléments de sécurité de la mise à jour de sécurité 2017-001 pour mettre à jour macOS High Sierra afin d'éviter tout contournement de l'authentification de l'administrateur sans fournir le mot de passe de l'administrateur.
la source
Réponses:
Patch disponible, cliquez ici ou mettez à jour votre ordinateur.
Il est intéressant de noter qu’il n’ya pas encore de correctif pour les versions bêta et pour développeurs d’OSX, pour autant que je sache. Je mettrai à jour cette réponse dès que j'aurai entendu parler d'eux.
Téléchargez le patch ci-dessus. Laissant le reste du post pour l'histoire :-)
CVE est la CVE-2017-13872 et le NIST mettra à jour l'analyse dans un proche avenir.
Réponse originale, pertinente sans pièce
Tout d'abord, ne désactivez pas le compte root via l'interface graphique, la cause du problème est d'avoir un compte root "désactivé".
Vous devez activer l'utilisateur root et lui donner un mot de passe. Ceci est important , car la vulnérabilité est également disponible à distance, via VNC et Apple Remote Desktop (pour n'en nommer que quelques-uns) (une autre source) .
Il y a deux manières fondamentales de le faire; Interface graphique et terminal.
Tout d'abord, l'interface graphique
Pour activer le compte root, allez dans "Utilitaire de répertoire", c.-à-d. Cmd + espace et recherchez. Appuyez sur le verrou pour déverrouiller le "mode admin", puis activez le compte root via edit -> "Enable Root User".
Il devrait demander un mot de passe root, pour l'instant entrez votre mot de passe normal (pour ne pas l'oublier). S'il ne vous demande pas de mot de passe, utilisez Edit -> "Change Root Password ..." ci-dessus.
Terminal
Si vous êtes plus d'un terminal, utilisez les éléments ci-dessous:
C’est suffisant avec un terminal, le problème avec l’interface graphique est qu’il faut permettre au compte de définir un mot de passe, ce que nous n’avons pas à faire avec le terminal.
Remarques
Même si vous avez défini un mot de passe pour le compte root de votre ordinateur, celui-ci deviendra vulnérable si vous désactivez le compte root. L'action de désactivation du compte root semble être le coupable. Je répète donc que l’utilisateur root doit être activé et avoir un mot de passe s’il utilise l’interface graphique, alors que le terminal utilise uniquement «passwd», ce qui est «ok» (bien que cet état ne soit pas accessible via l’interface graphique uniquement). Il semble que "Désactiver l'utilisateur racine" dans "Utilitaire de répertoire" supprime le mot de passe du compte racine, ce qui vous donne un compte racine sans mot de passe vulnérable.
Il semble que tenter de se connecter avec "root" dans une fenêtre de connexion des systèmes 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 au système pour obtenir un 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 à la deuxième tentative, vous passez.Il semble que le problème soit au grand jour depuis le 13 novembre 2017 au moins, lorsqu'il est mentionné dans le forum d'assistance Apple .
Prouvez-moi s'il vous plaît que je me trompe, j'apprécierais vraiment de me tromper maintenant.
Mise à jour effrayante
Après avoir activé le compte root sans mot de passe (c.-à-d. Via le panneau de préférences système, en cliquant sur un "verrou" et en entrant "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 à l'aide de "root" et d'un mot de passe vide (!). SSH / Telnet ne semble pas fonctionner, mais Apple Remote Desktop, le partage d'écran et VNC sont vulnérables.
Donc, pour les administrateurs de réseaux, il pourrait être intéressant de déposer temporairement des paquets sur les ports suivants:
Lecture complémentaire:
Une vaillante tentative de référence à d'autres sources traitant de la question. Modifiez et mettez à jour ma réponse si vous en avez plus.
la source
/dev/null
pour root. De cette manière, l'accès au compte root se fait par le biais d'su
appels système pour les utilisateurs disposant de cette autorisation.Si vous ne pouvez pas installer le correctif officiel ou si vous ne voulez pas croire que cela a fonctionné, alors
Vous ne voulez pas désactiver l'utilisateur root sur High Sierra uniquement.
Pour sécuriser votre Mac, activez root avec un long mot de passe sécurisé.
Nous ne modifions pas cela au travail avant la sortie de la prochaine version complète de macOS, qui serait probablement la 10.13.2.
À moins que vous ne preniez des mesures, l'utilisateur root est désactivé par défaut, ce qui est grave si votre Mac n'est pas corrigé correctement.
Si vous le souhaitez, éventuellement, durcissez le shell jusqu'à ce que Apple dispose d'un correctif ou d'un correctif officiel.
Voici un excellent script pour définir un mot de passe root aléatoire et modifier / configurer le shell racine
/usr/bin/false
afin que même si le mot de passe soit deviné, le shell root ne puisse pas se connecter:Il fait essentiellement trois choses clés:
Si le shell n'est pas défini, le script UserShell crée, et le script complet recherche un shell existant et le vérifie au
-change
lieu de le remplacer-create
.Comment me protéger de la vulnérabilité des racines dans macOS High Sierra?
la source
Exécutez une mise à jour logicielle à partir de l'App Store. Apple a publié une mise à jour de sécurité ce matin.
À propos du contenu de la sécurité de la mise à jour de sécurité 2017-001
Mises à jour de sécurité Apple
la source
Vous devez vous connecter en tant qu'utilisateur root et changer le mot de passe pour quelque chose de fort. S'il crée réellement un nouveau compte (par opposition à l'activation du compte root existant), vous devez d'abord supprimer ce compte.
la source
Apple vient de publier une mise à jour pour résoudre le problème.
Mise à jour de sécurité 2017-001 https://support.apple.com/fr-fr/HT208315
De même, pour empêcher tout accès non autorisé à vos ordinateurs Mac, vous devez activer le compte d'utilisateur root et définir un mot de passe spécifique à l'utilisateur root.
https://support.apple.com/en-ph/HT204012
Si votre compte d'utilisateur root est déjà actif, veillez à modifier le mot de passe uniquement pour vous assurer que la vulnérabilité du mot de passe vide n'est pas définie.
la source
Non! Ne supprimez pas le compte root!
Tout d'abord,
root
a été présent dans toutes les versions de macOS, Mac OS X, Mac OS et même les anciennes versions du système d'exploitation. macOS n'a pas récemment créé ce compte en raison d'une vulnérabilité. Cela l'a simplement exposé par accident.Enlever
root
serait une très mauvaise idée, et laissez-moi vous dire pourquoi.Cela invaliderait complètement MacOS, car il n'y aurait pas de compte avec suffisamment de privilèges pour exécuter des services critiques (tels que WindowServer, qui exécute l'interface graphique). Des protections sont en place pour empêcher les utilisateurs désemparés de se retirer
root
et vous ne devez pas tenter de les contourner.Découvrons qui exécute les tout premiers processus dans le système, les processus les plus importants (à l'aide du moniteur d'activité):
Hey, c'est encore notre quartier amical
root
! Le premier processus (avec le PID 0) est en réalité contrôlé par le noyau et disposera de toute façon de toutes les autorisations, mais son processus enfantlaunchd
(responsable du démarrage de services tels que la fenêtre de connexion et le serveur de fenêtre lui-même) est lancé avec les privilèges deroot
. S'ilroot
n'existait pas, ce processus n'aurait jamais démarré ou n'aurait aucune autorisation.Sécuriser le compte root
D'autres réponses ont fourni un correctif publié par Apple qui devrait résoudre le problème. Cependant, si vous ne pouvez ou ne souhaitez pas l'installer ...
Cela fonctionne parce que macOS re-hache le mot de passe entré en tant que "mise à niveau" car le compte désactivé (root) a été détecté à tort comme ayant un ancien hachage. Il indiquera toujours que c'est incorrect, mais la prochaine fois, les hachages seront identiques (car macOS l'a modifié) et il vous laissera entrer.
Pour sécuriser
root
, vous devrez utiliser Directory Utility. Il y a deux façons d'y accéder:/System/Library/CoreServices/Applications/
et appuyez sur Go (ou appuyez sur Entrée). Ouvrez ensuite Directory Utility à partir de là.Une fois que vous avez ouvert Directory Utility, vous devrez
Ensuite, sélectionnez
Change Root Password
ouEnable Root User
dans le menu Edition. Je montreChange Root Password
depuis mon compte root est déjà activé avec un mot de passe fort.Choisissez un mot de passe, et maintenant le mot de passe vide ne fonctionnera plus.
Toutes nos félicitations! Vous n'êtes plus vulnérable au piratage racine.
la source
!
correctement (ce qui, en tant que type UNIX, sera probablement reconnu).