Cisco ASA Base / Day-0 Configuration
Initial hardened configuration for a Cisco ASA firewall: hostname, domain, enable password, SSH access, AAA, NTP, logging, and management interface.
What is it?
The Cisco ASA (Adaptive Security Appliance) is one of the most widely deployed enterprise firewalls in the world. Unlike a router with ACLs, the ASA is a stateful firewall — it tracks the state of every connection and automatically allows return traffic. It uses a security-level model (0-100) where higher security zones can initiate connections to lower ones by default, but not the reverse. The ASA also supports VPN, NAT, IPS (with FirePOWER module), and application inspection.
✓ When to use
- ·Perimeter firewall between your internal network and the internet
- ·DMZ segmentation — separating public-facing servers from internal users
- ·Site-to-site VPN termination between branch offices and headquarters
- ·Remote access VPN (AnyConnect) for employees working from home
- ·When you need stateful inspection with application-layer awareness
✗ When NOT to use
- ·Pure routing between internal VLANs — use a Layer 3 switch or router instead
- ·If you need next-gen firewall (NGFW) features natively — consider Firepower Threat Defense (FTD) instead
- ·Very high-throughput environments (>10 Gbps) without the right hardware model
How it compares
Prerequisites
- →Physical or virtual ASA installed and powered on
- →Console access for initial configuration
- →IP addressing plan for all interfaces (inside, outside, DMZ, management)
- →ASA OS version 9.x or later recommended
- →ASDM (GUI) requires Java — SSH is preferred for production management
Config Generator
Interface used for SSH/ASDM management access
Network allowed to SSH into the ASA
e.g. UTC, EST, CST
Verification commands
show versionVerify ASA model, OS version, serial number, and license
Expected: Shows ASA version, uptime, hardware model, and feature licenses
show interface ip briefVerify all interfaces have correct IPs and are up/up
Expected: All production interfaces should show 'up' in both Status and Protocol columns
show ssh sessionsVerify SSH is working and shows active sessions
Expected: Lists currently connected SSH sessions with source IP and username
show clockVerify NTP is synchronized and time is correct
Expected: Should show current time. If NTP is not synced, run 'show ntp status'
show loggingVerify syslog is enabled and sending to the right server
Expected: Shows logging configuration and recent log buffer
Debug commands
debug sshDebug SSH connection issues
⚠ Use with caution. Run 'no debug all' immediately after testing.
show running-configReview full running configuration to verify all settings applied correctly
Common mistakes & fixes
⚡ Cannot SSH into the ASA
Cause: SSH not enabled on the management interface, or source IP not in the allowed range, or RSA key not generated
Fix: Verify 'ssh <source> <mask> management' exists. Run 'crypto key generate rsa modulus 2048'. Check 'show ssh'
⚡ Enable password not working
Cause: AAA is set to LOCAL but no user with privilege 15 exists, or enable password was not set
Fix: Verify 'username <user> password <pass> privilege 15' exists. Test with 'show run username'
⚡ Clock is wrong / NTP not syncing
Cause: NTP server unreachable, or timezone not configured, or firewall blocking NTP (UDP 123)
Fix: Check 'show ntp status' and 'show ntp associations'. Verify the management interface can reach the NTP server.
⚡ Syslog not reaching the server
Cause: Wrong syslog server IP, management interface routing issue, or firewall blocking UDP 514
Fix: Verify 'show logging' shows the correct server. Test connectivity with 'ping management <syslog-ip>'