βΈ servershield
$ ./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.
ββββββββββββββββββββββββββββββββββββββββββββ
βΈ LA UI
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.
ββββββββββββββββββββββββββββββββββββββββββββ
βΈ MΓDULOS DISPONIBLES
β 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
ββββββββββββββββββββββββββββββββββββββββββββ
βΈ USO BΓSICO
# 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.
ββββββββββββββββββββββββββββββββββββββββββββ
βΈ CONTEXTO DE USO
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+).
ββββββββββββββββββββββββββββββββββββββββββββ
βΈ STACK TΓCNICO
β 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
ββββββββββββββββββββββββββββββββββββββββββββ
βΈ REPO
βββΈ 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.
$ exit 0













