Password7Decrypt

Cisco IOS Password Security: A Working Checklist

A working checklist for network and security engineers auditing password hygiene across Cisco IOS and IOS-XE devices, with the actual commands to check each item.

By Khan Mehfooz Published 18 Jul 2026 9 min read Level: Intermediate Applies to: Cisco IOS / IOS-XE

1. Device-Level Basics

enable secret is set (Type 8 or 9), and enable password is fully removed, not just superseded
service password-encryption is enabled as a baseline safety net for any remaining plaintext line passwords
No device still has a factory-default or vendor-documented default credential active
Console, AUX, and VTY lines all require a password — an open AUX port is a classic overlooked backdoor

Commands to check this

Run these directly on the device to check the state of each item above:

show running-config | include enable secret
show running-config | include enable password
show running-config | section line

The last command dumps every line con, line aux, and line vty block so you can review password/login settings for each in one pass.

2. Local Accounts & AAA

Every username line uses secret (hashed), never bare password
Centralized AAA (TACACS+/RADIUS) is used for production access instead of relying solely on local accounts, so individual logins can be audited and revoked without touching every device
Local accounts are kept as a documented break-glass fallback only, with credentials stored in a password manager, not memorized or shared over chat
Stale accounts for former employees or contractors are removed, not just disabled

Commands to check this

show running-config | include username
show running-config | include aaa

Look for any username ... password ... line (bare password, no secret keyword, no algorithm-type) — that's a plaintext or Type 7 local account and should be migrated immediately.

3. Config Hygiene

Config backups (TFTP/SCP exports) are stored somewhere access-controlled, not on an open file share
SNMP community strings are not left at defaults (public/private), and SNMPv3 is used instead of v1/v2c where possible
No plaintext passwords appear anywhere in configs pasted into ticketing systems, chat, or documentation wikis
A periodic sweep of config backups for weak password types is run — see our legacy config audit guide for a repeatable process

Commands to check this

show running-config | include snmp-server community

Run on the device to review SNMP community strings. To sweep multiple config backups from your workstation for weak password types at once (not a Cisco command — this runs in your regular terminal against downloaded config files):

grep -E "password (5|7) " *.cfg

4. Quarterly Review Cadence

Most of the items above aren't "set once and forget" — they drift as staff change and devices get replaced. A workable cadence for most teams:

FrequencyWhat to review
Monthly Review AAA logs for logins from local (non-TACACS/RADIUS) accounts — these should be rare and explainable
Quarterly Re-run the config sweep for weak password types across all backed-up configs; reconcile the local account list against current staff
Annually, or after major staffing changes Rotate the enable secret and any shared local-account credentials; re-verify console/AUX physical access controls
Tip: Track this checklist in whatever ticketing/compliance system your team already uses, with a due date per item — a checklist that isn't scheduled tends not to get revisited until an audit forces it.

5. Remote Access and the Management Plane

VTY lines accept only SSH (transport input ssh), and Telnet is disabled everywhere it can be
An access list (access-class) limits which addresses can even try to log in
Idle sessions time out with exec-timeout, and repeated failures are slowed down with login block-for
The built-in web interface is turned off if you do not use it (no ip http server, no ip http secure-server)

Commands to check this

show running-config | section line vty show running-config | include ip http show ip ssh

The first command shows transport, access class and timeout for each VTY line. The second shows whether the web server is on. The third confirms that SSH is enabled and which version it runs. A lockout control looks like this:

login block-for 120 attempts 3 within 60 login on-failure log login on-success log

This blocks further logins for 120 seconds after three failures within 60 seconds, and logs both outcomes. Exempt your management network with a login quiet-mode access-class list so that an attacker cannot lock administrators out. See how to configure SSH for the full setup.

6. Logging and Evidence

Logs go to a central server, so an attacker who gains access to a device cannot erase the only copy
Device clocks are synchronised, so events from different devices can be lined up
Login failures and configuration changes are recorded and reviewed

Without reliable logs, you cannot tell whether a leaked password was ever used. Set this up with syslog and NTP, and monitor devices over SNMPv3 rather than v1 or v2c.

Common Findings and What to Do About Them

FindingWhy it mattersFix
enable password 7 ...Readable by anyone who sees the configSet an enable secret and remove the old line
username ... password ...Plaintext or Type 7 local accountRecreate the user with secret
Telnet allowed on VTY linesCredentials cross the network in clear textUse transport input ssh
Default SNMP communitiesAnyone can read device dataMove to SNMPv3 and remove the old strings
Open AUX or console linePhysical or out-of-band backdoorRequire login on every line

Fix the items that expose credentials first, then the ones that widen who can reach the device. Record the date of each change so the next review can start from known ground.

Summary

Password security on Cisco devices is a set of habits: strong stored credentials, central accounts with a break-glass fallback, SSH-only remote access limited by address, clean backups, and logs you can trust. Work through the six groups above, record the result per device, and repeat on the schedule in section 4.

Before you apply this in production: command syntax and defaults vary between IOS and IOS-XE releases and between hardware models. Check the configuration guide and release notes for your exact platform and software version, and test changes in a lab or maintenance window first. Example IP addresses and passwords here are placeholders.
About the author. Khan Mehfooz is a Network Security Engineer who writes practical Cisco guides and tools for network and security engineers. More of his work is at SwitchFirewall.com.