Как отключить регистрацию root в Ubuntu?

Некоторое время назад я дал root пароль, чтобы я мог войти в систему под root и получить некоторые вещи. Теперь я хочу отключить регистрацию root, чтобы усилить безопасность, так как я собираюсь разоблачить свою услугу в Интернете. Я видел несколько способов сделать это (sudo passwd -l root, fiddling с помощью /etc/shadow и т. д.), но нигде не говорится, что лучший /самый разумный способ сделать это. Я сделал sudo passwd -l root, но я видел совет, который говорит, что это может повлиять на сценарии инициализации, и что это не так безопасно, как кажется он по-прежнему запрашивает пароль, если вы пытаетесь войти в систему, а не отказываться от доступа. Итак, каков был бы способ достичь этого?

EDIT: уточнить, это для локального входа в систему как root; Я уже отключил удаленный вход через SSH. Хотя попытка войти в систему как root через SSH, все еще запрашивает пароль root (который всегда терпит неудачу). Это плохо?

22 голоса | спросил Ben Hymers 4 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 04 Sep 2010 18:08:08 +0400 2010, 18:08:08

6 ответов


28

Для меня спорным является то, что отключение root стоит потенциальных проблем. Я никогда не тестировал сервер, настроенный таким образом. Мое предпочтение заключается в том, чтобы разрешить только локальный доступ root. Если злоумышленник имеет физический доступ к вашему серверу, вы можете забыть все, что вы сделали, чтобы «защитить» вашу установку в любом случае.

Отключить root ssh доступ путем редактирования /etc/ssh/sshd_config, чтобы содержать:

PermitRootLogin no

С помощью /etc/shadow, chsh -s /bin/false root все можно отменить с помощью простого загрузочного CD /thumbdrive.

Обновление за ваш комментарий:

Из help.ubuntu.com : "По умолчанию пароль учетной записи root заблокирован в Ubuntu ». См. Раздел «Повторное отключение вашей учетной записи root». Чтобы сбросить состояние учетной записи root, для установки по умолчанию используйте следующую команду:

sudo usermod -p '!' root
ответил jscott 4 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 04 Sep 2010 18:28:24 +0400 2010, 18:28:24
20

Я предполагаю, что вы ссылаетесь на удаленный вход через ssh. Добавьте следующую строку в /etc/ssh/sshd_config:

PermitRootLogin no

и перезапустите службу ssh

sudo service ssh restart

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

ответил kynan 4 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 04 Sep 2010 18:27:43 +0400 2010, 18:27:43
4

Главный вопрос был дан ответ несколько раз, но второстепенный не имеет. SSH запрашивает пароль после ввода root после того, как он отключен как функция безопасности. Он также будет запускаться, если вы попытаетесь войти в систему как lkjfiejlksji.

Это делается для того, чтобы кто-то не тестировал кучу имен пользователей, чтобы попытаться выяснить, какие из них действительны в вашей системе. Однако с точки зрения безопасности, если вы отключили root через SSH, я также установил программу обнаружения грубой силы (например, fail2ban) и установил ее так, чтобы, если кто-то даже пытается войти в систему с правами root, он блокирует их из пробовать любые дополнительные атаки.

ответил Ryan Gooler 5 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSun, 05 Sep 2010 01:08:24 +0400 2010, 01:08:24
2

Замена зашифрованного пароля с помощью * в /etc /shadow (второе поле, после первого «:») - лучший способ, IMHO. Также отключите вход root для ssh (таким образом, просто невозможно войти в систему через ssh как root) и, возможно, ограничить ssh сертификатами, которые намного безопаснее, чем пароли.

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

Чтобы еще больше ограничить это, вы можете установить что-то вроде fail2ban, которое запрещает IP-адреса на определенное количество времени после нескольких неудачных попыток входа в систему.

ответил Sven 4 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 04 Sep 2010 18:28:08 +0400 2010, 18:28:08
1

JR et al,

Ваши AllowUsers привели меня к этому https://help.ubuntu.com/community /SSH /OpenSSH /Настройка

sudo vi /etc /ssh /sshd_config

PermitRootLogin yes (изменено на no)

(добавить строку внизу файла) Пользователь DenyUsers user1 user2

сохранить и выйти, а затем

sudo service ssh restart

Решил мою проблему. Спасибо всем.

ответил jeff 24 Maypm12 2012, 21:33:18
0

Если вы хотите отключить локальный корневой вход, вы можете попробовать изменить /etc /passwd и заменить /bin /bash на /bin /false. ОДНАКО, так как я не тестировал его, я бы сказал, оставим корневой сеанс открытым на стороне, протестируйте его, и если есть какой-то странный побочный эффект, измените его.

ответил Julien Vehent 4 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 04 Sep 2010 18:59:09 +0400 2010, 18:59:09

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132