Включение стандарта FIPS для пулов узлов Службы Azure Kubernetes (AKS)
Федеральный стандарт обработки информации (FIPS) 140-2 — это стандартный государственный стандарт США, который определяет минимальные требования к безопасности для криптографических модулей в продуктах и системах информационных технологий. Служба Azure Kubernetes (AKS) позволяет создавать пулы узлов Linux и Windows с поддержкой FIPS 140-2. Экземпляры, развернутые в пулах узлов, соответствующих FIPS, могут использовать эти криптографические модули для повышения безопасности и обеспечения соответствия требованиям безопасности в рамках соответствия требованиям FedRAMP. Дополнительные сведения о FIPS 140-2 см. в разделе Федеральный стандарт обработки информации (FIPS) 140.
Необходимые компоненты
- Azure CLI версии 2.32.0 или более поздней версии, установленной и настроенной. Чтобы узнать версию, выполните команду
az --version
. Дополнительные сведения об установке или обновлении Azure CLI см. в разделе Установка Azure CLI.
Примечание.
Надстройка мониторинга AKS поддерживает пулы узлов с поддержкой FIPS с Ubuntu, Azure Linux и Windows, начиная с агента 3.1.17 (Linux) и Win-3.1.17 (Windows).
Ограничения
- Пулы узлов с поддержкой FIPS имеют следующие ограничения:
- Для пулов узлов, соответствующих FIPS, необходима служба Kubernetes версии 1.19 и выше.
- Чтобы обновить базовые пакеты или модули, используемые для FIPS, необходимо использовать Обновление образа узла.
- Образы контейнеров на узлах, отвечающих стандарту FIPS, не проверялись на соответствие этому стандарту.
- Подключение общей папки CIFS завершается сбоем, так как FIPS отключает некоторые модули проверки подлинности. Чтобы обойти эту проблему, ознакомьтесь с ошибками при подключении общей папки в пуле узлов с поддержкой FIPS.
Внимание
Образ Linux, соответствующий FIPS, отличается от образа по умолчанию, используемого для пулов узлов на базе Linux. Чтобы включить FIPS в пуле узлов, необходимо создать новый пул узлов на базе Linux. Вы не можете включить FIPS в существующих пулах узлов.
Образы узлов с поддержкой FIPS могут иметь разные номера версий, например версию ядра, чем образы, которые не включены в FIPS. Цикл обновления для пулов узлов с поддержкой FIPS и образов узлов может отличаться от пулов узлов и образов, которые не включены в FIPS.
Создание пула узлов Linux с поддержкой FIPS
Создайте пул узлов Linux с поддержкой FIPS с помощью
az aks nodepool add
команды с параметром--enable-fips-image
.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-image
Примечание.
Вы также можете использовать
--enable-fips-image
параметр сaz aks create
командой при создании кластера для включения FIPS в пуле узлов по умолчанию. При добавлении пулов узлов в кластер, созданный таким образом, необходимо использовать--enable-fips-image
параметр при добавлении пулов узлов для создания пула узлов с поддержкой FIPS.Убедитесь, что пул узлов включен с поддержкой
az aks show
FIPS с помощью команды и запроса значения enableFIPS в agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o table
В следующем примере выходных данных показано, что пул узлов fipsnp включен с поддержкой FIPS:
Name enableFips --------- ------------ fipsnp True nodepool1 False
Вывод списка узлов с помощью
kubectl get nodes
команды.kubectl get nodes
В следующем примере выходных данных показан список узлов в кластере. Узлы, начиная с
aks-fipsnp
, являются частью пула узлов с поддержкой FIPS.NAME STATUS ROLES AGE VERSION aks-fipsnp-12345678-vmss000000 Ready agent 6m4s v1.19.9 aks-fipsnp-12345678-vmss000001 Ready agent 5m21s v1.19.9 aks-fipsnp-12345678-vmss000002 Ready agent 6m8s v1.19.9 aks-nodepool1-12345678-vmss000000 Ready agent 34m v1.19.9
Запустите развертывание с интерактивным сеансом на одном из узлов в пуле узлов с поддержкой FIPS с помощью
kubectl debug
команды.kubectl debug node/aks-fipsnp-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0
В выходных данных интерактивного сеанса убедитесь, что включены криптографические библиотеки FIPS. Выходные данные должны выглядеть примерно так:
root@aks-fipsnp-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1
Пулы узлов с поддержкой FIPS также имеют метку kubernetes.azure.com/fips_enabled=true, которую развертывания могут использовать для целевых пулов узлов.
Создание пула узлов Windows с поддержкой FIPS
Создайте пул узлов Windows с поддержкой FIPS с помощью
az aks nodepool add
команды с параметром--enable-fips-image
. В отличие от пулов узлов Linux пулы узлов Windows используют один набор образов.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-image \ --os-type Windows
Убедитесь, что пул узлов включен с поддержкой
az aks show
FIPS с помощью команды и запроса значения enableFIPS в agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o table
Убедитесь, что пулы узлов Windows имеют доступ к криптографическим библиотекам FIPS, создав подключение RDP к узлу Windows в пуле узлов с поддержкой FIPS и проверка реестре. В области применения Выполнить введите
regedit
.Найдите
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy
в реестре.Если
Enabled
задано значение 1, то fiPS включен.
Пулы узлов с поддержкой FIPS также имеют метку kubernetes.azure.com/fips_enabled=true, которую развертывания могут использовать для целевых пулов узлов.
Следующие шаги
Дополнительные сведения о безопасности AKS см. в разделе Рекомендации по обеспечению безопасности кластера и обновления в службе Azure Kubernetes (AKS).