There is an old riddle about firewall management –
Question: What goes in but never comes out?
Answer: A firewall rule!
Most organizations have well established methods and procedures for adding rules into a firewall, but very few organizations have strategies for removing rules that no longer serve a legitimate business purpose. If you are a firewall administrator, see if you can remember the last time someone in you company called you and said, Hey, remember that rule I had you add 6 months ago, I’m done with that project now, you can delete the rule. Contrast that with how often you have been told, You have to make this change right now, the business depends on it. It’s no wonder firewall policies grow out of control.Of course, there are many reasons a firewall rule becomes obsolete:
- A contractor needed some access and the contract is now over
- A network was migrated to a different location when a department switched buildings
- An application was upgraded and the legacy client / server protocol was replaced with a new HTTP interface
- A hosted application was migrated to the cloud
- A business partnership was terminated
- And many more….
Regardless of the reason, rules that no longer serve a business purpose should be removed to both reduce policy complexity and remove the risk associated with the access. Consider an application in the DMZ that has been taken off-line and the firewall team was not notified. Some days or months later, that IP address is reused for a new system. Whatever access was permitted to the old system is now open to the new system putting it and the organization at risk.
Of course the best solution is a business process that ensures this never happens. It is worth pursuing this and making rule expiration, rule review and a comprehensive rule aging process part of firewall management. However, it is also worth implementing a technology solution to identify any rules that slip through that process.
Identifying unused rules or objects is difficult as they are not technically incorrect and static analysis of a policy will not reveal the problem without tremendous environmental knowledge. To identify these rules and objects, it is necessary to analyze the active policy against the actual network traffic patterns. By associating firewall access logs with the rule that generated them, it is possible to identify most used rules, which objects are used in a rule and perhaps most importantly, which rules are never used. Once identified, these rules can be removed to reduce policy complexity and improve security.
By no means is this sufficient to fully clean up or validate a policy. Just because a rule is in use does not justify the access it permits. However, this is a very good step in cleaning up a firewall to remove the access that is neither used or needed.
Removing these unused access rules is just one step towards detoxing your firewall.