Я новичок в Linux и мире системных администраторов, поэтому я ищу несколько советов и пару ответов. Я установил экземпляр EC2 с Ubuntu 12.04 и подключился по SSH через пару ключей.
Прежде всего, я прочитал Страница управления пользователями Ubuntu но у меня осталось несколько вопросов. Я заметил это на странице
Sudo позволяет авторизованному пользователю временно повышать свои привилегии, используя собственный пароль, вместо того, чтобы знать пароль, принадлежащий учетной записи root.
Когда я запускаю команду sudo, мне не предлагается ввести пароль после использования SSH для доступа к моему серверу. Я прочитал, чтобы не хранить пароли для доступа к базе данных (например, для PHP и MySQL) в простых текстовых файлах, а использовать вместо них файлы .cnf с разрешением 600. Если кому-то удастся попасть на мой сервер, все, что у них есть сделать это ввести sudo vi /path/to/cnf
а затем они могут просмотреть пароль. Весь смысл в том, что у меня есть пароль для sudo?
Должен ли я добавить пароль для sudo, учитывая, что по умолчанию у меня его нет?
Насколько велик риск для кого-то иметь возможность подключиться к моему серверу по SSH, учитывая, что я использую UFW для ограничения доступа к порту 22 и использую пару ключей?
Поскольку я использовал EC2 для настройки своего сервера Ubuntu, все источники, которые я видел при добавлении / изменении паролей, говорят, что по умолчанию тот используется из установки. Я особо ничего не настраивал. Все это было предварительно настроено через AWS. Это проблема?
Насколько велик риск для кого-то, кто может использовать SSH
Риски действительно минимальны. Посмотрите на эти вопросы для некоторых вещей, которые вы можете сделать, чтобы минимизировать влияние попыток грубой силы.
Я должен добавить пароль ...
У вашей учетной записи есть пароль, но sudo настроен так, чтобы не запрашивать вас, если задана конфигурация ниже. ссылка Этот параметр подходит по большей части, если вы выполняете всю аутентификацию с помощью ключа. Вы можете удалить NOPASSWD
из этого файла, если вы хотите, чтобы вас спросили.
# ubuntu user is default user in cloud-images.
# It needs passwordless sudo functionality.
ubuntu ALL=(ALL) NOPASSWD:ALL
Сначала несколько общих советов по безопасности:
А теперь вопросы:
Насколько велик риск для кого-то, кто может использовать SSH
Ничего особенного, если вообще ... просто установите безопасность
Я должен добавить пароль ...
Да, было бы неплохо, но не обязательно использовать что-то вроде
sudo passwd ubuntu
позволит вам изменить пароль, даже не зная об этом.
NOPASSWD означает, что любая команда может быть выполнена без пароля. Да, я использую его регулярно, но только на тех машинах, которые у меня есть (например, ноутбук). Желательно удалить его после того, как вы установили известный (сложный пароль).