Punto de referencia de Centro para la seguridad de Internet (CIS) para Azure Linux

La configuración del sistema operativo de seguridad aplicada a Azure Linux Container Host para AKS se basa en la línea de base de seguridad de Linux de Azure, que se alinea con la prueba comparativa de CIS. Como servicio seguro, AKS es compatible con los estándares SOC, ISO, PCI DSS e HIPAA. Para más información sobre la seguridad de Azure Linux Container Host, consulte Conceptos de seguridad para clústeres en AKS. Para obtener más información sobre el punto de referencia de CIS, vea Puntos de referencia de Center for Internet Security (CIS). Para más información sobre las líneas base de seguridad de Azure para Linux, consulte Línea de base de seguridad de Linux.

Azure Linux 2.0

El sistema operativo Azure Linux Container Host se basa en la imagen de Azure Linux 2.0 con configuraciones de seguridad integradas aplicadas.

Como parte del sistema operativo optimizado para seguridad:

  • AKS y Azure Linux proporcionan un sistema operativo de host optimizado para seguridad de manera predeterminada sin opción para seleccionar un sistema operativo alternativo.
  • El sistema operativo del host con seguridad optimizada se crea y se mantiene específicamente para AKS y no se admite fuera de la plataforma AKS.
  • Para reducir el área expuesta a ataques, se han deshabilitado en el sistema operativo algunos controladores de módulos de kernel que no eran necesarios.

Recomendaciones

La tabla siguiente tiene cuatro secciones:

  • Identificador de CIS: identificador de regla asociado con cada una de las reglas de línea base.
  • Descripción de la recomendación: descripción de la recomendación emitida por el banco de pruebas CIS.
  • Nivel: L1, o Nivel 1, recomienda requisitos de seguridad básicos esenciales que se pueden configurar en cualquier sistema y que deberían minimizar o eliminar cualquier interrupción del servicio o de las funciones.
  • Estado:
    • Sin errores: se ha aplicado la recomendación.
    • Con errores: la recomendación no se ha aplicado.
    • N/D: La recomendación está relacionada con los requisitos de permisos del archivo de manifiesto que no son pertinentes para AKS.
    • Depende del entorno: la recomendación se aplica en el entorno específico del usuario y AKS no la controla.
    • Control equivalente: la recomendación se ha implementado de forma distinta pero equivalente.
  • Motivo:
    • Posible impacto en la operación: no se aplicó la recomendación porque tendría un efecto negativo en el servicio.
    • Cubierta en otro lugar: la recomendación está cubierta por otro control en el proceso en la nube de Azure.

A continuación se muestran los resultados de las recomendaciones de CIS Azure Linux 2.0 Benchmark v1.0 basadas en las reglas de CIS:

Id. de CIS Descripción de la recomendación Status Motivo
1.1.4 Deshabilitar el montaje automático Aprobado
1.1.1.1 Asegurarse de que el montaje de sistemas de archivos cramfs está deshabilitado Aprobado
1.1.2.1 Asegurarse de que /tmp es una partición independiente Aprobado
1.1.2.2 Asegurarse de que la opción nodev está establecida en la partición /tmp Aprobado
1.1.2.3 Asegurarse de que la opción nosuid está establecida en la partición /tmp Aprobado
1.1.8.1 Asegurarse de que la opción nodev está establecida en la partición /dev/shm Aprobado
1.1.8.2 Asegurarse de que la opción nosuid está establecida en la partición /dev/shm Aprobado
1.2.1 Asegurarse de que la comprobación gpgcheck de DNF está activada globalmente Aprobado
1.2.2 Asegurarse de que la comprobación gpgcheck de TDNF está activada globalmente Aprobado
1.5.1 Asegurarse de que el almacenamiento de volcado de memoria principal está deshabilitado Aprobado
1.5.2 Asegurarse de que los retrocesos del volcado de memoria principal están deshabilitados Aprobado
1.5.3 Asegurarse de que la selección aleatoria del diseño del espacio de direcciones (ASLR) está habilitada Aprobado
1.7.1 Asegurarse de que el banner de advertencia de inicio de sesión local está configurado correctamente Aprobado
1.7.2 Asegurarse de que el banner de advertencia de inicio de sesión remoto está configurado correctamente Aprobado
1.7.3 Asegurarse de que los permisos en /etc/motd están configurados Aprobado
1.7.4 Asegurarse de que están configurados los permisos en/etc/issue Aprobado
1.7.5 Asegurarse de que están configurados los permisos en/etc/issue.net Aprobado
2.1.1 Asegurarse de que la sincronización de hora está en uso Aprobado
2.1.2 Asegurarse de que chrony está configurado Aprobado
2.2.1 Asegúrese de que xinetd no está instalado Correcto
2.2.2 Asegúrese de que xorg-x11-server-common no está instalado Correcto
2.2.3 Asegúrese de que avahi no está instalado Correcto
2.2.4 Asegúrese de que un servidor de impresión no está instalado Correcto
2.2.5 Asegúrese de que un servidor dhcp no está instalado Correcto
2.2.6 Asegúrese de que un servidor DNS no está instalado Correcto
2.2.7 Asegúrese de que el cliente FTP no está instalado Correcto
2.2.8 Asegúrese de que un servidor ftp no está instalado Correcto
2.2.9 Asegúrese de que un servidor tftp no está instalado Correcto
2.2.10 Asegúrese de que un servidor web no está instalado Correcto
2.2.11 Asegúrese de que el servidor IMAP y POP3 no están instalados Correcto
2.2.12 Asegúrese de que Samba no esté instalado Correcto
2.2.13 Asegúrese de que el servidor proxy HTTP no esté instalado Correcto
2.2.14 Asegúrese de que net-snmp no está instalado o que el servicio snmpd no está habilitado Correcto
2.2.15 Asegúrese de que el servidor NIS no está instalado Correcto
2.2.16 Asegúrese de que telnet-server no está instalado Correcto
2.2.17 Asegurarse de que el agente de transferencia de correo está configurado para el modo solo local Aprobado
2.2.18 Asegúrese de que nfs-utils no está instalado o que el servicio nfs-server está enmascarado Correcto
2.2.19 Asegúrese de que rsync-daemon no está instalado o que el servicio rsyncd está enmascarado Correcto
2.3.1 Asegúrese de que el cliente NIS no esté instalado Correcto
2.3.2 Asegúrese de que el cliente rsh no esté instalado Correcto
2.3.3 Asegúrese de que el cliente talk no esté instalado Correcto
2.3.4 Asegúrese de que el cliente telnet no esté instalado Correcto
2.3.5 Asegúrese de que el cliente LDAP no esté instalado Correcto
2.3.6 Asegúrese de que el cliente TFTP no está instalado Correcto
3.1.1 Asegurarse de que IPv6 está habilitado Aprobado
3.2.1 Asegurarse de que el envío de redireccionamiento de paquetes está deshabilitado Aprobado
3.3.1 Asegúrese de que no se acepten paquetes enrutados de origen Aprobado
3.3.2 Asegúrese de que no se acepten los redireccionamientos de ICMP Aprobado
3.3.3 Asegúrese de que no se acepten los redireccionamientos de ICMP seguros Aprobado
3.3.4 Asegurarse de que se registran los paquetes sospechosos Aprobado
3.3.5 Asegurarse de que se omiten las solicitudes ICMP de difusión Aprobado
3.3.6 Asegurarse de que se omiten las respuestas ICMP ficticias Aprobado
3.3.7 Asegurarse de que el filtrado de Invertir trazado está habilitado Aprobado
3.3.8 Asegurarse de que las cookies SYN de TCP están habilitadas Aprobado
3.3.9 Asegúrese de que no se acepten anuncios de enrutadores IPv6 Correcto
3.4.3.1.1 Asegurarse de que el paquete iptables está instalado Aprobado
3.4.3.1.2 Asegúrese de que nftables no está instalado con iptables Correcto
3.4.3.1.3 Asegurarse de que firewalld no está instalado o de que está enmascarado con iptables Aprobado
4,2 Asegurarse de que logrotate está configurado Aprobado
4.2.2 Asegúrese de que todos los archivos de registro tienen el acceso adecuado configurado Correcto
4.2.1.1 Asegurarse de que rsyslog está instalado Aprobado
4.2.1.2 Asegurarse de que el servicio rsyslog está habilitado Aprobado
4.2.1.3 Asegurarse de que los permisos de archivo predeterminados de rsyslog están configurados Aprobado
4.2.1.4 Asegurarse de que el registro está configurado Aprobado
4.2.1.5 Asegúrese de que rsyslog no está configurado para recibir registros de un cliente remoto Correcto
5.1.1 Asegurarse de que el demonio cron está habilitado Aprobado
5.1.2 Asegurarse de que están configurados los permisos en/etc/crontab Aprobado
5.1.3 Asegurarse de que los permisos en /etc/cron.hourly están configurados Aprobado
5.1.4 Asegurarse de que los permisos en /etc/cron.daily están configurados Aprobado
5.1.5 Asegurarse de que los permisos en /etc/cron.weekly están configurados Aprobado
5.1.6 Asegurarse de que los permisos en /etc/cron.monthly están configurados Aprobado
5.1.7 Asegurarse de que los permisos en /etc/cron.d están configurados Aprobado
5.1.8 Asegurarse de cron está restringido a los usuarios autorizados Aprobado
5.1.9 Asegurarse de que at está restringido a los usuarios autorizados Aprobado
5.2.1 Asegurarse de que están configurados los permisos en /etc/ssh/sshd_config Aprobado
5.2.2 Asegurarse de que los permisos en los archivos de clave privada de host SSH están configurados Aprobado
5.2.3 Asegurarse de que los permisos en los archivos de clave pública de host SSH están configurados Aprobado
5.2.4 Asegúrese de que el acceso SSH esté limitado. Aprobado
5.2.5 Asegurarse de que LogLevel de SSH es apropiado Aprobado
5.2.6 Asegurarse de que PAM de SSH está habilitado Aprobado
5.2.7 Asegurarse de que el inicio de sesión de la raíz de SSH está deshabilitado Aprobado
5.2.8 Asegurarse de que HostbasedAuthentication de SSH está deshabilitado Aprobado
5.2.9 Asegurarse de que PermitEmptyPasswords de SSH está deshabilitado Aprobado
5.2.10 Asegúrese de que SSH PermitUserEnvironment está deshabilitado Aprobado
5.2.11 Asegurarse de que IgnoreRhosts de SSH está habilitado Aprobado
5.2.12 Asegurarse de que solo se usan cifrados seguros Aprobado
5.2.13 Asegurarse de que solo se usen algoritmos MAC seguros Aprobado
5.2.14 Asegurarse de que solo se usan algoritmos de intercambio de claves seguros Aprobado
5.2.15 Asegurarse de que está configurado el banner de advertencia de SSH Aprobado
5.2.16 Asegúrese de que el valor de SSH MaxAuthTries es 4, o menos Aprobado
5.2.17 Asegurarse de que SSH MaxStartups está configurado Aprobado
5.2.18 Asegúrese de que el valor de LoginGraceTime de SSH es un minuto, o menos Aprobado
5.2.19 Asegurarse de que el valor de SSH MaxSessions sea 10 o menos Aprobado
5.2.20 Asegúrese de que está configurado el intervalo de tiempo de espera de inactividad de SSH Aprobado
5.3.1 Asegurarse de que sudo está instalado Aprobado
5.3.2 Asegúrese de que la reautenticación de la escalación de privilegios no está deshabilitada globalmente Correcto
5.3.3 Asegurarse de que el tiempo de espera de autenticación de sudo está configurado correctamente Aprobado
5.4.1 Asegurarse de que están configurados los requisitos para la creación de contraseñas Aprobado
5.4.2 Asegurarse de que se ha configurado el bloqueo de intentos de contraseña erróneos Aprobado
5.4.3 Asegurarse de que el algoritmo de hash de contraseña es SHA-512. Aprobado
5.4.4 Asegurarse de que la reutilización de la contraseña está limitada Aprobado
5.5.2 Asegurarse de que las cuentas del sistema están protegidas Aprobado
5.5.3 Asegurarse de que el grupo predeterminado de la cuenta raíz es GID 0. Aprobado
5.5.4 Asegurarse de que el umask de usuario predeterminado es 027, o incluso más restrictivo Aprobado
5.5.1.1 Asegurarse de que la contraseña expira en un plazo máximo de 365 días Aprobado
5.5.1.2 Asegúrese de que se configuran los días mínimos entre los cambios de contraseña Correcto
5.5.1.3 Asegúrese de que los días de advertencia de expiración de contraseñas son 7 o más Correcto
5.5.1.4 Asegurarse de que el plazo máximo del bloqueo de contraseñas inactivas es 30 días Aprobado
5.5.1.5 Asegurarse de que todos los usuarios tienen la última fecha de cambio de contraseña en el pasado. Aprobado
6.1.1 Asegurarse de que los permisos de /etc/passwd están configurados Aprobado
6.1.2 Asegurarse de que los permisos de /etc/passwd- están configurados Aprobado
6.1.3 Asegurarse de que los permisos de /etc/group están configurados Aprobado
6.1.4 Asegurarse de que los permisos de /etc/group- están configurados Aprobado
6.1.5 Asegurarse de que los permisos de /etc/shadow están configurados Aprobado
6.1.6 Asegurarse de que los permisos de /etc/shadow- están configurados Aprobado
6.1.7 Asegurarse de que los permisos de /etc/gshadow están configurados Aprobado
6.1.8 Asegurarse de que los permisos de /etc/gshadow- están configurados Aprobado
6.1.9 Asegurarse de que no existen archivos o directorios desagrupados o sin propietarios Aprobado
6.1.10 Asegurarse de que los archivos y directorios grabables por cualquiera están protegidos Aprobado
6.2.1 Asegúrese de que los campos de contraseña no estén vacíos Correcto
6.2.2 Asegurarse de que todos los grupos en /etc/passwd existen en /etc/group. Aprobado
6.2.3 Asegurarse de que no existen UID duplicados. Aprobado
6.2.4 Asegurarse de que no existe ningún GID duplicado. Aprobado
6.2.5 Asegurarse de que no existe ningún nombre de usuario duplicado. Aprobado
6.2.6 Asegurarse de que no existe ningún nombre de grupo duplicado Aprobado
6.2.7 Garantizar la integridad de la variable PATH raíz Aprobado
6.2.8 Asegurarse de que la raíz es la única cuenta de UID 0. Aprobado
6.2.9 Asegurarse de que existen todos los directorios principales de los usuarios. Aprobado
6.2.10 Asegurarse de que los usuarios son propietarios de sus directorios principales Aprobado
6.2.11 Asegurarse de que los permisos de los directorios principales de los usuarios sean 750 o más restrictivos Aprobado
6.2.12 Asegúrese de que los archivos que comiencen por punto de los usuarios no sean de grupo ni de escritura internacional Correcto
6.2.13 Asegúrese de que los archivos .netrc de los usuarios no son accesibles por grupos o mundo Correcto
6.2.14 Asegurarse de que ningún usuario tiene archivos .forward. Aprobado
6.2.15 Asegurarse de que ningún usuario tiene archivos .netrc. Aprobado
6.2.16 Asegurarse de que ningún usuario tiene archivos .rhosts. Aprobado

Pasos siguientes

Para más información sobre la seguridad de Azure Linux Container Host, consulte los artículos siguientes: