
Monitor leggero per attacchi web. Un singolo binario Go + SQLite. Non è OSSEC, non è un WAF.
Un monitor di attacchi web. Si affianca a nginx / Caddy / l'app, segue i log di accesso e ti avvisa quando un sito viene sondato o sfruttato. Se questo processo muore, il sito continua a servire.
Non è Wazuh, non è OSSEC e non è un WAF.
Il comando è gpewebdefender. Host, token, pin sulla mappa, GeoIP e percorsi dei log sono flag o file env — nulla relativo a una specifica azienda o server è compilato dentro.
Se non l'hai mai eseguito: leggi questo file dall'inizio alla fine una volta, poi segui il Metodo A o il Metodo B. Non saltare "Scegli una forma".
Quadro completo: dochub/index.html o /docs/ su un manager in esecuzione. Inizia da 03 · Install & run.
Dashboard live da una macchina reale di un operatore. I tuoi nomi e pin saranno quelli che configuri.
Un colpo parte solo quando si verifica un alert — dal paese dell'attaccante all'host colpito — poi svanisce. Gli host restano sulla placca. Il feed sono gli stessi eventi, numerati.

Clicca una riga. Placca del paese, marchio del tipo di attacco e il server colpito, più i soliti campi (regola, MITRE, evidenza). Nessuna traccia permanente.

Reports → Insight. Gli stessi alert, suddivisi. 1h / 24h / 7d è un orologio reale. Clicca una barra o una scheda host per cercare. CSV / JSON / Copy esportano quella finestra (cookie di sessione, nessun token di ingest nel file).





FTS5 sul manager. Parola chiave, IP, host, tipo. Più recenti per primi (clicca When per invertire). Niente Elasticsearch.


Status è su richiesta. Clicca Check now (o Check all paired hosts) quando vuoi load, memoria e disco. Il manager risponde immediatamente. Un sensore accoppiato risponde al suo successivo polling dei comandi (pochi secondi). I grafici sono gli snapshot che tu hai richiesto — nulla viene raccolto in background. L'accoppiamento è lo stesso flusso del blocco (DocHub 20 / 21).
| Hai | Installa |
|---|---|
| Un laptop e curiosità | gpewebdefender demo — attacchi finti, non il tuo sito |
| Una macchina Linux che già scrive un access log | All-in-one — il manager segue quel log. Nessun agent. |
| Una piccola macchina extra + uno o più web server | Split — manager sulla macchina extra, un agent per ogni host web (o SSH) |
Non aprire la porta 8787 su internet. L'ascolto predefinito è 127.0.0.1:8787. Usa un tunnel SSH finché non metti HTTPS + un login davanti.
go build -o gpewebdefender.exe .\cmd\gpewebdefender
gpewebdefender.exe demo
Linux:
go build -o gpewebdefender ./cmd/gpewebdefender
./gpewebdefender demo
Apri http://127.0.0.1:8787
Quelle immagini della mappa sono inventate. Vedi DocHub 04 prima di trattare una dashboard come realtà.
Da questo repo, come root. Compila prima un binario Linux se sei su Windows:
$env:GOOS="linux"; $env:GOARCH="amd64"; $env:CGO_ENABLED="0"
go build -o gpewebdefender-linux-amd64 .\cmd\gpewebdefender
All-in-one (questa macchina ha l'access log):
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 (prima il monitor, poi ogni macchina web):
# sul monitor
sudo ./deploy/install-manager.sh --home 40.7,-74.0
# su una macchina 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
Sostituisci MONITOR, web-1 e il percorso del log con i tuoi valori.
Opzionale in seguito — quell'host può ricevere ordini di blocco: Settings → Paired hosts → frase + codice, poi aggiungi --code ABCD-2341 --block fail2ban a install-agent.sh. DocHub 20.
Poi dal tuo laptop:
ssh -L 8787:127.0.0.1:8787 user@THEBOX
Apri http://127.0.0.1:8787/login e crea il primo admin (una persona). Quello non è il token di ingest.
/usr/local/bin/gpewebdefender e chmod +x.useradd --system --home /var/lib/gpewebdefender --shell /usr/sbin/nologin gpewebdefenderrules/ e dochub/ in /var/lib/gpewebdefender/.deploy/env.example in /etc/gpewebdefender/env. Metti un GWD_TOKEN lungo e casuale. Modalità 640.deploy/gpewebdefender.service.example in systemd. Modifica home / tail se necessario.systemctl daemon-reload && systemctl enable --now gpewebdefenderdeploy/gpewebdefender-agent.service.example con lo stesso token, un --name stabile e --tail / --journal.Gli esempi sono in deploy/.