Mini Curso Gratuito: Aplicación de Hardening para PCI DSS y CIS en Linux usando OpenSCAP

Objetivo: Aprender a aplicar técnicas de hardening en sistemas Linux, utilizando la herramienta OpenSCAP para cumplir con los estándares de PCI DSS y las guías de CIS (Center for Internet Security).

1. Introducción a OpenSCAP

OpenSCAP es una suite de herramientas basadas en estándares que implementan el protocolo de Security Content Automation Protocol (SCAP). Se utiliza para realizar auditorías automáticas, generar informes de cumplimiento y aplicar políticas de seguridad, lo que facilita la tarea de hardening.

2. Conceptos Básicos de PCI DSS y CIS

  • PCI DSS (Payment Card Industry Data Security Standard) establece un conjunto de requisitos de seguridad para proteger la información de las tarjetas de pago.
  • CIS (Center for Internet Security) publica guías de seguridad para hardening de sistemas operativos y otros componentes, que sirven como referencia para implementar controles de seguridad robustos.

3. Instalación de OpenSCAP

Para empezar, debes instalar OpenSCAP en tu sistema Linux. La mayoría de las distribuciones lo incluyen en sus repositorios.

En RHEL/CentOS:

bash

sudo yum install scap-security-guide openscap-scanner

En Ubuntu/Debian:

bash

sudo apt-get install libopenscap8 ssg-base ssg-debderived

4. Aplicación de un Perfil de Seguridad

OpenSCAP incluye un conjunto de perfiles de seguridad predefinidos para varias normativas y guías, como PCI DSS y CIS Benchmarks.

Ver perfiles disponibles:

Después de la instalación, puedes listar los perfiles disponibles para tu sistema:

bash

oscap info /usr/share/xml/scap/ssg/content/ssg-<distro>.xml

Reemplaza <distro> por el nombre de tu distribución. Ejemplo para CentOS:

bash

oscap info /usr/share/xml/scap/ssg/content/ssg-centos7-ds.xml

Esto mostrará una lista de perfiles como PCI-DSS o CIS, que puedes aplicar.

5. Auditar tu Sistema con OpenSCAP

El primer paso en el proceso de hardening es auditar tu sistema para identificar configuraciones que no cumplan con los estándares de PCI DSS o CIS.

Ejemplo de auditoría de un sistema contra el perfil PCI DSS en CentOS:

bash

sudo oscap xccdf eval --profile pci-dss --report pci-dss-report.html /usr/share/xml/scap/ssg/content/ssg-centos7-ds.xml

Esto generará un archivo HTML (pci-dss-report.html) con los resultados de la auditoría.

Opciones comunes:

  • --profile <perfil>: Especifica el perfil que quieres utilizar, como pci-dss o cis.
  • --report: Genera un informe en formato HTML.

6. Aplicar Cambios Automáticos

OpenSCAP puede aplicar automáticamente ciertas configuraciones de seguridad para ajustar el sistema a las guías de PCI DSS o CIS. Ten en cuenta que algunos ajustes pueden requerir intervención manual.

Ejemplo para aplicar cambios automáticos basados en el perfil PCI DSS:

bash

sudo oscap xccdf eval --profile pci-dss --remediate /usr/share/xml/scap/ssg/content/ssg-centos7-ds.xml
  • --remediate: Este parámetro le indica a OpenSCAP que aplique correcciones automáticas en las configuraciones de seguridad del sistema, de acuerdo con el perfil seleccionado.

7. Aplicación Manual de Configuraciones

Algunos cambios pueden no aplicarse automáticamente y requerirán intervención manual. A continuación, se indican algunos ejemplos de configuraciones típicas que puedes aplicar manualmente para mejorar la seguridad de tu sistema y cumplir con PCI DSS y CIS.

a. Bloqueo de Contraseñas para Cuentas Inactivas

Esto asegura que las cuentas inactivas no puedan ser usadas para accesos no autorizados.

bash

useradd -D -f 30

Este comando ajusta el sistema para bloquear cuentas inactivas después de 30 días.

b. Desactivar SSH Root Login

El acceso remoto directo como root es un riesgo para la seguridad.

Edita el archivo de configuración SSH:

bash

sudo vi /etc/ssh/sshd_config

Cambia la línea:

bash

PermitRootLogin no

Luego reinicia el servicio SSH:

bash

sudo systemctl restart sshd

c. Configurar Políticas de Contraseñas

Puedes utilizar PAM para implementar políticas de contraseñas más estrictas.

Edita el archivo de configuración de PAM:

bash

sudo vi /etc/security/pwquality.conf

Asegúrate de incluir configuraciones como:

bash

minlen=12
dcredit=-1
ucredit=-1
lcredit=-1
ocredit=-1

Esto fuerza contraseñas con al menos 12 caracteres, y exige que contengan mayúsculas, minúsculas, números y caracteres especiales, cumpliendo con PCI DSS.


8. Revisar y Monitorear el Cumplimiento

Una vez aplicados los cambios de hardening, es recomendable realizar auditorías periódicas para garantizar el cumplimiento continuo.

Ejecutar auditorías periódicas:

Puedes automatizar las auditorías usando un cron job para ejecutar OpenSCAP en intervalos regulares.

