Как стать автором
Обновить

Что будет, если переименовать суперпользователя? Экспериментируем, удивляемся и расстраиваемся…

Время на прочтение15 мин
Количество просмотров22K
Всего голосов 86: ↑86 и ↓0+86
Комментарии42

Комментарии 42

Но ведь ни что не мешает запретить удалённый логин рутом и использовать su после логина другим пользователем.

ну да, всего одна строка в конфиге

/etc/ssh/sshd_config

PermitRootLogin no #disabled

главное, не забыть создать пользователя

Пришел сказать то-же самое, в чем проблема запретить вход руту то.. статья оад статьи выходит...

Первая картинка интригует. Как вариант, можно не искать BeOS, а взять её реинкарнацию — Haiku.

BeOS я искал как раз потому что там обещали суперпользователя не root. Ну и я пошёл проверять, так сказать, в оригинале. Хотя, конечно, функциональность UNIX там ограничена.

В беосе не было мультиюзерности, все эти зачатки портировались из юникса видимо случайно или как заглушки для обратной совместимости.

Переименование root — ничем не лучше изменения порта sshd. Security by Obscurity. Я никогда не понимал, почему в пингвиниксах по умолчанию разрешён удалённый вход для root.

В Windows пользователь Administrator ничем не отличается от других пользователей, кроме хоть и расширенного, но всё равно далеко не полного набора прав, предоставленных ему изначально. Его можно без последствий переименовать или лишить каких угодно прав.

В Windows имеет значение не имя пользователя, а группы, все права системой назначаются на них. И есть учётные записи служб - вот они ближе по аналогии к root. Но вряд ли удастся их переименовать.

В Windows имеет значение не имя пользователя, а группы, все права системой назначаются на них.

Это, говоря мягко, неправда. Во-первых, в любой сколько-нибудь нормальной ОС не имеют значения ни имя пользователя, ни имя группы, поскольку это всего лишь символические имена для удобства человека. В Unix это uid/gid (хотя и есть ещё старый код, куда “root” вшит в код). В Windows — SID'ы (и у пользователей, и у групп). Во-вторых, права в Windows могут предоставляться (и предоставляются, посмотри внимательно дефолтную Local Policy) конкретным пользователям.

Модель безопасности NT на три головы выше, чем в Unix. Оно и понятно, Unix до сих пор тащит на себе порочное наследие самых первых версий — uid=0. Это — неизлечимая дыра Unix, и она полностью отсутствует в NT. И access token'ы в NT — от рождения, а не привинченные сбоку к примитивной модели Unix.

Сиды в Windows жёстко ассоциируются с определёнными сущностями, поэтому справедливо называть их по именам. Базовые группы и их права, учётки служб - являются неотъемлемой частью системы, у нас нет возможности настроить их по другому. По сути, суперпользователь в Windows - все учётные записи служб вместе взятые плюс группа Администраторы и именно этот набор можно считать полной аналогией root.

Второй день про себя рассуждаю, а какая парадигма всё таки лучше, развитой набор прав, как в Винде, или один гарантированный на всё?.. При всей дырявости uid=0, Винда, будем честны, тоже нам ничего не гарантирует. Выделение ролей выглядит более взросло, но концепция *никсов позволяет реализовать это разделение на более высоком уровне сводя управление ролями к одному сервису. В общем, считаю эксперимент AlexGluck весьма любопытным, с точки зрения изучения возможности перехода Линя на систему разделения ролей служебных сущностей.

PS поймал себя на том, что стал меньше думать о Римской Империи...

Ух, как я разгневал соратников, заминусили. Перечитал Лукреция, чтобы оскрепнуть...

Модель безопасности NT на три головы выше, чем в Unix. Оно и понятно, Unix до сих пор тащит на себе порочное наследие самых первых версий — uid=0. Это — неизлечимая дыра Unix, и она полностью отсутствует в NT. И access token'ы в NT — от рождения, а не привинченные сбоку к примитивной модели Unix.

К этому абзацу — одни вопросы. Ну, кроме, разве что, двухуровневой системы прав, где ACL добавляется опционально (и в подавляющем большинстве инсталляций — не нужен)

