IOS Zone-based Firewall Configuration Overview

As reviewed in the zone-based firewall fundamentals article, it is important that the basic concepts of zone-based firewalls be understood in order for a good configuration to be designed and implemented. In this article, Sean Wilkins reviews these concepts and offers some steps for proper configuration.

From the author of

From the author of

A zone-based firewall configuration starts with a review of the different security zones which exist within the network architecture. These defined security zones are then configured on the zone-based firewall in order to enforce policies both between and within zones (if needed). Once these security zones are defined, the next step is to figure out the direction that traffic flows between these defined zones. Once these are calculated, policies can then be created and assigned based on the direction and security requirements.

The direction and policies for these flows between the different zones is configured using zone-pairs. Each of the zone-pairs is unidirectional and allows different policies to be assigned depending on the source and destination zone, the exception to this is return traffic which is allowed by default. By default, if no zone-pair is created between zones then no traffic is allowed.

In order to ensure a solid understanding of the zone-based firewall configuration, a common zone-based firewall implementation will be used and configured using the required commands through this article. This common configuration includes three configured zones, a private zone (inside), a public zone (outside), and a DMZ zone. The private zone contains all devices on the internal organizational network. The public zone would commonly be the Internet and the DMZ zone would commonly contain the public servers for the organization including the web and mail servers. An illustration of this configuration is shown in Figure
1.

Once the zones configuration has been completed, the next step is to figure out the zone-pairs that will be required to enforce the traffic policies defined. When using this sample configuration, the common zone-pair configurations are shown in Figure
2 and detailed below:

Between the private and public zones: Typically this would only require one zone-pair as return traffic is allowed by default and no traffic should be directly allowed into the inside of the organizational network.

Between the private and the DMZ zones: This would be a limited connection in order to allow connections back to secondary database or management servers. In this case, the number of zone-pairs configured would depend on what zone traffic would be initiated from. If traffic was only initiated from the DMZ zone to these secondary servers then only one zone-pair would be required as the return traffic would again be allowed by default. In this example the configuration will use this scenario.

Between the public and the DMZ zones: This would be the main connection between the outside world and the public organization servers. In this case it is common for a single zone-pair to be configured from the public into the DMZ zone.

When configuring the policy onto the zone-pairs, there are three main actions which can be used:

Pass: When configured to pass, traffic that is matched by the configuration is allowed without inspection.

Drop: When configured to drop, traffic that is matched by the configuration is dropped

Inspect: When configured to inspect, traffic is put through a stateful packet inspection. While inspected, traffic flows will be defined and recorded in order to keep track of expected return traffic.

IOS Zone-based Firewall Configuration

The first thing that must be configured when setting up a zone-based firewall configuration are the different firewall policies. These policies are then associated to their respective zone-pair in a later step. When configuring zone-based firewall policy, the Cisco Common Classification Policy Language (C3PL) is used that closely resembles the Modular QoS CLI (MQC) structure. When using C3PL, the following general steps are followed:

Traffic match criteria are configured with a class-map statement.

Actions are associated with these match criteria using the policy-map statement.

Policy maps are attached to a zone-pair using the service-policy statement.

In order to create and configure a class map, the traffic matching criteria must be known. The main methods of matching traffic include:

Matching based on a previously configured ACL

Matching based on the traffic protocol

The following steps are followed in order to create a class-map and match criteria:

The last step is to assign the interfaces on the router into their respective zones; this configuration is shown below:

Enter global configuration mode:

router#configure terminal

Enter interface configuration mode for the interface:

router(config)#interface type number

Assign a zone onto the interface:

router(config-if)#zone-member security zone-name

In order to solidify a basic understanding of zone-based firewall configuration, the following commands would be used to configure the example shown in Figure
2 above (this configuration assumes HTTP as a matching protocol on each zone-pair):