Un firewall è un sistema connesso alla rete con lo scopo di filtrare i pacchetti in transito. Tipicamente viene posto a bordo della rete con lo scopo di creare una barriera difensiva che aumenti il grado di sicurezza perimetrale, ovvero renda più difficile gli attacchi dall'esterno all'interno del sistema.
Un firewall può essere realizzato sia come infrastruttura hardware dedicata che utilizzando un computer e un opportuno insieme di software. Deve essere posto sul bordo (logico) della LAN se si desidera far passare per il firewall tutti i pacchetti in entrata e in uscita dalla rete locale. Il firewall controlla il flusso dei pacchetti, ovvero decide se consentire o negare l'accesso, implementando delle specifiche politiche di filtraggio del traffico.
Utilizzare un firewall significa dunque decidere e implementare delle politiche di sicurezza (security policy) che definiscono i criteri di protezione, ad esempio decidendo che è ammesso solo il traffico generato da alcuni servizi (la posta o il Web) e non traffico derivante da servizi non standard (che potrebbero rendere possibile o nascondere un attacco).
Si possono distinguere diverse tipologie di firewall che utilizzano meccanismi di verifica con differenti livelli di sofisticazione. In particolare i firewall più semplici filtrano i pacchetti esaminando le informazioni contenute nell'intestazione e, confrontandole con le security policy, decidono se autorizzare o no il transito. Offrono invece una protezione più completa i firewall che esaminano anche il contenuto dei pacchetti in transito, con lo scopo di assicurasi che il sistema di destinazione dei messaggi sia realmente in attesa, ad esempio che lo scaricamento di una mail sia stato richiesto dal client.