Core Security Architecture
Cisco Adaptive Security Appliances implement zone-based security through logical security domains. The platform defines three default zones with distinct trust levels: internal networks (security level 100), external/untrusted networks (level 0), and demilitarized zones (level 50). Traffic flow follows strict hierarchy—initiating connections from higher-security zones to lower-security zones is permitted by default, while reverse path traffic requires explicit session table entries or access control policies.
Platform Evolution: The ASA 5505 series uses VLAN interfaces as security boundaries, where physical ports are assigned to VLANs that function as security zones. In contrast, ASA 5506-X and later models apply security levels directly to physical interfaces, eliminating the VLAN abstraction layer and simplifying zone configuration.
Basic Zone Configuration
This example establishes a fundamental inside-outside topology where internal hosts can reach external resources while external initiation remains blocked.
Internal Zone Setup
configure terminal
interface Vlan10
nameif internal
security-level 100
ip address 10.0.1.1 255.255.255.0
no shutdown
External Zone Setup
interface Vlan20
nameif external
security-level 0
ip address 203.0.113.1 255.255.255.0
no shutdown
Port-to-VLAN Assignment
show switch vlan
configure terminal
interface ethernet 0/0
switchport access vlan 10
interface ethernet 0/1
switchport access vlan 20
show switch vlan
show interface ip brief
Access Control Implementation
By default, return traffic from lower-security zones is denied. Implement granular control with extended access lists:
Inbound ICMP Response Handling
configure terminal
access-list ACL-INBOUND extended permit icmp any any echo-reply
access-group ACL-INBOUND in interface external
This permits external ping responses to reach internal hosts while blocking unsolicited external probes.
Outbound Probe Management
configure terminal
access-list ACL-OUTBOUND extended permit icmp any any echo
access-group ACL-OUTBOUND in interface external
This configuration enables external systems to ping internal hosts, creating an exception to the default deny rule.
Complete Bidirectional Access
configure terminal
access-list ACL-FULL extended permit ip any any
access-group ACL-FULL in interface external
ASA 5506-X Direct Interface Configuration
For modern ASA platforms, apply security parameters directly to physical interfaces:
configure terminal
interface GigabitEthernet1/1
nameif internal
security-level 100
ip address 10.0.1.1 255.255.255.0
no shutdown
interface GigabitEthernet1/2
nameif external
security-level 0
ip address 203.0.113.1 255.255.255.0
no shutdown
access-list ACL-BASIC extended permit icmp any any
access-group ACL-BASIC in interface external
Network Address Translation Strategies
Cisco ASA supports multiple NAT mechanisms for address translation:
- Dynamic PAT: Many-to-one translation using interface IP
- Dynamic NAT: Many-to-many translation using address pools
- Static NAT: One-to-one persistent mapping
- Static PAT: Port-level forwarding for service exposure
Dynamic PAT Configuration
object network internal-subnet
subnet 10.0.1.0 255.255.255.0
nat (internal,external) dynamic interface
show xlate
Enable external access with proper ACL:
access-list ACL-EXTERNAL extended permit ip any any
access-group ACL-EXTERNAL in interface external
Dynamic NAT with Address Pools
object network external-pool
range 203.0.113.10 203.0.113.20
object network internal-subnet
subnet 10.0.1.0 255.255.255.0
nat (internal,external) dynamic external-pool
Static NAT for Server Publishing
object network web-server
host 10.0.1.200
nat (internal,external) static 203.0.113.5
Add static route for return path:
route external 0.0.0.0 0.0.0.0 203.0.113.100
Static PAT for Service Mapping
object network web-server
host 10.0.1.200
nat (internal,external) static 203.0.113.5 service tcp www www
Remote Access VPN with L2TP/IPsec
Implement secure remote connectivity using IKEv1 and IPsec protocols.
Phase 1: IKEv1 Policy Definition
crypto ikev1 enable external
crypto ikev1 policy 10
authentication pre-share
encryption 3des
hash sha
prf sha
group 2
lifetime 86400
Phase 2: IPsec Transform Set
crypto ipsec ikev1 transform-set ESP-3DES-SHA-TS esp-3des esp-sha-hmac
crypto ipsec ikev1 transform-set ESP-3DES-SHA-TS mode transport
Dynamic Crypto Map for Remote Clients
crypto dynamic-map DYN-MAP 10 set ikev1 transform-set ESP-3DES-SHA-TS
crypto map CRYPTO-MAP 65535 ipsec-isakmp dynamic DYN-MAP
crypto map CRYPTO-MAP interface external
Address Pool and Group Policy
ip local pool VPN-POOL 192.168.100.10 192.168.100.100 mask 255.255.255.0
group-policy REMOTE-ACCESS internal
group-policy REMOTE-ACCESS attributes
dns-server value 8.8.8.8 8.8.4.4
vpn-tunnel-protocol l2tp-ipsec
default-domain value example.com
Tunnel Group Configuration
tunnel-group DefaultRAGroup general-attributes
address-pool VPN-POOL
default-group-policy REMOTE-ACCESS
tunnel-group DefaultRAGroup ipsec-attributes
ikev1 pre-shared-key SecureP@ssw0rd
tunnel-group DefaultRAGroup ppp-attributes
no authentication chap
authentication ms-chap-v2
NAT Exemption for VPN Traffic
object network VPN-POOL-OBJ
subnet 192.168.100.0 255.255.255.0
nat (internal,external) source static any any destination static VPN-POOL-OBJ VPN-POOL-OBJ no-proxy-arp route-lookup
Split Tunneling Configuration
access-list SPLIT-TUNNEL standard permit 10.0.1.0 255.255.255.0
group-policy REMOTE-ACCESS attributes
split-tunnel-policy tunnelspecified
split-tunnel-network-list value SPLIT-TUNNEL
Custom Tunnel Groups and User Authentication
Create dedicated tunnel groups for specific user communities:
username john password john123 mschap
username john attributes
vpn-group-policy REMOTE-ACCESS
service-type remote-access
tunnel-group SALES-TEAM type remote-access
tunnel-group SALES-TEAM general-attributes
address-pool VPN-POOL
default-group-policy REMOTE-ACCESS
tunnel-group SALES-TEAM ipsec-attributes
ikev1 pre-shared-key SalesTeamKey2023
Advanced IPsec Parameters
crypto ipsec security-association lifetime seconds 28800
crypto ipsec security-association lifetime kilobytes 4608000
crypto isakmp nat-traversal 20
crypto isakmp ipsec-over-tcp port 10000
same-security-traffic permit intra-interface