Configuration Policy Functionality

Terry Slattery
Principal Architect

I’ve been working with several network configuration management systems recently and have run into some surprising deficiencies.  Let’s start by looking at the set of necessary functions.

Device grouping is essential.  The administrator needs to be able to specify group membership by different criteria, including device names or by IP addresses.  A useful addition is to be able to group devices by configuration contents.  For example, you may want to identify all the routers that have the commands ‘ntp peer‘ in their configurations (as contrasted with ‘ntp server‘).

The grouping mechanisms should allow boolean operations on the criteria.  For example, I may want to specify all devices whose name contains ‘core-rtr’ except for the routers that have IP addresses or  For example:

sysName contains 'core-rtr' AND NOT ( OR

Another useful function is the ability to group devices by configuration contents.  Lets say that you wanted to identify the group of provider routers in an MPLS network.  These routers would not contain any MPLS configuration statements.  This grouping could be done with the following:

deviceType == 'router' AND NOT (configuration contains 'mpls')

Another configuration contents example is keying off the IP address of any interface on the device, versus the management IP address of the device (most management systems don’t look at all addresses – they tend to key off the management IP address only).

The other function involves configuration policy checking.  Obviously, it is useful to identify configurations that are missing important statements.  For example, the AAA configuration in a router or switch.  But what about configurations that contain undesirable statements, like an extra username command, or a second snmp RW community string, both of which create ‘backdoors’ into the device?  The configuration policy checking mechanism needs a way to identify these extra commands.

Back to the surprising deficiencies in the products I’ve evaluated.  In the first product, it couldn’t create a device group that included all devices except two.  I was building a check for NTP and wanted to include all the routers and switches except the two that were talking to Stratum 1 clock sources.  The boolean logic didn’t include the NOT function that I needed to exclude the two devices by sysName.  The workaround was to suppress the alerts on those two devices for that policy.

The other product couldn’t identify configurations that had extraneous username statements beyond the two that were permitted in the configuration.  The lack of ability to identify back door security holes knocked it out of contention in my evaluation.

I think that both of these deficiencies have a common cause.  The developers have never run networks before and don’t think of all the logic that is needed to do proper configuration policy validation.  Perhaps through this blog and making people aware of the requirement, we can get vendors to provide the needed functionality.



Re-posted with Permission 

NetCraftsmen would like to acknowledge Infoblox for their permission to re-post this article which originally appeared in the Applied Infrastructure blog under


Leave a Reply


Nick Kelly

Cybersecurity Engineer, Cisco

Nick has over 20 years of experience in Security Operations and Security Sales. He is an avid student of cybersecurity and regularly engages with the Infosec community at events like BSides, RVASec, Derbycon and more. The son of an FBI forensics director, Nick holds a B.S. in Criminal Justice and is one of Cisco’s Fire Jumper Elite members. When he’s not working, he writes cyberpunk and punches aliens on his Playstation.


Virgilio “BONG” dela Cruz Jr.

CCDP, CCNA V, CCNP, Cisco IPS Express Security for AM/EE
Field Solutions Architect, Tech Data

Virgilio “Bong” has sixteen years of professional experience in IT industry from academe, technical and customer support, pre-sales, post sales, project management, training and enablement. He has worked in Cisco Technical Assistance Center (TAC) as a member of the WAN and LAN Switching team. Bong now works for Tech Data as the Field Solutions Architect with a focus on Cisco Security and holds a few Cisco certifications including Fire Jumper Elite.


John Cavanaugh

CCIE #1066, CCDE #20070002, CCAr
Chief Technology Officer, Practice Lead Security Services, NetCraftsmen

John is our CTO and the practice lead for a talented team of consultants focused on designing and delivering scalable and secure infrastructure solutions to customers across multiple industry verticals and technologies. Previously he has held several positions including Executive Director/Chief Architect for Global Network Services at JPMorgan Chase. In that capacity, he led a team managing network architecture and services.  Prior to his role at JPMorgan Chase, John was a Distinguished Engineer at Cisco working across a number of verticals including Higher Education, Finance, Retail, Government, and Health Care.

He is an expert in working with groups to identify business needs, and align technology strategies to enable business strategies, building in agility and scalability to allow for future changes. John is experienced in the architecture and design of highly available, secure, network infrastructure and data centers, and has worked on projects worldwide. He has worked in both the business and regulatory environments for the design and deployment of complex IT infrastructures.