Пару раз экспериментировал с переименованием рута, в нормальных системах всё продолжает работать и никаких фантомных рутов не создаётся как в центос\редос.
Правда некоторые уведомления захардкожены, если их поправить, то вообще супер. В линуксе руту даже сменить айдишник можно будет, а не только имя, вот теперь задумал поиграться.

А вот очень интересно, получится ли сменить айдишник?.. В концепции Линукс больше доверия вызывает uid с номером 0 - первый пользователь запустивший первый процесс, чем чьё-то имя. Сколько сервисов может полагаться именно на это?..

Вот и меня это заинтересовало)

А вот очень интересно, получится ли сменить айдишник?.

Если везде заменить проверку uid|euid на 0 то можно ;)

Простите, если вам centos неканоничен, то нормальные - это какие?

Канон потерлся в стриме

Linux From Scratch

Вот только настроить права нормально ещё тот квест. Да и половина программ работать перестаёт если не под админом установлена.

Есть костыль в виде создания второго юзера с идентификатором равным нулю (например - ручным редактированием /etc/passwd). Таким образом, появляется "запасной вход" с правами суперпользователя.

Правда, даже если вы зайдёте от имени этого второго пользователя, имя все равно будет отображаться "root"

Пользователя с id=0 можно создать штатными средствами
usedarr -ro -u0 -g0 newroot
То, какое имя будет отображаться, зависит от того какая запись в /etc/passwd ближе к началу.

Мэйнтейнерам сообщили об ошибках? Или так и будем это терпеть?

А смысл?
Можно взять какой-либо rc-init типа дистрибутив или до D-Bus и там можно изгаляться без проблем.
А здесь - просто человеческий фактор, когда общее умолчание в многих компонентах Обще Системного Программного Обеспечения (ОСПО) сделали безальтернативным.

Хотя в самом ядре никаких таких жёстких привязок нет. Т.е. наверняка в андроиде такую проблему возможно не наблюдают.

В интернете много желающих перебирать пароли к SSH, что получить мощности вашего сервера безвозмездно.

что?

что "что"?

автор уже поправил, а вы ещё можете в цитате прочитать внимательно как было

ко мне в порт sshd пару месяцев долбились боты подбирая логин и пароль.
потом кажись таки поняли про ключ и успокоились.

Сервер устал и согласился, что пароль Мао Цзэдун?

Использовать нестандартный порт? Не поможет.

Поможет, особенно, если это действие комбинировать с ремэппингом стандартного порта (в джайл, на "мусорный" сервер и т.п.).

Поможет от пионеров перебирающих сканером диапазоны по стандартным портам.

Тому кто устроит полный перебор портов вашего сервера простая смена порта ничем не помешает.

Такие упоротые параноики как я ремэппят не только стандартный порт, но и пачку портов вида 9022, 9222, 10022, 20022, 22122, 22222 и т.п. Но брутфорсов по ним(при открытом 22) ни разу не было, так что это избыточность, хотя лиссяра говорил, что паранойи много не бывает.

Того, кто устраивает полный перебор портов, мгновенно угасит IPS.

Если сделать telnet на порт, где сидит SSH, то оттуда донесется что-то вроде

$ telnet 127.0.0.1 22 
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.1

Так что просто смена поможет, но ненадолго.

не сильно, это все равно что ключ от двери поглубже под коврик сунуть.
если уж чуть болл серъезно думать о скрытии порта, то использовать portknocking (или pingknocking для винды) или более мудреные варианты

Для тех кто рассуждает о Windows: групповые политики позволяют сменить имя пользователей по умолчанию (администратор и гость), и первый пользователь в системе, вводимы при процедуре OOBE - не адинистратор по сути, а пользователь с возможностью запуска от имени администратора

Автор устроил двойную проверку переименуя root на void. Предполагаю, что из-за такого имени в первый раз поломалась CentOS streem. Когда прочитал, вспомнилось история с номерами в США на авто и текстом "void".

Там вроде был null, а не void?

Отключить вход по паролю? Лениво

Пройтись по всей системе, начиная со структур ядра, а потом попробовать несколько дистрибутивов? Фигня вопрос)

P.S. Авторизацию по ключам добавили в SSH где-то в 1995 году. Ожидается, что в Selectel знают про эту фичу.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий