Раздел 1: Что такое WAF и зачем он нам нужен
Брандмауэр веб-приложений (WAF) — это особая форма системы сетевой безопасности, которая фильтрует, отслеживает и блокирует входящий и исходящий HTTP-трафик к веб-службе и от нее на основе настроенной политики, как правило, с предопределенные наборы правил на выбор. Зачем нам нужно защищать веб-приложения от атак? Использование известных технологий для разработки веб-приложений, таких как PHP, Nodejs и т. д. У них есть известные недостатки безопасности, и злоумышленники используют эти слабые места для эксплуатации приложения. Другая причина — широкая поверхность атак. Основные пользователи веб-приложений подключаются через Интернет. Любой может попытаться использовать или атаковать ваше приложение из Интернета. Почти все эти атаки можно разделить на несколько групп: атаки путем внедрения SQL-кода, межсайтовые сценарии, удаленное включение файлов, отсутствующие заголовки HTTP, боты и т. д. Все эти атаки можно предотвратить. Одним из способов является предотвращение на уровне кода, что довольно сложно, и ответственность за это лежит на разработчике. Кроме того, требуется высокое обслуживание, установка исправлений и мониторинг на нескольких уровнях приложения. Другой и гораздо более простой способ — приобрести брандмауэры веб-приложений (WAF) и развернуть их перед веб-сервером для блокировки распространенных атак. Это обеспечивает централизованную защиту вашего веб-приложения от распространенных эксплойтов и уязвимостей.
Раздел 2. Создание AWS WAF
Перейдите в Консоль управления AWS WAF и нажмите «Настроить веб-ACL». Показан обзор AWS WAF. Вот иерархия AWS WAF. Web ACL имеет множество правил, а правила имеют множество условий, которые мы создадим на последующих этапах. Нажмите Далее.
Введите имя веб-списка управления доступом, регион — Северная Вирджиния (или место, где был создан EC2), тип ресурса — «Application Load Balancer» и, наконец, выберите Application Load Balancer, созданный на предыдущем шаге. Нажмите Далее.
Здесь необходимо создать условие блокировки конкретного запроса веб-приложения. Прокрутите вниз и нажмите Создать условие для Условия соответствия строк и регулярных выражений.
Введите имя условия, Тип как Совпадение строк, отфильтруйте Все параметры запроса и остальные параметры точно так, как показано ниже. И нажмите Добавить фильтр, а затем Создать. Здесь мы пытаемся создать условие, которое соответствует URL-адресу, содержащему значение параметра запроса как 169.254.169.254. Этот IP-адрес связан с Метаданными EC2.
Теперь пришло время создать правило, которое представляет собой набор условий. Нажмите «Создать правило» и укажите параметры точно так, как показано ниже. Нажмите «Добавить условие», «Создать» и «Просмотреть и создать».
Наконец, проверьте все детали и нажмите «Подтвердить и создать». Веб-ACL (список управления доступом) будет создан и связан с Application Load Balancer, как показано ниже.
Теперь попробуйте получить доступ к URL-адресу Application Load Balancer через браузер. На этот раз мы получим «403 Forbidden», поскольку наш URL соответствует условию Web ACL, и мы его блокируем. Запрос никогда не достигает Application Load Balancer или веб-приложения на EC2. Здесь мы замечаем, что, хотя приложение разрешает доступ к учетным данным безопасности, WAF блокирует его.
Раздел 3. Правила AWS WAF
В этом разделе описываются самые последние версии групп правил AWS Managed Rules.
· Базовые группы правил
· Группы правил для конкретных вариантов использования
· Группы правил IP-репутации
· Группа правил контроля ботов
· Группа правил предотвращения захвата учетной записи
Базовые группы правил:
Базовые управляемые группы правил обеспечивают общую защиту от широкого спектра распространенных угроз.
· Группа управляемых правил основного набора правил (CRS)
Группа правил основного набора правил (CRS) содержит правила, обычно применимые к веб-приложениям. Это обеспечивает защиту от использования широкого спектра уязвимостей, в том числе некоторых из
· Группа управляемых правил защиты администратора
Группа правил защиты администратора содержит правила, которые позволяют блокировать внешний доступ к открытым административным страницам. Это может быть полезно, если вы запускаете стороннее программное обеспечение или хотите снизить риск того, что злоумышленник получит административный доступ к вашему приложению.
Группы правил для конкретных вариантов использования
Группы правил для конкретных вариантов использования обеспечивают дополнительную защиту для множества разнообразных вариантов использования AWS WAF.
· Группа управляемых правил базы данных SQL
Группа правил базы данных SQL содержит правила для блокировки шаблонов запросов, связанных с использованием баз данных SQL, таких как атаки путем внедрения кода SQL. Это может помочь предотвратить удаленное внедрение несанкционированных запросов.
· Группа управляемых правил операционной системы Linux
Группа правил операционной системы Linux содержит правила, которые блокируют шаблоны запросов, связанные с использованием уязвимостей, характерных для Linux, включая характерные для Linux атаки с включением локальных файлов (LFI).
· Группа правил, управляемых приложением PHP
Группа правил приложения PHP содержит правила, которые блокируют шаблоны запросов, связанные с использованием уязвимостей, связанных с использованием языка программирования PHP, включая внедрение небезопасных функций PHP. Это может помочь предотвратить использование уязвимостей, которые позволяют злоумышленнику удаленно запускать код или команды, для которых он не авторизован.
Группы правил репутации IP-адресов
Группы правил IP-репутации позволяют блокировать запросы на основе их источника.
· Группа управляемых правил со списком анонимных IP-адресов
К ним относятся запросы от VPN, прокси-серверов, узлов Tor и хостинг-провайдеров (включая AWS). Эта группа правил полезна, если вы хотите отфильтровать зрителей, которые могут пытаться скрыть свою личность от вашего приложения. Блокировка IP-адресов этих сервисов может помочь уменьшить количество ботов и обойти географические ограничения.
DDoS-атаки
Распределенные атаки типа отказ в обслуживании (DDoS) продолжают оставаться серьезной проблемой для онлайн-организаций. DDoS-вымогательство процветает; злоумышленники обрушивают веб-приложения жертвы огромным потоком трафика, а затем требуют оплаты в криптовалюте. Некоторые атаки не предназначены для получения финансовой выгоды; вместо этого злоумышленник жаждет мести или хочет сделать политическое заявление. Другие атаки происходят, казалось бы, случайным образом, без очевидной причины. Какой бы ни была мотивация злоумышленника, защита от DDoS-атак сегодня является одной из главных проблем безопасности в Интернете, поскольку нарушение доступности может привести к финансовым потерям, репутационному ущербу и другим нежелательным последствиям.
Вы можете улучшить DDoS-атаки. отказоустойчивость за счет вставки размещенных зон Amazon Route 53, дистрибутивов Amazon CloudFront и веб-списков ACL AWS WAF между этими ресурсами веб-приложений и вашими конечными пользователями. Эти вставки могут запутать источник приложения, обслуживать запросы ближе к вашим конечным пользователям, а также обнаруживать и смягчать потоки запросов на уровне приложения. Приложения, предоставляющие конечным пользователям статический или динамический контент с помощью CloudFront и Route 53, защищены интегрированной, полностью встроенной системой защиты от DDoS-атак, которая нейтрализует атаки на уровне инфраструктуры в режиме реального времени. Учебное пособие по DDOS с AWS Shield.
OWASP
Проект Open Web Application Security Project (OWASP) — это интернет-сообщество, которое создает в свободном доступе статьи, методологии, документацию. , инструменты и технологии в области безопасности веб-приложений. Они публикуют рейтинг 10 наиболее критических недостатков безопасности веб-приложений, которые известны как OWASP Top 10.2 Хотя текущая версия была опубликована в 2013 году, новая версия 2017 Release Candidate в настоящее время доступна для публичного ознакомления. OWASP Top 10 представляет широкий консенсус в отношении наиболее важных недостатков безопасности веб-приложений. Это широко распространенная методология оценки безопасности веб-приложений и разработки стратегий смягчения последствий для веб-сайтов и веб-приложений. В нем описываются 10 основных областей, в которых веб-приложения подвержены атакам, и где в таких рабочих нагрузках обнаруживаются распространенные уязвимости. Ресурс
Группа правил контроля ботов
Группа управляемых правил Bot Control содержит правила для блокировки и управления запросами от ботов. При использовании этой группы правил с вас взимается дополнительная плата.
Группа правил предотвращения захвата аккаунта
Группа управляемых правил ATP содержит правила для блокировки, маркировки и управления запросами, которые могут быть частью попыток злонамеренного захвата учетной записи. При использовании этой группы правил с вас взимается дополнительная плата.
Для получения дополнительной информации об управляемых правилах aws для aws waf см. эту официальную документацию.
Раздел 4: Заключение
Мы должны убедиться, что приложение защищено и что данные не попадут в чужие руки. Безопасность может применяться на нескольких уровнях. В этой документации мы увидели, как использовать AWS WAF (брандмауэр веб-приложения) для защиты веб-приложения от атак, таких как сопоставление с IP-адресом метаданных EC2. Мы также могли бы использовать WAF для защиты от распространенных атак, таких как инъекция SQL и т. д.
Использование AWS WAF или любого другого продукта безопасности не делает приложение безопасным, но продукт должен быть правильно настроен. При неправильной настройке данные могут попасть не в те руки, как это произошло с Capital One и другими организациями. Кроме того, следует учитывать еще одну важную вещь: о безопасности нужно думать с первого дня, а не включать ее в приложение на более позднем этапе.
Ресурсы, которые я использовал при подготовке этой документации: 1 2 3 4 5