$ ./post --new --project servershield
▸ SERVERSHIELD // Linux Hardening Toolkit
Hardening de servidores Linux suele significar abrir 5 terminales, hacer SSH a cada server, correr lynis audit system en uno, ufw status en otro, cscli decisions list en otro, revisar /var/log/auth.log y armar un mapa mental de "cómo está parada la seguridad" entre los servers.
Quería una sola interfaz donde ver todo eso de una. Hardening, CVEs activos, alertas de IDS, estado de firewall, y poder gestionar múltiples servidores remotos sin saltar entre terminales. Así nació ServerShield.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Antes que nada — sí, la interfaz fue pensada para verse como esto:
Login con ASCII art animado, paneles dark cyberpunk, verde fosforescente sobre negro. El estilo no es solo decorativo: todo el toolkit es para usarse en consola/servers, así que la coherencia visual con la estética terminal hace que se sienta como una herramienta de pentester/sysadmin real, no como una webapp más.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ DASHBOARD — UNA SOLA VISTA
El dashboard muestra todo lo que normalmente verías en 5 comandos separados:
│ Sistema — CPU, RAM, disco, uptime, procesos activos, kernel, hostname, IP
│ Módulos de seguridad — estado de cada uno (CVE / CrowdSec IDS / Firewall / Usuarios / Puertos)
│ Actividad del terminal — log en vivo de las acciones del toolkit
└─▸ Alertas visuales — badges rojos cuando hay algo a revisar (CVE críticos, usuarios sospechosos, etc.)
Cada módulo es clickeable y abre su vista detallada con los datos crudos y los comandos sugeridos.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ LO QUE MÁS ME GUSTA — MÓDULOS CLAVE
│ CrowdSec IDS integrado — la primera versión solo mostraba ufw/fail2ban. Sumar CrowdSec fue un paso grande: permite ver IPs banneadas en tiempo real, alertas activas, bouncers, hub collections. Es el módulo de detección más serio del toolkit.
│ Fail2ban + UFW visualizados — los clásicos de cualquier server bien parado, pero en vez de leer logs a mano se ven en cards con conteos, jails activos, IPs banneadas. Útil cuando estás monitoreando varios servers a la vez.
└─▸ Conexión remota por SSH a otros servidores — esto fue lo más entretenido de implementar. Desde la misma interfaz, podés agregar N servers remotos (con clave SSH o password), ServerShield se conecta vía paramiko, corre los chequeos y trae las métricas. Hardening score, puertos, servicios, todo desde un solo punto.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
│ Estado Servidor servicios systemd, top procesos, interfaces de red
│ CVE / Vulnerabs. integración con NVD API (NIST), paquetes críticos, Lynis
│ CrowdSec IDS IPs banneadas, alertas, bouncers, hub collections
│ Seguridad / FW hardening score, UFW, SSH, sysctl, AppArmor/SELinux
│ Usuarios / Root sudo, UID 0, /etc/shadow, grupos críticos, lastlog
│ Puertos / Red clasificación de riesgo, exposición pública, reglas FW
└─▸ Servidores Remotos dashboard multi-server vía SSH
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Clonar e instalar
git clone https://github.com/N1x-afl/servershield.git
cd servershield && python3 -m venv venv
source venv/bin/activate && pip install -r requirements.txt
# Lanzar (con privilegios completos para análisis del sistema)
sudo venv/bin/python3 app.py
# Acceder desde el navegador
http://localhost:5000
Para producción, viene preparado para correr como servicio systemd con arranque automático. El README tiene el unit file listo para copiar.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Actualmente lo uso a nivel personal en mi red interna — monitoreo de servers del home lab y aprendizaje sobre hardening en serio. Todavía no está desplegado en entornos corporativos, pero la arquitectura (multi-server SSH, módulos independientes, auth por usuario/rol con admin/auditor) está pensada para escalar a ese escenario cuando esté listo.
Disponible solo para Linux por ahora (probado en Zorin OS, Ubuntu 20.04+, Debian 11+).
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
│ backend Python 3.8+ · Flask 3.x
│ SSH remoto Paramiko (auth por clave o password)
│ datos NVD API (NIST) para CVE, Lynis para auditing
│ deploy systemd service · nginx reverse proxy (opcional)
└─▸ licencia MIT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
└─▸ github.com/N1x-afl/servershield · MIT · contribuciones bienvenidas
Si lo probás en tu lab o pensás integrarlo, una ⭐ en el repo se aprecia. Bugs y feature requests en Issues — algunas que ya están en la lista: alertas por email/Telegram, gráficos históricos de CPU/RAM, 2FA, export PDF.