Stateful firewall explained

In computing, a stateful firewall is a network-based firewall that individually tracks sessions of network connections traversing it. Stateful packet inspection, also referred to as dynamic packet filtering,[1] is a security feature often used in non-commercial and business networks.

Description

A stateful firewall keeps track of the state of network connections, such as TCP streams, UDP datagrams, and ICMP messages, and can apply labels such as LISTEN, ESTABLISHED, or CLOSING.[2] State table entries are created for TCP streams or UDP datagrams that are allowed to communicate through the firewall in accordance with the configured security policy. Once in the table, all RELATED packets of a stored session are streamlined, taking fewer CPU cycles than standard inspection. Related packets are also permitted to return through the firewall even if no rule is configured to allow communications from that host. If no traffic is seen for a specified time (time-out implementation dependent), the connection is removed from the state table. This can lead to applications experiencing unexpected disconnects or half-open TCP connections. Applications can be written to send keepalive messages[3] periodically to prevent a firewall from dropping the connection during periods of no activity or for applications which by design have long periods of silence.

The method of maintaining a session's state depends on the transport protocol being used. TCP is a connection-oriented protocol[4] and sessions are established with a three-way handshake using SYN packets and ended by sending a FIN notification.[5] The firewall can use these unique connection identifiers to know when to remove a session from the state table without waiting for a timeout. UDP is a connectionless protocol,[4] which means it does not send unique connection-related identifiers while communicating. Because of that, a session will only be removed from the state table after the configured time-out. UDP hole punching is a technology that leverages this trait to allow for dynamically setting up data tunnels over the internet.[6] ICMP messages are distinct from TCP and UDP and communicate control information of the network itself. A well-known example of this is the ping utility.[7] ICMP responses will be allowed back through the firewall. In some scenarios, UDP communication can use ICMP to provide information about the state of the session so ICMP responses related to a UDP session will also be allowed back through.

Stateful inspection firewall advantages

Stateful inspection firewall disadvantages

See also

Notes and References

  1. Book: Goralski, Walter. The illustrated network: How TCP/IP works in a modern network. 12 May 2017. Elsevier Science . 978-0-12-811027-0. 986540207.
  2. Web site: TCP connection status. Sep 6, 2020. IBM Knowledge Center. 12 February 2015.
  3. Web site: TCP Keepalive HOWTO. Sep 6, 2020. The Linux Documentation Project.
  4. Web site: Mitchell. Bradley. Apr 1, 2020. TCP vs UDP. Sep 6, 2020. Lifewire.
  5. Web site: TCP three-way handshake. Sep 6, 2020. Study-CCNA. 6 September 2018.
  6. Web site: Automatic NAT Traversal for Auto VPN Tunneling between Cisco Meraki Peers. Sep 6, 2020. Meraki.
  7. Web site: Mitchell. Bradley. Dec 3, 2018. Guide to Internet Control Message Protocol (ICMP). Sep 6, 2020. Lifewire.