Moniteur léger d'attaques web. Un binaire Go + SQLite. Pas OSSEC, pas un WAF.
Un moniteur d'attaques web. Il se place à côté de nginx / Caddy / l'application, suit les logs d'accès et vous prévient lorsqu'un site est sondé ou exploité. Si ce processus meurt, le site continue de servir.
Ce n'est pas Wazuh, ni OSSEC, ni un WAF.
La commande est gpewebdefender. Les hôtes, jetons, épingles de carte, GeoIP et chemins de logs sont des flags ou des fichiers d'environnement — rien concernant une entreprise ou un serveur spécifique n'est compilé en dur.
Si vous ne l'avez jamais exécuté : lisez ce fichier du début à la fin une fois, puis faites la Méthode A ou la Méthode B. Ne sautez pas « Choisir une forme ».
Vue complète : dochub/index.html ou /docs/ sur un manager en cours d'exécution. Commencez par 03 · Install & run.
Tableau de bord en direct depuis une machine d'opérateur réelle. Vos noms et épingles seront ceux que vous configurez.
Un tir ne se déclenche que lorsqu'une alerte survient — du pays de l'attaquant vers l'hôte touché — puis il disparaît. Les hôtes restent sur la plaque. Le flux correspond aux mêmes événements, numérotés.

Cliquez sur une ligne. Plaque de pays, marque de type d'attaque et le serveur touché, plus les champs habituels (règle, MITRE, preuve). Aucune trace persistante.

Rapports → Insight. Les mêmes alertes, décomposées. 1h / 24h / 7d est une horloge réelle. Cliquez sur une barre ou une carte d'hôte pour Rechercher. CSV / JSON / Copy exporte cette fenêtre (cookie de session, aucun jeton d'ingestion dans le fichier).





FTS5 sur le manager. Mot-clé, IP, hôte, type. Plus récent en premier (cliquez sur When pour inverser). Pas d'Elasticsearch.


Status est à la demande. Cliquez sur Check now (ou Check all paired hosts) lorsque vous voulez la charge, la mémoire et le disque. Le manager répond immédiatement. Un capteur appairé répond à son prochain sondage de commande (quelques secondes). Les graphiques sont les instantanés que vous avez demandés — rien n'est collecté en arrière-plan. L'appairage suit le même flux que le blocage (DocHub 20 / 21).
| Vous avez | Installation |
|---|---|
| Un portable et de la curiosité | gpewebdefender demo — fausses attaques, pas votre site |
| Une machine Linux qui écrit déjà un log d'accès | Tout-en-un — le manager suit ce log. Pas d'agent. |
| Une petite machine supplémentaire + un ou plusieurs serveurs web | Séparé — manager sur la machine supplémentaire, un agent par hôte web (ou SSH) |
N'ouvrez pas le port 8787 sur Internet. L'écoute par défaut est 127.0.0.1:8787. Utilisez un tunnel SSH jusqu'à ce que vous mettiez HTTPS + un login devant.
go build -o gpewebdefender.exe .\cmd\gpewebdefender
gpewebdefender.exe demo
Linux :
go build -o gpewebdefender ./cmd/gpewebdefender
./gpewebdefender demo
Ouvrez http://127.0.0.1:8787
Ces captures de carte sont inventées. Consultez DocHub 04 avant de traiter un tableau de bord comme la réalité.
Depuis ce dépôt, en root. Compilez d'abord un binaire Linux si vous êtes sous Windows :
$env:GOOS="linux"; $env:GOARCH="amd64"; $env:CGO_ENABLED="0"
go build -o gpewebdefender-linux-amd64 .\cmd\gpewebdefender
Tout-en-un (cette machine a le log d'accès) :
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
Séparé (d'abord le moniteur, puis chaque machine web) :
# sur le moniteur
sudo ./deploy/install-manager.sh --home 40.7,-74.0
# sur une machine web / SSH
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
Remplacez MONITOR, web-1 et le chemin de log par vos valeurs.
Optionnel plus tard — cet hôte peut recevoir des ordres de blocage : Settings → Paired hosts → phrase + code, puis ajoutez --code ABCD-2341 --block fail2ban à install-agent.sh. DocHub 20.
Puis depuis votre portable :
ssh -L 8787:127.0.0.1:8787 user@THEBOX
Ouvrez http://127.0.0.1:8787/login et créez le premier admin (une personne). Ce n'est pas le jeton d'ingestion.
/usr/local/bin/gpewebdefender et chmod +x.useradd --system --home /var/lib/gpewebdefender --shell /usr/sbin/nologin gpewebdefenderrules/ et dochub/ dans /var/lib/gpewebdefender/.deploy/env.example vers /etc/gpewebdefender/env. Mettez un long GWD_TOKEN aléatoire. Mode 640.deploy/gpewebdefender.service.example vers systemd. Modifiez home / tail si nécessaire.systemctl daemon-reload && systemctl enable --now gpewebdefenderdeploy/gpewebdefender-agent.service.example avec le même jeton, un --name stable, et --tail / --journal.Les exemples se trouvent dans deploy/.