¿Los piratas informáticos siempre están ahí afuera, buscando a sus próximas víctimas? ¿Es la seguridad de sus dispositivos Linux un tema preocupante y algo que busca mejorar? No busques más. En este artículo, conocerá una herramienta llamada Lynis de CISOfy que lo ayuda a realizar análisis de vulnerabilidades para descubrir problemas antes de que surjan.
Aprenderá cómo realizar varios análisis de auditoría de seguridad y profundizar en los informes que proporciona la herramienta Lynis. ¡Sigue leyendo para comenzar a auditar!
Requisitos previos
Para usar Lynis y ejecutar las demostraciones en este tutorial, asegúrese de tener lo siguiente:
- Una distribución Debian Linux:este tutorial usará Ubuntu 20.04 LTS.
- Se permite el tráfico SSH e ICMP entrante desde el host de Lynis a todos los hosts auditables remotos.
- Un usuario no root con
sudo
privilegios.
Instalación de Lynis
Comience este tutorial familiarizándose con Lynis y aprendiendo a instalar la herramienta.
Lynis es una herramienta de auditoría de seguridad de código abierto para sistemas similares a Unix/Linux y realiza análisis de vulnerabilidades en profundidad en casi todos los sistemas basados en UNIX, proporcionando lo siguiente.
- Auditoría de seguridad: probar certificados SSL, cuentas de usuario sin contraseña y más.
- Endurecimiento del sistema: parches de software, ajustes de configuración de red, inconsistencias de permisos de archivos.
- Análisis de vulnerabilidades: validar paquetes contra vulnerabilidades conocidas de bases de datos como CVE.
- Reparación e informes de cumplimiento de la configuración: validar el estado actual de los puntos finales contra documentos de política predefinidos.
Lynis solo le muestra posibles problemas de seguridad; no endurecerá las máquinas para usted.
Ahora es el momento de instalar Lynis para que pueda comenzar a aprovechar las funciones. Inicie sesión en su host Linux basado en Ubuntu o Debian como usuario no root con privilegios sudo y siga los pasos a continuación para instalar Lynis.
1. Primero, actualice sus repositorios de paquetes apt, para que sus repositorios tengan los paquetes Lynis necesarios.
Puedes instalar Lynis a través de
apt-get
, source tarball, o clonando el repositorio de GitHub. Este tutorial instalará Lynis a través deapt-get
.
# Downloads the package lists from the repositories and "updates" them
# to get information on the newest versions of packages and their dependencies
sudo apt-get -y update
# Fetches new versions of packages existing on the machine and handle
# the dependencies so it might remove obsolete packages or add new ones
sudo apt-get -y dist-upgrade
# Download (wget) and install apt-transport-https. The apt-transport-https
# is an APT transport method. This APT transport method allows APT to use
# HTTPS certificates when downloading repository metadata and packages from servers.
sudo apt install apt-transport-https wget -y
A continuación, descargue la clave pública de la clave de firma del repositorio oficial a través de wget
utilidad y agregue la clave a APT con el apt-key
dominio.
La clave pública proporciona un método para verificar que una entidad de confianza firma el software. En este caso, el
apt-get
administrador de paquetes en Debian.
wget -O - https://packages.cisofy.com/keys/cisofy-software-public.key | sudo apt-key add -
Verá un OK mensaje, que indica que la clave se agregó correctamente.
3. Ahora, agregue el repositorio de Lynis (cisofy-lynis
) a la lista de repositorios de paquetes del sistema con el siguiente comando
echo "deb https://packages.cisofy.com/community/lynis/deb/ stable main" | sudo tee /etc/apt/sources.list.d/cisofy-lynis.list
4. A continuación, ejecute los siguientes comandos para update
la lista de paquetes e instale Lynis con el apt
gerente de empaquetación.
sudo apt-get -y update # Update the package list
sudo apt install lynis -y # Install Lynis
Finalmente, ejecute el siguiente comando para verificar la versión de Lynis instalada. Como puede ver a continuación, el comando devuelve la versión de Lynis instalada.
En el momento de escribir este artículo, la última versión estable actual de Lynis es la 3.0.6.
sudo lynis show version
Como puede ver a continuación, el comando devuelve la versión de Lynis instalada.
Comprobación de los comandos y la configuración de Lynis
Con Lynis instalado, es hora de revisar algunos de sus comandos y opciones de configuración. Ejecute el show
comando con el commands
argumento para ver todos los diversos comandos de Lynis.
sudo lynis show commands
Lynis tiene varias configuraciones para personalizar su comportamiento. Ejecute lynis show settings
para inspeccionar las múltiples configuraciones definidas en el archivo de configuración de Lynis. El archivo de configuración generalmente se encuentra en /etc/audit directorio.
Cuando Lynis se ejecuta, primero busca el archivo de configuración en el directorio /etc/audit. Si no lo encuentra, intentará encontrarlo en su directorio de inicio.
sudo lynis show settings
Para obtener una lista completa de las opciones y la sintaxis de Lynis, ejecute
man lynis
comando.
Invocar una auditoría
Lynis es una herramienta de auditoría, así que realicemos su primera auditoría de seguridad. Cuando ejecuta una auditoría de seguridad, Lynis verifica el sistema y la configuración del software en busca de problemas de seguridad.
Ejecute el lynis audit system
comando como se ve a continuación para realizar una auditoría en su sistema.
Se recomienda ejecutar Lynis como root (u otro usuario con todos los derechos) para probar todo lo disponible en su sistema. El análisis ofrecerá recomendaciones para mejorar y mostrará qué partes de su sistema carecen de refuerzo de seguridad.
sudo lynis audit system
El resultado del comando es un extenso informe, que verá desglosado en las siguientes secciones. Por lo tanto, tenga en cuenta que las siguientes capturas de pantalla son el resultado de ejecutar
lynis audit system
informe.
Comprensión del informe de auditoría
El system
audit proporciona un extenso informe de varias áreas, que incluyen:
- Directorios y archivos relacionados con el registro y la auditoría
- Servicios como el demonio SSH, el servidor web Apache, la base de datos MySQL y otros
- Aspectos de seguridad como la seguridad de la contraseña, las cuotas del sistema de archivos y el uso de la memoria (montón)
Para categorizar la gravedad, Lynis tiene varios estados de estado y también resultados codificados por colores que indican la gravedad de cada problema encontrado.
- OK – Todas las pruebas requeridas se completaron con éxito.
- ADVERTENCIA – Un problema que debe revisarse y corregirse cuando sea posible.
- FALLO – Una prueba fallida que puede afectar la seguridad del sistema.
- ENCONTRADO – Lynis encontró el objeto solicitado, generalmente utilizado para localizar archivos específicos.
- NO ENCONTRADO – Lynis no pudo localizar el objeto solicitado.
- SUGERENCIA – Una sugerencia no crítica que debe evaluarse para tomar acción.
- FINALIZADO – Normalmente se utiliza para indicar que se ha realizado una tarea, como consultar datos.
Comprensión de los resultados de "Kernel"
La compatibilidad con la auditoría del kernel está habilitada de forma predeterminada en la mayoría de las distribuciones de Linux modernas. Lynis verifica si está utilizando funciones de seguridad del kernel como SELinux, AppArmor o GRSecurity.
Evaluación de los resultados de "Memoria y procesos"
Lynis realiza muchas pruebas para verificar cuánta memoria está en uso y otros problemas relacionados con el proceso. Por ejemplo, cuando una aplicación utiliza demasiada memoria, puede convertirse en un vector de denegación de servicio (DoS). Lynis verifica si servicios como httpd o sshd están filtrando información.
Verificación de los resultados de "Software:cortafuegos"
En esta prueba, Lynis verifica el módulo del kernel de iptables. También puede verificar si la configuración de su firewall es adecuada para los firewalls de software, incluidos FireHOL, FireQoS, IPCop, IPTables (Netfilter), Kerio Control.
Evaluación de los resultados de "servicios inseguros"
Lynis también busca servicios no seguros como FTP y Telnet. Estos servicios podrían generar un riesgo de seguridad significativo, especialmente los dos primeros si están expuestos a través de un sistema orientado a Internet.
Además, Lynis también realizará comprobaciones de los servicios en los que desee mejorar la seguridad, como la configuración del puerto SSH, la configuración del servidor de nombres BIND y mucho más.
Encontrar los archivos de Lynis
El informe se genera en la consola, pero Lynis también crea un archivo de registro y un archivo de informe. La ruta del informe es /var/log/lynis-report.dat . El informe de registro más granular, con información de prueba y registro de depuración, se encuentra en /var/log/lynis.log.
El archivo de registro de información se registra después de cada escaneo, mientras que la información para el archivo de informe solo se guarda después de que finaliza la auditoría.
La información que va en el archivo de registro:
- Información de auditoría: elementos de configuración encontrados, sugerencias de mejora y riesgos de seguridad.
- Resultado de la prueba (y otros): tipo de verificación y la razón para realizar una prueba.
- Información de depuración: solía investigar problemas o cómo funcionaba algo. Los detalles pueden incluir líneas de comando completas o información valiosa adicional para solucionar problemas.
Inspección de pruebas específicas a partir de advertencias y sugerencias
Ahora que ha generado un informe, el siguiente paso es buscar cómo resolver las vulnerabilidades que informa Lynis.
Cuando Lynis finaliza un escaneo, le proporciona una lista de resultados. Algunos de esos resultados pueden ser advertencias o sugerencias. Cada advertencia o sugerencia tiene una breve explicación y un enlace al grupo de control, donde puede encontrar más información sobre el mensaje y cómo corregir las advertencias.
Por ejemplo, la advertencia a continuación le indica que Lynis realizó un análisis del sistema y que debe reiniciar el host debido a una posible actualización del kernel. Verá que cada advertencia tiene una ID de prueba asociada. En este caso, el ID es KRL-5830 . Puede encontrar más información sobre la advertencia a través de su ID.
Profundicemos en una advertencia específica. Para hacer eso, ejecute el show details
Comando que proporciona la ID de prueba sobre la que desea obtener más información. El mismo KRL-5830 como antes, por ejemplo. El comando completo sigue.
sudo lynis show details KRNL-5830
Una vez que ejecute el show details
comando, Lynis proporcionará un registro detallado de lo que hizo y cómo apareció la advertencia, como se muestra a continuación.
Puede encontrar el ID de prueba para las sugerencias exactamente igual que con las advertencias.
Personalización de los perfiles de escaneo de Lynis
Para agrupar pruebas, permitiéndole habilitar o deshabilitar pruebas, definir el alcance de las pruebas y más, Lynis tiene perfiles de escaneo almacenados en /etc/lynis directorio. Los perfiles de escaneo tienen varias configuraciones, lo que proporciona una forma práctica de administrar pruebas similares de forma masiva en lugar de preocuparse por administrarlas una por una.
Lynis solo viene con un perfil de escaneo llamado default
por defecto, como puede ver ejecutando el show profiles
dominio. El perfil predeterminado es lo más genérico posible.
sudo lynis show profiles
Si prefiere no ejecutar todas las pruebas, modificar la salida de alguna manera o cambiar el comportamiento de alguna manera, puede crear o editar perfiles. Por ejemplo, abra /etc/lynis/default.prf escanee el perfil en su editor favorito. Puede ver a continuación el contenido del predeterminado escanear perfil.
Puede modificar el perfil de escaneo predeterminado o crear uno propio. Por ejemplo, tal vez tenga algunas pruebas que le gustaría omitir. Puede decirle a Lynis qué pruebas omitir configurando el skip-test
atributo en un perfil de escaneo.
Para crear un perfil personalizado, copie el default.prf escanear perfil y llamarlo algo específico como custom.prf . Abra el perfil de escaneo en un editor de texto y agregue los siguientes atributos. Lynis siempre omitirá las dos pruebas cuyas ID especifique a continuación cuando invoque este perfil de análisis.
# Skip checking password set for single mode.
skip-test=AUTH-9308
# Skip checking the PKGS-7392 package.
skip-test=PKGS-7392
Puedes tener tantos perfiles personalizados como quieras. Pero solo se puede ejecutar un perfil personalizado a la vez.
Crear un perfil personalizado
Es posible que desee personalizar sus pruebas de Lynis y, para hacerlo, puede crear un perfil personalizado. Para aprender cómo, siga a continuación.
1. Cree un personalizado.prf archivo en el /etc/lynis/ directorio usando el nano
editor.
sudo nano /etc/lynis/custom.prf
2. Rellene el archivo custom.prf. En este ejemplo, intentará omitir dos advertencias:AUTH-9308 y PKGS-7392.
Para omitir las pruebas, agregue el siguiente contenido al archivo.
# Skip checking password set for single mode.
skip-test=AUTH-9308
# Skip checking the PKGS-7392 package.
skip-test=PKGS-7392
3. Guarde y salga del archivo presionando Ctrl + O luego Ctrl + X cuando termine. La próxima vez que ejecute una verificación de auditoría de Lynis, omitirá la identificación de prueba especificada, como se muestra a continuación.
sudo lynis audit system
Como puede ver, las dos advertencias anteriores se han ido.
Interpretación del índice de endurecimiento de Lynis
Cuando finaliza un escaneo, Lynis le proporcionará un resumen. En ese resumen, encontrará una métrica interesante llamada Índice de endurecimiento . El índice de endurecimiento es un número que se calcula en función de la amenaza general para el host analizado según el análisis más reciente.
El índice de endurecimiento le da una indicación de qué tan seguro es su sistema. Si, por ejemplo, su sistema tiene más vulnerabilidades críticas de lo normal, el índice será más bajo. Cuando solucione advertencias o implemente sugerencias, este índice de endurecimiento aumentará en consecuencia.
El siguiente resultado le indica la cantidad de pruebas realizadas por Lynis y los valores del índice de endurecimiento encontrados al ejecutar esta herramienta de auditoría. El número 239 significa que realizó 239 pruebas, y el puntaje es un 60% del camino para ser endurecido.
Conclusión
A estas alturas, debería tener un conocimiento sólido de la herramienta de exploración de vulnerabilidades de Lynis y cómo le ayuda a mantener sus hosts seguros. Con Lynis, ahora puede escanear periódicamente sus sistemas en busca de las últimas vulnerabilidades y mantener sus hosts seguros.
Si siguió este tutorial, ¿está satisfecho con el índice de endurecimiento que obtuvo? ¿Qué cambios vas a hacer para mejorarlo?