AWS IAM или Linux Newuser, чтобы разрешить доступ к моему Backend - PullRequest
0 голосов
/ 16 июня 2020

У меня есть экземпляр EC2, на котором размещается серверная часть моего мобильного приложения.

Моему разработчику нужен доступ к моему серверу, чтобы загрузить новый код, и я думаю, что и протестирую его.

Теперь я не хочу сообщать ему данные FTP, поэтому вот что Я сделал:

  • Создал новый Linux Пользователь
  • Создал новую пару ключей из консоли EC2
  • Создал каталог .s sh
  • Измените разрешение файла на 700 (чтобы только владелец файла мог читать / писать / открывать каталог)
  • Созданы authorised_keys с помощью сенсорной команды в каталоге .s sh
  • Изменено разрешение файла на 600 (так что только владелец файла может читать / записывать каталог)
  • Получен ключ publi c для пары ключей
  • Добавьте ключ publi c в authorised_keys

Теперь я могу поделиться новым сгенерированным файлом PEM с моим разработчиком вместе с именем пользователя и IP-адресом моего хоста EC2.

Но я не понимаю, почему я не могу напрямую это сделать, создав пользователя IAM из консоли AWS и соответствующим образом установив его разрешение?

Я действительно сбит с толку, потому что сначала я хотел сделать это способом IAM, но все предлагали go с пользователем Linux - разве это не одно и то же?

Кроме того, я полностью удалю этого пользователя, когда он закончит свою работу, верно?

Кроме того, я чего-то не понимаю ... после всего этого и настройки нового пользователя Linux я могу подключиться к моему серверу, используя имя пользователя Linux и пароль Unix только - без использования файла PEM, который я создал - как это?

Кроме того, технически этот новый пользователь Linux может просто удалить моего основного Linux пользователя ... Я имею в виду, что я могу просто щелкнуть правой кнопкой мыши по пользователю и нажать удалить через Filezilla, например, как я могу предотвратить это от происходящего? Хотя это не имеет значения, ведь он может просто удалить весь мой сервер?

Сейчас у меня на сервере:

Домашняя папка

  • Домашняя папка> appBackend
  • Домашняя папка > mainLinuxUser
  • Домашняя папка> newLinuxUser

И последнее, но не менее важное: почему все всегда говорят никогда никому не предоставлять частный файл PEM ... в конце концов, Если я разрешил подключаться к моему EC2 только указанному c IP-адресу, то мне не о чем беспокоиться? То же, что я сделал для своей MongoDB - только если я добавлю IP-адрес, только тогда этот человек сможет подключиться и просмотреть мою базу данных. Итак, со всеми предыдущими разработчиками я поделился своей конфигурацией БД, это не имеет значения, поскольку их IP-адреса больше не входят в мою группу безопасности - я прав?

Извините, я новичок во всем этом, и я пытаюсь осмыслить все это. Я ценю любую помощь!

1 Ответ

0 голосов
/ 17 июня 2020
  1. Создание пользователя Linux по сравнению с пользователем IAM:

Пользователи IAM предназначены для пользователей, которые могут получить доступ к AWS ресурсам на основе предоставленных вами разрешений. Это означает, что если вы создадите пользователя IAM с полным доступом к EC2 и предоставите данные своему разработчику, он / она сможет войти в систему AWS и получить полный доступ к EC2. Он / она может создавать, запускать / останавливать, перезагружать, прекращать работу ваших серверов EC2 и т. Д. c. Пользователи / группы IAM создаются для ограничения доступа к ресурсам AWS, таким как EC2, S3, VP C et c. и не для ОС, которая работает внутри EC2.

Да, удалить пользователя и ключи после завершения работы.

Для входа на сервер linux вы можете использовать имя пользователя-пароль или имя-ключ . Проверьте свои пользовательские настройки, если вы установили логин с паролем. Используйте "--disabled-password" или аналогичный при создании нового пользователя. См. Здесь: https://aws.amazon.com/premiumsupport/knowledge-center/new-user-accounts-linux-instance/

Проверьте, есть ли у нового пользователя root или доступ к sudo. Если вы предоставили доступ sudo или root, новый пользователь linux может выполнять такие действия.

Обратите внимание, что рекомендуется удалить пользователя root по умолчанию на EC2, когда сервер запущен и работает. ec2-user или ubuntu. Причина в том, что если ваш pem-ключ, который вы использовали при создании EC2, скомпрометирован, ваш сервер скомпрометирован. Эти root пользователей по умолчанию известны всем, в отличие от определенных c пользователей, которых вы создадите. Следовательно, лучше удалить их.

Также следуйте принципу наименьшего доступа и предоставляйте только наименее необходимый доступ новому пользователю. Это означает, что вы должны создать пользователя в соответствии с потребностями или действием и ограничить доступ только для этого действия. Например, если вашему пользователю нужно только копировать файлы в / из указанных c папок, установите для своего пользователя группу и назначьте разрешения для необходимых папок. Не предоставляйте доступ sudo к нему.

Точно так же вы можете создать пользователя с правами администратора с доступом к sudo, однако убедитесь, что этот пользователь не предоставлен другим разработчикам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...