Lynis: herramienta de seguridad para auditoría y refuerzo de sistemas Linux
Lynis es una herramienta de seguridad para auditar y fortalecer los sistemas Linux / Unix. Esta herramienta escanea nuestros sistemas, realiza algunas pruebas y recopila información al respecto. Lynis proporcionará un informe con sugerencias y advertencias relacionadas con la seguridad para aumentar la seguridad del sistema.
Lynis es compatible con muchos sistemas operativos, como:
- AIX
- Arch Linux
- BackTrack Linux
- CentOS
- Debian, DragonFlyBSD
- Fedora Core, FreeBSD
- Gentoo
- HPUX
- Kali, Knoppix
- Linux Mint
- MacOS X, Mageia, Mandriva
- NetBSD
- OpenBSD, OpenSolaris, openSUSE, Oracle Linux
- PcBSD, PCLinuxOS
- Hat Enterprise Linux (RHEL) y derivados
- Sabayon, Scientific Linux, Slackware, Solaris 10, SuSE
- TrueOS
- Ubuntu y derivados
Lynis también puede realizar auditorías para software como:
- Servidores de base de datos: MySQL, Oracle, PostgreSQL
- Demonios de tiempo: dntpd, ntpd, timed
- Servidores web: Apache, Nginx
Instalación
Puede instalar Lynis de dos métodos.
Método 1: instalar desde el paquete
Ambos métodos son igualmente sencillos. Lynis está disponible en .debutante y .rpm paquete. Entonces podemos instalarlo desde su repositorio de Linux.
En Debian / Ubuntu y sus derivados
$ sudo apt-get install lynis
En RedHat / CentOS y Fedora
$ yum install lynis
Una vez instalado Lynis, puede ejecutarlo escribiendo Lynis desde su consola.
Por favor informa eso Lynis necesitará privilegios de root (o igual) para ejecutar.
Método 2: instalar desde la fuente
Con este método, necesitaremos descargar la fuente manualmente. Puedes ir a Lynis página de descarga para descargar la fuente. En el momento en que se escribió el artículo, la última versión de Lynis es 1.3.8.
En realidad, no es necesario instalar Lynis. Simplemente descargue los archivos fuente, extráigalo y ejecútelo. Estos son los pasos:
Descarga la fuente. Puede usar wget para descargarlo.
$ wget http://cisofy.com/files/lynis-1.3.8.tar.gz
Extraelo
$ tar zxfv lynis-1.3.8.tar.gz
Vaya a la carpeta Lynis y ejecútelo
$ cd lynis-1.3.8 # ./lynis
Por favor informa eso Lynis necesitará un privilegio de root (o igual) para ejecutar.
Cómo ejecutar Lynis
Para ejecutarlo por primera vez, se recomienda utilizar -C opción. los -C La opción significa hacer todas las pruebas para verificar los sistemas. Si desea poner el nombre del Auditor, simplemente agregue –auditor parámetro allí.
Aquí hay algunos ejemplos de salida:
# lynis -c --auditor “Pungki Arianto”
Ejecute Lynis con pruebas personalizadas
Es posible que su sistema no necesite ejecutar todas las pruebas. Si su servidor no ejecuta un servidor web, no es necesario que lo pruebe. Para este propósito, podemos utilizar –pruebas parámetro. La sintaxis es:
# lynis --tests “Test-IDs”
Para la versión 1.3.8, hay más de 100 pruebas que podemos hacer. Aquí hay una lista de Lynis Tests-ID.
FILE-7502 (Check all system binaries) BOOT-5121 (Check for GRUB boot loader presence) BOOT-5124 (Check for FreeBSD boot loader presence) BOOT-5139 (Check for LILO boot loader presence) BOOT-5142 (Check SPARC Improved boot loader (SILO)) BOOT-5155 (Check for YABOOT boot loader configuration file) BOOT-5159 (Check for OpenBSD i386 boot loader presence) BOOT-5165 (Check for FreeBSD boot services) BOOT-5177 (Check for Linux boot and running services) BOOT-5180 (Check for Linux boot services (Debian style)) BOOT-5184 (Check permissions for boot files/scripts) BOOT-5202 (Check uptime of system) KRNL-5622 (Determine Linux default run level) KRNL-5677 (Check CPU options and support) KRNL-5695 (Determine Linux kernel version and release number) KRNL-5723 (Determining if Linux kernel is monolithic) KRNL-5726 (Checking Linux loaded kernel modules) KRNL-5728 (Checking Linux kernel config) KRNL-5745 (Checking FreeBSD loaded kernel modules) [04:57:04] Reason to skip: Test not in list of tests to perform KRNL-5770 (Checking active kernel modules) KRNL-5788 (Checking availability new kernel) KRNL-5820 (Checking core dumps configuration)
A continuación se muestra un comando de muestra para ejecutar Compruebe el tiempo de actividad del sistema y Comprobación de la configuración de los volcados de memoria pruebas. Si desea agregar más pruebas, simplemente agregue más Test-ID separados por espacio.
# ./lynis --tests “BOOT-5202 KRNL-5820”
Para obtener más ID de pruebas, puede encontrarlo dentro /var/log/lynis.log. Aquí hay un truco sobre cómo hacerlo.
1. Primero, necesitamos ejecutar lynis con el parámetro -c (check-all).
# ./lynis -c -Q
2. Entonces mira el interior /var/log/lynis.log expediente. Usa el comando cat y combínalo con grep. Supongamos que desea buscar Test-ID relacionado con Kernel. Utilice la palabra clave KRNL para encontrarlo.
# cat /var/log/lynis.log | grep KRNL
A continuación se muestran las palabras clave completas de Test-ID que están disponibles en Lynis.
BOOT KRNL (kernel) PROC (processor) AUTH (authentication) SHLL (shell) FILE STRG (storage) NAME (dns) PKGS (packaging) NETW (network) PRNT (printer) MAIL FIRE (firewall) HTTP (webserver) SSH SNMP DBS (database) PHP LDAP SQD (squid proxy) LOGG (logging) INSE (insecure services - inetd) SCHD (scheduling - cron job) ACCT (accounting) TIME (time protocol - NTP) CRYP (cryptography) VIRT (virtualization) MACF (AppArmor - SELINUX) MALW (malware) HOME HRDN (hardening)
Ejecutar lynis con categorías
Si cree que poner muchos ID de prueba es doloroso, puede usar – categoría de prueba parámetro. Con esta opción, Lynis ejecutará los ID de prueba que se incluyen dentro de una categoría específica. Por ejemplo, quieres correr Cortafuegos y Kernel pruebas. Entonces puedes hacer esto:
# ./lynis --tests-category “firewalls kernel”
Para ver una lista completa de las categorías disponibles, ejecute:
# ./lynis --view-categories
Ejecuta Lynis como Cronjob
Dado que la seguridad debe ser coherente, puede automatizar Lynis para que se ejecute periódicamente. Digamos que desea ejecutarlo todos los meses para ver si hay alguna mejora desde la última ejecución de Lynis.
Para hacer esto, podemos ejecutar Lynis como cronjob. Aquí hay un cronjob de muestra para ejecutarlo todos los meses.
#!/bin/sh AUDITOR="automated" 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
Guarde el script en /etc/cron.monthly/lynis. No olvide agregar rutas relacionadas (/ usr / local / lynis y / var / log / lynis), de lo contrario, el script no funcionará correctamente.
Compruebe la última versión de Lynis
Nosotros podemos usar –comprueba la actualización parámetro para hacer esto.
# lynis --check-update
Si está desactualizado, Lynis solo nos lo cuenta. Tenemos que descargar la actualización manualmente.
Una vez que instalemos la última actualización, veremos la información.
Conclusión
La seguridad debe ser coherente. Lynis puede recordarnos que seamos constantes. Lynis escaneará su sistema y le advertirá de cualquier agujero de seguridad. No olvide mantener Lynis siempre en la última versión para obtener más actualizaciones y más pruebas de rutina. Como de costumbre, siempre podemos escribir hombre lynis o lynis –view-manpage para mostrar la página del manual de Lynis y explorarla con más detalle. O si está conectado a Internet, también puede ir a Página de documentación de Lynis.