Lynis es una herramienta de auditoría de seguridad de código abierto para derivados de UNIX como Linux, Mac OS, BSD, otros sistemas operativos basados en Unix, etc. Realiza un análisis de estado exhaustivo de los sistemas que admiten pruebas de cumplimiento y endurecimiento del sistema . Un software de código abierto con licencia GPL. Esta herramienta también busca información general del sistema, paquetes de software vulnerables y problemas de configuración. Es útil para administradores de sistemas, auditores, profesionales de seguridad.
¿Cómo funciona la herramienta Lynis?
El escaneo de Lynis es modular y oportunista, se usa para probar componentes como las herramientas del sistema disponibles y sus bibliotecas. La ventaja de la herramienta Lynis es que no se requieren instalaciones adicionales de herramientas, por lo que los sistemas están limpios. Cuantos más componentes se descubran, más extensa será la auditoría. Con este método, Lynis puede ejecutarse sin dependencias.
Instalación de la herramienta Lynis:
Lynis es liviano y la mayoría de los usuarios instalan Lynis usando un paquete que requeriría más tiempo de instalación. Hay varias formas de instalar Lynis,
- Clonar a través de GitHub
- Instalación del paquete del sistema operativo
- Instalación de origen
- bola de alquitrán
- Cerveza casera
- Puertos BSD
Las distribuciones de UNIX como Debian, Distro, Ubuntu, Mint, Fedora, Suse, OpenSUSE, Arch Linux, Manjaro, etc. tienen el paquete Lynis de forma predeterminada. Con esto, nos resulta fácil instalarlos desde el repositorio de distribución usando el administrador de paquetes.
Instale Lynis con el paquete de software o el paquete de sistema operativo:
Al instalar Lynis, el paquete de software se instala de manera predeterminada, por lo que podemos instalarlo con los siguientes comandos en varias distribuciones de UNIX.
Instalación de Lynis en Ubuntu/Debian/LinuxMint
sudo apt-get install lynis
Instalación de Lynis en RHEL/CentOS
$ sudo yum install lynis
Instalación de Lynis en Fedora
$ sudo dnf install lynis
Instalación de Lynis en openSUSE
$ sudo zypper install lynis
Instalación de Lynis en un sistema basado en Arch Linux
$ sudo pacman -S lynis
Instalación de Lynis en puertos BSD
$ cd /usr/ports/lynis/security $ make install
Instalar Lynis a través de Git Clone
Clone o descargue los archivos del proyecto de GitHub (se requiere compilación o instalación). Después de instalar Lynis o clonar el repositorio, las herramientas principales se encuentran en un archivo llamado lynis. Un script de shell, que cuando se abre podemos leer lo que realmente hace la herramienta. Lynis se implementa mediante scripts de shell.
$ git clone https://github.com/CISOfy/lynis $ cd lynis $ ls
Cómo ejecutar Lynis:
Para comprobar ver todos los comandos disponibles en Lynis podemos ejecutar lo siguiente,
$ ./lynis show
Ahora podemos usar Lynis para realizar auditorías de seguridad en nuestro sistema. Podemos ver la lista de comandos a ejecutar con la ayuda de Lynis. Use el siguiente comando para enumerar el número de comandos para ejecutar,
$ ./lynis show commands
Antes de realizar una auditoría, asegúrese de estar en el directorio correcto y agregue «./» antes de lynis. Lynis se ejecuta sin configuración previa , podemos ejecutar lynis tanto en modo privilegiado como no privilegiado (pentest) . Hay pruebas que requieren privilegios de root , por lo que se omiten. Ejecutar auditoría en modo privilegiadoejecutar el comando,
$ ./lynis audit system
Nota: Agregar el parámetro rápido permitirá que lynis se ejecute sin pausas y nos permitirá trabajar en otras cosas simultáneamente mientras escanea.
$ ./lynis audit system --quick
Después de la autenticación, Lynis realizará pruebas y verificará los resultados. Lynis realizará auditorías y hay una serie de pruebas realizadas, todas ellas divididas en categorías . Después de cada resultado de la prueba de auditoría, se proporciona información de depuración y sugerencias para fortalecer el sistema. La información más detallada se almacena en /var/log/lynis/log, mientras que el informe de datos se almacena en /var/log/lynis-report.data.
Explorando los informes:
Lynis realiza una auditoría en profundidad e informa los resultados de las siguientes maneras:
Salida de pantalla: Escanea el sistema y realiza muchas pruebas. Los posibles resultados de la prueba incluyen,
- OK o ADVERTENCIA
- ENCONTRADO o NO ENCONTRADO
- DÉBIL
- NINGUNO o HECHO
Archivo de registro: los resultados que se muestran en pantalla durante el escaneo y los detalles adicionales se registran en un archivo de registro. Información en un archivo de registro
- Tiempos de acción/evento
- Razones por las que una prueba falló o se omitió
- Salida de pruebas (internas)
- Sugerencias sobre las opciones de configuración
- Puntuación de amenaza/impacto
Observación: el archivo de registro se registra después de cada escaneo. Para depurar o registrar información relacionada con análisis anteriores, programe la rotación de registros antes de volver a ejecutar lynis.
Archivos de informe: Lynis reunió hallazgos y otros puntos de datos que se almacenan en el archivo de informe en un archivo predeterminado. El archivo de informe se utiliza para comparar escaneos del pasado con el escaneo actual. Contenido del archivo del informe:
- Comentarios = #<comentario>
- Sección = [<nombre de la sección>]
- Opción/valor = <nombre de la opción> = <valor de la opción>
Los datos del informe contienen información sobre el servidor y la aplicación que se almacena en el archivo de registro. El archivo de registro se sobrescribe en cada auditoría.
Lynis brinda información completa sobre el sistema operativo actual, la versión del sistema operativo y el hardware que se ejecuta en una máquina Linux. Los complementos de Debian se escanean y generan detalles sobre las instalaciones de paquetes.
Las pruebas de Debian también se escanean, lo que brinda más información sobre las instalaciones del sistema. También muestra advertencias para los complementos de Debian y listas de instalaciones de software, ya sea que se hayan instalado en el sistema o no. El complemento de Debian verifica los binarios del sistema requeridos por las pruebas de Debian.
El arranque y los servicios del sistema se escanean y muestran los problemas de arranque y servicio presentes en el sistema.
Impresoras y carretes para verificar los resultados de la auditoría típica de Lynis, hay dos pruebas en esta categoría. Verifique el estado de cupsd y los archivos de configuración relacionados. estado de lpd, estado de cola de impresión de qdaemon.
Software: cortafuegos Comprobación del módulo kernel de iptables, políticas utilizadas de las strings de iptables. Verifique también los cortafuegos de software como CSF, UCF, etc. Comprueba la configuración de los cortafuegos y los servicios locales, recopila datos para su posterior análisis.
No se encuentran servicios inseguros aquí inetd , la prueba está etiquetada en Lynis, ya que no debería realizarse como parte de una auditoría en su servidor. Escaneo del estado del demonio inet y verifica el archivo de configuración cuando está deshabilitado.
Compatibilidad con SSH Análisis del estado del demonio SSH y otros ajustes de SSH en /etc/ssh/sshd_config para un inicio de sesión seguro.
Compatibilidad con SNMP Comprobación de que el demonio SNMP se está ejecutando, la ubicación del archivo del demonio, las comunicaciones SNMP.
Bases de datos Comprobación de bases de datos instaladas como MySQL, PostgreSQL, Oracle, DB2 y Redis y procesos relacionados, archivos de configuración.
Servicios LDAP Comprobación de que la instancia de OpenLDAP se está ejecutando o no y su archivo de configuración.
Lynis tiene un código de colores:
- Verde: lo que significa que todo funciona bien o está deshabilitado
- amarillo: Omitido, NO ENCONTRADO, podría tener una sugerencia
- Rojo: muestra que la prueba o exploración en particular no es segura o necesita más atención.
En el nivel de ejecución de Kernel Scanning, soporte de CPU, versión de kernel, tipo de kernel, /etc/inittab y módulos de kernel cargados.
Memoria y procesos Escanea información de memoria de /proc/meminfo, procesos inactivos y procesos IO.
Kernel Hardening tiene muchas configuraciones ajustables que definen las funciones del kernel y algunas ajustables tienen contexto de seguridad. Es posible que Distro no lo configure de forma predeterminada y se requiere un examen para cada escaneo. el valor sigue cambiando según la postura de seguridad. Escanee los pares de claves sysctl con el perfil para verificar el endurecimiento de los parámetros del kernel.
Usuarios, grupos y autenticación Escaneo de cuentas de administrador, UID, GID, /etc/passwd, sudoers y archivos PAM, antigüedad de la contraseña, modo de usuario único, inicio de sesión fallido y umask.
Conchas Escanear las conchas disponibles y comprobar si son vulnerables.
Sistema de archivos Escanea los puntos de montaje disponibles y comprueba si están montados por separado o en un sistema de archivos. También comprobamos las banderas de los puntos de montaje y las añadimos correctamente. archivo fstab, partición de intercambio, /proc, /tmp y /tmp sticky bit.
- Escaneo de almacenamiento , si el almacenamiento USB está deshabilitado, verificando la autorización del dispositivo USB. Además, verifique si el almacenamiento firewire está deshabilitado.
- Escaneo de NFS Información de NFS como programas registrados de rpcinfo, versiones registradas de NFS, protocolos registrados de NFS y daemon de NFS en ejecución.
Administrador de paquetes de escaneo de puertos y paquetes , si se encuentra el administrador de paquetes (rpm, deb, etc.), consultará la lista de paquetes instalados y verificará la vulnerabilidad del paquete, las actualizaciones del paquete. Finalmente, verifica la firma GPG para la seguridad del paquete.
Redes Escanee IPv6 habilitado o no, prueba de configuración del servidor de nombres, busque interfaces de red disponibles, direcciones MAC, direcciones IP de red, estado de DHCP.
Registro y archivos Analiza si el demonio syslog se está ejecutando o no y sus archivos de configuración.
- Banners e identificación Escanea los archivos de banner de derechos de autor, verifica el archivo de banner de emisión y su contenido y verifica el archivo de banner de issue.net y su contenido.
- Tareas programadas Escanear las estadísticas del demonio cron y luego verificará las listas de cronjob/crontab.
- Contabilidad Exploración de la información del software de contabilidad y sus archivos de configuración.
Los marcos de seguridad Scanning AppArmor, SELinux, grsecurity están habilitados. En caso afirmativo, comprobará el estado y la presencia del demonio.
- Integridad de archivos Comprobación de la integridad de todos los archivos.
- Herramientas del sistema Comprobación de herramientas de automatización del sistema, fail2ban, IDS/IPS, etc.
- Escaneo de malware Herramientas relacionadas con malware como chkrootkit, Rootkit Hunter, LMD y clamscan.
Exploración de permisos de archivos en este para todo tipo de permisos de archivos
El escaneo en los complementos de la fase 2 es una prueba basada en los complementos instalados y para instalar un complemento para lynis, luego agregue el directorio /etc/lynis/plugins. Una vez que finaliza el escaneo, se improvisan detalles de Advertencias y Sugerencias para que podamos mejorar la seguridad del sistema y también para corregir cualquier problema que haya en el sistema.
Aquí se muestran los detalles del análisis de seguridad, el informe incluye hallazgos e información general, como una serie de pruebas de seguridad realizadas. También se muestra la ubicación del archivo de registro y los datos del informe.
Lynis ofrece una opción para obtener información detallada sobre cada sugerencia, se accede mediante el comando mostrar detalles seguido del número de identificación de la prueba. Aquí, hicimos uso de una sugerencia enumerada entre 50 sugerencias,
$ ./lynis show details PHP-2376
Lynis Hardening Index es un índice único de Lynis que le da al auditor una idea de qué tan bien se fortalece un sistema. El número es un indicador de las medidas adoptadas.
Para implementar salvaguardas de seguridad, primero determine los hallazgos presentes en el sistema y aplique todas las medidas o sugerencias proporcionadas después del escaneo. Fortalecer los sistemas Lynis y Unix es esencial para alinear la seguridad con las políticas de seguridad.
La alternativa a aumentar el índice de endurecimiento de Lynis es determinar qué pruebas son demasiado estrictas para la función de una máquina en particular. Las pruebas se pueden deshabilitar en el perfil de análisis, lo que hace que se omita la prueba. Al usar esto, se omite la calificación de endurecimiento para esas pruebas en particular y se obtiene una puntuación diferente.
Ejecute Lynis como pruebas personalizadas
Para escanear una prueba en particular, tenemos que enumerar las identificaciones de prueba. Si el servidor no ejecuta el servidor web, no hay necesidad de probar. Utilice el parámetro tests para enumerar una serie de pruebas en lynis.
$ lynis show tests
Verifique una prueba en particular usando el siguiente comando seguido de la identificación de la prueba
$ lynis show tests ACCT-9626 $ lynis show tests TOOL-5190
Para conocer los detalles actualizados de la herramienta Lynis y ver si la herramienta tiene la última versión, ejecute la información de actualización para obtener todos los detalles relacionados con la herramienta Lynis.
$ ./lynis update info
Para obtener más ID de prueba, los encontramos dentro del archivo de registro predeterminado /var/log/lynis.log
Si no obtiene el resultado deseado con el archivo de registro anterior, ejecute lynis con el parámetro -c (marcar todo). Para mirar dentro del archivo de registro, usamos el comando cat y lo combinamos con grep , luego se muestra una lista de todas las ID de prueba presentes en el archivo de registro.
$ cat /var/log/lynis.log | grep KRNL /*Another method can be using command*/ $ ./lynis -c -Q
Para ejecutar la comprobación del tiempo de actividad del sistema y la comprobación de las pruebas de configuración de los volcados del núcleo, si desea agregar más pruebas, agregue Test-ID separados por espacios.
$ ./lynis --tests "BOOT-5202 KRNL-5820"
Ejecute Lynis con categorías:
Use el parámetro –test-from-category si es muy difícil manejar ID de prueba, Lynis ejecuta ID de prueba que incluye dentro de cada categoría. Ejecute las pruebas de Firewall y Kernel usando el siguiente comando,
$ ./lynis --tests-from-category "firewalls"
Ejecute Lynis como Cronjob:
Automatización de lynis para que se ejecute periódicamente y verifique las mejoras desde el escaneo anterior de lynis. Para realizar Cronjob usando lynis, ejecútelo todos los meses. Es importante crear estas rutas relacionadas en el script /usr/local/lynis y /var/log/lynis.
Para guardar las rutas en el script, ejecute el siguiente comando,
# script is saved in text.sh and script is given below. # You can use any editor to save the script, here editor used is Vim. $ vim text.sh #inside vim enter command touch /root/Desktop/file.txt $ chmod u+x text.sh # this command is to execute cronjob monthly or anytime we schedule it to.
$ #!/bin/sh AUDITOR="AUROMATED" DATE=$(date+%Y%m%d) HOST=$(hostname) LOG_DIR="/var/log/lynis" REPORT="$LOG_DIR/report-${HOST}.${DATE}" DATA ="$LOG_DIR/report-data-${HOST}.${DATE}.txt" cd /usr/local/lynis ./lynis -c -auditor "${AUDITOR}" --cronjob > ${REPORT} mv /var/log/lynis-report.dat ${DATA} #End $ lynis audit system --auditor "${AUDITOR}" --cronjob > ${REPORT} # Move or save file to: [-f /ar/log/lynis-report.dat ] then mv /var/log/lynis-report.dat ${DATA} fi
Comprobar la versión de Lynis
La versión de Lynis básicamente mostrará el número de versión en el que se encuentra la herramienta. Verificar la versión de la herramienta Lynis lo ayudará a saber si la herramienta tiene la última versión o no.
$ ./lynis --version