Блокирование сетевых соединений в контейнерах
Если вы применяете Cilium CNI, при определении варианта блокирования сетевых соединений в контейнерах кроме CIDR и FQDN необходимо указывать правила Cilium CNI.
Правила для CIDR и FQDN для Cilium CNI применяются только для указания внешних по отношению к Kubernetes ресурсов. Для указания внутренних ресурсов Kubernetes вместо CIDR и FQDN необходимо использовать метки ресурсов.
Правила указываются вместе со значениями CIDR и FQDN через запятую следующим образом:
entity:<ENTITY_NAME> -OR- endpoint:<NAMESPACE> -OR- service:<NAMESPACE>{|<LABEL_1_KEY>=<LABEL_2_VALUE>{,<LABEL_N_KEY>=LABEL_N_VALUE}}
где:
<ENTITY_NAME>
– название объектов, которые имеют доступ к выбранным конечным точкам сети (англ. Endpoints) и доступны для них. Варианты значений, которые могут указываться в качестве названий объектов, представлены в документации Cilium.<NAMESPACE>
– действительное название пространства имен.<LABEL_1_KEY>=<LABEL1_VALUE>
– пара "ключ-значение" метки пространства имен (например, env=staging
). Этот параметр не является обязательным и указывается при необходимости.Параметр =<LABEL1_VALUE>
также не является обязательным, поскольку метка может состоять только из ключа (значение ключа не приводится). В таком случае параметр указывается следующим образом: <LABEL_1_KEY>
.
<LABEL_N_KEY>=LABEL_N_VALUE
– список меток пространства имен, в котором метки перечисляются через запятую (например, app=test,component=api-v2,k8s-app=kube-dns
). Этот параметр также не является обязательным и указывается при необходимости.Примеры правил:
|
Такой формат определения правил и исключений используется только для Cilium CNI. Если вы используете его для других CNI, решение проигнорирует неверно указанные параметры.
Применение сетевых политик, содержащих DNS-имена
Для определения политик доступа к конечным точкам сети, на которых не применяется Cilium CNI, могут использоваться сетевые политики, содержащие DNS-имена. В них указываются доменные имена, поддерживающие запросы по DNS. Используя DNS-прокси, Cilium CNI может определить связь таких доменных имен с IP-адресами на основе получаемых от конечных точек сети DNS-ответов. Информация об IP-адресе собирается с помощью правил matchName
или matchPattern
из всех DNS-ответов, доступных на узле.
Применение содержащих DNS-имена сетевых политик возможно только при наличии флага --enable-l7-proxy=true
в конфигурации Cilium CNI. Если этот параметр не указан, решение не сможет применять политики, содержащие DNS-имена, а в данных о действиях по мониторингу и анализу сетевой активности будет отображаться ошибка подключения.
При использовании Cilium CNI также необходимо учитывать правила определения значений переменных при развертывании агентов node-agent.
Применение правил, основанных на CIDR
В профиле среды выполнения в исключениях для входящих и исходящих сетевых соединений в Kaspersky Security для контейнеров указывается IP-адрес или диапазон IP-адресов источников соединений в нотациях CIDR4 и CIDR6. Cilium CNI рассматривает CIDR как адрес источника соединения, который находится вне кластера. Если соединение осуществляется между подами в кластере, такие соединения так же считаются внешними по отношению к кластеру.
Для определения адресов объектов внутри кластера в Cilium CNI необходимо использовать метки подов (например, fromCIDR
и toCIDR
).
Объединение потоков трафика
Если под в кластере отправляет запрос внешнему для кластера ресурсу и получает от этого ресурса ответ, Cilium CNI считает исходящие и входящие потоки трафика одним соединением (TrafficDirection = Egress
). Все пакеты данных, которыми будут обмениваться стороны соединения, будут классифицироваться как исходящие.
Если в применимом профиле среды выполнения разрешены исходящие соединения и запрещены входящие соединения, Cilium CNI разрешает входящий трафик в ответ на отправленный запрос.
Агрегация сетевых событий
Если за короткий период в Cilium CNI происходит несколько одинаковых событий, Cilium применяет правило агрегации и объединяет эти события в одно.
Пример агрегации событий Вы выполнили команду |
По умолчанию период агрегации одинаковых событий составляет пять секунд. Вы можете изменить период агрегации в конфигурации Cilium CNI, указав нужное значение для параметра monitor-aggregation-interval
.