
Leichtgewichtiger Web-Angriffsmonitor. Eine Go-Binärdatei + SQLite. Kein OSSEC, kein WAF.
Ein Web-Angriffsmonitor. Er sitzt neben nginx / Caddy / der App, verfolgt Access-Logs und meldet, wenn eine Website sondiert oder ausgenutzt wird. Wenn dieser Prozess stirbt, liefert die Website weiter aus.
Es ist kein Wazuh, kein OSSEC und kein WAF.
Der Befehl lautet gpewebdefender. Hosts, Tokens, Karten-Pins, GeoIP und Log-Pfade sind Flags oder Env-Dateien — nichts über ein bestimmtes Unternehmen oder einen bestimmten Server ist einkompiliert.
Wenn du das noch nie ausgeführt hast: Lies diese Datei einmal von oben nach unten, dann führe Methode A oder Methode B aus. Überspringe nicht „Wähle eine Form“.
Vollständiges Bild: dochub/index.html oder /docs/ auf einem laufenden Manager. Beginne bei 03 · Install & run.
Live-Dashboard von einer echten Operator-Box. Deine Namen und Pins sind das, was du konfigurierst.
Ein Schuss wird nur abgefeuert, wenn ein Alarm auftritt — vom Angreiferland zum getroffenen Host — dann verschwindet er. Hosts bleiben auf der Platte. Der Feed sind dieselben Ereignisse, nummeriert.

Klicke auf eine Zeile. Länderplatte, Angriffstyp-Markierung und der getroffene Server, plus die üblichen Felder (Regel, MITRE, Beweise). Keine stehenden Spuren.

Reports → Insight. Dieselben Alarme, aufgeschlüsselt. 1h / 24h / 7d ist eine echte Uhr. Klicke auf einen Balken oder eine Host-Karte, um zu suchen. CSV / JSON / Copy exportiert dieses Fenster (Session-Cookie, kein Ingest-Token in der Datei).





FTS5 auf dem Manager. Stichwort, IP, Host, Art. Neueste zuerst (klicke auf When, um umzuschalten). Kein Elasticsearch.


Status ist auf Abruf. Klicke auf Check now (oder Check all paired hosts), wenn du Last, Speicher und Festplatte willst. Der Manager antwortet sofort. Ein gepaarter Sensor antwortet bei seiner nächsten Befehlsabfrage (ein paar Sekunden). Diagramme sind die Snapshots, die du angefordert hast — nichts wird im Hintergrund gescrapt. Das Pairing ist derselbe Ablauf wie bei Block (DocHub 20 / 21).
| Du hast | Installation |
|---|---|
| Einen Laptop und Neugier | gpewebdefender demo — gefälschte Angriffe, nicht deine Website |
| Eine Linux-Box, die bereits ein Access-Log schreibt | All-in-one — der Manager verfolgt dieses Log. Kein Agent. |
| Eine kleine zusätzliche Box + einen oder mehrere Webserver | Split — Manager auf der zusätzlichen Box, ein Agent pro Web- (oder SSH-) Host |
Öffne Port 8787 nicht ins Internet. Standard-Listen ist 127.0.0.1:8787. Nutze einen SSH-Tunnel, bis du HTTPS + einen Login davor setzt.
go build -o gpewebdefender.exe .\cmd\gpewebdefender
gpewebdefender.exe demo
Linux:
go build -o gpewebdefender ./cmd/gpewebdefender
./gpewebdefender demo
Öffne http://127.0.0.1:8787
Diese Kartenaufnahmen sind erfunden. Siehe DocHub 04, bevor du ein Dashboard als Realität behandelst.
Aus diesem Repo, als root. Baue zuerst ein Linux-Binary, wenn du auf Windows bist:
$env:GOOS="linux"; $env:GOARCH="amd64"; $env:CGO_ENABLED="0"
go build -o gpewebdefender-linux-amd64 .\cmd\gpewebdefender
All-in-one (diese Box hat das 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 (zuerst der Monitor, dann jede Web-Box):
# auf dem Monitor
sudo ./deploy/install-manager.sh --home 40.7,-74.0
# auf einer 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
Ersetze MONITOR, web-1 und den Log-Pfad durch deine Werte.
Optional später — dieser Host kann Block-Befehle annehmen: Settings → Paired hosts → Phrase + Code, dann füge --code ABCD-2341 --block fail2ban zu install-agent.sh hinzu. DocHub 20.
Dann von deinem Laptop:
ssh -L 8787:127.0.0.1:8787 user@THEBOX
Öffne http://127.0.0.1:8787/login und erstelle den ersten admin (eine Person). Das ist nicht das Ingest-Token.
/usr/local/bin/gpewebdefender und chmod +x.useradd --system --home /var/lib/gpewebdefender --shell /usr/sbin/nologin gpewebdefenderrules/ und dochub/ nach /var/lib/gpewebdefender/.deploy/env.example nach /etc/gpewebdefender/env. Setze ein langes zufälliges GWD_TOKEN. Modus 640.deploy/gpewebdefender.service.example nach systemd. Bearbeite home / tail bei Bedarf.systemctl daemon-reload && systemctl enable --now gpewebdefenderdeploy/gpewebdefender-agent.service.example mit dem selben Token, einem stabilen --name und --tail / --journal.Beispiele liegen in deploy/.