← 返回 Skills 市场
vahagn-madatyan

Cisco Firewall Audit

作者 Vahagn Madatyan · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
121
总下载
0
收藏
1
当前安装
1
版本数
在 OpenClaw 中安装
/install cisco-firewall-audit
功能描述
Dual-platform Cisco ASA and Firepower Threat Defense (FTD) firewall audit with ACL analysis, NAT policy validation, Modular Policy Framework / Access Control...
使用说明 (SKILL.md)

Cisco ASA / FTD Firewall Security Policy Audit

Policy-audit-driven analysis covering both Cisco ASA (classic) and Firepower Threat Defense (FTD). Unlike generic firewall checklists that check for open ports and default-deny, this skill evaluates the platform-specific security architecture: ASA security levels with interface-bound ACLs and Modular Policy Framework, or FTD Access Control Policy with Snort IPS integration and Firepower Management Center (FMC) orchestration.

Where platforms diverge, sections use [ASA] and [FTD] labels. Shared concepts apply to both platforms unlabeled. Covers ASA 9.x+ and FTD 6.x+ / 7.x+ managed by FMC or FDM. Reference references/policy-model.md for the ASA security-level model and FTD ACP evaluation chain, and references/cli-reference.md for dual-platform read-only commands.

When to Use

  • ACL review after rule changes or migration from ASA to FTD
  • Annual or quarterly compliance audit requiring per-rule justification
  • Post-incident rule assessment to identify how traffic was permitted
  • [ASA] Security level and interface ACL gap analysis
  • [ASA] Modular Policy Framework audit — verifying inspection maps
  • [FTD] Access Control Policy rule ordering and IPS coverage review
  • [FTD] Snort IPS policy tuning assessment — false positive vs detection gap balance
  • NAT policy validation after network re-addressing or migration
  • VPN configuration security review — site-to-site and remote access
  • Failover / HA posture verification
  • Pre-migration baseline before ASA-to-FTD conversion

Prerequisites

  • [ASA] Privilege level 5+ (read-only show commands) or ASDM read-only access
  • [FTD] Read-only analyst access to FMC web UI or FMC REST API; Expert shell access for Snort-level diagnostics
  • Understanding of the interface topology — which interfaces exist, their security levels ([ASA]), and network segment assignments
  • Knowledge of expected access policies per interface pair or zone
  • For multi-context ASA: access to system and each security context
  • [FTD] Knowledge of IPS policy baseline — which Snort ruleset and network analysis policy are expected
  • Active configuration — audit evaluates the running configuration, not pending changes

Procedure

Follow this audit flow sequentially. Each step builds on prior findings. The procedure moves from platform identification through access policy, NAT, inspection/IPS, VPN, and logging.

Step 1: Platform Identification and Architecture Inventory

Determine the platform and collect architectural baseline.

show version

Identify: ASA vs FTD, software version, hardware platform (ASA 5500-X, Firepower 1000/2100/4100/9300, virtual), licensed features.

[ASA] Inventory interfaces, security levels, and context mode:

show interface ip brief
show nameif
show mode

Security levels (0–100) determine implicit traffic flow: traffic from a higher security level to a lower is permitted by default (unless ACLs override); lower-to-higher is denied by default. Record each interface name, security level, and IP address.

For multi-context ASA:

show context
changeto context \x3Cname>
show interface ip brief

[FTD] Identify management model and registered devices:

show managers

FTD managed by FMC: policy is pushed from FMC — audit via FMC UI/API. FTD managed by FDM (local): policy configured on-device — audit via FDM web UI or REST API.

Check failover/HA status on both platforms:

show failover
show failover state

Record active/standby status, failover interface, and last failover time.

Step 2: Access Policy Analysis

[ASA] ACL-based access control:

show access-list
show running-config access-list
show running-config access-group

ASA uses interface-bound ACLs. Each ACL is applied inbound or outbound on an interface via access-group. Evaluate:

  • ACL evaluation order: Top-down within each ACL. First matching ACE (Access Control Entry) is applied. Implicit deny at the bottom.
  • Global ACL: If configured, applies to all interfaces. Interface ACLs are evaluated before the global ACL.
  • Overly permissive ACEs: permit ip any any or permit tcp any any entries are Critical findings — they permit all traffic of that protocol.
  • Unused ACEs: ACEs with zero hit counts (check show access-list output for hitcnt=0) over 90+ days are cleanup candidates.
  • EtherType ACLs: Used on transparent firewall interfaces. Review for overly broad EtherType permits.
