Sobre el proyecto
Linux Hardener es una herramienta integral de automatización de seguridad para sistemas Linux, escrita en Rust. Escanea los hosts en busca de configuraciones de seguridad incorrectas, aplica correcciones de endurecimiento y admite una reversión completa mediante puntos de control firmados. Cada cambio se captura en una instantánea antes de realizarse, de modo que `hardener rollback` restaura el host a su estado anterior.
La herramienta se distribuye como un binario CLI único y una aplicación de escritorio construida con Tauri y un frontend Leptos/WASM. Ocho complementos de endurecimiento cubren parámetros del kernel, configuración de SSH, reglas de firewall, autenticación PAM, minimización de servicios, reglas de auditoría, permisos de archivos y sistemas MAC (SELinux/AppArmor). Los hallazgos se mapean a diez marcos de cumplimiento: CIS, STIG, NIST 800-53, PCI-DSS, HIPAA, GDPR, ISO/IEC 27001:2022, SOC 2, NIST SP 800-171 Rev 3 y FedRAMP. Los controles que el motor no puede evaluar se informan como pendientes de revisión manual, en lugar de asumir que pasan.
El soporte de distribuciones se basa en familias, e incluye Debian, Ubuntu, Fedora, RHEL, Arch Linux y openSUSE. La herramienta lee tanto las capas `/etc` como `/usr/etc` en openSUSE, y maneja la configuración drop-in de SSH para preservar las líneas `Include` del proveedor. Una imagen Docker con base `FROM scratch` permite auditorías de solo lectura sin modificar el host.
Las características clave incluyen: reversión basada en puntos de control con almacenamiento SQLite firmado con Ed25519, un registro de auditoría encadenado por hash, excepciones de políticas con fechas de caducidad, exclusiones de alcance para controles no aplicables, escaneo programado mediante demonio o temporizador systemd, y operaciones de flota sobre SSH con escaneo y aplicación por lotes concurrentes. La aplicación de escritorio proporciona un panel con puntuaciones de seguridad, vistas de cumplimiento por marco, hallazgos agrupados por severidad y una interfaz de aplicación de flota con vista previa por etapas.
La configuración se carga desde cuatro fuentes en orden: `/etc/linux-hardener/config.toml`, configuración de usuario (omitida bajo root), la bandera `--config` y variables de entorno `HARDENER_*`. La herramienta distingue entre `scan` (solo lectura, sin necesidad de root), `apply --dry-run` (previsualizar cambios) y `apply` (ejecutar cambios). Las operaciones por lotes usan dry-run por defecto y requieren `--execute` para realizar cambios.
El proyecto incluye 2343 pruebas que pasan, una suite de distribución cruzada que aplica y revierte en seis contenedores arrancados, y una suite diferencial que compara hosts antes y después de aplicar mediante un oráculo independiente. El código se organiza en crates de dominio para complementos, cumplimiento, programador, núcleo, estado y detección de distribución, con crates de base compartidos para utilidades comunes y tipos seguros para WASM.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.