Некоторое время назад я дал root пароль, чтобы я мог войти в систему как root и кое-что сделать. Теперь я хочу отключить вход в систему с правами root, чтобы усилить безопасность, так как я собираюсь открыть свою службу в Интернете. Я видел несколько способов сделать это (sudo passwd -l root
возиться с /etc/shadow
и т. д.), но нигде не сказано, как это сделать лучше / разумнее всего. я сделал sudo passwd -l root
но я видел совет, в котором говорится, что это может повлиять на сценарии инициализации и что это не так безопасно, как кажется, поскольку он все еще запрашивает пароль, если вы пытаетесь войти в систему, а не категорически запрещает доступ. Так как бы этого добиться?
РЕДАКТИРОВАТЬ: чтобы уточнить, это для локального входа в систему как root; Я уже отключил удаленный вход через SSH. Хотя при попытке войти в систему как root через SSH все равно запрашивается пароль root (что всегда терпит неудачу). Это плохо?
Это спорный вопрос, мне, что отключение корня стоит потенциальных проблем. Я никогда не тестировал сервер, настроенный таким образом. Я предпочитаю разрешить только локальный доступ root. Если злоумышленник имеет физический доступ к вашему серверу, вы можете забыть обо всем, что вы сделали для «защиты» своей установки.
Отключить root ssh
доступ путем редактирования /etc/ssh/sshd_config
содержать:
PermitRootLogin no
Возиться с /etc/shadow
, chsh -s /bin/false root
все можно отменить с помощью простого загрузочного компакт-диска или флэш-накопителя.
Обновление за ваш комментарий:
Из help.ubuntu.com: "По умолчанию пароль учетной записи root заблокирован в Ubuntu.". См. Раздел" Повторное отключение учетной записи root ". Чтобы сбросить состояние учетной записи root до install-default, используйте следующую команду:
sudo usermod -p '!' root
Я предполагаю, что вы имеете в виду удаленный вход через ssh. Добавьте следующую строку в /etc/ssh/sshd_config
:
PermitRootLogin no
и перезапустите службу ssh
sudo service ssh restart
Это должно сработать, и вы можете оставить свою учетную запись root как есть (или все равно попытаться отключить ее, если вы чувствуете, что это необходимо).
На главный вопрос ответили несколько раз, на второстепенный - нет. SSH запрашивает пароль после входа в root после того, как он отключен в качестве функции безопасности. Он также сработает, если вы попытаетесь войти в систему как lkjfiejlksji.
Это сделано для того, чтобы кто-то не проверил кучу имен пользователей, чтобы попытаться выяснить, какие из них действительны в вашей системе. Однако с точки зрения безопасности, если вы отключили root через SSH, я бы также установил программу обнаружения брутфорса (например, fail2ban) и установил ее так, чтобы, если кто-то даже пытается войти в систему как root, он блокирует их от пробовать любые дополнительные атаки.
Замена зашифрованного пароля на * в / etc / shadow (второе поле после первого ':') - лучший способ, ИМХО. Кроме того, деактивируйте вход root для ssh (таким образом, просто невозможно войти через ssh как root) и, возможно, ограничьте ssh для входа в систему с сертификатом, что намного безопаснее, чем вход на основе пароля.
В большинстве случаев SSH должен быть единственной доступной извне службой, которая потенциально допускает вход в систему с правами root, поэтому эта дверь будет заблокирована.
Чтобы еще больше ограничить это, вы можете установить что-то вроде fail2ban, который блокирует IP-адреса на определенное время после ряда неудачных попыток входа в систему.
JR и др.,
Ваши AllowUsers привели меня к этому https://help.ubuntu.com/community/SSH/OpenSSH/Configuring
sudo vi / etc / ssh / sshd_config
(добавьте строку внизу файла) DenyUsers user1 user2
сохранить и выйти, а затем
sudo service ssh перезапуск
Решил мою проблему. Спасибо всем.
Если вы хотите отключить локальный вход в систему root, вы можете попробовать изменить / etc / passwd и заменить / bin / bash на / bin / false. ОДНАКО, поскольку я не тестировал его, я бы посоветовал оставить корневой сеанс открытым на стороне, протестировать его и, если есть какой-либо странный побочный эффект, изменить его.
Re: Безопасность.
ИМХО, с точки зрения безопасности, вы можете сделать только так много, за исключением отключения коробки, отключения ее от сети и сварки внутри пуленепробиваемой коробки из твердосплавной стали толщиной 3 дюйма.
Подумайте об этом так: если люди могут взломать Министерство обороны, ЦРУ, ФБР и Ситибанк, остальные из нас, простых смертных, не смогут ничего лучше.
Re: Безопасность SSH.
Я не только запрещаю root-доступ через ssh, я также устанавливаю параметр «AllowUsers» на свое и только мое имя пользователя. Таким образом, никто, кроме моего собственного пользователя, не сможет войти в систему через ssh. Это может быть излишним, так как в моем случае я все равно создаю только ОДНОГО пользователя без полномочий root.
К сожалению, как уже не раз говорили другие, как только кто-то получает физический доступ к коробке, все ставки отменяются!
Обмен сертификата для входа по ssh? Хмммм. . . . звучит хорошо. Как ты это делаешь?
Джим (младший)