Почему в AWS Ubuntu AMI есть пользователь «ubuntu», а не просто разрешается вход с правами root? [дубликат]

На этот вопрос уже есть ответ здесь:

Образ Ubuntu AWS загружается с добавлением ваших учетных данных пользователю с именем ubuntu . После того, как машина заработает, вы можете использовать SSH в своем новом компьютере с пользователем ubuntu .

Этот пользователь является sudoer, и, исходя из файла sudoers, этот пользователь может делать практически все, что может делать root, если вы предваряете команду sudo без ввода пароля. Это сводит на нет некоторые преимущества sudo , поскольку нет интерактивного запроса пароля. Насколько я могу судить, это также в значительной степени означает, что вы никогда не должны запускать общедоступные приложения от имени этого пользователя, потому что, если бы кто-то мог найти способ выполнять команды оболочки через ваше приложение, он мог бы взять под контроль вашу систему.

Мой настоящий вопрос: почему существует этот пользователь? Почему бы просто не предоставить SSH-доступ к учетной записи root, ожидая, что кто-то создаст непривилегированные учетные записи для запуска приложения? Разве наличие этого пользователя ubuntu не добавляет путаницы? Я мог видеть, как кто-то думает: «мое приложение systemd работает не от имени root, а от ubuntu, так что я в безопасности».

Не хватает ли мне какой-то цели этого типа пользователя, который не является пользователем root, но является sudoer без пароля?

3
задан 30 November 2018 в 04:03

1 ответ

Я болтал с одним из своих друзей, который работает над командой EC2, и он дал мне действительно хорошее объяснение.

Основное различие, которое будет обсуждено вот, между пользователем, который может работать sudo без пароля и может получить все полномочия с sudo (sudoer без пароля), и пользователь root сам. Моя начальная буква думала, был то, что эти два пользователя являются по существу тем же, но поскольку мой друг объясняет, ставить под угрозу sudoer без пароля по сути более трудно, чем пользователь root, если вектор атаки через приложение.

Причина дополнительной трудности состоит в том, что для получения sudo privilieges как sudoer Вы должны окружить доступ. Без оболочки приложение, работающее, поскольку, sudoer без пароля является по существу просто обычным пользователем. Однако это означает, что, если sudoer без пароля запускали приложение, которое может выполнить команды оболочки от имени пользователя (т.е. Jenkins или некоторый другой инструмент CI), затем система могла все еще быть поставлена под угрозу.

Является все еще, вероятно, самым безопасным запустить приложения как non-sudoer, но для большинства случаев, я предполагаю, что sudoer без пароля достаточно безопасен.

Полный контекст обсуждения:

enter image description here

enter image description here

2
ответ дан 1 December 2019 в 16:50

Другие вопросы по тегам:

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