Top.Mail.Ru
Вход
Регистрация

Защита облачных приложений и API в средах Kubernetes

Защита облачных приложений и API в средах Kubernetes

Защита облачных приложений и API в средах Kubernetes

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

По данным аналитической компании Gartner, 83 % интернет-трафика сейчас приходится на вызовы API. К 2022 году этот показатель может вырасти до 90 %. Это делает API очень привлекательной целью для злоумышленников. Какие угрозы актуальны?

·      Топ10 классических уязвимостей по версии сообщества OWASP (Open Web Application Security Project), в который входят SQL-инъекции, XXE (XML External Entity) и т.д.

·      Топ10 угроз для API по версии OWASP 2019 года

·       Отдельно стоит отметить атаки типа API Abuse, когда API перегружается большим объемом бот-трафика

·       Угрозы Credential stuffing/Account takeover, когда атака основана на использовании учетных записей

·       Атаки с перебором паролей и другие, которые можно отнести к методам «грубой силы»

Для защиты от большей части перечисленных угроз используются программные решения класса WAF (Web Application Firewall). Но как подобное ПО может применяться для облачных приложений, реализованных на основе контейнерной инфраструктуры Kubernetes?

В классической инфраструктуре между интернетом и интерфейсами nginx расположены балансировщики нагрузки уровня L3 или более высокого. Сами nginx также решают задачу балансировки нагрузки, выполняют задачи SSL termination и отправляют трафик непосредственно на приложения. В этом случае WAF просто добавляется к nginx.

Если же речь идет об инфраструктуре Kubernetes, то существуют две популярные схемы использования WAF.

·       Первый вариант – Ingress Controller nginx. Он балансирует и распределяет трафик между сервисами, поэтому является самым подходящим местом, где может быть установлена защита.

·       Второй вариант – использование nginx в качестве пода приложения и добавление защиты уже на этом уровне. Эта схема несколько более затратна по вычислительным ресурсам, но это позволяет защищаться и от того внутреннего трафика, который ходит между приложениями.

Бесплатная безопасность

Какой же WAF выбрать? Начать можно с бесплатного и открытого модуля ModSecurity, который широко известен в сообществе специалистов по информационной безопасности.  

Решение представляет собой опенсорсный модуль для nginx, который развивает большое сообщество разработчиков. Свою популярность он заработал благодаря высокой эффективности выявления атак топ-10 OWASP и целого ряда других. Кроме того, он поддерживает виртуальные патчи и имеет очень детальные настройки.

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

Еще один недостаток также связан с сигнатурным методом и заключается в том, что он никогда не покрывает все виды атак.

Алертинг и мониторинг

Даже самый хороший инструмент WAF, работающий в среде Kubernetes на уровне Ingress Controller, нуждается в дополнительных средствах мониторинга и оповещения, которые позволили бы администратору в удобном виде воспринимать информацию от него.

Создать хороший дашборд, который взаимодействовал бы с ModSecurity, относительно несложно. Для этого можно использовать связку Fluentd, Elasticsearch + Kibana и ElastAlert + Slack. При этом Fluentd парсит логи и отправляет их в Elasticsearch, где они визуализируются с помощью Kibana. Поверх всего этого можно развернуть фреймворк для оповещения ElastAlert, который будет рассылать уведомления в различные системы на основе данных, полученных из Elasticsearch.

Вот примерный список событий, на которые стоит настроить уведомления:

  • За время Y произошло более Х событий (частота)

  • Частота событий увеличилась или уменьшилась

  • Определенное поле совпадает с записью в черном/белом списке

  • Произошло событие, которое подходит под конкретный фильтр

  • Одно и то же поле имеет разные значения в определенном промежутке времени

  • Произошло событие, которое никогда прежде не фиксировалось

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

Борьба с ботами, фродом и другими вызовами

Есть много актуальных угроз для инфраструктуры Kubernetes, при которых ModSecurity ничем не сможет помочь. Среди них:

  • Сайт-скрэпинг

  • DDoS-атаки на уровне L7

  • Злоупотребление API

  • Атаки с использованием учетных записей и метода «грубой силы»

