Я боролся с закрытыми ключами AWS, пытаясь сохранить все свои учетные данные AWS безопасными, надежными и организованными. Должен ли я использовать один и тот же ключ AWS для нескольких экземпляров EC2 или у каждого экземпляра должен быть свой уникальный закрытый ключ?
Я искал лучшую практику в этом отношении. Если вы дополнительно можете объяснить, почему, я был бы очень признателен.
Я склоняюсь к практике предоставления каждому экземпляру уникального закрытого ключа для разделения безопасности.
Заранее спасибо!
Просто чтобы расширить ответ @steenhulthin.
Я считаю, что сгенерированную EC2 пару ключей лучше всего рассматривать как главный ключ в экземпляре, и это необязательно. Это не система управления доступом на уровне пользователей.
Я считаю, что лучшая практика заключается в следующем
Нужно ли мне удаленно входить в экземпляр?
ДА: Создайте экземпляр EC2 с парой ключей
Я считаю, что лучше всего создавать пару ключей EC2 для каждого экземпляра. Если пара ключей подвергается риску, доступ ограничивается только этим экземпляром. Однако парой ключей для каждого экземпляра может быть сложно управлять, в этом случае найдите логический способ сгруппировать экземпляры и использовать пару ключей для каждой группы. Например. группировать по роли или роли и приложению.
НЕТ: Создайте экземпляр EC2 без пары ключей.
Это, очевидно, более безопасно, поскольку у вас нет ключа, который можно потерять / скомпрометировать. Экземпляр по своей сути недоступен обычными методами. Следование этому методу требует, чтобы управление экземпляром / настройка были полностью автоматизированы (Chef, Puppet и т. Д.), И это более дорогостоящий вариант. В целом, насколько безопаснее это делает экземпляр, остается предметом обсуждения и зависит от того, как настроена ваша автоматизация.
Каковы лучшие практики управления парами ключей EC2? Это тот вопрос, на который у меня пока нет хорошего ответа.
Вам нужно разрешить людям удаленный доступ к экземплярам? Как предлагает @steenhulthin, либо создайте локальные учетные записи для каждого пользователя, либо используйте централизованную аутентификацию и авторизацию.
Кроме того, вы также можете поддерживать выделенный экземпляр для доступа к удаленному управлению (SSH или RDP), открывать его только для общего доступа (с учетом IP-адреса) и ограничивать SSH и / или RDP на всех остальных экземплярах станцией управления.
Думаю, этот вопрос лучше подходит для serverfault.com.
Тем не менее: если вы работаете с экземплярами в одиночку, я не вижу смысла создавать пару ключей для каждого экземпляра. Я думаю, что пара ключей должна быть для каждого пользователя.
Если многопользовательские пользователи должны получить доступ к машинам, я бы добавил новую пару ключей в экземпляр ec2, как описано здесь: https://forums.aws.amazon.com/message.jspa?messageID=185184 и немного подробнее о процессе генерации пары ключей здесь: http://seabourneinc.com/2011/01/19/change-key-pairs-on-aws-ec2-instance/
Я написал статью о лучших практиках SSH, включая управление ключами, перенаправление портов и перенаправление агентов. Вы можете найти это полезным. Здесь ссылка на сайт.
Вот несколько хороших занятий:
В статье упоминаются также другие вещи, связанные с SSH и доступом пользователей.