ansible-lockdown.amazon2023_cis
AMAZON 2023 CIS
Configurar una máquina de Amazon 2023 para cumplir con CIS
Basado en CIS Amazon 2023 Benchmark v1.0.0 - 26-06-2023
¿Buscas soporte?
Comunidad
Únete a nuestro Servidor de Discord para hacer preguntas, discutir características o simplemente charlar con otros usuarios de Ansible-Lockdown.
Contribuyendo
Se aceptan problemas y solicitudes de extracción. Asegúrate de que todos los commits estén firmados y gpg-firmados. Consulta la Guía de Contribución
Precauciones
Este rol hará cambios en el sistema que pueden tener consecuencias no deseadas. No es una herramienta de auditoría, sino más bien una herramienta de remediación que se debe usar después de realizar una auditoría.
¡El modo de verificación no es compatible! El rol completará en modo de verificación sin errores, pero no es compatible y debe usarse con precaución. Se debe utilizar un escáner de cumplimiento para verificar el cumplimiento en lugar del modo de verificación.
Este rol se desarrolló sobre una instalación limpia del sistema operativo. Si lo estás implementando en un sistema existente, revisa este rol para cualquier cambio específico del sitio que se necesite.
Para usar la versión de lanzamiento, apunta a la rama main y la versión relevante para el estándar CIS con el que deseas trabajar.
Coincidiendo con un nivel de seguridad para CIS
Es posible ejecutar únicamente controles de nivel 1 o nivel 2 para CIS. Esto se gestiona mediante etiquetas:
- level1-server
- level2-server
El control encontrado en defaults también debe reflejar esto, ya que este control es la prueba que se realiza si estás utilizando el componente de auditoría.
Procedente de una versión anterior
Las versiones de CIS siempre contienen cambios, se recomienda encarecidamente revisar las nuevas referencias y variables disponibles. Esto ha cambiado significativamente desde el lanzamiento inicial de ansible-lockdown. Ahora es compatible con python3 si se encuentra como el intérprete predeterminado. Esto viene con requisitos previos que configuran el sistema en consecuencia.
Más detalles se pueden ver en el Changelog
Auditoría (nuevo)
Esto se puede activar o desactivar dentro del archivo defaults/main.yml con las variables setup_audit y run_audit. El valor es false por defecto. Consulta la wiki para más detalles. El archivo de predeterminados también pobla las verificaciones de goss para revisar únicamente los controles que se han habilitado en el rol de ansible.
Esto es una verificación de cumplimiento de configuración más rápida y liviana (donde sea posible) y de configuraciones en vivo/corrientes.
Se ha desarrollado una nueva forma de auditoría utilizando un pequeño binario de Go (12MB) llamado goss junto con las configuraciones relevantes para verificar sin la necesidad de infraestructura u otras herramientas. Esta auditoría no solo verificará que la configuración tenga la configuración correcta, sino que también intenta capturar si está funcionando con esa configuración e intentar eliminar falsos positivos en el proceso.
Consulta AMAZON2023-CIS-Audit.
Documentación
- Lee la documentación
- Comenzando
- Personalizando Roles
- Configuración por Host
- Sacando el máximo provecho del rol
Requisitos
Amazon 2023
- Acceso para descargar o agregar el binario de goss y contenido al sistema si se utiliza auditoría (hay otras opciones disponibles sobre cómo obtener el contenido en el sistema.)
CentOS stream - aunque esto generalmente funcionará, no está soportado y requiere configurar la siguiente variable
os_check: false
General:
Conocimiento básico de Ansible. A continuación, hay algunos enlaces a la documentación de Ansible para ayudar a empezar si no estás familiarizado con Ansible
Ansible y/o Tower funcionando, instalados, configurados y en funcionamiento. Esto incluye toda la configuración base de Ansible/Tower necesaria, paquetes instalados y configuración de infraestructura.
Por favor, revisa las tareas de este rol para comprender lo que hace cada control. Algunas de las tareas son disruptivas y pueden tener consecuencias no deseadas en un sistema de producción en vivo. También familiarízate con las variables en el archivo defaults/main.yml.
Dependencias Técnicas:
- Python3
- Ansible 2.10+
- python3-libselinux (instalado en prerequisitos si es necesario)
- colecciones encontradas en collections/requirements.yml
pre-commit está disponible si se instala en tu host para pruebas de solicitudes de extracción.
Variables del rol
Este rol está diseñado de manera que el usuario final no tenga que editar las tareas en sí. Todas las personalizaciones deben hacerse sobrescribiendo las variables requeridas que se encuentran en el archivo defaults/main.yml, por ejemplo, usando inventario, group_vars, extra_vars.
Etiquetas
Hay muchas etiquetas disponibles para mayor precisión en el control. Cada control tiene su propio conjunto de etiquetas que indican qué nivel, si está calificado/no calificado, a qué elemento del sistema operativo se relaciona, si es un parche o auditoría y el número de regla.
A continuación, se muestra un ejemplo de la sección de etiquetas de un control dentro de este rol. Usando este ejemplo, si configuras tu ejecución para omitir todos los controles con la etiqueta services, esta tarea se omitirá. Lo opuesto también puede ocurrir, donde solo ejecutas controles etiquetados con services.
tags:
- level1-server
- level1-workstation
- scored
- avahi
- services
- patch
- rule_2.2.4
Contribución de la Comunidad
Te animamos (a la comunidad) a contribuir a este rol. Por favor, lee las reglas a continuación.
- Tu trabajo se realiza en tu propia rama individual. Asegúrate de firmar y firmar con GPG todos los commits que pretendas fusionar.
- Todas las solicitudes de extracción de la comunidad se fusionan en la rama de desarrollo.
- Las solicitudes de extracción en desarrollo confirmarán que tus commits tienen una firma GPG, están firmados y tienen una prueba funcional antes de ser aprobadas.
- Una vez que se fusionen tus cambios y se complete una revisión más detallada, un miembro autorizado fusionará tus cambios en la rama principal para un nuevo lanzamiento.
Problemas Conocidos
Las construcciones predeterminadas no tienen密码 de root establecido, por lo que la verificación preliminar fallará. Por favor, establece una contraseña de root utilizando la versión de cifrado correcta.
Controles documentados por CIS
- 1.2.2 y 1.2.4 afectan a los repositorios predeterminados y evitarán que se apliquen parches.
- 6.1.1 y 6.1.2 son idénticos. Así que la sección 6 solo tiene 12 elementos en comparación con la documentación.
Pruebas de Pipeline
usa:
- ansible-core 2.12
- colecciones de ansible: incorpora la última versión según el archivo de requisitos
- Ejecuta la auditoría utilizando la rama de desarrollo.
- Ejecuta la configuración de pre-commit en la solicitud de extracción para asegurar que todo esté en su lugar según lo esperado.
- Esta es una prueba automatizada que ocurre en las solicitudes de extracción en desarrollo.
Pruebas Locales
Ansible
- ansible-base 2.10.17 - python 3.8
- ansible-core 2.13.4 - python 3.10
- ansible-core 2.15.1 - python 3.11
Extras Adicionales
- pre-commit se puede probar y ejecutar desde dentro del directorio
pre-commit run
Apply the Amazon 2023 CIS
ansible-galaxy install ansible-lockdown.amazon2023_cis