Я новичок в Ansible. Большинство руководств по подготовке VPS, которые я видел до сих пор, делают это:
- отключить root от входа в систему
- создать нового пользователя, который может войти только с
ssh
(не пароль) - добавить нового пользователя в
wheel
группу с разрешением sudo без пароля
Я понимаю (1) и (2), но не (3).
Конечно, без пароля sudo
это как войти в систему как root
? Я понимаю выгоду (удобство), но разве это небезопасно?
Я понимаю, что администраторы управляют своими сетями различными способами, и поэтому это можно назвать «субъективным», но это ОЧЕНЬ распространенная практика, она даже показана в различных официальных документах, а также в руководствах, опубликованных хостинговыми компаниями. Это противоречит здравому смыслу. Какая логика стоит за этим?
Ответы:
Если учетная запись службы может выполнять sudo без пароля, то вы должны защитить доступ к этой учетной записи.
Если учетная запись не имеет пароля и использует только ssh-ключи для входа в нее, это достигается при условии, что вы также можете сохранить личный ключ ssh в безопасности.
источник
Новый пользователь, созданный в (2), может войти в систему только с ключом SSH, без пароля. Ключ SSH дает косвенный root-доступ. Так что это равносильно разрешению входа в систему с ключом.
Поскольку учетная запись не имеет пароля, невозможно
sudo
запросить пароль. Также Ansible должен уметь выполнять команды. Наличие дополнительного пароля в том же месте, что и ключ, не повысит безопасность.источник
Проблема в том, что ansible предназначен для администраторов и автоматизации, поэтому если вам нужно ввести пароль для запуска сценария, это не самый лучший способ. Также небезопасно хранить пароль для sudo в файле или базе данных и получать его каждый раз при запуске playbook. Таким образом, сочетание sudo без пароля и аутентификации с помощью ключей ssh - лучший способ обеспечить безопасность и отсутствие проблем при запуске playbook. Также вы администратор и знаете, что вы программируете в playbook. Таким образом, playbook не может разрушить ваши серверы.
источник