Как защитить веб-приложения с помощью AWS WAF?



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

В этой статье рассказывается, как можно защитить веб-приложения с помощью WAF и проведите практическую демонстрацию. Следующие указатели будут рассмотрены в этой статье,

Итак, давайте начнем,





Продолжаем читать статью «Как защитить веб-приложение с помощью AWS WAF?»

Приступая к работе с некоторыми основами

AWS предоставляет такие сервисы, как EC2, ELB (Elastic Load Balancer), S3 (Simple Storage Service), EBS (Elastic Block Storage), чтобы быстро и с меньшими капитальными затратами создавать полезные и необычные приложения. При создании этих приложений не менее важно защитить приложение и данные. Если не защитить должным образом, данные приложения могут попасть в чужие руки, как в случае недавнего Capital One инцидент .



Capital One разместил веб-приложение на EC2, и оно не было должным образом защищено. Бывший сотрудник AWS смог воспользоваться этой уязвимостью и загрузить огромное количество данных клиентов из S3. Позже выяснилось, что данные еще 30 организаций также были загружены с AWS. Итак, повторюсь еще раз: недостаточно просто спроектировать и спроектировать приложение, но не менее важно защитить приложение.

Capital One использован AWS WAF (брандмауэр веб-приложений) для защиты веб-приложения, но оно не было настроено должным образом, из-за чего хакер смог получить доступ к данным в S3 и загрузить их. В этой статье мы рассмотрим, как использовать и настроить AWS WAF для защиты от распространенных веб-атак, таких как внедрение SQL, XSS (межсайтовый скриптинг) и т. Д. AWS WAF необходимо настроить вместе с Балансировщик нагрузки приложений , CloudFront или API Gateway. В этом сценарии мы будем использовать Application Load Balancer. Любой запрос от клиента через браузер будет проходить через AWS WAF, затем в Application Load Balancer и, наконец, в веб-приложение на EC2. AWS WAF можно использовать для заблокировать злонамеренный запрос от хакеров, используя набор правил и условий.

Изображение - Защита веб-приложений с помощью AWS WAF - Edureka

Продолжаем читать статью «Как защитить веб-приложение с помощью AWS WAF?»



Последовательность шагов для начала работы с AWS WAF

Шаг 1: Создание уязвимого веб-приложения,

Первым шагом является создание веб-приложения, уязвимого для атак SSRF (подделка запросов на стороне сервера), как указано в этом Блог о том, как произошла атака Capital One. В этом блоге есть последовательность шагов, чтобы:

  1. Создать EC2
  2. Установите необходимое программное обеспечение для создания веб-приложения с уязвимостью SSRF.
  3. Создание и роль IAM с разрешениями S3 только для чтения
  4. Прикрепите роль IAM к EC2
  5. Наконец, воспользуйтесь уязвимостью SSRF, чтобы получить учетные данные безопасности, связанные с ролью IAM.

После выполнения последовательности шагов в упомянутом блоге замените 5.6.7.8 публичным IP-адресом EC2 в приведенном ниже URL-адресе и откройте его в браузере. Учетные данные безопасности, связанные с ролью IAM, должны отображаться в браузере, как показано ниже. Вот как был взломан Capital One. Имея на руках учетные данные безопасности, хакер мог получить доступ к другим сервисам AWS, таким как S3, для загрузки данных.

http://5.6.7.8:80?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO

Шаг 2: Создание балансировщика нагрузки приложения

AWS WAF нельзя напрямую связать с веб-приложением. Но может быть связано только с Application Load Balancer, CloudFront и API Gateway. В этом уроке мы будем создавать Балансировщик нагрузки приложений и привязка AWS WAF с таким же.

Шаг 2а: Целевая группа - это набор экземпляров EC2, и ее необходимо создать перед созданием балансировщика нагрузки приложения. В консоли управления EC2 щелкните целевую группу на левой панели и щелкните «Создать целевую группу».

Шаг 2b: Введите имя целевой группы и нажмите «Создать». Целевая группа будет успешно создана.

Шаг 2c: Убедитесь, что выбрана целевая группа, щелкните вкладку «Цели» и нажмите «Изменить», чтобы зарегистрировать экземпляры EC2 в целевой группе.

Шаг 2d: Выберите экземпляр EC2, нажмите «Добавить в зарегистрированный» и нажмите «Сохранить».

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

Шаг 2e: Пришло время создать балансировщик нагрузки приложения. Щелкните «Балансировщик нагрузки» на левой панели консоли управления EC2 и нажмите «Создать балансировщик нагрузки».

Нажмите «Создать» для «Балансировщика нагрузки приложений».

Продолжаем читать статью «Как защитить веб-приложение с помощью AWS WAF?»

Шаг 2f: Введите имя Application Load Balancer. Убедитесь, что выбраны все зоны доступности, и нажмите «Далее».

Шаг 2g: В «Настроить параметры безопасности» нажмите «Далее».

