Luego de unos cuantos años, por requerimientos de mi trabajo, tuve que retomar un viejo proyecto CheckListLinux,
el cual tiene como objetivo verificar el hardening de un servidor
RedHat o alguno de sus derivados comparando su configuración con mejores
prácticas de seguridad.
Cabe aclarar que debía cumplir con ciertas pautas ya establecidas. Por este motivo no utilice "Lynis" para la tarea.
El proyecto está desarrollado en PERL y cuenta con 41 scripts que
pertenecen a las fases que son ejecutadas durante el análisis.
Las fases se dividen de la siguiente forma:
Las fases se dividen de la siguiente forma:
- Fase 0.0 -- Información del Equipo
- Fase 1.0 -- Información de los usuarios del sistema
- Fase 1.1 -- Comprobación de Usuarios/Grupos
- Fase 1.2 -- Verificar que no existan cuentas con password vacías
- Fase 1.3 -- Verificar que no existan usuarios con ID 0
- Fase 1.4 -- Verificación del archivo login.defs
- Fase 1.5 -- Últimos usuarios agregados
- Fase 1.6 -- Configuración PAM
- Fase 1.7 -- Últimos usuarios conectados
- Fase 1.8 -- Últimos comandos ejecutados por los usuarios
- Fase 1.9 -- Relaciones de confianza
- Fase 1.10 -- Usuarios con acceso al sistema
- Fase 1.11 -- Verificar que no existan usuarios con Grupo ID 0
- Fase 2.0 -- Eventos mediante Syslog - AUTHPRIV
- Fase 2.1 -- Eventos mediante Rsyslog - AUTHPRIV
- Fase 3.0 -- Verificar permisos en archivos y directorios
- Fase 3.1 -- Verificación de Sticky Bit
- Fase 3.2 -- Verificación de archivos con permisos de escritura para todos los usuarios
- Fase 3.3 -- Verificación de suid/gsid
- Fase 3.4 -- Verificación de archivos sin usuario asignado y grupo
- Fase 4.0 -- Archivo de autenticación ftp
- Fase 5.0 -- Cierre de conexión automático
- Fase 6.0 -- Banner personalizado
- Fase 7.0 -- Verificación de la configuración del servicio ssh
- Fase 8.0 -- Verificación de SeLinux
- Fase 9.0 -- Verificación de IPTABLES
- Fase 10.0 -- Verificación de Servicios
- Fase 11.0 -- Verificación de Procesos
- Fase 12.0 -- Verificación de Conexiones
- Fase 13.0 -- Verificación de Hash de binarios
- Fase 14.0 -- Configuración de Sudoers
- Fase 15.0 -- Cron.Daily
- Fase 16.0 -- Versiones de softwares
- Fase 17.0 -- Configuración de Red
- Fase 17.1 -- Verificación de rutas
- Fase 17.2 -- Verificación configuración sysctl
- Fase 18.0 -- Verificar el nivel de inittab
- Fase 18.1 -- Verificar que no este activo ctrlaltdel en inittab
- Fase 19.0 -- Verificar configuración samba
- Fase 20.0 -- Verificar sincronización NTP
Comenzamos a describir el procedimiento de uso:
Fuente: Marcositu
- Descargamos la herramienta: https://github.com/marcositu/redhatchecklist
- Luego debemos descomprimir el archivo "master.zip"
- Personalizamos algunos parámetros buscados.
- Modificar la línea "20" del archivo /libs/fase6.pl donde se encuentra la variable "$bannerpersona" con el valor "Cable" por algún string que se encuentra en el banner personalizado de su Compañía.
- Modificar la línea "29" del archivo /libs/fase7.pl donde se encuentra la variable "ListenAddress" con el valor 10.246 por las direcciones IP que deben estar configuradas.
- Luego, debemos copiar el archivo redhatchecklist.pl y el directorio /libs/ al servidor que será analizado.
- Una vez que tenemos los archivos en nuestro servidor, ejecutamos la herramienta para comenzar con el análisis.
[root@miserver]# perl redhatchecklist.pl
- El último paso es copiar a nuestra computadora los 2 reportes HTML
que nos generó la herramienta en la misma carpeta que tenemos los
siguientes archivos y directorios:
- /src/
- /vendor/
- demo.css
- sprite.png
Fuente: Marcositu
0 comentarios:
Publicar un comentario