Monitor ligero de ataques web. Un binario Go + SQLite. No es OSSEC, no es un WAF.
Un monitor de ataques web. Se coloca junto a nginx / Caddy / la app, sigue los logs de acceso y te avisa cuando un sitio está siendo sondeado o explotado. Si este proceso muere, el sitio sigue sirviendo.
No es Wazuh, no es OSSEC y no es un WAF.
El comando es gpewebdefender. Los hosts, tokens, pines del mapa, GeoIP y rutas de logs son flags o archivos env — nada de una empresa o servidor específico está compilado dentro.
Si nunca has ejecutado esto: lee este archivo de arriba a abajo una vez, luego haz el Método A o el Método B. No te saltes "Elige una forma".
Imagen completa: dochub/index.html o /docs/ en un manager en ejecución. Empieza en 03 · Instalar y ejecutar.
Panel en vivo desde una caja de operador real. Tus nombres y pines serán los que configures.
Un disparo se produce solo cuando ocurre una alerta — país del atacante al host que fue golpeado — luego desaparece. Los hosts permanecen en la placa. El feed son los mismos eventos, numerados.

Haz clic en una fila. Placa de país, marca de tipo de ataque y el servidor que fue golpeado, más los campos habituales (regla, MITRE, evidencia). Sin rastros permanentes.

Informes → Insight. Las mismas alertas, desglosadas. 1h / 24h / 7d es un reloj real. Haz clic en una barra o tarjeta de host para Buscar. CSV / JSON / Copiar exporta esa ventana (cookie de sesión, sin token de ingesta en el archivo).





FTS5 en el manager. Palabra clave, IP, host, tipo. Más recientes primero (haz clic en When para invertir). Sin Elasticsearch.


Status es bajo demanda. Haz clic en Check now (o Check all paired hosts) cuando quieras carga, memoria y disco. El manager responde inmediatamente. Un sensor emparejado responde en su siguiente sondeo de comandos (unos segundos). Los gráficos son las instantáneas que tú pediste — nada se recolecta en segundo plano. El emparejamiento es el mismo flujo que block (DocHub 20 / 21).
| Tienes | Instalación |
|---|---|
| Un portátil y curiosidad | gpewebdefender demo — ataques falsos, no tu sitio |
| Una caja Linux que ya escribe un log de acceso | All-in-one — el manager sigue ese log. Sin agente. |
| Una pequeña caja extra + uno o más servidores web | Split — manager en la caja extra, un agente por host web (o SSH) |
No abras el puerto 8787 a internet. La escucha por defecto es 127.0.0.1:8787. Usa un túnel SSH hasta que pongas HTTPS + un login delante.
go build -o gpewebdefender.exe .\cmd\gpewebdefender
gpewebdefender.exe demo
Linux:
go build -o gpewebdefender ./cmd/gpewebdefender
./gpewebdefender demo
Abre http://127.0.0.1:8787
Esas capturas del mapa son inventadas. Consulta DocHub 04 antes de tratar un panel como realidad.
Desde este repo, como root. Compila primero un binario Linux si estás en Windows:
$env:GOOS="linux"; $env:GOARCH="amd64"; $env:CGO_ENABLED="0"
go build -o gpewebdefender-linux-amd64 .\cmd\gpewebdefender
All-in-one (esta caja tiene el log de acceso):
chmod +x deploy/install-manager.sh deploy/install-agent.sh
sudo ./deploy/install-manager.sh --all-in-one \
--tail /var/log/nginx/access.log \
--journal \
--home 40.7,-74.0
Split (primero el monitor, luego cada caja web):
# on the monitor
sudo ./deploy/install-manager.sh --home 40.7,-74.0
# on a web / SSH box
scp root@MONITOR:/usr/local/bin/gpewebdefender /usr/local/bin/gpewebdefender
scp root@MONITOR:/etc/gpewebdefender/env /etc/gpewebdefender/env
sudo ./deploy/install-agent.sh \
--url http://MONITOR:8787 \
--name web-1 \
--tail /var/log/nginx/access.log \
--journal
Reemplaza MONITOR, web-1 y la ruta del log con tus valores.
Opcional más adelante — ese host puede recibir órdenes de bloqueo: Settings → Paired hosts → frase + código, luego añade --code ABCD-2341 --block fail2ban a install-agent.sh. DocHub 20.
Luego desde tu portátil:
ssh -L 8787:127.0.0.1:8787 user@THEBOX
Abre http://127.0.0.1:8787/login y crea el primer admin (una persona). Ese no es el token de ingesta.
/usr/local/bin/gpewebdefender y chmod +x.useradd --system --home /var/lib/gpewebdefender --shell /usr/sbin/nologin gpewebdefenderrules/ y dochub/ a /var/lib/gpewebdefender/.deploy/env.example a /etc/gpewebdefender/env. Pon un GWD_TOKEN largo y aleatorio. Modo 640.deploy/gpewebdefender.service.example a systemd. Edita home / tail si es necesario.systemctl daemon-reload && systemctl enable --now gpewebdefenderdeploy/gpewebdefender-agent.service.example con el mismo token, un --name estable y --tail / --journal.Los ejemplos están en deploy/.