Home / Engineering / Reactive Web Firewall

Engineering · Security

Reactive Web Firewall

Un firewall reattivo per Apache che converte richieste web ad alta confidenza in un blocco immediato, senza chiedere al backend di difendersi da solo.

Licenza

GNU AGPL v3 · AGPL-3.0-or-later

Punto di enforcement

Reverse proxy Apache

Ban locale

nftables + chiusura connessioni

Frontiera opzionale

OpenWrt / ban persistente

Principio di progetto

Bloccare presto, ma soltanto quando il segnale è forte.

RwF privilegia firme leggibili e ad alta confidenza. Pattern generici o ambigui restano fuori dal motore reattivo e possono essere gestiti da sistemi comportamentali separati.

MATCH

Firme ad alta confidenza

Percorsi e pattern chiaramente malevoli possono generare una decisione immediata senza attendere analisi statistiche.

EARLY

Blocco anticipato

Con il modulo Apache la richiesta può essere respinta molto presto nel ciclo di elaborazione, prima di raggiungere l’applicazione.

PRIV

Separazione dei privilegi

La logica di rilevamento non deve possedere direttamente tutti i privilegi necessari al ban: l’helper separa decisione ed enforcement.

EDGE

Enforcement distribuito

Il blocco può restare locale sul proxy oppure essere propagato a un firewall OpenWrt di frontiera.

Architettura

La richiesta entra dal proxy. Il backend può restare completamente ignaro di RwF.

Il progetto supporta due motori alternativi di rilevamento: direttamente dentro Apache con mod_rwf, oppure tramite un Log Reader. Entrambi convergono sullo stesso percorso di enforcement.

01 · HTTP

Request

La richiesta raggiunge il reverse proxy Apache, unico punto esposto verso il backend.

02 · DETECT

mod_rwf / Log Reader

Uno dei due motori applica le regole Exact, Prefix o Regex e decide se il segnale è sufficientemente affidabile.

03 · ENFORCE

rwf-helper

L’helper riceve una decisione già presa e applica il fast-ban locale con privilegi separati.

04 · EDGE

nftables / OpenWrt

Il ban può restare sul proxy oppure diventare persistente sul firewall di frontiera.

Disegnato per il reverse proxy

Una sola barriera davanti a più applicazioni.

RwF vive sul proxy Apache. FattureWeb, NewVoip o altri backend non devono installare il modulo né conoscere le regole di ban: vedono soltanto il traffico che ha superato la frontiera.

Whitelist condivise

Sorgenti interne, provider fidati e reti tecniche possono essere escluse in modo esplicito.

CDN / proxy aware

Quando c’è un proxy intermedio, l’indirizzo client deve essere ricostruito correttamente prima di prendere decisioni di ban.

Regole modulari

Le policy possono essere mantenute in file separati, leggibili, versionabili e verificabili.

Self-test & diagnostica

Installer e strumenti di verifica aiutano a controllare configurazione, dipendenze e percorso di enforcement.

Componenti

Un progetto piccolo, ma con responsabilità ben separate.

Il valore sta proprio nella divisione tra rilevamento, decisione ed enforcement: ogni pezzo resta comprensibile e sostituibile.

mod_rwf

Motore dentro Apache per il blocco più precoce possibile.

Log Reader

Motore alternativo self-contained quando non si vuole intervenire dentro il ciclo della request.

rwf-helper

Ponte privilegiato verso nftables e, quando previsto, verso il firewall OpenWrt.

Cosa non vuole essere

RwF non prova a indovinare ogni comportamento sospetto. Il suo compito è reagire molto velocemente quando una firma è abbastanza precisa da giustificare un’azione netta. Rate limiting, analisi comportamentale e altri controlli restano complementari.

Engineering, non scatola nera

Regole leggibili, percorso di enforcement verificabile.

Se vuoi approfondire l’architettura o valutare un’integrazione su un reverse proxy Apache, possiamo partire dal contesto reale in cui deve operare.