Η κύρια λειτουργία ενός firewall είναι η ρύθμιση (allow / deny) της κυκλοφορίας δεδομένων ανάμεσα σε δύο η περισσότερα δίκτυα υπολογιστών (ζώνες). Συνήθως δύο από αυτά τα δίκτυα είναι το Διαδίκτυο και τοπικό/εταιρικό δίκτυο. Το firewall παρεμβάλλεται ανάμεσα στα δύο δίκτυα που έχουν διαφορετικό επίπεδο εμπιστοσύνης. Το Διαδίκτυο έχει μικρό βαθμό εμπιστοσύνης (low level of trust), ενώ το εταιρικό δίκτυο ή το οικιακό δίκτυο διαθέτουν τον μέγιστο βαθμό εμπιστοσύνης. Ένα τρίτο περιμετρικό δίκτυο (perimeter network) ή μία αποστρατικοποιημένη ζώνη Demilitarized Zone (DMZ) διαθέτουν μεσαίο επίπεδο εμπιστοσύνης.
Ο σκοπός της τοποθέτησης ενός firewall είναι η πρόληψη επιθέσεων στο τοπικό δίκτυο και η αντιμετώπισή τους.
Το firewall για τη διαχείριση της ροής δεδομένων προς, από και μέσω του router λειτουργεί με φιλτράρισμα πακέτων. Μαζί με τη μετάφραση διευθύνσεων δικτύου (Network Address Translation NAT) χρησιμεύει ως εργαλείο για την πρόληψη μη εξουσιοδοτημένης πρόσβασης σε δίκτυα που συνδέονται άμεσα μεταξύ τους και του ίδιου του δρομολογητή, καθώς και ένα φίλτρο για την εξερχόμενη κυκλοφορία.
Ένα σωστά ρυθμισμένο firewall παίζει καθοριστικό ρόλο στην αποτελεσματική και ασφαλή ανάπτυξη της υποδομής του δικτύου. Για την σωστή παραμετροποίηση του firewall πρέπει να ορισθούν οι πολιτικές πρόσβασης (inbound – outbound) για κάθε ζώνη σε σχέση με τις υπόλοιπες. Κατόπιν η πολιτική εφαρμόζεται μέσω κανόνων στην συσκευή με συγκεκριμένη ιεραρχία.
Xαρακτηριστικά που υποστηρίζει ένα Firewall είναι:
- stateful επιθεώρηση πακέτων
- Layer-7 protocol detection
- peer-to-peer protocols filtering
- traffic classification by:
- source MAC address
- IP addresses (network or list) and address types (broadcast, local, multicast, unicast)
- port or port range
- IP protocols
- protocol options (ICMP type and code fields, TCP flags, IP options and MSS)
- interface the packet arrived from or left through internal flow and connection marks
- DSCP byte
- packet content
- rate at which packets arrive and sequence numbers
- packet size
- packet arrival time