В «Настроить группы безопасности» создайте новую группу безопасности или выберите одну из существующих групп безопасности. Убедитесь, что порт 80 открыт для доступа к веб-странице на EC2. Щелкните Далее.

двоичный в десятичный код Java

Шаг 2h: В «Настроить маршрутизацию» выберите «Существующая целевая группа» и выберите ту, которая была создана на предыдущем шаге. Щелкните Далее.

Шаг 2i: Целевые экземпляры EC2 уже зарегистрированы как часть целевых групп. Итак, во вкладке «Register Target» без каких-либо изменений нажмите Next.

Шаг 2j: Наконец, просмотрите все подробности о Application Load Balancer и нажмите Create. Балансировщик нагрузки приложения будет создан, как показано ниже.

Шаг 2k: Получите доменное имя Application Load Balancer и замените его выделенным текстом в приведенном ниже URL-адресе и откройте его в браузере. Обратите внимание, что мы получаем доступ к веб-приложению через балансировщик нагрузки приложения, и учетные данные безопасности отображаются, как показано ниже. Указанный ниже URL-адрес можно заблокировать с помощью AWS WAF, как показано в последующих шагах, чтобы остановить утечку учетных данных безопасности.

MyALB-1929899948.us-east-1.elb.amazonaws.com ? url = http: //169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO

Шаг 3: Создание AWS WAF (брандмауэр веб-приложений)

Шаг 3а: Перейдите в Консоль управления AWS WAF и нажмите «Настроить веб-ACL». Показан обзор AWS WAF. Вот иерархия AWS WAF. В веб-ACL есть набор правил, а в правилах есть набор условий, которые мы будем создавать на следующих этапах. Щелкните Далее.

Шаг 3b: Введите имя веб-ACL, регион как Северная Вирджиния (или место, где был создан EC2), тип ресурса как «Application Load Balancer» и, наконец, выберите Application Load Balancer, который был создан на предыдущем шаге. Щелкните Далее.

Шаг 3c: Здесь условие для блокировки определенного запроса веб-приложения должен быть создан. Прокрутите вниз и нажмите «Создать условие» для «Условия соответствия строки и регулярного выражения».

Шаг 3d: Введите имя условия, Тип как «Соответствие строки», отфильтруйте «Все параметры запроса» и остальные параметры точно так, как показано ниже. И нажмите «Добавить фильтр», а затем «Создать». Здесь мы пытаемся создать условие, которое соответствует URL-адресу, содержащему значение параметра запроса как 169.254.169.254. Этот IP-адрес относится к Метаданные EC2 .

Шаг 3e: Пришло время создать правило, которое представляет собой набор условий. Щелкните «Создать правило» и укажите параметры, как показано ниже. Нажмите «Добавить условие», «Создать» и «Просмотреть и создать».

Продолжаем читать статью «Как защитить веб-приложение с помощью AWS WAF?»

Шаг 3f: Наконец, просмотрите все детали и нажмите «Подтвердить и создать». Веб-ACL (список контроля доступа) будет создан и связан с балансировщиком нагрузки приложения, как показано ниже.

Шаг 3g: Теперь попробуйте получить доступ к URL-адресу Application Load Balancer через браузер, как показано в Шаг 2k . На этот раз мы получим «403 Forbidden», поскольку наш URL-адрес соответствует условию Web ACL, и мы его блокируем. Запрос никогда не достигает балансировщика нагрузки приложения или веб-приложения на EC2. Здесь мы замечаем, что, хотя приложение разрешает доступ к учетным данным безопасности, WAF блокирует то же самое.

Шаг 4: Очистка ресурсов AWS, созданных в этом руководстве. Очистка должна выполняться в том же порядке, как указано ниже. Это необходимо для того, чтобы AWS остановил выставление счетов за связанные ресурсы, созданные в рамках этого руководства.

  • Удалить условие в правиле
  • Удалить правило в WebACL
  • Отключите ALB в WebACL
  • Удалить WebACL
  • Удалить правило
  • Удалите фильтр в условии
  • Удалить условие
  • Удалить ALB и целевую группу
  • Завершите EC2
  • Удалить роль IAM

Заключение

Как упоминалось ранее, создать веб-приложение с помощью AWS очень просто и интересно. Но мы также должны убедиться, что приложение безопасно и что данные не попадут в чужие руки. Безопасность можно применять на нескольких уровнях. В этом руководстве мы увидели, как использовать AWS WAF (брандмауэр веб-приложений) для защиты веб-приложения от атак, таких как сопоставление с IP-адресом метаданных EC2. Мы также могли бы использовать WAF для защиты от распространенных атак, таких как внедрение SQL и XSS (межсайтовый скриптинг).

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

На этом мы подошли к концу статьи о том, как защитить веб-приложения с помощью AWS WAF. Мы также разработали учебный план, который точно охватывает то, что вам нужно для сдачи экзамена на архитектор решений! Вы можете ознакомиться с деталями курса для подготовка.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев в блоге What is AWS, и мы свяжемся с вами.