Configuration Auditing Cisco Nexus Operating System (NX-OS) with Nessus
Recently, Tenable added audit files for Nessus ProfessionalFeed users allowing them to audit device configurations based on Cisco Nexus Operating System (NX-OS). Cisco NX-OS runs on high-end Nexus switches, MDS storage switches, and Cisco UCS networking. This audit follows most of the recommendations that are included in the Cisco Guide to Securing Cisco NX-OS Software Devices. This blog entry discusses some of the Nessus functionality that was used in creating the audit file.
The Cisco guide covers three major sections: the management plane, the control plane, and the data plane. The audit file itself is a best-effort attempt to cover all the sections included in the guide. Most checks include recommended values, whereas some require user configuration.
Most of the checks for users and passwords, services, management UIs, etc. are contained in the management plane section of the Cisco Guide and the audit file. Below is an example of the Compliance Summary view reporting several high severity issues:
For those who want to dig right in and audit your Cisco NX-OS devices, below is a walkthrough of the configuration auditing parameters for this platform:
Management Plane
<item> type : CONFIG_CHECK_NOT description: "Enforcing Strong Password Selection - 'no password strength- check does not exist'" info : "Password checking can be disabled using the no password strength-checking command. This command should not be used." info : "ref. http://www.cisco.com/en/US/prod/collateral/switches/ ps9441/ps9402/guide_c07-665160.html#wp9000042" item : "^no password strength-check" </item>
Control Plane
The control plane section of the audit is where checks for protocols like ICMP and services like NTP configuration can be found. The following check determines if an NTP server is configured.
# Please update {NTP_SERVER} with the appropriate value for the local environment <item> type : CONFIG_CHECK description: "NTP - 'ntp server is configured'" info : "The Network Time Protocol (NTP) synchronizes the time of day among a set of distributed time servers and clients so that you can correlate" info : "events when you receive system logs and other time-specific events from multiple network devices." info : "ref. http://www.cisco.com/en/US/prod/collateral/switches/ ps9441/ps9402/guide_c07-665160.html#wp9000428" info : "NOTE: Update {NTP_SERVER} with the appropriate value for the local environment." # example item # item : "^ntp server 1\.1\.1\.1" Generated by Jive on 2012-12-05-05:00 2 Research:Compliance: Auditing Cisco Nexus Operating System (NX-OS) Compliance with Nessus item : "^ntp server {NTP_SERVER}" </item>
In this example, # item : “^ntp server 1\.1\.1\.1” demonstrates how to escape the dots in the IP address so that a value like 121.1.1.x would not give a false result.
Data Plane
The data plane checks primarily verify that various IP options are configured correctly. IP source routes, IP redirects, and some ICMP filters are all items checked in the data plane section. An interesting example of the type of checks for the data plane is the TCP fragment checks like the example below.
 <item> type : CONFIG_CHECK description: "Filtering IP Fragments - 'deny tcp any any fragments exists'" info : "Because of the non-intuitive nature of fragment handling, IP fragments are often inadvertently permitted by ACLs. Fragmentation is also" info : "often used in attempts to evade detection by intrusion- detection systems. For these reasons, IP fragments are often used in attacks and" info : "should be explicitly filtered at the top of any configured tACLs." info : "ref. http://www.cisco.com/en/US/prod/collateral/switches/ ps9441/ps9402/guide_c07-665160.html#wp9000533" item : "deny tcp any any fragments" </item>
Logging Best Practices
In addition to the recommendations for each of the plane categories, another section of the audit file verifies several logging functions. Much like the NTP example above, the included checks for things like the local syslog server are built to accommodate local customizations.
Please update {LOGGING_SERVER} with the appropriate value for the local environment.
<item> type : CONFIG_CHECK description: "Send Logs to a Central Location - 'logging server is configured'" info : "After implementing centralized logging, an organization must develop a structured approach to log analysis and incident tracking." info : "Depending on the needs of the organization, this approach can range from a simple, diligent review of log data to an advanced rule- and" info : "role-based analysis of multiple factors using correlated data." info : "ref. http://www.cisco.com/en/US/prod/collateral/switches/ ps9441/ps9402/guide_c07-665160.html#wp9000343" info : "Update {LOGGING_SERVER} with the appropriate value for the local environment" # example item # item : "^logging server 1\.1\.1\.1" item : "^logging server {LOGGING_SERVER}" </item>
The logging best practices also include checks to validate that the scheduler service is enabled and customizable checks to validate that scheduled configuration checkpoint backup jobs have been defined.
Conclusion
Tenable audit compliance policies for Cisco NX-OS products can be downloaded by logging into the Tenable Support Portal and selecting the Downloads link. There are 60+ individual audit checks spanning most of the configuration items identified by Cisco in their document.
Related Articles
- Nessus