How to Determine Your Firewall Rule Set Complexity

By Avishai Wool  |  Posted 2011-02-07

How to Determine Your Firewall Rule Set Complexity

Firewalls are like security checkpoints; they serve as the first line of defense against threats. However, bad policies result in poor security and ineffective operations. It has been said that a firewall's security is only as good as the policy it is configured to implement. Yet more than 95 percent of firewall breaches are caused by firewall misconfigurations-not firewall flaws.

To study this situation, I obtained more than 80 Check Point and Cisco firewall rule sets from companies that use a leading firewall analyzer and determined a measure of firewall rule set complexity. My analysis consisted of 36 vendor-neutral configuration errors that create risk behind the firewall. Combined with the firewall rule set complexity I will describe, this analysis enabled me to conclude that firewalls are indeed poorly configured-and that the number of detected configuration errors is directly related to a rule set's complexity.

My preliminary research introduced a measure of rule set complexity defined by the number of rules, the number of objects and the number of interfaces. However, this measurement lacked discrimination between more and less complex rule sets as I initially planned.

Instead, I chose to define firewall complexity through a comparable measurement of Cisco firewalls and Check Point firewalls. Cisco firewalls include separate rule sets for each network interface, but Check Point firewalls have a single set of rules that applies to all interfaces-which means that, by itself, the number of rules is not an effective measure. Additionally, Cisco configurations do not have a separate object database, making the number of objects difficult to compare directly.

Defining Cisco and Check Point Firewall Complexity

Defining Cisco and Check Point firewall complexity

Interestingly, these limitations made it simple to define the complexity of Cisco firewalls by counting the number of lines in the ASCII files and discounting a few lines of boilerplate standard to all Cisco firewalls. Thus, Cisco firewall complexity is defined as:

FC = #Lines - 50.

To define a comparable measure for Check Point, I conceptualized a "Check Point-to-Cisco converter," which would need to replicate the single Check Point rule set to all Cisco interfaces. Therefore, Check Point complexity must multiply the number of rules by the number of interfaces and then add the number of object definitions (since object definitions in the Cisco are global). Thus, Check Point firewall complexity is defined as:

FC = (#Rules X #Interfaces) + #Objects.

Based on these definitions, I found that the median FC value for the surveyed Check Point firewalls is 1,117 versus 315 for Cisco firewalls. How does your organization compare?

Configuration Errors and Firewall Complexity

Configuration errors and firewall complexity

Now that we have defined the FC measure, we can consider the relationship between the number of configuration errors and the firewall complexity. My findings show that 75 percent of the most complex firewalls have at least 20 errors in their configurations.

For example, I found Microsoft services are allowed to enter networks from the outside in 42 percent of the surveyed firewalls-which leaves the network vulnerable to numerous Internet worms. Additionally, a huge proliferation of network worms (such as Blaster) could have been easily blocked by a well-configured firewall.

The issue is that network administrators cannot effectively manage complex firewall rule sets. Therefore, limiting firewall complexity results in greater security. For example, eliminating rules by installing dedicated firewalls for subnets is much safer than connecting an additional subnet to a central firewall and generating more complexity.

As my research indicates, there are very few high-complexity firewalls that are well-configured. Furthermore, there is a clear correlation between rule set complexity and the number of detected errors. It seems that good configuration comes in small policies. Thus, we can say that for well-configured firewalls, good things come in small packages.

Avishai Wool is co-founder and Chief Technology Officer of AlgoSec. Prior to co-founding AlgoSec, Avishai co-founded Lumeta Corporation in 2000 and was chief scientist until 2002. At Lumeta, Avishai was responsible for transforming firewall analyzer technology that he helped create while working at Bell Labs into a commercial product. Prior to Bell Labs spinning off the Lumeta Corporation, Avishai was a member of Bell Lab's technical staff in the secure systems research department. There, Avishai led a team of researchers who created the first research prototypes of the firewall analyzer.

Avishai is also an associate editor of the ACM Transactions on Information and System Security (TISSEC). He has served on the program committee of the leading IEEE and ACM conferences on computer and network security. Avishai has published more than 40 research papers and holds 10 U.S. patents, with many more pending. He is also an associate professor in the School of Electrical Engineering, Tel Aviv University. He holds a Bachelor's degree (cum laude) in Mathematics and Computer Science from Tel Aviv University, and a Master's degree and Ph.D. in Computer Science from the Weizmann Institute of Science. He can be reached at

Rocket Fuel