
Una herramienta para verificar las opciones de endurecimiento de seguridad del kernel de Linux.
(anteriormente kconfig-hardened-check)
Hay muchas opciones de endurecimiento de seguridad para el kernel de Linux. Muchas de ellas no están habilitadas por las principales distribuciones. Tenemos que habilitar estas opciones nosotros mismos para hacer nuestros sistemas más seguros.
Pero a nadie le gusta revisar configuraciones manualmente. ¡Así que dejemos que las computadoras hagan su trabajo!
kernel-hardening-checker (anteriormente kconfig-hardened-check) es una herramienta para verificar las opciones de endurecimiento de seguridad del kernel de Linux.
Licencia: GPL-3.0.
kernel-hardening-checker admite la verificación de:
Arquitecturas compatibles:
Las recomendaciones de endurecimiento de seguridad se basan en:
También creé el [Mapa de Defensa del Kernel de Linux][4], que es una representación gráfica de las relaciones entre las características de endurecimiento de seguridad y las clases de vulnerabilidad o técnicas de explotación correspondientes.
Tenga en cuenta que cambiar los parámetros de seguridad del kernel de Linux también puede afectar el rendimiento del sistema y la funcionalidad del software de espacio de usuario. Por lo tanto, al configurar estos parámetros, considere el modelo de amenaza de su sistema de información basado en Linux y pruebe minuciosamente su carga de trabajo típica.
Hay múltiples opciones:
Puede instalar el paquete desde este repositorio Git usando pip:
python3 -m pip install git+https://github.com/a13xp0p0v/kernel-hardening-checker
Si encuentra un error debido a un entorno administrado externamente, cree un entorno virtual usando python3 -m venv.
Puede instalar el paquete kernel-hardening-checker a través del administrador de paquetes en algunas distribuciones GNU/Linux. Consulte https://repology.org/project/kernel-hardening-checker/versions
Alternativamente, puede simplemente ejecutar ./bin/kernel-hardening-checker desde el repositorio clonado sin instalación.
$ ./bin/kernel-hardening-checker -h usage: kernel-hardening-checker [-h] [--version] [-m {verbose,json,show_ok,show_fail}] [-a] [-c CONFIG] [-v KERNEL_VERSION] [-l CMDLINE] [-s SYSCTL] [-p {X86_64,X86_32,ARM64,ARM,RISCV}] [-g {X86_64,X86_32,ARM64,ARM,RISCV}]
A tool for checking the security hardening options of the Linux kernel
options: -h, --help show this help message and exit --version show program's version number and exit -m, --mode {verbose,json,show_ok,show_fail} select a special output mode instead of the default one -a, --autodetect autodetect and check the security hardening options of the running kernel -c, --config CONFIG check the security hardening options in a Kconfig file (also supports *.gz files) -v, --kernel-version KERNEL_VERSION extract the kernel version from a version file (such as /proc/version) instead of using a Kconfig file -l, --cmdline CMDLINE check the security hardening options in a kernel command line file (such as /proc/cmdline) -s, --sysctl SYSCTL check the security hardening options in a sysctl output file (the result of "sudo sysctl -a > file") -p, --print {X86_64,X86_32,ARM64,ARM,RISCV} print security hardening recommendations for the selected architecture -g, --generate {X86_64,X86_32,ARM64,ARM,RISCV} generate a Kconfig fragment containing the security hardening options for the selected architecture
## Output modes
- sin argumento `-m` para el modo de salida predeterminado (consulte el ejemplo a continuación)
- `-m verbose` para imprimir información adicional:
- las opciones de configuración sin una verificación correspondiente
- los detalles internos de verificaciones complejas con AND/OR, como esto:
```
-------------------------------------------------------------------------------------------
<<< OR >>>
CONFIG_STRICT_DEVMEM |kconfig|cut_attack_surface|defconfig | y
CONFIG_DEVMEM |kconfig|cut_attack_surface| kspp | is not set
-------------------------------------------------------------------------------------------
```
- `-m json` para imprimir los resultados en formato JSON (para combinar `kernel-hardening-checker` con otras herramientas)
- `-m show_ok` para mostrar solo las verificaciones exitosas
- `-m show_fail` para mostrar solo las verificaciones fallidas