Un proxy comprende il protocollo per il quale è stato progettato. Ciò significa che alcuni software proxy possono consentire o impedire il traffico sulla base di elementi del protocollo. Per fare un esempio, il tuo proxy potrebbe non consentire il traffico HTTP con una determinata intestazione User-Agent:
o consentire solo il traffico con certe intestazioni Referer:
. Un proxy può anche richiedere l'autenticazione prima di inviare le richieste.
Non tutti i software proxy hanno questa capacità. Alcuni semplicemente proxy le richieste senza analisi sul contenuto oltre a quanto necessario per soddisfare la richiesta.
Un proxy inverso (spesso utilizzato di fronte a un server Web) può potenzialmente proteggere contro i difetti nel software del server web. Può anche avere difetti che il software del server Web non ha.
Un firewall di rete non comprende il protocollo HTTP e non può consentire o negare il traffico in base agli elementi di tale protocollo. Può solo consentire o rifiutare in base ai protocolli di livello inferiore come IP, TCP e UDP. I firewall di rete non possono eseguire l'autenticazione perché questo non è incorporato nei livelli inferiori dello stack OSI.
I Application Firewall d'altra parte comprendono il protocollo dell'applicazione per cui sono stati progettati e consentono o negano il traffico in base a il contenuto del traffico. Non ho visto uno di questi che può fare l'autenticazione ma è certamente possibile.
Un firewall per applicazioni web è solo un firewall per applicazioni progettato per i protocolli web.
Molti dispositivi firewall commerciali sono anche (almeno in parte) i firewall delle applicazioni.
Quindi, se si ottiene una maggiore sicurezza da un firewall o un proxy dipende in gran parte esattamente da quale firewall o proxy si utilizza. Di solito dipende anche da come è configurato. Senza una specifica configurazione incentrata sulla sicurezza, di solito non ottieni più sicurezza con un firewall o un proxy.