Operano a livelli diversi della pila:
- il firewall di rete ragiona su IP, porte e protocolli (L3/L4): "la porta 443 è aperta, la 22 solo da questi IP". Non guarda dentro il traffico – per lui una SQL injection su HTTPS è solo un pacchetto legittimo verso la 443.
- il WAF ragiona sul contenuto delle richieste HTTP (L7): riconosce injection, XSS, bot e abusi applicativi. Non sa nulla, invece, del traffico non-web.
Non sono alternativi: servono entrambi, in fila. Il firewall chiude tutto tranne il necessario; il WAF ispeziona il necessario. Sul primo fronte bastano nftables/pf o il firewall del cloud; sul secondo ci sono caddy-waf, patterns per Nginx/Apache/Traefik/HAProxy, o zion che unisce proxy e WAF in un binario.