Ejemplo de cron job para ejecutar una auditoría semanal:

bash

0 2 * * 7 /usr/bin/oscap xccdf eval --profile pci-dss --report /var/log/pci-dss-report.html /usr/share/xml/scap/ssg/content/ssg-centos7-ds.xml

9. Generar Informes de Cumplimiento

Para auditar los resultados de hardening, OpenSCAP permite generar informes detallados que se pueden presentar como evidencia en auditorías externas.

Comando para generar informes:

bash

oscap xccdf eval --profile cis --report cis-compliance-report.html /usr/share/xml/scap/ssg/content/ssg-centos7-ds.xml

Esto genera un informe detallado en HTML (cis-compliance-report.html) que describe el estado de cumplimiento del sistema.

10. Conclusión

El uso de OpenSCAP facilita enormemente el proceso de hardening y auditoría de sistemas Linux para cumplir con estándares como PCI DSS y CIS. Las auditorías periódicas y la aplicación sistemática de políticas de seguridad ayudan a mantener la seguridad de tu infraestructura y asegurar el cumplimiento de regulaciones críticas.

Resumen de Pasos:

  1. Instalar OpenSCAP en tu sistema Linux.
  2. Ver los perfiles disponibles para PCI DSS o CIS.
  3. Auditar el sistema utilizando OpenSCAP.
  4. Aplicar configuraciones automáticas o manuales de hardening.
  5. Monitorear y auditar regularmente el cumplimiento con informes detallados.

Con estas herramientas y prácticas, tendrás un entorno Linux más seguro y ajustado a los estándares de seguridad.

Capítulo: Implementación de OpenSCAP con ultima versión de a Septiembre 2024

1. Acceder al Repositorio de GitHub

Para obtener la última versión, accede a la página de lanzamientos del repositorio de ComplianceAsCode:

https://github.com/ComplianceAsCode/content/releases

Allí podrás encontrar la ultima versión, por ejemplo la versión 0.1.74. Descarga el archivo correspondiente a esta versión para tu distribución de Linux.

2. Descargar la ultima versión por ejemplo Versión 0.1.74

Para descargar la ultima versión, por ejemplo versión 0.1.74 directamente desde GitHub, utiliza el siguiente comando wget en tu terminal:

bash

wget https://github.com/ComplianceAsCode/content/releases/download/v0.1.74/scap-security-guide-0.1.74.zip

Este archivo contiene los perfiles de seguridad actualizados, incluidas las políticas de PCI DSS y CIS.

3. Descomprimir el Archivo Descargado

Después de descargar el archivo comprimido, descomprímelo con el comando unzip:

bash

unzip scap-security-guide-0.1.74.zip

Esto extraerá todos los archivos de configuración SCAP, necesarios para auditar y aplicar las políticas de seguridad en tu sistema.

4. Verificar los Perfiles SCAP

Una vez que hayas descomprimido los archivos, verifica los perfiles disponibles en el archivo SCAP para asegurarte de que contiene los perfiles deseados (PCI DSS, CIS, etc.):

bash

oscap info scap-security-guide-0.1.74/ssg-centos7-ds.xml

Este comando listará todos los perfiles disponibles, incluyendo PCI DSS, CIS, y otros perfiles de seguridad relevantes.

5. Realizar Auditoría de Cumplimiento

Con los perfiles verificados, puedes realizar una auditoría de cumplimiento para verificar el estado de seguridad de tu sistema. Por ejemplo, para auditar el cumplimiento de PCI DSS, usa el siguiente comando:

bash

sudo oscap xccdf eval --profile pci-dss --report pci-dss-report.html scap-security-guide-0.1.74/ssg-centos7-ds.xml

Esto generará un informe en HTML que puedes revisar para verificar el cumplimiento de tu sistema con las políticas de PCI DSS.

6. Actualizar las Políticas de Seguridad

Si deseas aplicar las políticas de seguridad automáticamente, puedes ejecutar un escaneo con OpenSCAP que también aplique las configuraciones necesarias:

bash

sudo oscap xccdf eval --remediate --profile cis --report cis-remediation-report.html scap-security-guide-0.1.74/ssg-centos7-ds.xml

Este comando no solo auditará el sistema según el perfil de CIS, sino que también aplicará automáticamente las configuraciones recomendadas.

7. Mantener las Guías Actualizadas

Recuerda que estas guías se actualizan regularmente. Es recomendable verificar de forma periódica el repositorio de GitHub para asegurarte de estar utilizando siempre la última versión:

https://github.com/ComplianceAsCode/content/releases

Resumen de Pasos para la ultima versión, por ejemplo Versión 0.1.74

  1. Acceder a la página de lanzamientos en GitHub:
    https://github.com/ComplianceAsCode/content/releases
  2. Descargar la última versión (0.1.74) usando wget.
  3. Descomprimir los archivos descargados con unzip.
  4. Verificar los perfiles SCAP utilizando oscap info.
  5. Realizar auditorías de seguridad con OpenSCAP (oscap xccdf eval).
  6. Aplicar las políticas de seguridad automáticamente con --remediate.

Siguiendo estos pasos, estarás utilizando las guías más recientes de OpenSCAP para cumplir con las normativas de PCI DSS y CIS en tu entorno Linux.