v0.3: 6-layer architecture complete

Layers:
  Layer 1: XDP/eBPF — TCP state machine, SYN throttle, blacklist, ringbuf
  Layer 2: PoW Challenge — SHA-256 hashcash, dynamic difficulty, constant-time verify
  Layer 3: Rust Core — HMAC handshake, rate limit, death code (existing)
  Layer 4: Velocity — Physics check, CAPTCHA, protocol verification
  Layer 5: Paper — Heartbeat, auto-registration (existing)
  Layer 6: Traffic Intel — EWMA, 168h profiling, reputation, alerts

Infra: XDP→Prometheus metrics, ClickHouse + Grafana dashboard, Docker Compose
Testing: 100-IP DDoS simulation, MHDDoS ref analysis, load test report
Fixes: VarInt sign extension UB, pure ACK deadlock, RST/FIN cleanup
Ref: MHDDoS, Sonar, LimboFilter, AtomGuard, Infrarust, MC-XDP-eBPF, PowGo
This commit is contained in:
loki5512344 2026-07-21 15:47:36 +02:00
parent 78fc6e00c7
commit 269daa071f
Signed by: boba
GPG key ID: 253067914055423B
66 changed files with 4529 additions and 1003 deletions

View file

@ -0,0 +1,60 @@
{
"title": "Rampart — ClickHouse",
"uid": "rampart-clickhouse",
"panels": [
{
"title": "Connections per second",
"type": "timeseries",
"gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 },
"datasource": { "type": "grafana-clickhouse-datasource", "uid": "clickhouse" },
"targets": [
{
"query": "SELECT $timeSeries AS t, count() AS v FROM rampart_events WHERE $timeFilter AND event_type IN ('connection_allowed', 'connection_blocked') GROUP BY t ORDER BY t",
"rawQuery": true,
"format": "time_series"
}
]
},
{
"title": "Bans per minute",
"type": "timeseries",
"gridPos": { "h": 8, "w": 12, "x": 12, "y": 0 },
"datasource": { "type": "grafana-clickhouse-datasource", "uid": "clickhouse" },
"targets": [
{
"query": "SELECT $timeSeries AS t, count() AS v FROM rampart_events WHERE $timeFilter AND event_type = 'ban' GROUP BY t ORDER BY t",
"rawQuery": true,
"format": "time_series"
}
]
},
{
"title": "Active blacklist size",
"type": "stat",
"gridPos": { "h": 8, "w": 12, "x": 0, "y": 8 },
"datasource": { "type": "grafana-clickhouse-datasource", "uid": "clickhouse" },
"targets": [
{
"query": "SELECT count(DISTINCT ip) AS v FROM rampart_events WHERE event_type = 'ban' AND timestamp > now() - INTERVAL 5 MINUTE",
"rawQuery": true,
"format": "table"
}
]
},
{
"title": "PoW pass / fail rate",
"type": "timeseries",
"gridPos": { "h": 8, "w": 12, "x": 12, "y": 8 },
"datasource": { "type": "grafana-clickhouse-datasource", "uid": "clickhouse" },
"targets": [
{
"query": "SELECT $timeSeries AS t, countIf(event_type = 'pow_passed') AS passed, countIf(event_type = 'pow_failed') AS failed FROM rampart_events WHERE $timeFilter AND event_type IN ('pow_passed', 'pow_failed') GROUP BY t ORDER BY t",
"rawQuery": true,
"format": "time_series"
}
]
}
],
"schemaVersion": 39,
"version": 1
}