Monitor leve de ataques web. Um binário Go + SQLite. Não é OSSEC, nem um WAF.
Um monitor de ataques web. Ele fica ao lado do nginx / Caddy / da aplicação, acompanha os logs de acesso e avisa quando um site está a ser sondado ou explorado. Se este processo morrer, o site continua a servir.
Não é Wazuh, não é OSSEC e não é um WAF.
O comando é gpewebdefender. Hosts, tokens, pins do mapa, GeoIP e caminhos de log são flags ou ficheiros env — nada sobre uma empresa ou servidor específico está compilado.
Se nunca executou isto: leia este ficheiro de cima a baixo uma vez, depois faça o Método A ou o Método B. Não salte "Escolha uma forma."
Visão completa: dochub/index.html ou /docs/ num manager em execução. Comece em 03 · Install & run.
Dashboard em direto de uma máquina real de operador. Os seus nomes e pins serão o que configurar.
Um disparo só acontece quando ocorre um alerta — país do atacante para o host atingido — depois desaparece. Os hosts ficam no painel. O feed são os mesmos eventos, numerados.

Clique numa linha. Placa do país, marca do tipo de ataque e o servidor atingido, mais os campos habituais (regra, MITRE, evidência). Sem rastos permanentes.

Reports → Insight. Os mesmos alertas, decompostos. 1h / 24h / 7d é um relógio real. Clique numa barra ou cartão de host para Pesquisar. CSV / JSON / Copy exporta essa janela (cookie de sessão, sem token de ingestão no ficheiro).





FTS5 no manager. Palavra-chave, IP, host, tipo. Mais recentes primeiro (clique em When para inverter). Sem Elasticsearch.


Status é a pedido. Clique em Check now (ou Check all paired hosts) quando quiser carga, memória e disco. O manager responde imediatamente. Um sensor emparelhado responde no seu próximo poll de comandos (alguns segundos). Os gráficos são os snapshots que você pediu — nada é recolhido em segundo plano. O emparelhamento é o mesmo fluxo do block (DocHub 20 / 21).
| Tem | Instalação |
|---|---|
| Um portátil e curiosidade | gpewebdefender demo — ataques falsos, não o seu site |
| Uma máquina Linux que já escreve um log de acesso | All-in-one — o manager acompanha esse log. Sem agente. |
| Uma pequena máquina extra + um ou mais servidores web | Split — manager na máquina extra, um agente por host web (ou SSH) |
Não abra a porta 8787 para a internet. A escuta predefinida é 127.0.0.1:8787. Use um túnel SSH até colocar HTTPS + um login à frente.
go build -o gpewebdefender.exe .\cmd\gpewebdefender
gpewebdefender.exe demo
Linux:
go build -o gpewebdefender ./cmd/gpewebdefender
./gpewebdefender demo
Abra http://127.0.0.1:8787
Essas imagens do mapa são inventadas. Veja o DocHub 04 antes de tratar um dashboard como realidade.
A partir deste repositório, como root. Compile primeiro um binário Linux se estiver no Windows:
$env:GOOS="linux"; $env:GOARCH="amd64"; $env:CGO_ENABLED="0"
go build -o gpewebdefender-linux-amd64 .\cmd\gpewebdefender
All-in-one (esta máquina tem o log de acesso):
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 (monitor primeiro, depois cada máquina web):
# no monitor
sudo ./deploy/install-manager.sh --home 40.7,-74.0
# numa máquina 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
Substitua MONITOR, web-1 e o caminho do log pelos seus valores.
Opcional mais tarde — esse host pode receber ordens de block: Settings → Paired hosts → frase + código, depois adicione --code ABCD-2341 --block fail2ban ao install-agent.sh. DocHub 20.
Depois, a partir do seu portátil:
ssh -L 8787:127.0.0.1:8787 user@THEBOX
Abra http://127.0.0.1:8787/login e crie o primeiro admin (uma pessoa). Esse não é o token de ingestão.
/usr/local/bin/gpewebdefender e chmod +x.useradd --system --home /var/lib/gpewebdefender --shell /usr/sbin/nologin gpewebdefenderrules/ e dochub/ para /var/lib/gpewebdefender/.deploy/env.example para /etc/gpewebdefender/env. Coloque um GWD_TOKEN longo e aleatório. Modo 640.deploy/gpewebdefender.service.example para o systemd. Edite home / tail se necessário.systemctl daemon-reload && systemctl enable --now gpewebdefenderdeploy/gpewebdefender-agent.service.example com o mesmo token, um --name estável e --tail / --journal.Os exemplos estão em deploy/.