|
|
|||||||||||||||||||
|
Choosing a Firewall
By Jeffrey Howard
There is a wide variety of firewall products available today. Recently, on a discussion list, I saw several emails that could be summed up, "What firewall should I use?" This is not surprising. DSL, cable modems, and other high speed, always-on internet access technologies are providing more hosts with dedicated network access. Many of these hosts are on household networks administered by end users and consumers, not IT staff. These people want secure home networks, but they aren't paid to read trade magazines on firewalls. This introduction is for such home users. You have a DSL or cable modem connection, and you'd like to keep your neighbor's 13 year old from reading your Quicken check register. You know that you want a secure home network, but you aren't entirely sure what exactly you're protecting against or how to do it. By the end of this page, I hope to arm you with a better idea of what questions you need to answer, and ask, in order to choose your firewall product. Building Your CriteriaAsking the question, "What firewall should I use?", on an email list or newsgroup will probably confuse the professional system administrators. In fact, many will curtly reply, "It depends on what you want to do." Trust me, replying, "I want to make my computer/network more secure," is not going to help. Security can mean a lot of things. An example helps illustrate this idea. Imagine a computer network for a local library. If someone breaks into the system and reads the book catalog, it's no big deal. They may learn the Library of Congress filing scheme, or maybe they'll stumble across the catalog listing for books on ethics. Either way, no harm is done. However, if the same intruder scrambles the electronic card catalog, patrons of the library will be confused, misled, and inconvenienced. The integrity of the data is very important, but there's nothing to hide, so the secrecy, or confidentiality of the information is unimportant. Compare that with the messages that Mission Impossible operatives get; the tapes, CDs, mini-discs, or whatever are all self-destructing. If anything goes wrong in the delivery, the operative may never get the message. It's much more important that the information remain secret, to preserve plausible deniability for the decision-makers involved. Secrecy is more important than reliability or integrity in this case. I've used extreme examples to illustrate the point, but there are more reasonable ones all around. Businesses guarding trade secrets will want very different things from a firewall than businesses that are trying to keep employees from looking at web sites devoted to the scantilly clad. By now, if you're anything like me, you want to take out a contract on my life. I've just said that the most important thing is knowing what you're up against and choosing a tool appropriately, but I haven't given any indication what kinds of threats you might really face. (After all, if you really were the Secretary of State, looking to disavow knowledge about MI operatives, you wouldn't be reading this - you'd have a staff of IT professionals paid to read trade magazines about firewalls.) So let's get to the good part. Specific ThreatsThis section should give you some concrete ideas as to what you might want to protect against. These are all broad categories, not specific attacks. The list is far from complete, but I hope to touch on most of the basics and some of the buzzwords in the press these days.
The above two uses for firewalls, preventing scans and preventing access to private computers and ports, are the most common uses for a firewall. Every firewall that I know of will offer you these features in some form or another.
The general theme is that firewalls block some network traffic and permit other network traffic. The goal is to use a firewall to block unwanted traffic while allowing desirable traffic to pass through. How Can Firewalls HelpHow do you pick a firewall that will do what you want? The various shapes, sizes, and functionalities of firewalls are discussed below. Physical Forms of FirewallsBroadly speaking, a firewall may take one of two forms. In the first, the firewall is a separate physical device. These are the little plastic boxes pictured in computer store catalogs catalogs. They connect to the cable modem or DSL router and separately connect to a home network or computer. In the second form, firewalls may just be software. With all-software firewalls, there's no separate box of hardware to require yet another open wall socket. On the other hand, the computer with the firewall on it must be between the rest of the network (if any) and the link to the outside world. Or you have to put the firewall software on each machine individually, which means configuring a different firewall for every machine. That doesn't work well for large networks, but for households which won't have more than a handful of computers, the effort isn't prohibitive. Ways Firewalls FunctionWhether physically separate boxes or pieces of software, firewalls all function largely the same way. Firewalls divide into two broad groups: filtering and proxying. A filtering firewall listens to each incoming and outgoing packet. If the firewall's configuration indicates that a packet is acceptable, the packet is forwarded on its path. If the packet does not match the configuration, it is discarded. Filtering is good for the first two concerns in the threat list above: scanning and attacks against specific ports. With a filtering firewall, a good configuration allows only desirable protocols to travel through. An example would be, "Allow me to web surf and both send and receive mail, but don't allow anything else. Specifically notify me if anyone tries to access file or printer sharing." Proxying firewalls do not allow any packets to pass across them. To use the net, one connects to the proxying firewall and lets it connect to the rest of the network. This is a subtle distinction. Using the web as an example may clarify the idea. With a packet filter, the client computer will connect directly to the web server at the remote location. All of the packets exchanged with the web server must pass through the filter. With a proxy, the web browser connects to the proxy, then the proxy connects to the web server. The web server sends its response to the proxy, which then sends the web pages to the client. With a proxy, the browser is never connected directly to the server. The firewall is called a proxy because it stands in as a proxy for the browser when communicating with the server. Looked at the other way, the firewall stands in as a proxy for the rest of the world, as far as the browser is concerned. The benefit is the same as from a packet filter, because the proxy will only proxy for communications that it is configured to accept. Firewall Architectures ComparedSo what's the difference? A packet filter screens out unwanted packets. A proxy screens out unwanted packets. The difference comes from the fact that a proxy must fully understand the information being sent across it in order to proxy, whereas a packet filter need only understand the source, destination, and ports involved. This should make sense. A proxy has to pretend to be a server to the client software and pretend to be a client to the real server. Filters just pass things through so that the client and server connect directly. This means that filtering firewalls are generally much smaller and simpler pieces of software. They don't have to understand as much, so there's less room for mistakes. This can be an advantage, because all software has bugs. Bugs in a firewall can completely compromise the firewall's effectiveness. Packet filters can also be easier to configure. They don't do as much, so they have a smaller set of options than proxies. However, a packet filter can't distinguish between a banner ad and a page. It certainly can't filter out websites based on content. Filters don't understand email, so they can't scan for viruses. Essentially, any advanced features that have to understand the data that's on the network are beyond the capabilities of a packet filter. For that, there are proxies. Since a web browser proxy understands the protocols of the web, it might as well check the content and not bother downloading the banner ads. Since a proxy has to understand email transmission protocols, it might as well scan the mail for viruses as it relays it. Masquerading additional machines can be done with either kind, although there are arguments over whether it comes more naturally to packet filters or proxies. Both kinds will log who tries to use ports that are restricted, but to log which web sites are viewed from inside the network requires a proxy. Keep in mind, though, that the proxy must understand every application that it proxies for. A web proxy works because it knows how to speak to web servers and web browsers. An email proxy server works because it speaks the email protocols. If you are likely to be disabling your firewall every weekend so you can play games that it won't proxy for, then you should go for a packet filter instead (or in addition), because packet filters don't care about content. You just need to know what ports are used. I've often seen the question, "Are packet filters or proxies better firewalls?" There's lots of debate. In the end, the answer is probably, "It depends what you want to do." Personally, I find that a packet filtering firewall does everything I need. I have no children or employees with behavior to monitor. I have a network with enough addresses for all my machines. But I do want to avoid people trying to access services that I don't offer to the outside world. A packet filter serves me well for that. I also have one firewall for each machine on the network. I didn't put a single firewall out in front of all the machines. This allows me to customize the filtering rules for what services each machine offers. However, I'm willing to put in more effort, so my solution may cost more time to upkeep than most would want. Other FeaturesOkay, if you've stayed with me so far, you have some idea what kinds of threats a firewall can help you protect yourself against. The above section also gave you some idea how to narrow down the category of firewall to focus your search. There are a grab bag of other features you may want to consider.
Final RecommendationsI know this is the part where I'm supposed to name my personal favorites in the various categories. Firewall software is still a rapidly advancing, volatile field. Any recommendations I could make would be out of date as soon as I put up the page. I've tried to concentrate on the kind of issues that will help you to evaluate feature lists for yourself. Also, note that I do not go into depth about how to configure a firewall. Like any other tool, firewalls can be used well or poorly. I've told you to use what you want to do (and prevent others from doing) as a guide to picking your firewall. Configuring the firewall will depend even very heavily on the specifics of what you want it to do. I hope you find a firewall that suits your needs. In the end, though, please remembewr that a firewall does not guarantee your security. It's been said a lot in computer security circles, but it never hurts to repeat: "A firewall does not guarantee that security of your network, period." A good firewall is only the first line of defense. If you're really interested in rolling your own firewall (and network security in general), I heartily recommend reading Zwicky, Cooper, and Chapman's Building Internet Firewalls. (Or buy from Amazon.) If you are running any variant of UNIX, including Linux, I also suggest Garfinkel and Spafford's Practical UNIX and Internet Security. (Or buy from Amazon.) Summary Guidelines CollectedSummary 1: Choices among firewalls are most heavily influenced by what to protect and what to protect against. Summary 2: In the case of firewalls, what to protect against is best expressed as what kind of information should be allowed in/out vs. what shouldn't. Summary 3: Firewalls work by allowing desirable traffic to pass through and forbidding everything else. Summary 4: Packet filtering firewalls are simpler, in principle, than proxies. They screen traffic based on where it comes from and where its going, using port numbers to distinguish between different services/programs. Proxying firewalls are smarter, understanding the way applications communicate; this lets proxies plug in more advanced features for deciding what passes through and what doesn't. Summary 5: Honestly, the best shield is knowledge of networks, firewalls, and computer security in general. The more you learn about specific threats, the more you'll understand about how to choose and setup your firewall. Don't try to operate software and hardware beyond your abilities. It's better to keep things simple and correct, rather than sophisticated but with holes for adversaries to exploit. Summary 6: Free firewalls are not necessarily of inferior quality, but they don't come with formal support. How much you pay mostly determines how much time you'll spend wrestling with your firewall to get the results you want. Of course, if your configuration is not correct, you may be opening an exploitable hole for an attacker. Summary 7: A firewall is a first line of defense. Look into other options to bolster your network's security in tandem with the firewall. This page is part of the Infrequently Asked
Questions archive. |
|||||||||||||||||||
|
This information is provided "as is," with no warranty or guaranty. The IAQ pages have not been maintained in some time; they're being kept up because, judging by the traffic and link-backs, people still find them useful. Copyright 1998-2004 by Jeffrey Howard and Heather Grove, except where stated otherwise. |
||||||||||||||||||||