Эта тема является предметом моей презентации у AWS User Group Mega Manila Meetup в прошлом 20 февраля, 2020
Любой, кто воспользовался AWS, знает, что одна из причин, по которым она ведет облачных вычислений рынок, является из-за широтой его услуг. Он имеет сотни услуг по нескольким случаям использования. Но с этим видом масштаба, отслеживая отслеживание ресурсов AWS, которые вы используете, и обеспечивая наилучшую практику на них, становится сложной Отказ Это еще более пугающий вызов для учетной записи AWS со многими
Как обычно происходит, в том, что команды проводят периодические аудиты своей среды AWS. Они проходят через каждый и каждый ресурс AWS, просматривают свою конфигурацию, рекомендуя способам улучшить свою позу безопасности и обеспечить его совместимым стандартами. Эти аудиты принимают много усилий; Вот почему это делается только каждый квартал или каждый год. Но что, если мы сможем постоянно оценить наши ресурсы против наилучшей практики?
Отслеживает вашу текущую и историческую конфигурацию.
Эта услуга позволяет легко отслеживать ваши ресурсы AWS и их конфигурации и как эта конфигурация меняется со временем. Вы также можете посмотреть, как ваши ресурсы AWS относятся друг к другу.
AWS Config Отображает конфигурацию вашего AWS Resource в качестве временной шкалы. Для этого конкретного экземпляра EC2 мы можем видеть, что его конфигурация была изменена только один раз, поскольку AWS Config был включен для этой учетной записи.
Вы также можете увидеть различные компоненты, связанные с экземпляром EC2, такими как объемы EBS, группы безопасности, подсети и т. Д.
Видение текущей и исторической конфигурации каждого ресурса AWS позволяет нам реагировать в отношении безопасности. Когда возникнет атака, мы можем просмотреть AWS Config и посмотреть, какие изменения сделали возможную атаку. Но что, если мы могли бы стать больше Проактивно о безопасности ?
Проверьте свою среду AWS против предопределенных правил
AWS Config также позволяет нам быть более активным. Вы можете выбрать десятки предопределенных правил, чтобы проверить вашу среду против. AWS Config выполнит эти проверки один раз после настройки, а затем он проходит их периодически (I.e раз в неделю) или всякий раз, когда конфигурация конкретного обновления ресурса AWS. После процесса проверки вы сможете увидеть список ресурсов, которые не соответствовали правилам, которые вы выбрали. С помощью этого списка вы можете быть активны о возможных уязвимости безопасности, вызванные недвижимым ресурсами. Зачем ждать инцидент безопасности, чтобы исправить несоблюдение ресурсов? Будьте активны сейчас, поэтому инцидент не должен произойти вообще.
Вот несколько примеров предопределенных правил, которые я нашел полезным:
- RDS-хранилище зашифровано — смотрит на каждый из ваших экземпляров RDS и проверяет, кто из них не имеет зашифрованного хранилища. Лучше всего зашифровать свои экземпляры RDS, чтобы заставить хакеров сделать что-то полезное из ваших данных (если они смогут на самом деле взломать экземпляр, хостив вашу базу данных в RDS).
- ALB-HTTP-TO-HTTPS-Redirection-Check-Check — смотрит на каждую из ваших балансировщиков нагрузки на приложение (ALB) и проверяет, какие из них не перенаправляют HTTP-трафик к HTTPS. Всегда лучшая практика использовать HTTPS (вместо http) для ваших приложений. Использование HTTP позволяет трафику между вами и вашими пользователями быть отправленным в виде простого текста. Это оставляет ваших пользователей уязвимы для всех, кто может слушать поток трафика. HTTPS делает трафик зашифрованным, поэтому, если кто-то другой, слушая трафик вашего пользователя, они не смогут иметь смысл этого.
- прикрепленный EIP — смотрит на каждый из ваших упругих IP-адресов и проверяет, какие из них не прикреплены к экземпляру EC2 (или в использовании ENIS/для этого можно рассматривать как любой ресурс AWS, который нуждается в IP-адресе). Всегда лучшая практика, чтобы ваши ЕВП приложили, потому что неприкосновенные EIPS посуду от 5 долларов в месяц.
Начиная с написания этого поста, существует 116 предварительно определенных правил в AWS Config. Достаточно, чтобы иметь возможность обеспечить базовую лучшую практику, если вы спросите меня. Но есть времена, когда вы хотите создать собственное собственное правило для обеспечения определенных стандартов, которые могут быть установлены в случае вашего использования. Например, вы можете захотеть, чтобы обеспечить то, что каждый экземпляр EC2 имеет тег «Отдел», чтобы вы могли отслеживать расходы каждого отдела в вашей компании. Вы можете взять его на ступеньку и проверять, содержит ли метка отделения действительного отдела (чтобы предотвратить подлые разработчики добавить отдел наполнителя, как «Test-Dev», просто для правила для пропускания).
Настройте уведомления SNS, когда правило AWS Config не нарушается.
Вы также можете взять его на следующий уровень и настроить SNS-тему для отправки события на очередь SQS. События в очереди SQS могут потребляться лямбда или экземпляром EC2. Потребитель может отменить изменение и уведомлять вас об этом.
Например, вы боитесь, что кто-то в вашей команде создаст группу безопасности со всеми портами, открытыми для всего мира. Вы можете настроить правило AWS CONFIG, чтобы проверить этот вид небезопасной группы безопасности. Затем, как только AWS Config обнаруживает это, он может отправить уведомление SNS для очереди SQS. С помощью функции AWS Lambda, сконфигурированной для употребления задач из очереди SQS, вы можете автоматически исправить эту небезопасному обеспечению безопасности, позволив функцию Lambda изменять небезопасную группу безопасности, удалив правило, что делает все порты открытыми в мир. Затем лямбда отправит вам электронное письмо о мероприятии и что он сделал, чтобы исправить это. При удалении правила казалось слишком ограничительным в ответ, вы можете просто вручную решить его, когда вы попадаете в офис. Но, по крайней мере, вы не оставляете свою среду AWS в любой момент.
С таким подходом Вам даже не нужно быть тем, кто исправляет не соответствующий ресурсы AWS, вы можете просто предварительно программировать ответ на решение проблемы.
Я надеюсь, что смог убедить вас на том, насколько полезным конфигурация AWS для обеспечения применения лучших практик. В этом разделе я покажу вам Как легко это Для создания и настройки AWS Config предназначен для вашей среды.
(2.1) Перейти к консоли управления AWS. Поскольку AWS Config — это региональное обслуживание, вы должны выбрать регион, который вы хотите отслеживать и настроить AWS Config. Затем в меню служб поиск конфигурации. Нажмите на первый результат, который выходит.
(2.2) Если вы не настроили AWS Config до вашего региона выбора, вы увидите этот всплеск. Просто нажмите Начать Отказ
(2.3) На первой странице вы настроите свой рекордер конфигурации. Это записывает всю информацию о ресурсах AWS в регионе и их конфигурации.
Типы ресурсов для записи — Если вы снимите флажок Запишите все ресурсы, поддерживаемые в регионе , вы можете выбрать услуги AWS, которые вы хотите записать CR (I.E просто записать все экземпляры RDS DB и экземпляр EC2). Я настоятельно рекомендую просто выбрать для записи всех ресурсов в регионе.
Amazon S3 Ведро — Изменения в конфигурации ваших ресурсов AWS отслеживаются от AWS Config, скомпилированном в файл истории конфигурации и отправляются на S3 каждые шесть часов. Вы можете создать ведро, использовать существующее ведро или использовать ведро S3 на другой учетной записи. Третий вариант обычно используется крупными компаниями для выделения учетной записи журнала с фактической учетной записи, откуда приходят журналы.
(2.4) Прокрутите вниз, и вы увидите раздел для темы SNS и роли конфигурации. Пропустите SNS-тему на данный момент (убедитесь, что она не включена). Для роли конфигурации AWS выберите Создать AWS CONFIG SERVICE-LINGED ROLE или Используйте существующую роль, связанную с обслуживанием AWS Config Отказ Это создаст роль IAM с разрешениями только для чтения (или использовать роль, которая уже создана по конфигурации). Эта роль будет авторизовать AWS Config, чтобы просматривать все ваши ресурсы AWS и сравнить их против правил, которые мы установим в следующем разделе. Также разрешено добавлять файлы в ваше выбранное ведро S3.
Когда вы закончите, нажмите «Далее».
(2.5) На следующем экране вы сможете выбрать, какие правила конфигурации AWS вы хотите проверить ваши ресурсы AWS. По состоянию на написание этого поста, есть 116 AWS-управляемых правила (только 83 могут быть настроены во время создания рекордера конфигурации). Я уверен, что это число просто собирается стать больше, поскольку время проходит время.
Правила на самом деле интересны для чтения. Вы можете занять время просмотра правил, которые вы захотете добавить в вашу среду. Но просто убедитесь, что добавить EC2-экземпляр - нет - публичный IP
правило. Если это правило не так, что вы хотите для вашей среды AWS в долгосрочной перспективе, мы все еще можем удалить его позже. Мы добавляем его в демократические цели.
Когда вы удовлетворены, нажмите Далее.
(2.6) Просмотрите конфигурацию для конфигурации AWS. Когда вы удовлетворены этим, нажмите «Подтвердить».
Вы увидите этот экран на несколько секунд. Это означает, что он все еще устанавливается.
(2.7) Тогда вы увидите этот экран. Вы должны ждать несколько минут, так как AWS Config сканирует вашу среду AWS впервые, глядя на каждый ресурс AWS в регионе
(2.8) Через несколько минут вы сможете увидеть эту приборную панель.
(2.9) Поскольку у меня нет экземпляра EC2, и у меня есть только правило, которое проверяет, имеет ли экземпляр EC2 публичного IP, панель справа выглядит так, как будто нет правил. Чтобы исправить это, давайте создадим экземпляр EC2 со следующими спецификациями. Если вам нужно руководство о том, как создать экземпляр EC2, вы можете проверить это Почта
- Тип экземпляра: T2.Micro
- VPC и подсеть: зависит от вас (публичная подсеть)
- Автоматическое назначение публично IP: включено (убедитесь, что это включено, чтобы мы могли продемонстрировать, что этот экземпляр EC2 проверяет правило конфигурации AWS, мы сделали ранее)
- Пара ключей, группа безопасности, хранение — оставьте это как по умолчанию. В любом случае, мы не получаем доступа к этому экземпляру EC2.
После создания экземпляра EC2 обновите приборную панель AWS Config. Через несколько минут вы увидите один несекретный ресурс. Он будет соответствовать экземпляру EC2 с публичным IP-адресом, который мы только что создали.
Это показывает, что правило AWS CONFIGN, признало, что экземпляр EC2, который мы сделали, не соответствовало для EC2-экземпляр - нет - публичный IP
правило. Это потому, что мы убедились, что EC2, который мы создали на шаге 2.9, имели публичный IP-адрес.
Вы можете добавить другие правила для мониторинга других ресурсов в вашей среде. В следующем посте мы создадим пользовательское правило AWS Config с AWS Lambda.
Это это для этого поста. Я надеюсь, что вы многому научились. Если у вас есть какие-либо комментарии или предложения, вы можете прокомментировать мой пост ниже, или вы можете отправить мне личное сообщение!.
Оригинал: «https://dev.to/raphael_jambalos/enforce-security-best-practices-in-your-aws-environment-with-aws-config-108l»