При этом важным условием защиты является сохранение работоспособности «белых» ботов, принадлежащих поисковикам, сервисам мониторинга и пр. На этот случай имеются другие решения, пригодные для использования совместно с nginx.

Так, например, в nginx имеется крайне полезный модуль GeoIP, который позволяет блокировать трафик из целых стран. В более практическом смысле можно заблокировать TOR-трафик, трафик из дата-центров, от облачных и хостинг-провайдеров и пр.

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

Хорошим способом блокировать ботов может стать использование модуля testcookie. В моменты DDoS-атак уровня L7 он будет выступать в качестве фильтра, отсеивая нежелательные запросы. Модуль проверяет, умеет ли источник запроса отдавать куки-файлы, поддерживает ли он HTTP Redirect, JavaScript, Flash и т.д. Так можно отличить настоящий интернет-браузер от не слишком сложного бота.

Недостатками testcookie являются неспособность фильтрации «белых» ботов и слабая защита от ботов, эмулирующих браузер целиком.

Наконец, для борьбы с фродом можно использовать небольшую библиотеку fingerprint.js. Она позволяет присвоить каждому экземпляру браузера уникальный идентификатор, а затем проверить его на подозрительные действия – многочисленные регистрации и пр.

Расширенная безопасность с Wallarm

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

Wallarm уже заработал себе хорошую репутацию в РФ, решение востребовано и далеко за пределами страны. При этом платформа отечественная, что делает ее привлекательным выбором при планировании программы импортозамещения.

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

API – новые приложения

Wallarm построен на новых принципах, и защита API здесь имеет первостепенное значение. Структурно платформа представляет собой набор фильтрующих нод, установленных в клиентской инфраструктуре. Они взаимодействуют с центральным вычислительным кластером Wallarm, отправляя туда метаданные о запросах содержащих атаки. 

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

Спектр поддерживаемых Wallarm API весьма широк:

  • SOAP / XML-RPC и прочие API на базе XML

  • REST / RESTFul и прочие API на базе JSON

  • GraphQL

  • gRPC

  • WebSockets

Эффективно защищать от всех перечисленных в начале статьи угроз платформе помогает глубокий парсинг API-запросов. Он не требует схем и загрузки конфигураций, так как способен автоматически выделять из любого «сырого» запроса нужные данные. Из коробки Wallarm может быть интегрирован с несколькими SIEM-системами, SOAR, инструментами DevOps и мессенджерами.



Самое читаемое

674 | Новости вендоровВышла обновленная версия продукта nanoCAD Механика PRO 1.1 649 | Новости вендоровНовый релиз Платформы nanoCAD 25 572 | Новости вендоровВышел релиз специальной версии nanoCAD GeoniCS 24.1 на Платформе nanoCAD 24.1 под Linux 562 | Новости вендоровВышло техническое обновление Платформы nanoCAD 24.1 для российских ОС 511 | Новости SyssoftComindware и «Системный софт» помогут российским компаниям управлять бизнес-процессами без программирования 485 | Новости Syssoft«Системный софт» отмечен наградой «Прорыв года» от Яндекс 360 286 | Новости вендоровEvaTeam анонсировала решение для управления тестированием — EvaTest 185 | Новости вендоров«Лаборатория Касперского» выпустила обновление SIEM-системы KUMA 3.4 160 | Акции и скидкиСпециальная стоимость на временные и постоянные лицензии с подписками nanoCAD Механика PRO 120 | Новости вендоровВышло техническое обновление комплекса Model Studio CS 81 | ВебинарыРОСА Dynamic Directory: централизованное управление инфраструктурой 43 | ВебинарыИнструменты nanoCAD BIM Строительство для проектирования разделов АР и КР 33 | Новости вендоровВышло техническое обновление CADLib Модель и Архив 29 | Акции и скидкиСпециальная стоимость приобретения лицензий nanoCAD BIM Вентиляция со скидкой 25% 26 | Акции и скидкиЗащитите бизнес с выгодой: экономия до 33% на межсетевые экраны UserGate C100, D200, D500