Na rynku dostępnych jest wiele produktów sprzedawanych pod nazwą „Firewall”, lecz różnią się one poziomem oferowanych zabezpieczeń. Filtry pakietowe (Network Level) na podstawie adresu źródłowego i docelowego oraz portu pojedynczego pakietu decydują, czy dana przesyłka może zostać przesłana dalej, czy też nie. Zwyczajny router nie jest zwykle w stanie takiej decyzji podjąć, lecz bardziej nowoczesne konstrukcje mogą przechowywać wewnętrzne informacje o stanie połączeń przechodzących przez niego, zawartości niektórych strumieni danych itp. Filtry pakietowe są zwykle bardzo szybkie, jednak ich wadą jest, że podane kryteria selekcji mogą okazać się niewystarczające dla niektórych usług internetowych, przez co do sieci byłyby przepuszczane niepożądane pakiety, a wtedy… Jedną z możliwych prób ataku może być umieszczenie pakietów wyższego poziomu w fałszywych ramkach MAC lub protokołu warstwy 3 (sieciowa) i 4 (transportowa) modelu ISO/OSI. Często wystarczy tylko zmienić adres nadawcy pakietu. W takim przypadku filtr pakietowy jest bezradny.
Bramki typu Circuit Level są w stanie przyporządkowywać pakiety do istniejących połączeń TCP i dzięki temu kontrolować całą transmisję. Zaawansowane systemy potrafią także kojarzyć pakiety protokołu UDP, który w rzeczywistości kontroli połączeń nie posiada.
Firewalle Application Level to, generalnie rzecz ujmując, hosty, na których uruchomiono proxy servers, które nie zezwalają na bezpośredni ruch pakietów pomiędzy sieciami oraz rejestrują i śledzą cały ruch przechodzący przez niego. Proxies potrafią więc niejako odseparować wiarygodną część sieci od podejrzanej; mogą magazynować najczęściej żądane informacje – klient kieruje swoje żądanie do proxy, który wyszukuje obiekt w swoich lokalnych zasobach i zwraca zamawiającemu. Dla każdej aplikacji (czyli usługi sieciowej, np. http, ftp, telnet, smtp, snmp, …) istnieje osobny proxy, dla którego definiowane są reguły według których podejmowana jest decyzja o zaakceptowaniu bądź odrzuceniu połączenia. Niewątpliwym minusem tego rozwiązania jest konieczność stosowania wielu proxies do obsługi różnych aplikacji; jeżeli dla danego protokołu nie jest dostępny odpowiedni proxy, to dane przesyłane w tym formacie nie będą w ogóle przepuszczane przez bramkę. Na rynku dostępne są też systemy z proxies definiowanymi przez użytkownika funkcjonującymi jednakże nie na płaszczyźnie aplikacji, lecz analogicznie do filtrów pakietowych i bramek Circuit Level.