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.