Network Security в Kubernetes | OTUS
⚡ Открываем подписку на курсы!
Проходите параллельно 3 онлайн-курса в месяц по цене одного.
Подробнее

Курсы

Программирование
Flutter Mobile Developer Подготовка к сертификации Oracle Java Programmer (OCAJP)
-8%
Супер-интенсив «СУБД в высоконагруженных системах»
-18%
Алгоритмы и структуры данных
-12%
Web-разработчик на Python
-11%
Архитектура и шаблоны проектирования
-14%
Team Lead
-15%
iOS-разработчик. Базовый курс
-23%
Разработчик на Spring Framework Python Developer. Basic
-16%
C# ASP.NET Core разработчик
-18%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-6%
Android-разработчик. Базовый курс
-10%
C++ Developer. Professional Разработчик C# AWS для разработчиков Software Architect Unity Game Developer. Basic Разработчик голосовых ассистентов и чат-ботов Backend-разработка на Kotlin React.js Developer Разработчик Node.js Нереляционные базы данных Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Advanced Fullstack JavaScript developer
Инфраструктура
Супер-интенсив «СУБД в высоконагруженных системах»
-18%
PostgreSQL
-10%
IoT-разработчик
-12%
Administrator Linux. Professional
-11%
Базы данных
-19%
Administrator Linux.Basic
-18%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-6%
Сетевой инженер AWS для разработчиков Software Architect Reverse-Engineering. Professional CI/CD VOIP инженер Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Network Security в Kubernetes

Kuber_Deep_29.4-5020-006472.png

Продолжаем серию статей о безопасности в Kubernetes. В этот раз поговорим про сетевую безопасность — Network Security. Это всем известная «боль», так как в Kubernetes существует ряд проблем с сетевой безопасностью: — по умолчанию трафик между подами разрешён; — внутренние адреса подов постоянно меняются; — трафик не шифрован.

Настраивать внешние правила сложно, одно из решений — Dynamic Network Policies, который позволяет это сделать либо традиционным для админов образом с указанием явных масок, либо через лейблы:

1-20219-bb6109.png

Плохо лишь то, что Network Policies поддерживаются не везде:

2-20219-5bc580.png

Если будете выбирать между Weave и Calico, учтите, что шифрование в Weave даёт очень большой оверхед, и это, разумеется, минус. Что касается Calico, то он очень стабилен и позволяет настраивать не только входящие, но и исходящие сетевые политики.

Микроменеджмент сетевой безопасности

Бывают и другие уровни сетевой безопасности. Например, параноидальная сетевая безопасность, которая не настраивается сетевыми политиками. В таком случае надо использовать Service Mesh. Однако на сегодняшний день по нему можно сказать следующее: 1. (Всё ещё) очень сложно. 2. (Всё ещё) не всегда стабильно.

Следующий подвид безопасности — безопасность на уровне Ingress. Это как раз та безопасность приложений, когда на приложение в Kubernetes идёт трафик и вам его нужно разграничить и как-то фильтровать. Ingress-контроллеры, например, в Nginx, поддерживают white-листы для доступа к особо чувствительным админкам, чтобы запретить доступ к админке с неавторизованных источников. Это можно делать, но нужна поддержка proxy-протокола в облачных балансерах. Также стоит добавить, что для парочки клиентов есть крутое решение — Web application firewall, который интегрируется в Nginx Ingress Controller — бесплатный ModSecurity, позволяющий фильтровать достаточно большое количество атак (ModSecurity понимает очень много паттернов).

Читайте также:

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться