squirrelworks

NGFW vs. Legacy: Real-World Application

While our lab focuses on the Cisco ASA 5506-X, the distinction between "Regular" and "Next-Gen" firewalls defines how modern networks are architected. Understanding where to deploy each is critical for balancing security with network performance.

The Next-Gen Perimeter

NGFWs operate at Layer 7, performing Deep Packet Inspection (DPI) to identify specific applications rather than just ports.

  • Edge Defense: Scanning downloads for malware in real-time.
  • App Awareness: Blocking a "File Transfer" inside an app while allowing "Chat."
  • User-ID: Writing rules based on Active Directory identities (e.g., "Accounting Group") instead of static IPs.
Legacy & Internal Logic

Legacy stateful firewalls (L3/L4) remain vital for Internal Segmentation where speed and low latency are the primary requirements.

  • Micro-segmentation: High-speed filtering between internal database servers.
  • IoT Security: Protecting low-power sensors that cannot handle heavy inspection overhead.
  • Internal Fencing: Fast, hardware-based ACLs that act as "room dividers" within a trusted building.
Acorn

Modern Hybrid Strategy: Most enterprise networks utilize a "Defense in Depth" approach. The NGFW acts as the rigorous Border Patrol at the internet edge, while Legacy ACLs provide the internal speed needed for east-west traffic inside the data center.

Next-Generation Firewall (NGFW) Analysis

topology svg

The Three-Legged Firewall Architecture

This lab utilizes a Cisco ASA 5506-X to establish a "Three-Legged" topology, segmenting the network into Inside (Trusted), Outside (Untrusted), and a DMZ (Semi-Trusted). This physical and logical separation prevents lateral movement during a breach.

Acorn

Security Zones: Unlike traditional bouncers, an NGFW manages trust via Security Levels (0-100). Traffic logic is defined by these levels: higher levels can talk to lower levels by default, but lower levels require explicit permission to talk back.

Goal: Ping from PC0 to WebServer0

ASA
! Define high-trust internal network ciscoasa(config)# interface g1/1 ciscoasa(config-if)# nameif inside ciscoasa(config-if)# security-level 100 ciscoasa(config-if)# ip address 192.168.1.1 255.255.255.0 ! Define web-facing DMZ zone ciscoasa(config)# interface g1/2 ciscoasa(config-if)# nameif dmz ciscoasa(config-if)# security-level 50 ciscoasa(config-if)# ip address 172.16.1.1 255.255.255.0 ! Define untrusted internet gateway ciscoasa(config)# interface g1/3 ciscoasa(config-if)# nameif outside ciscoasa(config-if)# security-level 0 ciscoasa(config-if)# ip address 203.0.113.1 255.255.255.0
Enable ICMP inspection. Remember pings and allow replies back through
ciscoasa(config)# policy-map global-policy ciscoasa(config-pmap)# class inspection_default ciscoasa(config-pmap-c)# inspect icmp ! On a Cisco ASA, the global_policy is just a name; for it to actually work, it must be "assigned" to the interfaces. ciscoasa(config)# service-policy global_policy global
Let's try the more universal way to allow this traffic using an Access Control List (ACL). This is actually the "industry standard" way to do it on a real-world production firewall.
ciscoasa(config)#access-list INSIDE_IN extended permit icmp any any ciscoasa(config)#acces-group INSIDE_IN in interface inside
Open the door for pings from PC1 to WebServer (attempt 2)
ciscoasa(config)# access-list DMZ_OUT extended permit icmp any any ciscoasa(config)# access-group DMZ_OUT in interface dmz
PC1 successfully pings and hears back from WebServer0, via ASA
packet tracer with pc cmd
ASA
ciscoasa(config)# access-list OUTSIDE_IN extended permit icmp any any ciscoasa(config)# access-group OUTSIDE_IN in interface outside ciscoasa(config-if)#write mem
PC1 successfully pings and hears back from Router, via ASA
packet tracer simulation mode with pc cmd ping to router

Edge Routing & Gateway Connectivity

To simulate internet connectivity, we configured a 2911 Router (Router0) as the next hop. A critical step was ensuring the "return address" logic was applied to the router so it could communicate back to the internal subnets through the ASA.

Router0
! Configure WAN Interface Router0(config)# interface g0/0 Router0(config-if)# ip address 203.0.113.2 255.255.255.0 Router0(config-if)# no shut ! Critical: Return path to ASA Outside Interface Router0(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.1

Static NAT: The Public Face

Acorn

