Dipende dal tuo scopo del firewall, onestamente, alcuni firewall di applicazioni web offrono principalmente una soluzione diversa.
Dalla mia esperienza personale, ho creato un cosiddetto firewall per applicazioni Web utilizzando il proxy inverso di nginx per ricevere prima la richiesta su un server, quindi li ho filtrati sul mio server di back-end dove si trovano le cose reali.
Nginx ha un'ottima documentazione su di esso , puoi iniziare da esso.
Quindi puoi aggiungere le tue caratteristiche dal tuo server proxy inverso. Puoi aggiungere un po 'di regole di iptables se lo preferisci, specialmente per fornire una protezione DDoS di base .
Puoi aggiungere mod_security anche per funzionalità di protezione più avanzate. Questa guida può aiutarti ad esplorarla, e anche alcune regole OWASP perché (forse) è uno standard comune per chi costruisce il proprio firewall usando mod_security.
Anche in questo caso, la funzionalità del firewall dell'applicazione Web è di tua scelta. È un ampio campo da esplorare, partendo da "server proxy inverso rinforzato" (nome interessante, eh?), Puoi continuare con un altro tipo come firewall basato su DNS o qualcosa di simile.