An interesting (and woefully short) question and answer from ComputerWorld, “How many firewalls do I need?”
Answer: “How many can you manage?”
Ok, so that’s very simplified and not necessarily the right answer. The thing is, firewalls should be in place on the network any time the trust or sensitivity level of the data or systems changes. If your sales workstations don’t need to be up very long and have little sensitive data, but your database server has very sensitive data and needs to be up as much as possible, you really could put a firewall in between the two. If some systems need to be accessed from the Internet but others do not, use a firewall to keep them separate (thus creating your typical DMZ. That way, much like real physical firewalls in cars or buildings, if a “fire” breaks out with an attack against your Internet-accessible servers, the next firewall will contain the “fire” from spreading to those systems that had no business being in the same group as those Internet-accessible ones.
Firewalls are awesome. They create natural choke-points to monitor and measure traffic flow. They allow barriers to access so that you don’t have everyone’s traffic scurrying around everywhere. They give natural points where traffic capturing and logging can occur (and I’ve become a big proponent of NSM and logging and traffic analysis).
And put up as many firewalls as you can manage. You can have too many, but the chances of that are far less than not having enough firewalls. Put up as many as you can and remove ones you deem unnecessary or restrictive to network stability later on. But never put up more than you can properly manage. A mismanaged or unmanaged firewall is maybe worse than no firewall at all.
I really believe that firewalls are one of the very few mandatory but not technical necessary pieces of any network (i.e. you CAN run a network without them, but just don’t). I consider them a mandatory piece of any network or host-based “defense in depth” approach and one of the most important and valuable (i.e. the value they add) and basic blocks of a network.
My own personal projects list involves learning more firewalls including getting my own home pix someday, becoming more intimately familiar with iptables and pf (if I get into BSD this year), and other standalones like Smoothwall/IPCop and so on.