show access-list \x3Cacl-name> brief

[FTD] Access Control Policy (ACP):

Access the ACP via FMC UI or REST API. The ACP evaluates traffic through a defined chain (see references/policy-model.md). Evaluate:

  • Prefilter policy: Hardware-level rules that bypass Snort. Overly broad prefilter Trust rules skip all inspection.
  • SSL policy: Determines which TLS flows are decrypted for inspection.
  • Access Control rules: Top-down evaluation. Actions: Allow (with or without IPS), Trust (bypass Snort), Block, Monitor.
    • Rules with Action=Allow and no Intrusion Policy pass traffic without IPS inspection.
    • Rules with Action=Trust bypass all further inspection including IPS and file/malware — use only for verified trusted flows.
  • Default action: Applied when no rule matches. Should be Block with logging, not Allow.
  • Intrusion Policy binding: Each Allow rule can bind an Intrusion Policy (Snort ruleset). Rules without one pass traffic uninspected.
system support diagnostic-cli
show access-control-config

Step 3: NAT Policy Audit

[ASA] NAT order of operations:

show nat
show nat detail
show running-config nat
show xlate

ASA NAT evaluates in three sections:

  • Section 1 (Manual NAT / Twice NAT): Explicit rules, top-down. Highest priority. Used for fine-grained control.
  • Section 2 (Auto NAT / Object NAT): Per-object NAT definitions. Evaluated after Section 1. Ordering: static rules first, then dynamic.
  • Section 3 (Manual NAT after-auto): Low-priority manual rules evaluated after auto NAT. Used for catch-all translations.

Check for NAT rule conflicts — a Section 1 rule that matches the same traffic as a Section 2 object NAT always wins. Verify that static NAT entries for published servers have corresponding ACL entries restricting access.

[FTD] NAT rules in FMC:

FTD NAT follows the same three-section model as ASA but is configured via FMC. Review NAT rules in the FMC NAT policy. Verify:

  • Manual NAT rules take precedence over auto NAT
  • NAT rules align with ACP rules — ensure translated addresses match ACP source/destination references
  • No unnecessary identity NAT rules consuming processing

Cross-reference NAT entries with access policy on both platforms — static NAT that exposes internal servers must have restrictive access rules.

Step 4: Inspection and IPS Assessment

[ASA] Modular Policy Framework (MPF):

show running-config class-map
show running-config policy-map
show running-config service-policy
show service-policy

ASA inspection uses MPF: class-maps define traffic → policy-maps bind inspections → service-policies apply to interfaces. Evaluate:

  • Default inspection: ASA enables inspection for common protocols (HTTP, DNS, FTP, etc.) via the global_policy. Verify the global policy is applied (service-policy global_policy global).
  • Custom inspections: Additional class-maps/policy-maps for specific traffic patterns. Verify they are applied to correct interfaces.
  • Missing inspections: Traffic not matching any class-map in the service-policy receives no application-layer inspection — only ACL enforcement.
  • Connection limits: MPF can set connection limits and timeouts. Review for overly permissive or missing connection limits on internet-facing interfaces.

[FTD] Snort IPS and File/Malware policies:

  • Intrusion Policy: Each ACP Allow rule can reference an Intrusion Policy that determines the Snort ruleset. Check that internet-facing Allow rules bind an Intrusion Policy.
  • Snort rule sets: Verify the base policy (Balanced Security and Connectivity, Connectivity Over Security, Security Over Connectivity, Maximum Detection). For production environments, "Balanced Security and Connectivity" is the minimum recommended baseline.
  • Network Analysis Policy (NAP): Controls protocol decoder settings and preprocessor configuration. Misconfigured NAP can cause Snort detection gaps.
  • File and Malware Policy: Detects and blocks malware file transfers. Verify binding on rules permitting file-carrying protocols (HTTP, SMTP, FTP, SMB).
  • Snort deployment mode: Inline (can block) vs passive (alert only). Production deployments should use inline mode for active prevention.
system support diagnostic-cli
show snort statistics

Step 5: VPN and Remote Access Audit

Evaluate VPN configuration security on both platforms.

show crypto ipsec sa
show crypto ikev2 sa
show vpn-sessiondb

Check:

  • Site-to-site tunnels: Verify IKE version (IKEv2 preferred over IKEv1), encryption algorithms (AES-256-GCM recommended; DES/3DES are findings), DH groups (group 14+ recommended; groups 1/2/5 are weak), and PFS settings.
  • Crypto maps / tunnel groups: [ASA] Review crypto map entries and tunnel group definitions. [FTD] Review site-to-site VPN topology in FMC.
  • AnyConnect / remote access VPN: If configured, evaluate:
    • Authentication method (certificate + MFA preferred over password-only)
    • Split tunneling settings (full tunnel recommended for security; split tunnel for performance — document the choice)
    • Connection profiles and group policies
    • Client certificate validation settings
    • Banner and session timeout configuration
show running-config tunnel-group
show running-config group-policy
  • IKE/IPSec SA lifetimes: Very long lifetimes (>24h IKE, >8h IPSec) increase exposure if keys are compromised.

Step 6: Logging and Monitoring

Evaluate logging configuration and coverage.

[ASA] Syslog configuration:

show logging
show running-config logging
  • Syslog severity: Verify logging level is set to at least "informational" (level 6) for security-relevant events. Level 5 (notifications) misses connection teardown events. Level 7 (debugging) generates excessive volume.
  • Syslog destinations: Verify syslog server(s) are configured and reachable. Check for encrypted syslog (TCP/TLS) for log integrity.
  • SNMP: If configured, verify community strings are not defaults and SNMP v3 is used for authentication/encryption.

[FTD] Firepower event logging:

  • Connection events: In FMC, verify connection logging is enabled on ACP rules. "Log at End of Connection" is standard; "Log at Beginning" adds volume but provides immediate visibility.
  • Intrusion events: Automatically logged by Snort when rules trigger. Verify events are forwarded to the SIEM.
  • eStreamer: The Firepower event streaming API for SIEM integration. Verify eStreamer client connectivity if in use.
  • Security Analytics / SecureX: If integrated, verify telemetry forwarding is active.
show logging
show running-config logging

Verify logging covers: denied connections (ACL denials), permitted connections (for audit trail), VPN events, failover events, and administrative access.

Threshold Tables

Policy Rule Severity Classification

Finding Severity Rationale
[ASA] permit ip any any in interface ACL Critical Permits all IP traffic — no access restriction
[FTD] ACP default action set to Allow Critical All unmatched traffic permitted without inspection
[FTD] Prefilter Trust rule with broad match (any/any) Critical Traffic bypasses all Snort inspection
[ASA] No global service-policy applied High No application-layer inspection on any traffic
[FTD] Allow rule without Intrusion Policy binding High Traffic permitted without IPS inspection
[FTD] SSL policy not decrypting internet-bound traffic High Snort inspects only metadata on encrypted flows
VPN using DES/3DES or DH group 1/2/5 High Weak cryptographic algorithms — vulnerable to attack
Static NAT with no restricting ACL High Published server accessible on all ports
Failover configured but standby not monitoring High HA not providing redundancy
[FTD] Snort in passive mode (production) High IPS detects but cannot block threats
[ASA] ACE with hitcnt=0 for >90 days Medium Unused rule — cleanup candidate
[FTD] File/Malware policy not bound on file-carrying rules Medium Malware detection gap on HTTP/SMTP/FTP
VPN split tunneling enabled Medium Remote user traffic may bypass corporate security controls
Logging severity below informational (level 6) Medium Security events not captured in logs
[ASA] Security levels equal with same-security-traffic disabled Low Traffic between equal interfaces blocked (may be intentional)

IPS / Inspection Maturity

Coverage Maturity Guidance
[FTD] All Allow rules have Intrusion + File/Malware policies Mature Maintain; tune Snort rules quarterly
[FTD] Most Allow rules have Intrusion Policy, some gaps Developing Bind Intrusion Policy to remaining Allow rules
[ASA] Global inspection policy active, custom maps defined Developing Evaluate FTD migration for deeper inspection
[ASA] Default global_policy only, no custom inspections Immature Add custom inspection maps for critical protocols

Decision Trees

Access Policy Gap Remediation

Overly permissive access rule identified
├── Platform?
│   ├── [ASA] permit ip any any in ACL
│   │   ├── Is ACL applied to an interface?
│   │   │   ├── Yes → CRITICAL: All traffic permitted on that interface
│   │   │   │   └── Analyze connections: show conn [interface]
│   │   │   │       → Replace with specific permit entries
│   │   │   └── No → ACL exists but not applied; verify intent
│   │   └── Global ACL?
│   │       └── Applies to all interfaces → assess scope of exposure
│   │
│   └── [FTD] Allow rule without Intrusion Policy
│       ├── What traffic does the rule match?
│       │   ├── Internet-bound → Bind Intrusion Policy (Balanced minimum)
│       │   │   └── Also bind File/Malware policy
│       │   ├── Inter-zone → Bind Intrusion Policy
│       │   └── Trusted internal → Evaluate risk; bind at minimum
│       │
│       └── Is it a Trust rule?
│           ├── Yes → Bypasses ALL inspection
│           │   └── Verify traffic is truly trusted (e.g., backup)
│           │       └── Consider changing to Allow + Intrusion Policy
│           └── No (Allow) → Add Intrusion Policy binding
│
└── Action = Trust vs Allow?
    ├── Trust → Zero inspection; use sparingly
    └── Allow → Inspection possible; bind policies

NAT Conflict Resolution

NAT rule conflict suspected
├── [ASA] Which section is each rule in?
│   ├── Section 1 (Manual) vs Section 2 (Auto) → Section 1 always wins
│   ├── Both in Section 2 → Static evaluates before dynamic; check overlap
│   └── Section 1 vs Section 3 → Section 1 wins; Section 3 may be unreachable
│
├── [FTD] Same three-section model via FMC
│   └── Review NAT policy → identify ordering conflicts
│
└── Verify with packet tracer:
    packet-tracer input \x3Ciface> tcp \x3Csrc> \x3Csport> \x3Cdst> \x3Cdport>

Report Template

CISCO ASA / FTD SECURITY POLICY AUDIT REPORT
===============================================
Device: [hostname]
Platform: [ASA model / FTD model]
Software: [ASA version / FTD version]
Management: [ASDM / FMC hostname / FDM]
Mode: [routed / transparent] [single / multi-context]
Failover: [active-standby / active-active / standalone]
Audit Date: [timestamp]
Performed By: [operator/agent]

INTERFACE / ZONE SUMMARY:
[ASA]: Interfaces: [count] (security levels: [list]) | Multi-context: [yes/no]
[FTD]: Zones: [count] ([list]) | Managed by: [FMC/FDM]

ACCESS POLICY:
[ASA]: ACLs: [count] | ACEs total: [n] | hitcnt=0 (>90d): [n] | Global service-policy: [yes/no]
[FTD]: ACP rules: [n] (Allow:[n] Block:[n] Trust:[n])
       IPS-bound: [n]/[allow] | File/Malware-bound: [n]/[allow] | Default: [Block/Allow]

NAT: Section 1: [n] | Section 2: [n] | Section 3: [n] | Static: [n] | Conflicts: [n/none]

INSPECTION / IPS:
[ASA]: Service-policy: [applied/missing] | Inspected: [protocols]
[FTD]: IPS policy: [name] | Snort: [inline/passive] | SSL decrypt: [n rules/none]

VPN: Tunnels: [n] | IKE: [v1/v2] | Crypto: [algs] | AnyConnect: [yes/no] | Split: [yes/no]

FINDINGS:
1. [Severity] [Category] — [Description]
   Platform: [ASA/FTD] | Rule: [id] | Interface/Zone: [name]
   Issue: [problem] → Recommendation: [remediation]

RECOMMENDATIONS: [Prioritized by severity]
NEXT AUDIT: [CRITICAL: 30d, HIGH: 90d, clean: 180d]

Troubleshooting

ASA-to-FTD Migration Assessment

