Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El Estándar federal de procesamiento de información (FIPS) 140-2 es un estándar del gobierno de EE. UU. que define los requisitos mínimos de seguridad para los módulos criptográficos en sistemas y productos de tecnologías de la información. Azure Kubernetes Service (AKS) permite crear grupos de nodos de Linux y Windows con FIPS 140-2 habilitado. Las implementaciones que se ejecutan en grupos de nodos habilitados para FIPS pueden usar esos módulos criptográficos para proporcionar mayor seguridad y ayudar a cumplir los controles de seguridad como parte del cumplimiento de FedRAMP. Para obtener más información sobre FIPS 140-2, consulte Estándar federal de procesamiento de información (FIPS) 140.
Precaución
En este artículo, hay referencias a una característica que puede estar usando versiones del sistema operativo Ubuntu que están en desuso para AKS.
- A partir del 17 de junio de 2025, AKS ya no admitirá Ubuntu 18.04. Las imágenes de nodo existentes se eliminarán y AKS ya no proporcionará actualizaciones de seguridad. Ya no podrá escalar los grupos de nodos. Actualice los grupos de nodos a una versión de Kubernetes compatible para migrar a una versión de Ubuntu compatible.
- A partir del 17 de marzo de 2027, AKS ya no admitirá Ubuntu 20.04. Las imágenes de nodo existentes se eliminarán y AKS ya no proporcionará actualizaciones de seguridad. Ya no podrá escalar los grupos de nodos. Actualice los grupos de nodos a la versión 1.34+ de Kubernetes para migrar a una versión de Ubuntu compatible. Para obtener más información sobre esta retirada, consulte Problemas de GitHub de AKS.
Importante
A partir del 30 de noviembre de 2025, Azure Kubernetes Service (AKS) ya no admite ni proporciona actualizaciones de seguridad para Azure Linux 2.0. La imagen de nodo de Linux 2.0 de Azure está congelada en la versión 202512.06.0. A partir del 31 de marzo de 2026, se quitarán las imágenes de nodo y no podrá escalar los grupos de nodos. Migre a una versión compatible de Azure Linux mediante la actualización de los grupos de nodos a una versión de Kubernetes compatible o la migración a osSku AzureLinux3. Para más información, consulte [Retirada] Grupos de nodos de Azure Linux 2.0 en AKS.
Requisitos previos
CLI de Azure versión 2.32.0 o posterior instalada y configurada. Para encontrar la versión, ejecute az --version. Para obtener más información sobre la instalación o actualización de CLI de Azure, consulte Instalación de CLI de Azure.
Nota:
El complemento de supervisión de AKS admite grupos de nodos habilitados para FIPS con Ubuntu, Azure Linux y Windows a partir de la versión del agente 3.1.17 (Linux) y Win-3.1.17 (Windows).
Limitaciones
- Los grupos de nodos con FIPS habilitado tienen las siguientes limitaciones:
- Los grupos de nodos con FIPS habilitado requieren la versión 1.19 de Kubernetes, y cualquier versión posterior.
- Para actualizar los paquetes o módulos subyacentes que se usan para FIPS, debe utilizar Node Image Upgrade.
- Las imágenes de contenedor en los nodos FIPS no se evalúan para el cumplimiento de FIPS.
- Se produce un error en el montaje de un recurso compartido CIFS porque el FIPS deshabilita algunos módulos de autenticación. Para solucionar este problema, consulte Errores al montar un recurso compartido de archivos en un grupo de nodos habilitado para el FIPS.
- Los grupos de nodos habilitados para FIPS con máquinas virtuales Arm64 solo se admiten con Azure Linux 3.0 y versiones posteriores.
- FIPS no es compatible con Flatcar Container Linux para AKS (versión preliminar).
Importante
La imagen de Linux con FIPS habilitado es una imagen diferente de la imagen de Linux predeterminada que se usa para los grupos de nodos basados en Linux.
Las imágenes de nodo habilitadas para FIPS pueden tener números de versión diferentes, como la versión del kernel, que las imágenes que no están habilitadas para FIPS. El ciclo de actualización de los grupos de nodos habilitados para FIPS y las imágenes de nodo pueden diferir de los grupos de nodos y las imágenes que no están habilitadas para FIPS.
Versiones admitidas del sistema operativo
Puede crear grupos de nodos habilitados para FIPS en todos los tipos de sistema operativo compatibles (Linux y Windows). Sin embargo, no todas las versiones del sistema operativo admiten grupos de nodos habilitados para FIPS. Después de publicar una nueva versión del sistema operativo, normalmente hay un período de espera antes de que sea compatible con FIPS.
En esta tabla se incluyen las versiones admitidas del sistema operativo:
| Tipo de SO | SKU del sistema operativo | Cumplimiento de FIPS |
|---|---|---|
| Linux | Ubuntu | Compatible |
| Linux | Azure Linux | Compatible |
| Windows | Windows Server 2019 | Compatible |
| Windows | Windows Server 2022 | Compatible |
Al solicitar Ubuntu habilitado para FIPS, si la versión predeterminada de Ubuntu no es compatible con FIPS, AKS tiene como valor predeterminado la versión más reciente compatible con FIPS de Ubuntu. Por ejemplo, Ubuntu 22.04 es el valor predeterminado para los grupos de nodos de Linux. Dado que la versión 22.04 no admite actualmente FIPS, AKS tiene como valor predeterminado Ubuntu 20.04 para grupos de nodos habilitados para FIPS para Linux.
Nota:
Anteriormente, podría usar la API de GetOSOptions para determinar si un sistema operativo determinado admite FIPS. La API de GetOSOptions ya está en desuso y ya no se incluirá en las nuevas versiones de la API de AKS a partir de 2024-05-01.
Creación de un grupo de nodos de Linux habilitado para FIPS
Cree un grupo de nodos de Linux habilitado para FIPS mediante el comando az aks nodepool add con el
--enable-fips-imageparámetro .az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-imageNota:
También puede usar el
--enable-fips-imageparámetro con el comando az aks create al crear un clúster para habilitar FIPS en el grupo de nodos predeterminado. Al agregar grupos de nodos a un clúster creado de esta forma, debe seguir utilizando el parámetro--enable-fips-imageal agregar grupos de nodos para crear un grupo de nodos con FIPS habilitado.Compruebe que el grupo de nodos está habilitado para FIPS mediante el comando az aks show y consulte el valor enableFIPS en agentPoolProfiles.
az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableLa siguiente salida de ejemplo muestra que el grupo de nodos fipsnp tiene FIPS habilitado:
Name enableFips --------- ------------ fipsnp True nodepool1 FalseEnumere los nodos mediante el comando
kubectl get nodes.kubectl get nodesLa siguiente salida de ejemplo muestra una lista de todos los nodos del clúster. Los nodos que empiezan por
aks-fipsnpforman parte del grupo de nodos con FIPS habilitado.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.9Ejecute una implementación con una sesión interactiva en uno de los nodos del grupo de nodos con FIPS habilitado mediante el comando
kubectl debug.kubectl debug node/aks-fipsnp-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0Desde la salida de sesión interactiva, puede comprobar que las bibliotecas criptográficas de FIPS estén habilitadas. El resultado debería ser similar al ejemplo siguiente:
root@aks-fipsnp-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1Los grupos de nodos con FIPS habilitado también tienen la etiqueta kubernetes.azure.com/fips_enabled=true, que las implementaciones pueden usar para dirigirse a esos grupos de nodos.
Creación de un grupo de nodos de Windows habilitado para FIPS
Cree un grupo de nodos de Windows habilitado para FIPS mediante el comando az aks nodepool add con el
--enable-fips-imageparámetro . A diferencia de los grupos de nodos basados en Linux, los grupos de nodos de Windows comparten el mismo conjunto de imágenes.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-image \ --os-type WindowsCompruebe que el grupo de nodos está habilitado para FIPS mediante el comando az aks show y consulte el valor enableFIPS en agentPoolProfiles.
az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableCompruebe que los grupos de nodos de Windows tengan acceso a las bibliotecas criptográficas FIPS. Para hacerlo, cree una conexión RDP a un nodo de Windows en un grupo de nodos habilitado para FIPS y compruebe el registro. En Ejecutar aplicación, escriba
regedit.Busque
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicyen el registro.Si
Enabledestá establecido en 1, FIPS está habilitado.
Los grupos de nodos con FIPS habilitado también tienen la etiqueta kubernetes.azure.com/fips_enabled=true, que las implementaciones pueden usar para dirigirse a esos grupos de nodos.
Actualizar un grupo de nodos existente para habilitar o deshabilitar FIPS
Los grupos de nodos de Linux existentes se pueden actualizar para habilitar o deshabilitar FIPS. Si planea migrar los grupos de nodos de no FIPS a FIPS, primero compruebe que la aplicación funciona correctamente en un entorno de prueba antes de migrarlos a un entorno de producción. Validar tu aplicación en un entorno de prueba debería prevenir problemas causados por el kernel FIPS que bloquea un algoritmo de cifrado o encriptación débil, como un algoritmo MD4 que no es compatible con FIPS.
Nota:
Al actualizar un grupo de nodos de Linux existente para habilitar o deshabilitar FIPS, la actualización del grupo de nodos cambia entre la imagen FIPS y la imagen no FIPS. Esta actualización del grupo de nodos desencadena una nueva imagen para completar la actualización. Esto puede hacer que la actualización del grupo de nodos tarde unos minutos en completarse.
Requisitos previos
CLI de Azure, versión 2.64.0 o posterior. Para encontrar la versión, ejecute az --version. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.
Habilitar FIPS en un grupo de nodos existente
Los grupos de nodos de Linux existentes se pueden actualizar para habilitar FIPS. Al actualizar un grupo de nodos existente, la imagen de nodo cambia de la imagen actual a la imagen FIPS recomendada de la misma SKU del sistema operativo.
Actualice un grupo de nodos mediante el comando az aks nodepool update con el
--enable-fips-imageparámetro .az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name np \ --enable-fips-imageEste comando desencadena una nueva imagen del grupo de nodos inmediatamente para implementar el sistema operativo compatible con FIPS. Esta nueva imagen se produce durante la actualización del grupo de nodos. No se requieren pasos adicionales.
Compruebe que el grupo de nodos está habilitado para FIPS mediante el comando az aks show y consulte el valor enableFIPS en agentPoolProfiles.
az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableLa siguiente salida de ejemplo muestra que el grupo de nodos np está habilitado para FIPS:
Name enableFips --------- ------------ np True nodepool1 FalseEnumere los nodos mediante el comando
kubectl get nodes.kubectl get nodesLa siguiente salida de ejemplo muestra una lista de todos los nodos del clúster. Los nodos que empiezan por
aks-npforman parte del grupo de nodos con FIPS habilitado.NAME STATUS ROLES AGE VERSION aks-np-12345678-vmss000000 Ready agent 6m4s v1.19.9 aks-np-12345678-vmss000001 Ready agent 5m21s v1.19.9 aks-np-12345678-vmss000002 Ready agent 6m8s v1.19.9 aks-nodepool1-12345678-vmss000000 Ready agent 34m v1.19.9Ejecute una implementación con una sesión interactiva en uno de los nodos del grupo de nodos con FIPS habilitado mediante el comando
kubectl debug.kubectl debug node/aks-np-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0Desde la salida de sesión interactiva, puede comprobar que las bibliotecas criptográficas de FIPS estén habilitadas. El resultado debería ser similar al ejemplo siguiente:
root@aks-np-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1Los grupos de nodos con FIPS habilitado también tienen la etiqueta kubernetes.azure.com/fips_enabled=true, que las implementaciones pueden usar para dirigirse a esos grupos de nodos.
Deshabilitar FIPS en un grupo de nodos existente
Los grupos de nodos de Linux existentes se pueden actualizar para deshabilitar FIPS. Al actualizar un grupo de nodos existente, la imagen de nodo cambia de la imagen FIPS actual a la imagen no FIPS recomendada de la misma SKU del sistema operativo. El cambio de imagen de nodo se producirá después de una nueva imagen.
Actualice un grupo de nodos de Linux mediante el comando az aks nodepool update con el
--disable-fips-imageparámetro .az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name np \ --disable-fips-imageEste comando desencadena una nueva imagen del grupo de nodos inmediatamente para implementar el sistema operativo compatible con FIPS. Esta nueva imagen se produce durante la actualización del grupo de nodos. No se requieren pasos adicionales.
Compruebe que el grupo de nodos no está habilitado para FIPS mediante el comando az aks show y consulte el valor enableFIPS en agentPoolProfiles.
az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableEn la salida de ejemplo siguiente se muestra que el grupo de nodos np no está habilitado para FIPS:
Name enableFips --------- ------------ np False nodepool1 False
Mensaje del día
Pase el --message-of-the-day indicador con la ubicación del archivo para reemplazar el Mensaje del Día en los nodos de Linux al crear el clúster o el grupo de nodos.
Cree un clúster con el mensaje del día mediante el comando az aks create .
az aks create --cluster-name myAKSCluster --resource-group myResourceGroup --message-of-the-day ./newMOTD.txt
Agregue un grupo de nodos con el mensaje del día mediante el comando az aks nodepool add .
az aks nodepool add --name mynodepool1 --cluster-name myAKSCluster --resource-group myResourceGroup --message-of-the-day ./newMOTD.txt
Pasos siguientes
Para obtener más información sobre la seguridad de AKS, consulte Procedimientos recomendados para administrar la seguridad y las actualizaciones de los clústeres en Azure Kubernetes Service (AKS).