El contenido de conformidad personalizado permite definir estándares de seguridad propios para complementar la biblioteca de bancos de pruebas de seguridad y comprobaciones integrada en SaltStack SecOps Compliance.

El contenido personalizado es útil para mejorar las directivas de SaltStack SecOps Compliance con el fin de que se ajusten a los requisitos internos.

SaltStack SecOps Compliance incluye un kit de desarrollo de software (Software Development Kit, SDK) de contenido personalizado que se puede utilizar para crear, probar y compilar contenido de seguridad personalizado propio. Es posible importar el contenido de seguridad personalizado para utilizarlo junto con la biblioteca de seguridad integrada de SaltStack SecOps Compliance con fines de evaluación y corrección. La capacidad de importar contenido personalizado también permite crear versiones del contenido mediante un sistema de control de versiones de su elección, como Git.

Para utilizar las comprobaciones personalizadas, primero debe inicializar el SDK de contenido personalizado de SaltStack SecOps Compliance. El SDK incluye archivos de muestra que puede modificar para crear sus propias comprobaciones personalizadas, así como bancos de pruebas. El SDK también contiene un entorno de prueba basado en Docker donde puede probar el contenido nuevo.

Una vez creado y probado el contenido personalizado, puede crear un archivo de contenido e importarlo en SaltStack SecOps Compliance para comenzar a evaluar y corregir. Las comprobaciones personalizadas incluyen un icono de usuario (icono de usuario de comprobaciones personalizadas ) en contraposición con las comprobaciones de SaltStack (icono de escudo de comprobaciones integradas ). SaltStack SecOps Compliance realiza un seguimiento de las dependencias entre las directivas y el contenido personalizado, y proporciona una lista de dependencias que se pueden destruir si se elimina el contenido.

Requisitos previos

Procedimiento

  1. En la línea de comandos, desplácese hasta el directorio que contiene el archivo y ejecute el comando:
    Sistema operativo Comando
    Mac OS o Linux ./secops_sdk init
    Windows secops_sdk.exe init
    No se muestra ningún resultado, lo que es de esperar. El directorio contiene estas carpetas y archivos:
    • benchmarks: contiene metarchivos de bancos de pruebas personalizados (.meta)
    • salt/locke/custom: contiene archivos de estado de comprobación personalizados (.sls) y metarchivos (.meta)
    • sample_tests: contiene archivos de ejemplo para las pruebas mediante Docker
    • README.md: proporciona información más detallada sobre el SDK
  2. (Opcional) Confirme los cambios en un repositorio controlado por versiones.
  3. Para crear comprobaciones personalizadas, en el SDK de contenido personalizado, desplácese hasta salt/locke/custom. Para crear bancos de pruebas personalizados, vaya al paso 8.
    Nota: Es necesario configurar todas las comprobaciones personalizadas en un archivo de estado (.sls) y en el metarchivo (.meta) correspondiente.
  4. Cree una copia para el archivo de estado de muestra (.sls) y el metarchivo correspondiente (.meta), y cambie el nombre de ambos por el nombre personalizado que desee. Guarde estos dos archivos juntos en cualquier subdirectorio de salt/locke/custom.
    Ambos archivos deben estar en el mismo directorio y comenzar con el mismo nombre, por ejemplo, mi_primera_comprobacion.meta y mi_primera_comprobacion.sls.
  5. Edite el contenido del metarchivo para personalizar la comprobación en función de sus necesidades.
    Nota: Los metarchivos de comprobaciones contienen referencias a distintos bancos de pruebas. Al crear contenido personalizado, asegúrese de incluir todos los bancos de pruebas asociados en el metarchivo de comprobaciones.
  6. Edite el contenido del archivo de estado.
  7. Asegúrese de que ambos archivos se guarden en el mismo directorio.
  8. Para crear bancos de pruebas personalizados, en el SDK de contenido personalizado, desplácese hasta el directorio benchmarks. Este directorio contiene un metarchivo de banco de pruebas de muestra (.meta).
  9. Haga una copia de Sample_benchmark.meta y cambie su nombre por el nombre personalizado que desee.
  10. Edite el contenido del metarchivo para personalizar el banco de pruebas en función de sus necesidades.

Resultados

Se crearán las comprobaciones y los bancos de pruebas personalizados. Si es necesario, puede eliminar una comprobación o un banco de pruebas personalizado. Para ello, desplácese hasta SecOps > Comprobaciones o SecOps > Bancos de pruebas, haga clic en el icono de menú junto al contenido personalizado y seleccione Eliminar.

Qué hacer a continuación

Después de crear el contenido personalizado, puede probarlo. Para ello, abra la línea de comandos, desplácese hasta el directorio sample_tests del SDK de contenido personalizado y ejecute estos comandos:

Comando Resultado
1. ./build.sh Se crea una imagen de Docker de CentOS7 con Salt para realizar pruebas.
2. ./up.sh Se inicia el contenedor de pruebas.
3. ./test.sh salt-call --local state.apply locke.custom.mounts.my_first_check test=True Se ejecutan pruebas de muestra en las comprobaciones que se crearon en el directorio salt/locke/custom. Puede iniciar comprobaciones personalizadas como lo hace con los estados de Salt normales. Para obtener más información sobre los estados de Salt, consulte Cómo se utilizan los estados de Salt.
4. ./down.sh Una vez finalizadas las pruebas, ejecute este comando para apagar el contenedor de prueba.

Después de probar el contenido personalizado, puede compilar la biblioteca de contenido personalizada.