When evaluating an ASA for migration to FTD, document: ACL count, NAT rules, MPF inspections, VPN configurations (crypto maps don't migrate directly), and multi-context usage (FTD does not support multi-context). The Cisco Firepower Migration Tool provides a baseline but audit the migrated policy for accuracy — automated migration often produces suboptimal rule ordering.

Multi-Context ASA Audits

Each security context is an independent firewall with its own interfaces, ACLs, NAT, and routing. Audit each context separately via changeto context \x3Cname>. Use show context in the system context to list all contexts and show resource allocation for per-context limits.

Large ACLs (>1000 ACEs)

Export the configuration (show running-config access-list) and parse programmatically. Prioritize by hit count — high-hit-count ACEs carry the most traffic. Zero-hit-count ACEs over 90 days are removal candidates.

FTD Diagnostic CLI

FTD runs Snort on top of an ASA-derived data plane. Use system support diagnostic-cli for ASA-style show commands. The canonical policy source is FMC — the diagnostic CLI shows deployed results.

Packet Tracer for Policy Verification

Both platforms support packet tracer for simulating traffic:

packet-tracer input \x3Cinterface> tcp \x3Csrc-ip> \x3Csrc-port> \x3Cdst-ip> \x3Cdst-port>

Shows each processing phase: ACL/ACP evaluation, NAT translation, inspection, routing, and egress. Use to verify audit findings.

安全使用建议
This skill appears to be a read-only audit playbook for Cisco ASA and FTD and mostly behaves as expected: it lists the exact 'show' commands and FMC REST API endpoints you would use. However, the packaging is inconsistent — the SKILL.md expects SSH access and FMC API tokens but the registry metadata does not declare any required credentials. Before installing or running it: (1) verify the skill's source/author since homepage is missing and the owner ID is unknown; (2) ensure you provide only limited, read-only accounts (privilege level 5 for ASA, read-only FMC account) — do not supply full admin credentials; (3) confirm how the agent will accept and store credentials (prefer ephemeral tokens, not long-lived secrets in plain env vars); (4) test the procedure in a lab or on a non-production device first; and (5) if you need assurance, request the publisher to explicitly declare required binaries (ssh) and credential names and to document how credentials are handled. The incoherence could be sloppy packaging, but because sensitive network credentials are implied and not declared, proceed cautiously.
功能分析
Type: OpenClaw Skill Name: cisco-firewall-audit Version: 1.0.0 The cisco-firewall-audit skill is a legitimate security tool designed for auditing Cisco ASA and Firepower (FTD) configurations. It utilizes standard read-only diagnostic commands (e.g., 'show running-config', 'show access-list') and FMC REST API calls to perform policy analysis, NAT validation, and VPN reviews as described in SKILL.md and references/cli-reference.md. There is no evidence of data exfiltration, malicious execution, or prompt-injection attacks; the skill's behavior is entirely consistent with its stated purpose of providing a structured security audit.
能力评估
Purpose & Capability
The documented purpose (ASA/FTD audit) matches the commands and API endpoints included in the SKILL.md and references. However there is a packaging mismatch: the registry metadata lists no required binaries/env, while the SKILL.md metadata explicitly references needing 'ssh' and the FMC REST API — implying credentials or tokens will be required at runtime. Requesting SSH/FMC access is reasonable for this audit, but those requirements are not declared consistently.
Instruction Scope
The runtime instructions are narrowly scoped to read-only diagnostic 'show' commands and FMC REST API reads; they do not instruct writing/config changes or exfiltration to external endpoints. The instructions assume network access to target devices and valid read-only credentials, and they reference generating FMC API tokens, but they do not instruct or demonstrate any unexpected data collection beyond audit-relevant outputs.
Install Mechanism
This is an instruction-only skill with no install spec or code to write to disk. That is the lowest-risk install model and matches the skill's documentation.
Credentials
The skill requires access to device credentials (SSH, ASDM/FDM, or FMC REST API tokens) in order to perform the audit, but the registry shows no required environment variables or declared primary credential. The SKILL.md implicitly expects sensitive credentials but the skill does not declare them or explain how they will be provided/handled. This omission makes it unclear how credentials will be supplied and stored, and creates a potential security/configuration gap.
Persistence & Privilege
always is false and there is no install that modifies agent config or other skills. The skill does not request persistent presence or elevated platform privileges.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install cisco-firewall-audit
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /cisco-firewall-audit 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Initial release of the Cisco ASA and Firepower Threat Defense (FTD) firewall audit skill. - Supports ACL analysis, NAT policy validation, Modular Policy Framework / Access Control Policy evaluation, Snort IPS assessment, VPN configuration review, and logging completeness checks. - Dual-platform coverage for both Cisco ASA (9.x+) and FTD (6.x+/7.x+) managed by FMC or FDM. - Includes detailed, step-by-step audit procedure for platform identification, access policy, NAT, inspection/IPS, VPN, and failover posture. - Read-only, non-intrusive audit process suitable for compliance or post-incident review scenarios.
元数据
Slug cisco-firewall-audit
版本 1.0.0
许可证 MIT-0
累计安装 1
当前安装数 1
历史版本数 1
常见问题

Cisco Firewall Audit 是什么?

Dual-platform Cisco ASA and Firepower Threat Defense (FTD) firewall audit with ACL analysis, NAT policy validation, Modular Policy Framework / Access Control... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 121 次。

如何安装 Cisco Firewall Audit?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install cisco-firewall-audit」即可一键安装,无需额外配置。

Cisco Firewall Audit 是免费的吗?

是的,Cisco Firewall Audit 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Cisco Firewall Audit 支持哪些平台?

Cisco Firewall Audit 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Cisco Firewall Audit?

由 Vahagn Madatyan(@vahagn-madatyan)开发并维护,当前版本 v1.0.0。

💬 留言讨论