MindPointGroup.kubernetes_stig
Kubernetes DISA STIG
Configurar un sistema Kubernetes para que sea conforme al DISA STIG.
Basado en Kubernetes DISA STIG Versión 1, Rel 8 lanzado el 26 de enero de 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.
Precauciones
Este rol realizará cambios en el sistema que pueden tener consecuencias no deseadas. No es una herramienta de auditoría, sino 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 se completará en modo de verificación sin errores, pero no es compatible y se debe usar con precaución.
Este rol fue desarrollado en una instalación limpia de Kubernetes. Si lo estás implementando en un sistema existente, revisa este rol para ver si se necesitan cambios específicos del sitio.
Para usar la versión de lanzamiento, apunta a la rama principal y a la versión relevante para el estándar STIG con el que deseas trabajar.
Coincidencia de un nivel de seguridad para STIG
Es posible ejecutar solo controles que se basen en un nivel de seguridad particular para STIG. Esto se maneja mediante etiquetas:
- CAT1
- CAT2
- CAT3
El control encontrado en defaults main también debe reflejar verdadero para permitir que los controles se ejecuten cuando se inicie el playbook.
Procedente de una versión anterior
Las liberaciones de STIG siempre contienen cambios, se recomienda encarecidamente revisar las nuevas referencias y variables disponibles. Esto ha cambiado significativamente desde la liberación inicial de ansible-lockdown. Ahora es compatible con python3 si se encuentra como el intérprete predeterminado. Esto tiene requisitos previos que configura el sistema en consecuencia.
Más detalles se pueden ver en el Changelog
Auditoría (nuevo)
Actualmente, esta versión no tiene una herramienta de auditoría.
Documentación
- Leer La Documentación
- Empezando
- Personalizando Roles
- Configuración por Host
- Maximizando el Uso del Rol
Requisitos
Generales:
Conocimientos básicos de Ansible; a continuación se presentan algunos enlaces a la documentación de Ansible para ayudar a empezar si no estás familiarizado con Ansible
Ansible y/o Tower en funcionamiento, instalados, configurados y ejecutándose. Esto incluye todas las configuraciones básicas de Ansible/Tower, los paquetes necesarios instalados y la infraestructura configurada.
Lee las tareas en este rol para comprender lo que cada control está haciendo. Algunas de las tareas son disruptivas y pueden tener consecuencias no deseadas en un sistema de producción en vivo. Familiarízate también con las variables en el archivo defaults/main.yml.
Dependencias Técnicas:
- Kubernetes 1.16.7 o superior - Otras versiones no son compatibles.
- Configuración de Ansible/Tower en ejecución (este rol se prueba con la versión 2.9.1 de Ansible y versiones posteriores).
- Entorno de ejecución Ansible con Python3.
- python-def (debería estar incluido en RHEL/CentOS 7) - La primera tarea configura los requisitos previos (Etiqueta pre-requisitos) para python3 y python2 (donde sea requerido)
- libselinux-python
- python3-rpm (paquete usado por py3 para usar el paquete rpm)
Variables del Rol
Este rol está diseñado para que el usuario final no tenga que editar las tareas por sí mismo. Toda personalización debe hacerse a través del archivo defaults/main.yml o con variables adicionales dentro del proyecto, trabajo, flujo de trabajo, etc.
Etiquetas
Existen muchas etiquetas disponibles para un control más preciso. Cada control tiene su propio conjunto de etiquetas que indican qué nivel tiene, si está puntuado/no puntuado, 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 presenta 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 kernel, esta tarea se omitirá. Lo contrario también puede suceder, donde solo se ejecutan controles etiquetados con kernel.
tags:
- CNTR-K8-001620
- CAT1
- CCI-001084
- SRG-APP-000233-CTR-000585
- SV-242434r864009_rule
- V-242434
- kubelet
- kernel
Contribución de la Comunidad
Te animamos (a la comunidad) a contribuir con este rol. Por favor, lee las reglas a continuación.
- Tu trabajo se realiza en tu propia rama individual. Asegúrate de firmar y GPG firmar todos los commits que deseas mezclar.
- Todas las Solicitudes de Extracción de la comunidad se integran 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 tus cambios se mezclen y se complete una revisión más detallada, un miembro autorizado fusionará tus cambios en la rama principal para una nueva versión.
Pruebas del Pipeline
uses:
- ansible-core 2.12
- colecciones de ansible - importa la última versión en función del archivo de requisitos
- ejecuta la auditoría utilizando la rama de desarrollo
- Esta es una prueba automatizada que ocurre en las solicitudes de extracción en desarrollo.
Ansible role to apply Kubernetes STIG benchmark
ansible-galaxy install MindPointGroup.kubernetes_stig