Basic firewalls provide protection from untrusted traffic while still allowing trusted traffic to pass through. Packet filters, proxy filters, and stateful packet filters are some of the technologies used to accomplish this protection. Each one works in a different way to filter and control traffic.
In Table 3.1, the seven-layer Open System Interconnect (OSI) model is shown as a reference for the discussion of these three types of technologies.
Table 3.1. The OSI Model
The next section describes in more detail the three methods of providing protection to a network. Each method works from the seven-layer OSI model to provide protection to a network or networks.
Packet filters are the most basic traffic control mechanism of the three technologies. By inspecting layer 3 and layer 4 information, these filters allow traffic to pass through, provided that the source and destination information match the configured rule. The types of information in layers 3 and 4 that are used by packet filters include
Packet filters can be implemented using access control lists (ACLs), which are commonly found on most Cisco IOS routers. Figure 3.4 shows a router between the private network and the Internet.
Figure 3.4. Basic packet filter.
The packet filter (Cisco IOS) examines every packet against the ACLs for matches. If a match is found, the packet is either permitted or denied passage through the interface. If a match is not found, the packet is implicitly denied passage. Packet filters process information only up to layer 4, making them very fast and efficient. However, packet filters don't track the TCP session information generated when two computers are communicating with one another. When computers first start to communicate using TCP, they perform a three-way handshake, which is used to establish the TCP session. Because these sessions aren't monitored by packet filters, the computers become vulnerable to spoofing.
Proxy Filter (Server)
Proxy filters, also known as application proxy servers , extend beyond the reach of packet filters by examining information from layers 4 “7. A proxy server sits between the client and the destination working as a middleman between the two communicating parties (see Figure 3.5). It requires the client to establish a session with the proxy itself, which in turn creates a second session between itself and the destination. Consider, for instance, a client computer that requests information from a remote Web site. The client creates a session with the proxy server, which can then authenticate the user for valid access to the Internet before creating a second session between the Web site and itself. As the information comes back from the Web site, the proxy server examines layers 4 “7 for a valid connection to the inside network.
Figure 3.5. Proxy server sessions.
Although proxies can provide some of the most effective measures of protection, they can introduce speed and performance issues, particularly when a large number of sessions are being simultaneously negotiated. They are also built on general-purpose operating systems such as Unix, Linux, or Microsoft Windows, which can make them vulnerable to OS- related attacks.
Stateful Packet Filter ”Stateful Inspection
This type of firewall combines the speed of packet filters with the enhanced security of stored session information typified by proxies. While traffic is being forwarded through the firewall, stateful inspections of the packets create slots in session flow tables. These tables contain source and destination IP addresses, port numbers , and TCP protocol information. Before traffic can travel back through the firewall, stateful inspections of the packets are cross-referenced to the session flow tables for an existing connection slot. If a match is found in the tables, the packets are forwarded; otherwise , the packets are dropped or rejected. The Cisco PIX firewall uses stateful inspection as its primary method to control traffic flow. Figure 3.6 shows the client and session flow tables being used.
Figure 3.6. Stateful inspection.