A network object named WEB_SERVER_EXT (External) typically represents the public-facing IP address of an internal server, allowing for reusable ACL and NAT rules rather than raw IP addresses.

ASA
ciscoasa(config)# object network WEB_SERVER_EXT ciscoasa(config-network-object)# host 203.0.113.10 ciscoasa(config-network-object)# nat (dmz,outside) static 203.0.113.10

Dynamic PAT (Network Address Translation)

Internal users on the 192.168.1.0/24 network require translation to the ASA's outside IP (203.0.113.1) to reach external resources.

object network INSIDE_NET subnet 192.168.1.0 255.255.255.0 nat (inside,outside) dynamic interface
Live Translation Verification

Verification via show nat confirmed the successful mapping of internal packets:

ciscoasa# show nat 1 (inside) to (outside) source dynamic INSIDE_NET interface translate_hits = 12, untranslate_hits = 12

Packet Tracer Hangups & ICMP Fixes

During implementation, the ASA 5506-X model in Packet Tracer rejected standard "shortcut" commands such as clear xlate and icmp permit as Invalid Input.

The Solution: Manual Inbound ICMP Access List

To allow ping replies from the outside (Security Level 0) to the inside (Security Level 100), an explicit ACL was required:

ciscoasa(config)# access-list OUTSIDE_IN extended permit icmp any any ciscoasa(config)# access-group OUTSIDE_IN in interface outside

This resulted in successful end-to-end connectivity from PC0 to the Internet Router.

Perimeter Defense & DMZ Access

Policy: Permit External HTTP to Web Server

To allow internet traffic to reach the DMZ without exposing the internal LAN, we apply a specific Access Control List (ACL) to the 'Outside' interface.

access-list OUTSIDE-TO-DMZ extended permit tcp any host 172.16.1.10 eq 80 access-group OUTSIDE-TO-DMZ in interface outside

Technical Execution Ledger - Complete Lab Narrative

This ledger documents every command, verification step, and architectural correction made during the lab to overcome simulator limitations.

# Prompt Command / Action Logic / Explanation Result
01ciscoasa(config-if)#nameif insideEstablishing the high-trust (Security Level 100) internal zone.Success
02ciscoasa(config-if)#security-level 100Manual confirmation of the highest trust level for the LAN.Success
03ciscoasa(config-if)#nameif outsideEstablishing the zero-trust (Security Level 0) internet-facing zone.Success
04ciscoasa(config-if)#security-level 0Assigning the lowest trust level for external traffic.Success
05ciscoasa(config-if)#nameif dmzEstablishing the semi-trusted (Security Level 50) server zone.Success
06ciscoasa(config)#route outside 0.0.0.0 0.0.0.0 203.0.113.2Configuring the ASA default gateway to reach the ISP router.Success
07Router0(config)#ip route 0.0.0.0 0.0.0.0 203.0.113.1Adding a return route on the router to point back to the ASA.Success
08ciscoasa(config)#object network INSIDE_NETDefining a network object for the 192.168.1.0/24 subnet.Success
09(config-network)#nat (inside,outside) dynamic interfaceEnabling PAT so internal hosts can reach the internet.Success
10ciscoasa(config)#object network WEB_SERVER_EXTDefining a public IP object for the DMZ web server.Success
11(config-network)#nat (dmz,outside) static 203.0.113.10Performing Static NAT to map the server to a public address.Success
12ciscoasa(config-pmap-c)#inspect icmpEnabling stateful inspection to allow ping replies.Success
13ciscoasa(config)#icmp permit any outsideAttempting a shortcut command to permit inbound ICMP.Invalid Input
14ciscoasa(config)#access-list OUTSIDE_IN extended permit icmp any anyManual ACL fallback to permit ICMP replies on the outside.Success
15ciscoasa(config)#access-group OUTSIDE_IN in interface outsideApplying the manual ACL to the outside physical interface.Success
16ciscoasa(config)#access-list OUTSIDE-TO-DMZ extended permit tcp any host 172.16.1.10 eq 80Creating an ACL to allow public web traffic to the DMZ.Success
17ciscoasa(config)#access-group OUTSIDE-TO-DMZ in interface outsideActivating the inbound web service policy.Success
18ciscoasa(config-pmap-c)#inspect httpEnabling L7 HTTP inspection to track TCP state.Success
19ciscoasa#packet-tracer input outside tcp 203.0.113.5 1234 203.0.113.10 80Simulating external web traffic for flow diagnostics.Invalid Input
20ciscoasa(config)#sysopt connection tcpmss 1300Attempting to resolve PT browser hang by reducing MSS.Invalid Input
21ciscoasa(config)#access-list INSIDE_IN extended permit tcp 192.168.1.0 255.255.255.0 host 172.16.1.10 eq 80Permitting the internal LAN to manage the DMZ server.Success
22ciscoasa(config)#access-group INSIDE_IN in interface insideApplying management access policy to the inside interface.Success
23PC0 Desktopping 172.16.1.10Verifying Layer 3 connectivity from PC to DMZ server.Verified
24PC0 BrowserURL: http://172.16.1.10Service test using the built-in Packet Tracer browser tool.Timeout (PT Bug)
25ciscoasa#write memorySaving the logically sound configuration to startup-config.Saved

