В этой статье описывается ошибка, когда ввод root при запросе на разблокировку позволяет любому пользователю разблокировать системные настройки. Он предупреждает, что:
Там нет необходимости делать это самостоятельно, чтобы проверить это. Это создает «корневую» учетную запись, которой могут воспользоваться другие, если вы ее не отключите.
В статье не описывается, что делать, если чрезмерно энергичный инженер воспроизвел проблему и теперь должен удалить или отключить корневую учетную запись.
Как можно безопасно отключить или удалить эту учетную запись?
На этой странице Apple описывается, как отключить учетную запись, но это не защищает от ошибки, потому что ошибка может просто повторно включить учетную запись. Он будет работать, чтобы восстановить систему до ее нормального состояния с отключенным рутом после исправления ошибки безопасности.
Обновление 2017-11-29 16:43 UTC
См. О содержании безопасности в Обновлении безопасности 2017-001 для обновления macOS High Sierra для защиты от обхода аутентификации администратора без предоставления пароля администратора.
источник
Ответы:
Патч доступен, нажмите здесь или просто обновите на машине
Интересно, что пока нет патча для бета-версии и версии OSX для разработчиков, насколько я знаю. Я обновлю этот ответ, как только услышу о них.
Загрузите патч выше. Оставляя остальную часть поста для истории :-)
CVE - CVE-2017-13872, и NIST обновит анализ в ближайшем будущем.
Оригинальный ответ, актуальный без патча
Во-первых, не отключайте корневую учетную запись через графический интерфейс, причиной которой является отключенная корневая учетная запись.
Вы должны включить пользователя root и дать ему пароль. Это важно , поскольку уязвимость также доступна удаленно, через VNC и Apple Remote Desktop (и многие другие) (другой источник) .
Есть два основных способа сделать это; GUI и терминал.
Во-первых, графический интерфейс
Чтобы включить корневую учетную запись, перейдите в «Утилита каталогов», т.е. cmd + пробел и поиск Нажмите блокировку, чтобы разблокировать «режим администратора», затем включите корневую учетную запись через «Правка» -> «Включить пользователя Root».
Он должен запросить пароль root, а пока введите свой обычный пароль (чтобы вы его не забыли). Если он не запрашивает пароль, используйте Edit -> «Change Root Password ...» выше.
Терминал
Если вы более терминальный человек, используйте ниже:
Этого достаточно с терминалом, проблема с графическим интерфейсом состоит в том, что мы должны разрешить учетной записи установить пароль, что нам не нужно с терминалом.
Заметки
Даже если у вас установлен пароль для учетной записи root, ваш компьютер станет уязвимым, если вы отключите учетную запись root. Похоже, виновником является отключение учетной записи root. Поэтому я повторяю, пользователь root должен быть включен и иметь пароль при использовании графического интерфейса, в то время как через терминал, использующий только «passwd», все в порядке (хотя это состояние недоступно только через графический интерфейс). Похоже, что «Disable Root User» в «Directory Utility» удаляет пароль для учетной записи root, в некотором смысле давая вам уязвимую корневую учетную запись без пароля.
Похоже, попытка войти с помощью «root» в системном окне входа в систему включает учетную запись root, если она была отключена ранее. Т.е. при отключенной учетной записи root вам нужно дважды ввести root в окнах входа в систему, чтобы получить root-доступ, и (согласно моему тестированию) с первой попытки включить учетную запись root (без пароля, если он не установлен через
passwd
), и со второй попытки ты проходишь.Похоже, что проблема была в открытом доступе, по крайней мере, 2017-11-13 (13 ноября), когда она упоминалась на форуме поддержки Apple .
Пожалуйста, докажите, что я не прав, я был бы очень признателен, если бы ошибался прямо сейчас.
Страшное обновление
После включения учетной записи root без пароля (т. Е. Через панель системных настроек, щелкнув «замок» и введя «root» с пустым паролем один, два или три раза (количество раз зависит от исходного состояния)), можно войти в систему. компьютер с основного экрана входа в систему, используя «root» и пустой пароль (!). SSH / Telnet не работает, но Apple Remote Desktop, Screen Sharing и VNC уязвимы.
Поэтому для сетевых администраторов может быть интересно временно отбросить пакеты на следующие порты:
Дополнительное чтение:
Доблестная попытка ссылаться на другие источники, имеющие отношение к проблеме. Отредактируйте и обновите мой ответ, если у вас есть больше.
источник
/dev/null
для root. Таким образом, доступ к учетной записи root осуществляется черезsu
системные вызовы для пользователей с таким разрешением.Если вы не можете установить официальный патч или не хотите верить, что он сработал, тогда
Вы не хотите отключать пользователя root только на High Sierra.
Чтобы обезопасить свой Mac, включите root с длинным безопасным паролем.
Мы не будем менять это на работе, пока не выйдет следующая полная версия для macOS, которая, вероятно, будет 10.13.2
Если вы не предпримете никаких действий, пользователь root отключен из коробки, и это плохо, если ваш Mac не исправлен правильно.
Если хотите, при необходимости укрепите оболочку, пока у Apple не появится официальный патч или исправление.
Вот отличный скрипт для установки случайного пароля root и изменения / установки оболочки root
/usr/bin/false
таким образом, чтобы даже если пароль угадан, root не может войти в систему:Это в основном делает три ключевых вещи:
UserShell create создается, если оболочка не установлена, и полный сценарий проверяет существующую оболочку и проверяет
-change
ее, а не использует-create
ее.Как защитить себя от корневой уязвимости в macOS High Sierra?
источник
Запустите обновление программного обеспечения из App Store. Apple выпустила обновление безопасности сегодня утром.
О безопасности содержимого обновления безопасности 2017-001
Обновления безопасности Apple
источник
Вы должны войти в систему как пользователь root и изменить пароль на что-то сильное. Если он фактически создает новую учетную запись (в отличие от включения уже существующей корневой учетной записи), вам следует сначала удалить эту учетную запись.
источник
Apple только что выпустила обновление, чтобы исправить проблему.
Обновление безопасности 2017-001 https://support.apple.com/en-us/HT208315
Также, чтобы предотвратить несанкционированный доступ к вашим компьютерам Mac, вы должны включить учетную запись пользователя root и установить пароль специально для пользователя root.
https://support.apple.com/en-ph/HT204012
Если ваша учетная запись root уже активна, убедитесь, что вы изменили пароль, чтобы убедиться, что уязвимость пустого пароля не установлена.
источник
Нет! Не удаляйте root аккаунт!
Прежде всего,
root
присутствовал во всех версиях macOS, Mac OS X, Mac OS и даже древних версиях операционной системы. macOS недавно не создавала эту учетную запись из-за уязвимости. Это просто разоблачило это случайно.Удаление
root
было бы очень плохой идеей, и позвольте мне рассказать вам, почему.Это полностью отключило бы macOS, поскольку не было бы учетной записи с достаточными привилегиями для запуска критически важных служб (таких как WindowServer, который запускает графический интерфейс). Существуют меры предосторожности, которые не позволяют невежественным пользователям удалять файлы
root
, и вы не должны пытаться их обойти.Давайте выясним, кто запускает самые первые процессы в системе, самые важные процессы (используя Activity Monitor):
Эй, это снова наш дружеский район
root
! Первый процесс (с PID 0) фактически контролируется ядром и в любом случае, вероятно, будет иметь полные разрешения, но его дочерний процессlaunchd
(отвечающий за запуск служб, таких как окно входа в систему и сам сервер окон) запускается с привилегиямиroot
. Еслиroot
бы не существовало, этот процесс никогда бы не запустился или не имел бы никаких разрешений.Защита учетной записи root
Другие ответы предоставили исправление, выпущенное Apple, которое должно исправить проблему. Однако, если вы не можете или не желаете его установить ...
Это работает, потому что macOS повторно хэширует введенный пароль как «обновление», потому что отключенная учетная запись (root) была неправильно определена как имеющая старый хеш. Он по-прежнему будет говорить, что это неверно, но в следующий раз хэши совпадут (потому что macOS изменил его), и он пропустит вас.
Чтобы обезопасить себя
root
, вам придется использовать Directory Utility. Есть два способа получить к нему доступ:/System/Library/CoreServices/Applications/
и нажмите «Go» (или нажмите «Enter»). Затем откройте «Утилиту каталогов».После того, как вы откроете утилиту каталогов, вам придется
После этого выберите
Change Root Password
илиEnable Root User
в меню «Правка». Я показываю,Change Root Password
так как моя учетная запись root уже включена с надежным паролем.Выберите пароль, и теперь пустой пароль больше не будет работать.
Поздравляем! Вы больше не уязвимы для корневого взлома.
источник
!
(который, как тип UNIX, вы, вероятно, узнаете) правильно.