{ "meta": { "title": "Lynis | Documentación de ProxMenux", "description": "Instala Lynis desde el repositorio oficial CISOfy de GitHub, ejecuta una auditoría con puntuación de refuerzo de 0 a 100 y actualiza mediante git pull. Auditor de solo lectura: no modifica el sistema.", "ogTitle": "Lynis | Documentación de ProxMenux", "ogDescription": "Instala y ejecuta el auditor de seguridad Lynis en Proxmox VE. Instalación desde el repositorio original GitHub, auditoría y actualización." }, "header": { "title": "Lynis", "description": "Clona el último Lynis del repositorio oficial CISOfy en GitHub, lo expone como /usr/local/bin/lynis y ofrece auditoría, actualización, reinstalación y desinstalación desde el menú. El auditor es de solo lectura: informa sin modificar el sistema.", "section": "Seguridad" }, "intro": { "title": "Qué hace", "body": "Instala Lynis, el auditor de código abierto de CISOfy, desde su repositorio GitHub en /opt/lynis y crea un script lanzador en /usr/local/bin/lynis para incluirlo en PATH. Si detecta una instalación existente al abrirlo, muestra un menú de auditoría, actualización, reinstalación o eliminación." }, "manageMenu": { "heading": "Menú de gestión (tras instalar)", "intro": "Una vez instalado Lynis, cada invocación posterior abre el menú de gestión en lugar de volver a ejecutar el instalador. Desde aquí lanzas una auditoría, actualizas vía git pull, reinstalas o desinstalas:", "imageAlt": "Menú de gestión de Lynis con opciones de auditoría, actualizar, reinstalar y eliminar" }, "whyUpstream": { "heading": "Por qué el repositorio oficial de GitHub y no apt", "intro": "Debian distribuye Lynis mediante apt, pero el paquete suele ir varias versiones principales por detrás del proyecto original. GitHub recibe antes los controles, correcciones de nuevos vectores de ataque y mejoras de las recomendaciones. Lynis es un script de shell autocontenido, sin compilación ni dependencias de instalación aparte de git; por eso clonar el repositorio es el método recomendado por CISOfy.", "headerSource": "Origen", "headerPath": "Install path", "headerUpdate": "Método de actualización", "headerFresh": "Actualidad de la versión", "rows": [ { "sourceRich": "ProxMenux (este script)", "path": "/opt/lynis/", "update": "git pull (desde el menú)", "fresh": "Última versión del proyecto original" }, { "sourceRich": "Debian apt", "path": "/usr/bin/lynis", "update": "apt upgrade", "fresh": "A menudo meses / años por detrás" } ] }, "install": { "heading": "Cómo funciona la instalación", "node1Label": "github.com/CISOfy/lynis", "node1Detail": "git clone\n(instala git primero si falta)", "node2Label": "/opt/lynis/", "node2Detail": "repo completo\nincluyendo script ./lynis", "node3Label": "/usr/local/bin/lynis", "node3Detail": "wrapper:\ncd /opt/lynis && ./lynis $@", "outro": "El wrapper es obligatorio — Lynis insiste en ejecutarse desde su propio directorio porque carga rutas relativas para plugins y datos de perfil. El wrapper oculta ese detalle para que lynis audit system simplemente funcione desde cualquier sitio." }, "detection": { "heading": "Rutas de detección", "intro": "Antes de mostrar el menú, el script comprueba tres ubicaciones para decidir si Lynis ya está presente:", "items": [ "/usr/local/bin/lynis — wrapper instalado por ProxMenux", "/opt/lynis/lynis — ruta directa (por si el wrapper se eliminó)", "/usr/bin/lynis — versión instalada por apt, si el usuario la instaló así anteriormente" ], "outro": "Si encuentra cualquiera de estas rutas, abre el menú de gestión. El script no desinstala Lynis instalado por apt; solo el que gestiona en /opt/lynis y su lanzador." }, "audit": { "heading": "Ejecutar una auditoría", "intro": "En el menú de gestión, elige Ejecutar auditoría de seguridad ahora. Equivale a ejecutar:", "code": "lynis audit system --no-colors", "outro": "La auditoría tarda de 30 segundos a varios minutos según el tamaño del host. La salida se muestra directamente en el terminal, sin indicador giratorio. Lynis organiza los controles por categoría y marca cada prueba como [ OK ], [ WARNING ] o [ SUGGESTION ]. El resumen final muestra las cifras principales:", "summary": "================================================================================\n\n Lynis security scan details:\n\n Hardening index : 76 [############ ]\n Tests performed : 247\n Plugins enabled : 0\n\n Components:\n - Firewall [V]\n - Malware scanner [X]\n\n Lynis modules:\n - Compliance status [?]\n - Security audit [V]\n - Vulnerability scan [V]\n\n================================================================================" }, "report": { "heading": "Leer el informe", "intro": "Las dos secciones importantes son Warnings (cosas que deberías arreglar pronto) y Suggestions (recomendaciones para mejorar el hardening). Cada item lleva un ID de control como SSH-7408 — útil al buscar en la documentación de Lynis la justificación y el arreglo.", "headerMarker": "Marcador", "headerMeaning": "Significado", "headerAction": "Acción", "rows": [ { "markerRich": "OK", "meaning": "Test superado", "action": "Nada" }, { "markerRich": "WARNING", "meaning": "Problema real, se recomienda arreglarlo", "action": "Lee la descripción del control, planea un arreglo" }, { "markerRich": "SUGGESTION", "meaning": "Mejora de hardening disponible", "action": "Aplica si encaja en tu modelo de amenazas" } ], "outro": "El informe completo y los datos legibles por máquina se escriben en /var/log/lynis.log y /var/log/lynis-report.dat por el propio Lynis." }, "pairFail2ban": { "title": "Combina con Fail2Ban", "body": "SSH-7408 (MaxAuthTries) es uno de los warnings más comunes. Instalar Fail2Ban desde ProxMenux lo limpia automáticamente porque el instalador establece MaxAuthTries=3 como parte de su paso de hardening de SSH. Vuelve a ejecutar Lynis después para confirmar que el warning ha desaparecido." }, "update": { "heading": "Actualizar Lynis", "body": "En el menú, Actualizar Lynis a la última versión ejecuta git pull --quiet en /opt/lynis. Si el directorio existe pero no es una copia Git (por ejemplo, se copiaron archivos manualmente), el script reinstala por completo." }, "reinstall": { "heading": "Reinstalar / desinstalar", "headerAction": "Acción", "headerWhat": "Qué hace", "rows": [ { "actionRich": "Reinstalar", "whatRich": "Elimina /opt/lynis, clona de nuevo desde GitHub y recrea el lanzador. Úsalo si la copia local está dañada." }, { "actionRich": "Eliminar", "whatRich": "Borra /opt/lynis y /usr/local/bin/lynis. Los logs en /var/log/lynis* se mantienen (son historial de auditoría). Un Lynis instalado por apt en /usr/bin/lynis se deja sin tocar." } ] }, "cli": { "heading": "Opciones CLI útiles", "intro": "Una vez instalado, Lynis se puede invocar directamente desde un shell con opciones extra no expuestas por el menú:", "code": "lynis show version # version + build date\nlynis show commands # list every available command\nlynis show details TEST-ID # explain a specific control\nlynis audit system --quick # skip slow tests (e.g. malware scan)\nlynis audit system --pentest # treat host as untrusted (more aggressive)\nlynis update info # check if a newer Lynis is available\n\n# Filter the report log for just the warnings\ngrep \"Warning\" /var/log/lynis.log\n\n# Same, for suggestions only\ngrep \"Suggestion\" /var/log/lynis.log" }, "troubleshoot": { "heading": "Solución de problemas", "cloneTitle": "git clone falla durante la instalación", "cloneBody": "El host necesita acceso a red y DNS para alcanzar github.com. Desde una consola: curl -sI https://github.com y git ls-remote https://github.com/CISOfy/lynis.git revelarán el error real (DNS, TLS, proxy, URL del repo). Si se requiere un proxy, establece https_proxy en el entorno antes de volver a ejecutar el menú.", "notFoundTitle": "lynis: command not found tras la instalación", "notFoundIntro": "El wrapper en /usr/local/bin/lynis no se creó o se eliminó. Arreglo más rápido: reinstalar desde el menú. Arreglo manual:", "notFoundCode": "cat > /usr/local/bin/lynis <<'EOF'\n#!/bin/bash\ncd /opt/lynis && ./lynis \"$@\"\nEOF\nchmod +x /usr/local/bin/lynis", "sshTitle": "La auditoría muestra \"Warning: Test SSH-7408 — MaxAuthTries set incorrectly\"", "sshIntro": "El demonio SSH permite demasiados intentos de autenticación por conexión. O bien instala Fail2Ban desde ProxMenux (que establece MaxAuthTries=3 automáticamente) o edita /etc/ssh/sshd_config a mano:", "sshCode": "sed -i 's/^#?MaxAuthTries.*/MaxAuthTries 3/' /etc/ssh/sshd_config\nsystemctl reload sshd", "scoreTitle": "La puntuación bajó tras una actualización de Proxmox", "scoreBody": "Ejecuta lynis update info primero — una actualización de Lynis puede haber añadido controles nuevos que marcan configuración existente. Actualiza Lynis desde el menú, vuelve a auditar y atiende los nuevos hallazgos." }, "files": { "heading": "Archivos escritos", "code": "/opt/lynis/ # full Lynis git checkout\n/usr/local/bin/lynis # wrapper script (cd + exec)\n/var/log/lynis.log # human-readable audit log (Lynis itself)\n/var/log/lynis-report.dat # machine-readable report (Lynis itself)" }, "sample": { "heading": "Informe de ejemplo", "intro": "ProxMenux Monitor genera un PDF de varias páginas para cada ejecución de Lynis desde la pestaña Seguridad. La primera página resume puntuación de refuerzo, información del sistema y estado de seguridad. Las siguientes detallan cada advertencia, las sugerencias ordenadas por impacto y el inventario de paquetes utilizado en la auditoría.", "imageAlt": "Primera página del PDF del Lynis Security Audit Report — resumen ejecutivo con Hardening Index 71/100, bloque de información del sistema y vista general de la postura de seguridad con firewall, escáner de malware y recuento de paquetes instalados", "captionPrefix": "Primera página de un informe de ejemplo. El PDF completo (", "captionLink": "ejemplo", "captionSuffix": ") continúa con warnings detallados, sugerencias y la lista de paquetes instalados.", "cli": "En el lado CLI los mismos datos están en /var/log/lynis-report.dat (archivo plano legible por máquina) y /var/log/lynis.log (log de ejecución legible por humanos). El PDF lo genera bajo demanda ProxMenux Monitor — ejecutar lynis desde la línea de comandos no produce uno." }, "related": { "heading": "Relacionado", "items": [ { "href": "/docs/monitor/dashboard/security", "label": "ProxMenux Monitor → pestaña de Seguridad", "tail": " — ejecuta la auditoría, navega informes históricos y descarga el PDF directo desde el panel." }, { "href": "/docs/security/fail2ban", "label": "Fail2Ban", "tailRich": " — implementa la protección contra fuerza bruta SSH que Lynis recomienda." }, { "href": "/docs/security", "label": "Resumen de Seguridad", "tail": " — volver al resumen de la sección." } ] } }