Lab Conclusion & Architectural Summary

Logical Success

From a pure engineering perspective, the three-zone architecture is fully operational. We successfully established a high-trust Inside LAN (100), a zero-trust Outside WAN (0), and a semi-trusted DMZ (50). By implementing Dynamic PAT for outgoing traffic and Static NAT for the DMZ web server, we achieved the core requirements of a modern perimeter defense. The connectivity was verified at Layer 3 via ICMP across all interfaces, proving that the routing table, security levels, and return-path routes on the ISP router are 100% accurate.

Simulator Limitations

While the configuration is "production-ready," this lab highlighted the distinct gap between Cisco ASA emulation and Packet Tracer simulation. The rejection of standard commands like packet-tracer and sysopt connection forced a manual, more granular approach to Access Control Lists. The browser timeout encountered on PC0, despite successful pings and TCP inspection rules, is a documented artifact of how the simulator handles virtualized web requests across translated interfaces. In a physical environment, these verified flows would result in a successful HTTP handshake to the DMZ Web Server.

Acorn

Final Takeaway: The value of this lab lies in the troubleshooting process. Moving beyond basic "allow all" rules to specific L7 HTTP inspection and manual ACL overrides demonstrates understanding of the ASA's packet-processing engine. This documentation serves as a blueprint for deploying a secure, three-legged firewall in a physical Cisco environment.



Accessibility
 --overview

API
 --REST best practices
 --REST demo
 --REST vs RPC
 --Wikipedia API

Blockchain
 --overview

Cloud
 --AWS overview

CSS/HTML
 --Bootstrap carousel
 --Grid demo
 --markdown demo

DevOps
 --Agile Principles
 --DevOps overview
 --Drupal, containerized
 --RKE2: Deploying the Rancher Kubernetes Engine

Electricity
 --fundamentals

Encoding
 --Overview

Ergonomics
 --Desk configuration
 --Device fleet
 --Input device array
 --keystroke mechanics
 --Phones & RSI

ERP
 --Anthology overview
 --Ellucian Banner
 --Higher Ed ERP Simulation Lab
 --PeopleSoft Campus Solutions
 --PESC standards
 --Slate data model

Git
 --syntax overview
 --troubleshooting libcrypto

Hardware
 --Device fleet
 --Homelab diagram

Java
 --Fundamentals

Javascript
 --Advanced Interaction: jQuery & UI Frameworks
 --input prompt demo
 --misc demo
 --Time and Date functions
 --Vue demo

Linux
 --grep demo
 --HCI and Proxmox
 --Proxmox install
 --xammp ftp server

Mail flow
 --DKIM, SPF, DMARC
 --MAPI

Microsoft
 --AZ-800: Administering Windows Server Hybrid Core Infrastructure
 --BAT scripting
 --Group Policy
 --IIS
 --robocopy
 --Server 2022 setup - Virtualbox

Misc
 --Applications
 --regex
 --Resources
 --Sustainable Computing
 --Terminology
 --The Humility Protocol: Reality Over Reputation
 --The Jobsian Protocol: Systems Analysis as a War on Entropy
 --The Jordan Framework: Engineering a Competitive Edge
 --Tribute to Computer Scientists

Networks
 --BGP Peering & Security Hardening Lab
 --CCNA Lammle Study Guide
 --Cisco 1921/K9 router
 --routing protocols
 --throughput calculations

PHP/SQL
 --Cookies
 --database interaction
 --demo, OSI Layers quiz
 --Foreign key constraint demo
 --fundamentals
 --MySQL and PHPmyAdmin setup
 --pagination
 --security
 --session variables
 --SQL fundamentals
 --structures
 --Tables display

Python
 --fundamentals

Security
 --Overview- GRC (Governance, Risk, and Compliance)
 --Security Blog
 --SSH fundamentals

Serialization
 --JSON demo
 --YAML demo