SirDice said:
If it's a business I'd use a separate firewall for this. A local firewall doesn't do much if your attacker was able to gain root. The attacker can just as easily remove or modify the local firewall. Granted, the attacker would need to gain root first. You'd probably have other things to worry about when that happens
Definitely use a seperate firewall (as well) if budget allows.
But an edge firewall doesn't save you from local machine compromise (or a malicious internal end user) as I described above - if the firewall trusts the inside machine to open an outbound connection, then a local compromise on any of your internal hosts (either via user at console, or while it was on another network if it is a laptop or a number of other scenarios) can potentially open a hole into your network.
Security is a trade-off between convenience and effort expended in mitigating as many holes as you can.
The second you decide "Oh, but my XXX will block that" or "This traffic is from XXX, which is a trusted internal host", you should be considering "What happens if my XXX box is compromised?".
Given the increase in WiFi usage and cellular networks etc. by devices that are normally considered to be safe behind your firewall (typically laptops running Windows no less - that may be used on any number of potentially hostile networks), the days of being able to trust an edge firewall (only) to keep you safe are pretty much over.
YMMV of course and all this depends on your environment, and the trade off you are willing to make with regards to effort vs. paranoia. But they are certainly factors you should be aware of IMHO, even if it is to decide "OK, I'll bear that in mind, but I don't believe the risk justifies the effort required in my case".
Layering your security also protects you from any potential configuration screw ups. I.e., if you were to accidentally (for example) open access to a particular protocol on your edge, you've got a second chance to defend against it with the host based firewalls on your internal hosts, and (if doing
egress filtering) any outbound filtering rules you may have (e.g., internal virus infected Windows machine wants to send SMTP direct out -
egress filtering will prevent this).
It is certainly more work though.