Examining more information than a packet filter enables firewall software to exercise a finer degree of control over what moves between your LAN and the Internet. Figure 3 shows an abbreviated form of the TCP/IP packet headers, illustrating the difference between packet filters and firewalls by highlighting what parts of a TCP/IP packet are examined. The firewall has all the information available to the packet filterthe source and destination TCP/IP addressbut it also can examine the source and destination port numbers and the content of the packet data.
Packet filter and firewall information sources
The port and packet data information gives a firewall far more power than the simpler packet filter because the additional information gives the firewall the capability to look all the way up the protocol stack to the application layers. Using that information, a firewall can, in addition to controlling access to and from specific host addresses, do the following:
Allow or disallow specific application services such as FTP or Web pages
Allow or disallow access to services based on the content of the information being transferred
Combinations of these functions are possible, too, such as allowing incoming FTP access from the Internet only to a specific, designated server.
The capability to screen traffic based on message content makes it possible to create filters for objectionable content, such as sites inappropriate for minors. (Note that it's very hard to define rules for that filtering, which is why there are companies whose business is to sell lists of sites that you might want to filter for various reasons, along with filter software to act based on those lists.) Content screening also makes possible defenses against specific attacks by looking for telltale signatures in the incoming attacking packets. When the firewall detects those signatures, it discards the packets and logs the events.
The most direct implementation of a firewall uses the same architecture shown in Figure 2, but it locates a firewall between the LAN and the ISP rather than a packet filter. This is the most secure application of a single firewall because it protects all the computers behind the firewall.
There's a problem with the Figure 2 architecture, thoughit provides no good place to locate publicly accessible servers. You don't want servers out on the Internet in front of the firewall, where they're unprotected, but you don't want them behind the firewall, either, because you have to create holes in the firewall protection to permit access to the servers.
A variant of Figure 2, shown in Figure 4, is a good answer to this problem. The firewall router in Figure 4 has three ports rather than the two on the packet filter in Figure 2. The third port connects to another LAN typically called the demilitarized zone (DMZ). The idea is that the computers in the DMZ are less secure than those back on the secure LAN, but in return those computers are accessible from the Internet. You put Web and FTP servers in the DMZ, keeping all other computers back on the secure LAN. The rules in the firewall prevent incoming traffic to the secure LAN, allowing only outgoing connections.
Demilitarized zone (DMZ) used with a firewall
Even though the DMZ LAN is necessarily less secure, you still will want to restrict what can be done there. You'll want to use antispoofing filters, limit the allowable ports to those used by the servers on the LAN, and disallow access from known attacking sites.
You can extend the idea of segmenting your LANs for security, protecting each segment with a firewall and a different set of security rules. Just remember that firewalls themselves aren't a guarantee of securityyou have to be disciplined about examining the firewall logs for suspicious events, and you have to be vigilant about discovering and applying software security patches. Most patches apply to operating systems or server software; besides the software manufacturers themselves, a good source for information about security patches and threats is the SANS Institute, at http://www.sans.org/.