Я не спрашиваю, как здесь что-то делать, а пытаюсь понять передовой опыт и «правильный» способ обеспечения безопасности сервера. Чтобы предотвратить атаки методом перебора паролей, я защитил свой сервер несколькими способами, один из которых - это защищенные паролем ключи SSH для входа в систему любого пользователя (сейчас это единый блок разработчика). Очевидно, что каждый раз, когда пользователю необходимо войти в систему, ему потребуется доступ как к ключу, так и к паролю для этого ключа.
Однако я пытаюсь понять, как мне следует обрабатывать системный пароль для этого (или любого) конкретного пользователя, особенно при работе с sudo. Несколько вопросов:
Спасибо заранее!
Я иду противоположным путем и использую sudo без пароля.
% sudo ALL = (ВСЕ: ВСЕ) NOPASSWD: ALL
Как вы указываете, убедитесь, что у ваших пользовательских ключей ssh есть кодовая фраза. Также убедитесь, что вы отключили аутентификацию по паролю для SSH.
Если вы сделали это выше, я считаю, что эта конфигурация очень функциональна.
Наличие пароля в sudo - это не только для аутентификации, но и для прерывания авторизации запросов.
Если вы скопируете и вставите скрипт, содержащий sudo rm -rf /
sudo без пароля вам не поможет.
Также существует вероятность того, что потенциальный пользователь станет целью для повышения привилегий другим пользователем, если злоумышленник каким-то образом может стать доверенным пользователем, имеющим беспарольный доступ sudo; скажем, у доверенного пользователя есть безобидное задание cron, которое выполняет сценарий, в который злоумышленник имеет права записи, и он изменяет сценарий, чтобы сделать что-то еще.
Возможно, вас это не беспокоит, но учтите, что запрос пароля не позволяет некоторым векторам атак стать реальностью.