У меня есть сервер Linux (Ubuntu 14), к которому я обращаюсь, используя root и SSH keys (т.е. без пароля root). Я также создал пользователя без полномочий non-root-user (и соответствующий пароль пользователя без полномочий non-root-user's-password) с привилегиями sudo .

Мой веб-хостинг рекомендует отключить root по соображениям безопасности, а затем при необходимости использовать sudo .

Есть 2 проблемы, которые я пытаюсь обдумать:

  1. Если я отключу root, то я почти уверен, что не смогу SSH к моему серверу с пользователем root (root@ip-address), поэтому я буду использовать non-root-user и non-root-user's-password . Но это не кажется безопасным, потому что кто-то может прослушивать в сети и украсть имя пользователя и пароль.

  2. Если я отключу root, а затем использую команду sudo от пользователя non-root-user , как сервер будет проверять подлинность того, что мне разрешен доступ с правами root? Будет ли он использовать SSH keys для этого?

Обновление: я думал, что это неправильно все время. Кто-то только что напомнил мне, что когда кто-то использует sudo , у него спрашивают non-root-user's-password , а не пароль root . Так что ответ очевиден.

2 ответа2

4

Смысл отключения root-входа в SSH - от вас требуется два пароля для удаленного получения root-прав: от обычного пользователя, имеющего доступ по SSH, затем от этой учетной записи к root. Это не позволяет злоумышленникам угадывать корневые пароли удаленно - им нужно угадать 2 пароля, чтобы получить root-доступ удаленно.

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

"S" в SSH означает безопасный - если вы используете SSHv2 и надежные шифры (проверьте ваш sshd_config с этим - https://stribika.github.io/2015/01/04/secure-secure-shell.html - если волнуетесь) нет никакой полезной возможности, что кто-нибудь может понюхать что-либо, если ваши ключи не будут скомпрометированы.

sshd проверяет ваш пароль при входе в систему с использованием sshd - команды, которые вы выполняете после этого, не проверяются sshd включая sudo , su и т. д.

1

SSH расшифровывается как Secure Shell. Пароль никогда не отправляется в открытом виде; он использует криптографию с открытым ключом для проверки вашей личности и безопасной связи. Работает на root , работает для всех.

Если вы добавите пользователя без полномочий non-root-user в соответствующий список доступа (разрешив ему sudo), то вы сможете управлять своим сервером на полную мощность, используя эту учетную запись.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .