Общий регламент по защите данных ЕС вступает в силу в мае 2018 года. Он применяется ко всем компаниям, обрабатывающим персональные данные субъектов данных, проживающих в Союзе, независимо от местонахождения компании. По окончании льготного периода GDPR штрафы за нарушение данных, когда организация продемонстрировала нарушение основных концепций дизайна конфиденциальности, могут составить 4% от годового глобального оборота или 20 миллионов евро, в зависимости от того, что больше. Я настоятельно рекомендую всем компаниям, занимающимся данными о клиентах, потратить некоторое время на то, чтобы внимательно прочитать GDPR и понять его последствия.

В дополнение к серьезным денежным штрафам, если вы не предпримете ответственных мер для обеспечения безопасности данных клиентов, вы будете выглядеть совершенно неуместным и потеряете доверие клиентов, когда эти данные в конечном итоге все же утекут. Ставки высоки!

Безопасность данных на AWS

Виртуальное частное облако

Запустите свои машины в частной подсети внутри AWS VPC . Очень немногие (если таковые имеются) ваши серверы должны иметь общедоступные IP-адреса. В идеале ваши экземпляры EC2 должны иметь только частные IP-адреса. Единственный способ получить веб-трафик к экземпляру должен быть через балансировщик нагрузки, который перенаправляет трафик на определенные порты на определенных машинах. Это значительно уменьшает вашу атакуемую поверхность.

Группы безопасности

Группы безопасности действуют как брандмауэр для ваших экземпляров, чтобы ограничить, на какие порты экземпляры могут получать трафик и из каких источников они принимают трафик. Экземпляры в частной подсети должны принимать трафик только от балансировщика нагрузки или от других внутренних экземпляров. Если вы решите запустить некоторые экземпляры в общедоступной подсети с общедоступными IP-адресами, они должны принимать трафик только через порты общедоступных служб, например только на порт 80 (HTTP) и порт 443 (HTTPS).

Нет SSH

AWS имеет множество платформ оркестровки, таких как Elastic Beanstalk, Elastic Container Service и EC2 Simple Systems Manager. С помощью этих инструментов вы можете безопасно взаимодействовать с вашими экземплярами без необходимости подключаться к экземплярам по SSH. Нет никакого оправдания тому, что ваш порт 22 открыт для всего мира. Вместо этого ваши экземпляры должны быть инициализированы, настроены и управляться без автоматизированных инструментов, а их мониторинг должен осуществляться с помощью журналов и показателей, которые извлекаются из машины с помощью таких инструментов, как журналы AWS CloudWatch и AWS Cloudwatch Metrics. . SSH почти никогда не должен быть необходим для работы экземпляра.

Шифрование службы реляционной базы данных AWS

AWS RDS представляет собой полностью управляемую платформу реляционных баз данных, которая обеспечивает резервное копирование и защиту ваших данных. Вы можете зашифровать свои данные в пути, включив SSL для соединений между вашими экземплярами и вашей базой данных RDS, а также зашифровать ваши данные при хранении с помощью ключей шифрования.

Шифрование тома AWS Elastic Block Store

Amazon EBS - это сетевые тома блочного хранилища для ваших инстансов. Вам следует включить шифрование для этих томов, если вы самостоятельно размещаете базу данных и храните личные данные пользователей на этих томах.

Шифрование S3

Конфиденциальные данные должны быть зашифрованы с помощью ключа перед помещением в AWS S3. Вы можете либо позволить AWS управлять ключом шифрования, либо управлять клиентской стороной шифрования с помощью предоставленного вами ключа.

Роли IAM

Очень важно использовать роли IAM. Каждый пользователь (или процесс), который взаимодействует с вашей учетной записью, должен иметь свои собственные учетные данные и возможность принимать на себя одну или несколько ролей IAM. Если у вас есть одна пара учетных данных, которая используется всеми пользователями вашей системы, вы подвергаетесь риску. Вместо этого каждый разработчик или администратор должен иметь свою собственную пару учетных данных, каждый процесс CI / CD, который создает ваш код, должен иметь свои собственные учетные данные, каждый экземпляр в вашем кластере должен иметь свои собственные учетные данные, и каждая служба, которая работает в этих экземплярах, должна иметь свои собственные учетные данные. реквизиты для входа. Затем каждый пользователь ваших ресурсов AWS должен иметь возможность использовать свои учетные данные, чтобы взять на себя роль, которая ограничена только конкретными действиями и конкретными ресурсами, которые нужны конкретному пользователю.

Нет статических учетных данных

Статические учетные данные всегда представляют угрозу безопасности. Если у вас есть статические учетные данные API AWS, зафиксированные в вашем репозитории кода, вы делаете это неправильно и очень уязвимы. Вам следует использовать Роли IAM для экземпляров или, если вы работаете в Elastic Container Service, используйте Роли IAM для задач, чтобы сделать ваши запущенные процессы уникальными, недолговечными и автоматически ротация учетных данных. Для разработчиков и администраторов-людей вы также должны предоставить им краткосрочные учетные данные. Некоторые организации доходят до того, что требуют от сотрудников получать свежие учетные данные API каждое утро, когда они приходят на работу. Предположим, что любые учетные данные, которые остаются статичными достаточно долго, будут утекать хакером, случайно или даже недовольным сотрудником. Единственный способ ограничить влияние утечки учетных данных - сделать учетные данные нестатическими по умолчанию.

Сервис управления ключами AWS

Если у вас есть конфиденциальные данные для хранения, вы должны зашифровать их с помощью ключа. AWS KMS предоставляет вам простой в использовании SDK для предоставления ключей и их использования для шифрования ваших данных. Вы можете контролировать доступ к ключам с помощью ролей IAM, чтобы гарантировать, что только нужные пользователи или службы могут использовать определенные ключи для расшифровки определенных фрагментов информации.

AWS CloudTrail

AWS CloudTrail непрерывно отслеживает и записывает все вызовы API, выполняемые в вашей учетной записи AWS, и в сочетании с предоставлением каждому пользователю собственных учетных данных он дает вам отслеживаемый след всех действий, предпринятых каждым пользователем. вашей системы.

Amazon Macie

Amazon Macie использует машинное обучение, чтобы обнаруживать данные, хранящиеся в вашей учетной записи AWS, и узнавать, как к ним обращаться. Он может предупредить вас, если у вас есть, например, общедоступная корзина S3, содержащая личную информацию, или если шаблоны доступа к данным внезапно меняются, указывая на то, что кто-то может злоупотреблять своим доступом к данным.

Amazon Inspector

Amazon Inspector автоматически оценивает приложения на наличие уязвимостей или отклонений от лучших практик. После проведения оценки Amazon Inspector создает подробный список результатов безопасности, упорядоченных по уровню серьезности.

Брандмауэр веб-приложений AWS

Отфильтруйте потенциально вредоносный трафик до того, как он достигнет вашего приложения, с помощью AWS WAF. Используя WAF, вы можете создавать правила, которые могут помочь защитить от распространенных веб-эксплойтов, таких как SQL-инъекции и межсайтовые сценарии.

Заключение

AWS использует модель безопасности с общей ответственностью. Это означает, что AWS отвечает за физическую безопасность базового оборудования, безопасность уровня виртуализации и безопасность всех своих основных сервисов, но вы несете ответственность за безопасность и настройку того, что вы создаете поверх AWS. К счастью, AWS также предоставляет вам все инструменты, необходимые для создания безопасных приложений мирового класса на основе сервисов AWS.