smith193_cruk.cis_ubuntu_20_04_ansible
Ansible CIS Ubuntu 20.04 LTS
Ubuntu endurecido por CIS: prevención de ciberataques y malware para sistemas críticos Los estándares de CIS aseguran tus sistemas al eliminar:
- programas no seguros.
- desactivar sistemas de archivos no utilizados.
- desactivar puertos o servicios innecesarios.
- auditar operaciones privilegiadas.
- restringir privilegios administrativos.
Las recomendaciones de los estándares CIS se aplican en máquinas virtuales en nubes públicas y privadas. También se utilizan para asegurar implementaciones locales. Para algunas industrias, endurecer un sistema contra un estándar conocido públicamente es un criterio que los auditores buscan. Los estándares CIS son a menudo una opción de endurecimiento del sistema recomendada por auditores en industrias que requieren cumplimiento con PCI-DSS y HIPPA, como la banca, telecomunicaciones y atención médica. Si estás tratando de obtener cumplimiento contra un estándar de seguridad aceptado por la industria, como PCI DSS, APRA o ISO 27001, necesitas demostrar que has aplicado estándares de endurecimiento documentados a todos los sistemas dentro del alcance de la evaluación.
Los estándares CIS para Ubuntu están organizados en diferentes perfiles, siendo ‘Nivel 1’ y ‘Nivel 2’, destinados a entornos de servidor y estación de trabajo.
Un perfil de Nivel 1 está diseñado para ser una forma práctica y prudente de asegurar un sistema sin mucho impacto en el rendimiento.
- Desactivar sistemas de archivos innecesarios,
- Restringir permisos de usuario a archivos y directorios,
- Desactivar servicios innecesarios.
- Configurar cortafuegos de red.
Un perfil de Nivel 2 se usa cuando la seguridad se considera muy importante y puede tener un impacto negativo en el rendimiento del sistema.
- Crear particiones separadas,
- Auditar operaciones privilegiadas
La herramienta de endurecimiento CIS para Ubuntu te permite seleccionar el nivel deseado de endurecimiento según un perfil (Nivel 1 o Nivel 2) y el entorno de trabajo (servidor o estación de trabajo) para un sistema. Ejemplo:
ansible-playbook -i inventario cis-ubuntu-20.yaml --tags="nivel_1_servidor"
Puedes listar todas las etiquetas ejecutando el siguiente comando:
ansible-playbook -i host run.yaml --list-tags
Escribí todos los roles basándome en
CIS Ubuntu Linux 20.04 LTS Benchmark
v1.0.0 - 07-21-2020
Verificar ejemplo de directorio
Requisitos
Debes leer con cuidado las tareas para asegurarte de que estos cambios no dañarán tus sistemas antes de ejecutar este playbook.
Puedes descargar el libro gratuito del estándar CIS desde esta URL Benchmark Gratuito
Para comenzar a trabajar en este rol solo necesitas instalar Ansible. Instalar Ansible
Variables del Rol
Debes revisar toda la configuración predeterminada antes de ejecutar este playbook. Hay muchas variables del rol definidas en defaults/main.yml.
- Si estás considerando aplicar este rol a algún servidor, debes tener un conocimiento básico del estándar CIS y apreciar el impacto que puede tener en un sistema.
- Lee y cambia los valores predeterminados configurables.
Ejemplos de configuraciones que deben considerarse para exclusión inmediata:
5.1.8 Asegúrate de que cron esté restringido a usuarios autorizados y 5.2.17 Asegúrate de que el acceso SSH esté limitado, lo que por defecto limita efectivamente el acceso al host (incluyendo vía ssh).
Por ejemplo:
- CIS-Ubuntu-20.04-Ansible/defaults/main.yml
#Sección 5
#5.1.8 Asegúrate de que cron esté restringido a usuarios autorizados
allowd_hosts: "TODOS: 0.0.0.0/0.0.0.0, 192.168.2.0/255.255.255.0"
# 5.2.17 Asegúrate de que el acceso SSH esté limitado
allowed_users: root #Pon None o una lista de usuarios separados por espacio
Si necesitas cambiar las plantillas de archivos, puedes encontrarlas en files/templates/*
Dependencias
- Versión de Ansible > 2.9
Ejemplo de Playbook
A continuación un ejemplo de un playbook
---
- hosts: host1
become: yes
remote_user: root
gather_facts: no
roles:
- { role: "CIS-Ubuntu-20.04-Ansible",}
Ejecutar todos
Si deseas ejecutar todas las etiquetas usa el siguiente comando:
ansible-playbook -i [archivo_inventario] [playbook].yaml
Ejecutar sección específica
ansible-playbook -i host run.yaml -t section2
Ejecutar múltiples secciones
ansible-playbook -i host run.yaml -t section2 -t 6.1.1
- Nota: Al ejecutar una tarea individual, asegúrate de las dependencias entre tareas; por ejemplo, si ejecutas la etiqueta 4.1.1.2 Asegúrate de que el servicio auditd esté habilitado antes de ejecutar 4.1.1.1 Asegúrate de que auditd esté instalado, recibirás un error en tiempo de ejecución.
Tabla de Roles:
1 Configuración Inicial
- 1.1 Configuración del Sistema de Archivos
- 1.1.1 Desactivar sistemas de archivos no utilizados
- 1.1.1.1 Asegúrate de que la montura de sistemas de archivos cramfs esté desactivada (Automatizado)
- 1.1.1.2 Asegúrate de que la montura de sistemas de archivos freevxfs esté desactivada - (Automatizado)
- 1.1.1.3 Asegúrate de que la montura de sistemas de archivos jffs2 esté desactivada (Automatizado)
- 1.1.1.4 Asegúrate de que la montura de sistemas de archivos hfs esté desactivada (Automatizado)
- 1.1.1.5 Asegúrate de que la montura de sistemas de archivos hfsplus esté desactivada - (Automatizado)
- 1.1.1.6 Asegúrate de que la montura de sistemas de archivos udf esté desactivada (Automatizado)
- 1.1.1.7 Asegúrate de que la montura de sistemas de archivos FAT esté limitada (Manual)
- 1.1.2 Asegúrate de que /tmp esté configurado (Automatizado)
- 1.1.3 Asegúrate de que la opción nodev esté establecida en la partición /tmp (Automatizado)
- 1.1.4 Asegúrate de que la opción nosuid esté establecida en la partición /tmp (Automatizado)
- 1.1.5 Asegúrate de que la opción noexec esté establecida en la partición /tmp (Automatizado)
- 1.1.6 Asegúrate de que /dev/shm esté configurado (Automatizado)
- 1.1.7 Asegúrate de que la opción nodev esté establecida en la partición /dev/shm (Automatizado)
- 1.1.8 Asegúrate de que la opción nosuid esté establecida en la partición /dev/shm (Automatizado)
- 1.1.9 Asegúrate de que la opción noexec esté establecida en la partición /dev/shm (Automatizado)
- 1.1.10 Asegúrate de que exista una partición separada para /var (Automatizado)
- 1.1.11 Asegúrate de que exista una partición separada para /var/tmp (Automatizado)
- 1.1.12 Asegúrate de que la opción nodev esté establecida en la partición /var/tmp (Automatizado)
- 1.1.13 Asegúrate de que la opción nosuid esté establecida en la partición /var/tmp (Automatizado)
- 1.1.14 Asegúrate de que la opción noexec esté establecida en la partición /var/tmp (Automatizado)
- 1.1.15 Asegúrate de que exista una partición separada para /var/log (Automatizado)
- 1.1.16 Asegúrate de que exista una partición separada para /var/log/audit - (Automatizado)
- 1.1.17 Asegúrate de que exista una partición separada para /home (Automatizado)
- 1.1.18 Asegúrate de que la opción nodev esté establecida en la partición /home (Automatizado)
- 1.1.19 Asegúrate de que la opción nodev esté establecida en particiones de medios removibles (Manual)
- 1.1.20 Asegúrate de que la opción nosuid esté establecida en particiones de medios removibles - (Manual)
- 1.1.21 Asegúrate de que la opción noexec esté establecida en particiones de medios removibles - (Manual)
- 1.1.22 Asegúrate de que el bit sticky esté establecido en todos los directorios escribibles por el mundo - (Automatizado)
- 1.1.23 Desactivar la Automontura (Automatizado)
- 1.1.24 Desactivar el Almacenamiento USB (Automatizado)
1.2 Configurar Actualizaciones de Software
- 1.2.1 Asegúrate de que los repositorios del administrador de paquetes estén configurados (Manual)
- 1.2.2 Asegúrate de que las claves GPG estén configuradas (Manual)
1.3 Configurar sudo
- 1.3.1 Asegúrate de que sudo esté instalado (Automatizado)
- 1.3.2 Asegúrate de que los comandos sudo usen pty (Automatizado)
- 1.3.3 Asegúrate de que el archivo de registro de sudo exista (Automatizado)
1.4 Comprobación de Integridad del Sistema de Archivos
- 1.4.1 Asegúrate de que AIDE esté instalado (Automatizado)
- 1.4.2 Asegúrate de que la integridad del sistema de archivos se verifique regularmente (Automatizado)
1.5 Configuración de Arranque Seguro
- 1.5.1 Asegúrate de que la contraseña del gestor de arranque esté configurada (Automatizado)
- 1.5.2 Asegúrate de que los permisos de la configuración del gestor de arranque estén configurados - (Automatizado)
- 1.5.3 Asegúrate de que se requiera autenticación para el modo de usuario único (Automatizado)
1.6 Endurecimiento Adicional de Procesos
- 1.6.1 Asegúrate de que el soporte XD/NX esté habilitado (Automatizado)
- 1.6.2 Asegúrate de que la aleatorización del espacio de direcciones (ASLR) esté habilitada - (Automatizado)
- 1.6.3 Asegúrate de que prelink esté desactivado (Automatizado)
- 1.6.4 Asegúrate de que los volcados de núcleo estén restringidos (Automatizado)
1.7 Control de Acceso Obligatorio
- 1.7.1 Configurar AppArmor
- 1.7.1.1 Asegúrate de que AppArmor esté instalado (Automatizado)
- 1.7.1.2 Asegúrate de que AppArmor esté habilitado en la configuración del gestor de arranque - (Automatizado)
- 1.7.1.3 Asegúrate de que todos los perfiles de AppArmor estén en modo de aplicación o quejas - (Automatizado)
- 1.7.1.4 Asegúrate de que todos los perfiles de AppArmor estén aplicando (Automatizado)
1.8 Banners de Advertencia
- 1.8.1 Banners de Advertencia de Línea de Comando
- 1.8.1.1 Asegúrate de que el mensaje del día esté configurado correctamente (Automatizado)
- 1.8.1.2 Asegúrate de que el banner de advertencia local de inicio de sesión esté configurado correctamente - (Automatizado)
- 1.8.1.3 Asegúrate de que el banner de advertencia de inicio de sesión remoto esté configurado correctamente - (Automatizado)
- 1.8.1.4 Asegúrate de que los permisos en /etc/motd estén configurados (Automatizado)
- 1.8.1.5 Asegúrate de que los permisos en /etc/issue estén configurados (Automatizado)
- 1.8.1.6 Asegúrate de que los permisos en /etc/issue.net estén configurados - (Automatizado)
- 1.9 Asegúrate de que se instalen actualizaciones, parches y software de seguridad adicional (Manual)
- 1.10 Asegúrate de que GDM se elimine o que el inicio de sesión esté configurado (Automatizado)
2 Servicios
- 2.1 Servicios inetd
- 2.1.1 Asegúrate de que xinetd no esté instalado (Automatizado)
- 2.1.2 Asegúrate de que openbsd-inetd no esté instalado (Automatizado)
- 2.2 Servicios de Propósito Especial
- 2.2.1 Sincronización de Tiempo
- 2.2.1.1 Asegúrate de que se utilice la sincronización de tiempo (Automatizado)
- 2.2.1.2 Asegúrate de que systemd-timesyncd esté configurado (Manual)
- 2.2.1.3 Asegúrate de que chrony esté configurado (Automatizado)
- 2.2.1.4 Asegúrate de que ntp esté configurado (Automatizado)
- 2.2.2 Asegúrate de que el sistema X Window no esté instalado (Automatizado)
- 2.2.3 Asegúrate de que Avahi Server no esté instalado (Automatizado)
- 2.2.4 Asegúrate de que CUPS no esté instalado (Automatizado)
- 2.2.5 Asegúrate de que el servidor DHCP no esté instalado (Automatizado)
- 2.2.6 Asegúrate de que el servidor LDAP no esté instalado (Automatizado)
- 2.2.7 Asegúrate de que NFS no esté instalado (Automatizado)
- 2.2.8 Asegúrate de que el servidor DNS no esté instalado (Automatizado)
- 2.2.9 Asegúrate de que el servidor FTP no esté instalado (Automatizado)
- 2.2.10 Asegúrate de que el servidor HTTP no esté instalado (Automatizado)
- 2.2.11 Asegúrate de que los servidores IMAP y POP3 no estén instalados (Automatizado)
- 2.2.12 Asegúrate de que Samba no esté instalado (Automatizado)
- 2.2.13 Asegúrate de que el servidor proxy HTTP no esté instalado (Automatizado)
- 2.2.14 Asegúrate de que el servidor SNMP no esté instalado (Automatizado)
- 2.2.15 Asegúrate de que el agente de transferencia de correo esté configurado en modo local - (Automatizado)
- 2.2.16 Asegúrate de que el servicio rsync no esté instalado (Automatizado)
- 2.2.17 Asegúrate de que el servidor NIS no esté instalado (Automatizado)
2.3 Clientes de Servicio
- 2.3.1 Asegúrate de que el cliente NIS no esté instalado (Automatizado)
- 2.3.2 Asegúrate de que el cliente rsh no esté instalado (Automatizado)
- 2.3.3 Asegúrate de que el cliente talk no esté instalado (Automatizado)
- 2.3.4 Asegúrate de que el cliente telnet no esté instalado (Automatizado)
- 2.3.5 Asegúrate de que el cliente LDAP no esté instalado (Automatizado)
- 2.3.6 Asegúrate de que RPC no esté instalado (Automatizado)
- 2.4 Asegúrate de que los servicios no esenciales se eliminen o se enmascaren (Manual)
3 Configuración de Red
- 3.1 Desactivar protocolos y dispositivos de red innecesarios
- 3.1.1 Desactivar IPv6 (Manual)
- 3.1.2 Asegúrate de que las interfaces inalámbricas estén desactivadas (Automatizado)
3.2 Parámetros de Red (Sólo Host)
- 3.2.1 Asegúrate de que el envío de redireccionamiento de paquetes esté desactivado (Automatizado)
- 3.2.2 Asegúrate de que el reenvío IP esté desactivado (Automatizado)
3.3 Parámetros de Red (Host y Router)
- 3.3.1 Asegúrate de que no se acepten paquetes con enrutamiento de origen (Automatizado)
- 3.3.2 Asegúrate de que no se acepten redirecciones ICMP (Automatizado)
- 3.3.3 Asegúrate de que no se acepten redirecciones ICMP seguras (Automatizado)
- 3.3.4 Asegúrate de que se registren paquetes sospechosos (Automatizado)
- 3.3.5 Asegúrate de que las solicitudes ICMP de difusión sean ignoradas (Automatizado)
- 3.3.6 Asegúrate de que las respuestas ICMP falsas sean ignoradas (Automatizado)
- 3.3.7 Asegúrate de que esté habilitada la filtración de rutas inversas (Automatizado)
- 3.3.8 Asegúrate de que cookies de TCP SYN estén habilitadas (Automatizado)
- 3.3.9 Asegúrate de que no se acepten anuncios de enrutador IPv6 (Automatizado)
3.4 Protocolos de Red Poco Comunes
- 3.4.1 Asegúrate de que DCCP esté desactivado (Automatizado)
- 3.4.2 Asegúrate de que SCTP esté desactivado (Automatizado)
- 3.4.3 Asegúrate de que RDS esté desactivado (Automatizado)
- 3.4.4 Asegúrate de que TIPC esté desactivado (Automatizado)
3.5 Configuración del Cortafuegos
- 3.5.1 Configurar UncomplicatedFirewall
- 3.5.1.1 Asegúrate de que Uncomplicated Firewall esté instalado (Automatizado)
- 3.5.1.2 Asegúrate de que iptables-persistent no esté instalado (Automatizado)
- 3.5.1.3 Asegúrate de que el servicio ufw esté habilitado (Automatizado)
- 3.5.1.4 Asegúrate de que el tráfico de loopback esté configurado (Automatizado)
- 3.5.1.5 Asegúrate de que las conexiones salientes estén configuradas (Manual)
- 3.5.1.6 Asegúrate de que existan reglas de cortafuegos para todos los puertos abiertos (Manual)
- 3.5.1.7 Asegúrate de que la política de cortafuegos predeterminada sea de denegación (Automatizado)
4 Registro y Auditoría
- 4.1 Configurar Contabilidad del Sistema (auditd)
- 4.1.1 Asegúrate de que la auditoría esté habilitada
- 4.1.1.1 Asegúrate de que auditd esté instalado (Automatizado)
- 4.1.1.2 Asegúrate de que el servicio auditd esté habilitado (Automatizado)
- 4.1.1.3 Asegúrate de que la auditoría para procesos que comienzan antes de auditd esté habilitada (Automatizado)
- 4.1.1.4 Asegúrate de que audit_backlog_limit sea suficiente (Automatizado)
- 4.1.2 Configurar Retención de Datos
- 4.1.2.1 Asegúrate de que el tamaño de almacenamiento de registros de auditoría esté configurado (Automatizado)
- 4.1.2.2 Asegúrate de que los registros de auditoría no se eliminen automáticamente (Automatizado)
- 4.1.2.3 Asegúrate de que el sistema se desactive cuando los registros de auditoría estén llenos - (Automatizado)
- 4.1.3 Asegúrate de que se recopilen eventos que modifiquen la información de fecha y hora (Automatizado)
- 4.1.4 Asegúrate de que se recopilen eventos que modifiquen la información de usuario/grupo (Automatizado)
- 4.1.5 Asegúrate de que se recopilen eventos que modifiquen el entorno de red del sistema (Automatizado)
- 4.1.6 Asegúrate de que se recopilen eventos que modifiquen los Controles de Acceso Obligatorios del sistema (Automatizado)
- 4.1.7 Asegúrate de que se recopilen eventos de inicio y cierre de sesión (Automatizado)
- 4.1.8 Asegúrate de que se recopile información de inicio de sesión (Automatizado)
- 4.1.9 Asegúrate de que se recopilen eventos de modificación de permisos discrecionales (Automatizado)
- 4.1.10 Asegúrate de que se recopilen intentos de acceso no autorizados a archivos fallidos (Automatizado)
- 4.1.11 Asegúrate de que se recopilen usos de comandos privilegiados (Automatizado)
- 4.1.12 Asegúrate de que se recopilen montajes de sistema de archivos exitosos (Automatizado)
- 4.1.13 Asegúrate de que se recopilen eventos de eliminación de archivos por los usuarios (Automatizado)
- 4.1.14 Asegúrate de que se recopilen cambios en el alcance de administración del sistema (sudoers) (Automatizado)
- 4.1.15 Asegúrate de que se recopilen ejecuciones de comandos del administrador del sistema (sudo) (Automatizado)
- 4.1.16 Asegúrate de que se recopile la carga y descarga de módulos del núcleo (Automatizado)
- 4.1.17 Asegúrate de que la configuración de auditoría sea inmutable (Automatizado)
4.2 Configurar Registro
- 4.2.1 Configurar rsyslog
- 4.2.1.1 Asegúrate de que rsyslog esté instalado (Automatizado)
- 4.2.1.2 Asegúrate de que el servicio rsyslog esté habilitado (Automatizado)
- 4.2.1.3 Asegúrate de que el registro esté configurado (Manual)
- 4.2.1.4 Asegúrate de que los permisos predeterminados de archivos rsyslog estén configurados - (Automatizado)
- 4.2.1.5 Asegúrate de que rsyslog esté configurado para enviar registros a un host de registro remoto (Automatizado)
- 4.2.1.6 Asegúrate de que los mensajes remotos de rsyslog solo sean aceptados en hosts de registro designados. (Manual)
- 4.2.2 Configurar journald
- 4.2.2.1 Asegúrate de que journald esté configurado para enviar registros a rsyslog - (Automatizado)
- 4.2.2.2 Asegúrate de que journald esté configurado para comprimir archivos de registro grandes - (Automatizado)
- 4.2.2.3 Asegúrate de que journald esté configurado para escribir archivos de registro en disco persistente (Automatizado)
- 4.2.3 Asegúrate de que los permisos en todos los archivos de registro estén configurados (Automatizado)
- 4.3 Asegúrate de que logrotate esté configurado (Manual)
- 4.4 Asegúrate de que logrotate asigne permisos apropiados (Automatizado)
5 Acceso, Autenticación y Autorización
- 5.1 Configurar programadores de trabajo basados en tiempo
- 5.1.1 Asegúrate de que el daemon cron esté habilitado y en ejecución (Automatizado)
- 5.1.2 Asegúrate de que los permisos en /etc/crontab estén configurados (Automatizado)
- 5.1.3 Asegúrate de que los permisos en /etc/cron.hourly estén configurados - (Automatizado)
- 5.1.4 Asegúrate de que los permisos en /etc/cron.daily estén configurados - (Automatizado)
- 5.1.5 Asegúrate de que los permisos en /etc/cron.weekly estén configurados - (Automatizado)
- 5.1.6 Asegúrate de que los permisos en /etc/cron.monthly estén configurados - (Automatizado)
- 5.1.7 Asegúrate de que los permisos en /etc/cron.d estén configurados (Automatizado)
- 5.1.8 Asegúrate de que cron esté restringido a usuarios autorizados (Automatizado)
- 5.1.9 Asegúrate de que at esté restringido a usuarios autorizados (Automatizado)
5.2 Configurar el Servidor SSH
- 5.2.1 Asegúrate de que los permisos en /etc/ssh/sshd_config estén configurados - (Automatizado)
- 5.2.2 Asegúrate de que los permisos en los archivos de clave privada del servidor SSH estén configurados (Automatizado)
- 5.2.3 Asegúrate de que los permisos en los archivos de clave pública del servidor SSH estén configurados - (Automatizado)
- 5.2.4 Asegúrate de que el nivel de registro SSH sea apropiado (Automatizado)
- 5.2.5 Asegúrate de que el reenvío X11 de SSH esté deshabilitado (Automatizado)
- 5.2.6 Asegúrate de que MaxAuthTries de SSH esté configurado en 4 o menos (Automatizado)
- 5.2.7 Asegúrate de que IgnoreRhosts de SSH esté habilitado (Automatizado)
- 5.2.8 Asegúrate de que la Autenticación Basada en Host de SSH esté deshabilitada (Automatizado)
- 5.2.9 Asegúrate de que el inicio de sesión de root por SSH esté deshabilitado (Automatizado)
- 5.2.10 Asegúrate de que PermitEmptyPasswords de SSH esté deshabilitado (Automatizado)
- 5.2.11 Asegúrate de que PermitUserEnvironment de SSH esté deshabilitado (Automatizado)
- 5.2.12 Asegúrate de que solo se utilicen cifrados fuertes (Automatizado)
- 5.2.13 Asegúrate de que solo se utilicen algoritmos MAC fuertes (Automatizado)
- 5.2.14 Asegúrate de que solo se utilicen algoritmos de intercambio de claves fuertes - (Automatizado)
- 5.2.15 Asegúrate de que el Intervalo de Tiempo de Inactividad de SSH esté configurado (Automatizado)
- 5.2.16 Asegúrate de que el Tiempo de Gracia de Inicio de Sesión de SSH esté configurado en un minuto o menos - (Automatizado)
- 5.2.17 Asegúrate de que el acceso por SSH esté limitado (Automatizado)
- 5.2.18 Asegúrate de que el banner de advertencia SSH esté configurado (Automatizado)
- 5.2.19 Asegúrate de que el PAM de SSH esté habilitado (Automatizado)
- 5.2.20 Asegúrate de que AllowTcpForwarding de SSH esté deshabilitado (Automatizado)
- 5.2.21 Asegúrate de que MaxStartups de SSH esté configurado (Automatizado)
- 5.2.22 Asegúrate de que MaxSessions esté limitado (Automatizado)
5.3 Configurar PAM
- 5.3.1 Asegúrate de que los requisitos de creación de contraseñas estén configurados - (Automatizado)
- 5.3.2 Asegúrate de que haya un bloqueo para intentos fallidos de contraseña - (Automatizado)
- 5.3.3 Asegúrate de que la reutilización de contraseñas esté limitada (Automatizado)
- 5.3.4 Asegúrate de que el algoritmo de hash de contraseñas sea SHA-512 (Automatizado)
5.4 Cuenta de Usuario y Entorno
- 5.4.1 Establecer Parámetros de la Suite de Contraseña Shadow
- 5.4.1.1 Asegúrate de que la expiración de la contraseña sea de 365 días o menos (Automatizado)
- 5.4.1.2 Asegúrate de que los días mínimos entre cambios de contraseña estén configurados - (Automatizado)
- 5.4.1.3 Asegúrate de que los días de advertencia de expiración de contraseña sean 7 o más - (Automatizado)
- 5.4.1.4 Asegúrate de que el bloqueo de contraseña inactiva sea de 30 días o menos (Automatizado)
- 5.4.1.5 Asegúrate de que la fecha del último cambio de contraseña de todos los usuarios esté en el pasado - (Automatizado)
- 5.4.2 Asegúrate de que las cuentas del sistema estén aseguradas (Automatizado)
- 5.4.3 Asegúrate de que el grupo predeterminado para la cuenta root sea GID 0 (Automatizado)
- 5.4.4 Asegúrate de que el umask predeterminado del usuario sea 027 o más restrictivo - (Automatizado)
- 5.4.5 Asegúrate de que el tiempo de espera predeterminado del shell del usuario sea de 900 segundos o menos - (Automatizado)
- 5.5 Asegúrate de que el inicio de sesión de root esté restringido a la consola del sistema (Manual)
- 5.6 Asegúrate de que el acceso al comando su esté restringido (Automatizado)
6 Mantenimiento del Sistema
- 6.1 Permisos de Archivos del Sistema
- 6.1.1 Auditar permisos de archivos del sistema (Manual)
- 6.1.2 Asegúrate de que los permisos en /etc/passwd estén configurados (Automatizado)
- 6.1.3 Asegúrate de que los permisos en /etc/gshadow- estén configurados (Automatizado)
- 6.1.4 Asegúrate de que los permisos en /etc/shadow estén configurados (Automatizado)
- 6.1.5 Asegúrate de que los permisos en /etc/group estén configurados (Automatizado)
- 6.1.6 Asegúrate de que los permisos en /etc/passwd- estén configurados (Automatizado)
- 6.1.7 Asegúrate de que los permisos en /etc/shadow- estén configurados (Automatizado)
- 6.1.8 Asegúrate de que los permisos en /etc/group- estén configurados (Automatizado)
- 6.1.9 Asegúrate de que no existan archivos escribibles por todo el mundo (Automatizado)
- 6.1.10 Asegúrate de que no existan archivos o directorios sin propietario (Automatizado)
- 6.1.11 Asegúrate de que no existan archivos o directorios sin grupo (Automatizado)
- 6.1.12 Auditar ejecutables SUID (Manual)
- 6.1.13 Auditar ejecutables SGID (Manual)
6.2 Configuración de Usuario y Grupo
- 6.2.1 Asegúrate de que los campos de contraseña no estén vacíos (Automatizado)
- 6.2.2 Asegúrate de que root sea la única cuenta UID 0 (Automatizado)
- 6.2.3 Asegúrate de que la integridad del PATH de root esté asegurada (Automatizado)
- 6.2.4 Asegúrate de que existan los directorios home de todos los usuarios (Automatizado)
- 6.2.5 Asegúrate de que los permisos de los directorios home de los usuarios sean 750 o más restrictivos (Automatizado)
- 6.2.6 Asegúrate de que los usuarios sean propietarios de sus directorios home (Automatizado)
- 6.2.7 Asegúrate de que los archivos ocultos de los usuarios no sean escribibles por grupos o por todo el mundo (Automatizado)
- 6.2.8 Asegúrate de que no existan archivos .forward (Automatizado)
- 6.2.9 Asegúrate de que no existan archivos .netrc (Automatizado)
- 6.2.10 Asegúrate de que los archivos .netrc de los usuarios no sean accesibles por grupos o por todo el mundo (Automatizado)
- 6.2.11 Asegúrate de que no existan archivos .rhosts (Automatizado)
- 6.2.12 Asegúrate de que todos los grupos en /etc/passwd existan en /etc/group (Automatizado)
- 6.2.13 Asegúrate de que no existan UIDs duplicados (Automatizado)
- 6.2.14 Asegúrate de que no existan GIDs duplicados (Automatizado)
- 6.2.15 Asegúrate de que no existan nombres de usuario duplicados (Automatizado)
- 6.2.16 Asegúrate de que no existan nombres de grupo duplicados (Automatizado)
- 6.2.17 Asegúrate de que el grupo shadow esté vacío (Automatizado)
Licencia
BSD
Información del Autor
Cuando contribuyas a este repositorio, por favor discute primero el cambio que deseas hacer a través de un issue de GitHub, correo electrónico, o por otros canales conmigo :)
DevOps
ansible-galaxy install smith193_cruk.cis_ubuntu_20_04_ansible