After reading Mike Fratto’s post on “Why Blacklisting Works” I feel some comments are in order.
The default allow (or “blacklisting”) vs. default deny (“whitelisting”) debate seems to go on and on ad infinitum. Let me state up front that I am unabashedly in the default-deny camp, and here’s why.
Sure it sounds easier in principle to just deny the bad stuff, thus avoiding the trouble of figuring out just what the good stuff is (and maybe avoiding a few irate help desk calls in the process), but, as you actually point out, it’s really not good security. But we have to accommodate customers of either persuasion and, truthfully, your NAC product should let you do it whichever way you want.
We opted for default deny.
Why? Because it’s clearly the best security practice, based on many years of many people’s experience. We just couldn’t make a firewall default allow and still think of ourselves as security people.
Besides, when you put an ACL on a file, do you normally make it default allow and blacklist just those who shouldn’t be granted access? I think not.
But, honestly, it shouldn’t be that big a deal to append an allow-all rule if that’s what you really want to do. In fact, we ship our product with an allow-all sample policy configured on all secure interfaces, since we found that most of our evals and deployments want to start out by monitoring what’s happening on their network – since unfortunately, they don’t really know how bad of a problem they have. And this makes it easier to get the box up and running.
And we also ship with a “pre-login” sample policy that allows just enough access to things like Active Directory to let Windows boot and get GPOs, and let users get tickets to login and open browsers, and which of course has to be customized with the specific server addresses for the particular network. I don’t really understand why you couldn’t configure the ConSentry box to do the same thing and whether this was for endpoint compliance or for post-connect, but I suspect it is because they only allow you to set policies for UDP and TCP. So if you had a default deny but want to allow some other IP protocol, such as ICMP or GRE, you can’t do it.
But I digress. On your impossible-to-manage points, we think you can avoid a lot of the headaches inherent in a traditional monolithic perimeter firewall rule set by composing policies for users based on group memberships. This way, the access granted to particular user classes can be more readily managed.
Speaking of managing policies, I wish LAN security could be as simple as you want would like just by blacklisting, but as far as I am concerned it’s only an illusion. If you forget to deny your sales people access to one of those R&D servers, say, nobody might ever know until it is too late. So have you really solved your security problem, or just temporarily made it appear to go away?
I can get behind your thought processes, though. When we were developing the Nevis secure switches I have to confess that even I thought the same as you, at least for a while. I pondered, isn’t LAN security a different species than perimeter security? At the perimeter it’s like at the front door, you only want to let friends in and anyone who is not your friend is clearly SoTE, but on the LAN, it’s like you’re roaming among the cube farm: everyone can pretty much go anywhere they want to because everyone is your friend. Inside, you really only need to make a few places like the CEO’s office off limits and remember to lock up those few file cabinets with sensitive stuff in them when you step out. Most people are honest and adhere to company policies, right? And guests need an escort.
To put it differently, at the perimeter you typically want to deny most ingress but allow most egress, but on the LAN you are more concerned about what different classes of users can or maybe shouldn’t access. And until recently there have been limited options for providing an escort for your guests to keep them from running amok. So how to architect a LAN security firewall, should it default to deny or allow?
-- Joe
Recent Comments