Le organizzazioni devono esaminare le funzionalità che i WAF possono fornire che le tradizionali applicazioni Web non forniscono (o, in genere, non sono codificate per fornire).
Ad esempio, i WAF in genere hanno un meccanismo di tipo "risposta" integrato. In caso di un attacco, possono rispondere automaticamente per proteggere l'applicazione. Questo può includere la protezione brute-force, il DOS (fino a un certo grado) e il blocco delle richieste da determinati indirizzi IP. Puoi codificare la tua applicazione per farlo, ma un WAF è al tuo perimetro. È meglio fermare lì il traffico malevolo, quindi ulteriormente nella rete. Inoltre, un WAF basato sulla rete può proteggere diversi siti Web, riducendo in tal modo i tempi di sviluppo richiesti.
Un vantaggio chiave è il rilevamento di attacchi / registrazione. Se il WAF rileva un attacco, può passare tali informazioni a una soluzione SIEM. Il WAF ha le firme per rilevare gli attacchi contro una varietà di backend, non solo quello che hai costruito. Il personale addetto alla sicurezza potrebbe quindi utilizzare tali informazioni per determinare il miglior modo di agire. Forse lo correlano con altri attacchi che stanno accadendo, ecc.
Un'altra caratteristica fondamentale è che il WAF può essere utilizzato per proteggere il server Web e l'applicazione web. Ad esempio, i WAF possono essere configurati per arrestare gli attacchi di overflow del buffer contro IIS stesso. La tua applicazione web non può farlo.
Infine, i WAF possono essere utilizzati per eseguire "patch virtuali". Ad esempio, supponiamo di scoprire che la tua applicazione web ha un buco di sicurezza se viene inviata una richiesta particolare. Potresti, ovviamente, cambiare il codice. Ma questo potrebbe richiedere del tempo (cambiare la gestione, far sì che lo sviluppatore scriva qualcosa, testare, ecc ...). Mentre aspetti una patch dal team di sviluppo, è possibile creare una firma per "proteggere" il sito web da quel vettore di attacco.
Una cosa da aggiungere è sulla falsariga della risposta di @Lucas Kauffmans. La sicurezza riguarda tutti i livelli. Non puoi sapere con certezza che la tua applicazione web sia "completamente" sicura. Aggiungere un altro livello di fronte a quello non fa male.
I WAF sono stati un tema scottante da quando sono stati introdotti per la prima volta con molti addetti alla sicurezza su entrambi i lati del dibattito "ne hanno bisogno / non ne hanno bisogno". Penso che tutto dipenda dalle capacità necessarie per la tua situazione.