Настраиваем дефолтные сетевые политики пода

Некоторые думают, что достаточно просто перенести приложение на Kubernetes (вручную или с помощью Helm), и будет счастье. Однако на деле не все так просто. Мы уже говорили про настройку запросов пода и лимитов, а также про тесты Liveness и Readiness. Пришло время рассказать о настройке дефолтных сетевых политик пода.

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

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

А теперь давайте посмотрим на визуализацию данной конфигурации:

Вот так вот. Если хотите получить больше информации на эту тему, вам сюда.

По материалам статьи «5 Things We Overlooked When Deploying Our First App on Kubernetes».