audit-configs

Use when asked to audit, review, validate, or find security or consistency issues in FortiGate configs. Produces structured findings by severity.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "audit-configs" with this command: npx skills add rsx129921/fortinetskills/rsx129921-fortinetskills-audit-configs

Fortinet: Auditing Configs

Overview

This skill guides systematic security and consistency auditing of FortiGate .conf snapshots. Use it when the user asks to "audit", "review for issues", "check security", or "validate" one or more firewall configs.

See fortinet:read-configs for: how to locate and parse config sections, fleet inventory, file paths.

Audit Workflow

  1. Determine scope: single site or all 10 sites
  2. For each config section below, extract the relevant block using the read-configs approach
  3. Check each item in the checklist
  4. Collect all findings into a report grouped by severity
  5. Present report (Critical first, then Warning, then Info)

Severity Definitions

SeverityMeaning
CriticalActive security risk — should be remediated immediately
WarningSuboptimal or inconsistent — should be reviewed
InfoInformational, best-practice gap — low urgency

Checklist

System Global (config system global)

CheckFieldBad valueSeverityNote
Telnet enabledadmin-telnetenableCriticalPlaintext admin protocol
TLS minimum too lowssl-min-proto-versionanything < TLSv1-2Critical
Lockout threshold too highadmin-lockout-threshold> 3WarningDefault is 3
Lockout duration too shortadmin-lockout-duration< 60Warning
CLI audit log offcli-audit-logdisableInfoUseful for change tracking
Auto-save offcfg-savemanualInfoRisk of losing unsaved changes

System Interface (config system interface)

For each interface in the block:

CheckFieldBad valueSeverityNote
Telnet in allowaccessallowaccesscontains telnetCritical
HTTP in allowaccessallowaccesscontains httpWarningUnencrypted management
No descriptiondescription'' (empty)Info
Interface down, no commentstatusdown with empty commentInfoDecommissioned?

Firewall Policies (config firewall policy)

For each policy (edit N ... next):

CheckConditionSeverityNote
Accept with no UTMaction accept AND utm-status disableWarningNo inspection
Accept any-to-anyaction accept AND srcaddr "all" AND dstaddr "all"CriticalOverly permissive
Logging offlogtraffic disableWarningNo visibility
Disabled policystatus disableInfoFlag for review/cleanup
No policy namename ''InfoHard to manage unnamed policies

Router Static (config router static)

CheckConditionSeverityNote
Multiple default routesMore than one dst 0.0.0.0 0.0.0.0 entryWarningCheck distance/priority for intent
Blackhole routeblackhole enableInfoIntentional? Document it

VPN IPsec Phase1 (config vpn ipsec phase1-interface)

For each tunnel:

CheckFieldBad valueSeverityNote
Weak encryptionproposalcontains 3des or desCriticalBroken ciphers
Weak hashproposalcontains -md5CriticalBroken hash
SHA1 onlyproposalcontains -sha1 (no sha256/sha384)WarningSHA1 deprecated
IKEv1ike-version1WarningPrefer IKEv2
Weak DH groupdhgrp1, 2, or 5CriticalDH1/2/5 are broken

VPN IPsec Phase2 (config vpn ipsec phase2-interface)

CheckFieldBad valueSeverityNote
PFS disabledpfsdisableWarningForward secrecy lost
Weak proposalproposalcontains 3des, des, -md5Critical

Known fleet issues to flag:

  • CDW (cdwfw01) has proposal aes128-sha1 and dhgrp 2 on existing tunnels — these are existing Critical findings

Report Format

## Audit Report — {site(s)} — {date}

### Critical (N)
- **[SITE] [DOMAIN]** `config vpn ipsec phase1-interface / edit "EV-AWS-00"`
  Finding: `dhgrp 2` — DH group 2 (1024-bit) is cryptographically broken
  Remediation: `set dhgrp 14` (minimum) or `set dhgrp 19` for ECDH

### Warning (N)
- ...

### Info (N)
- ...

### Clean
- System lockout settings: all sites ✓
- ...

Always list what was checked and found clean, not just problems.

Multi-Site Audit

When auditing all 10 sites, consolidate:

  • Group by finding type, list affected sites
  • Example: "Telnet enabled — affects: cdw (1/10 sites)"
  • Produce a summary matrix: rows = finding types, columns = sites, cells = ✓/✗

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Security

AI Cybersecurity & Privacy Audit — Find Every Digital Threat to Your Business Before Hackers Do

Scans your company domain for data breaches, vulnerabilities, employee risks, and vendor exposures, then generates a prioritized cybersecurity report with re...

Registry SourceRecently Updated
Security

test

Security hardening patterns for production AI agents. Covers prompt injection defense (7 rules), data boundary enforcement, read-only defaults for external i...

Registry SourceRecently Updated
70Profile unavailable
Security

proof

A local-first cryptographic toolkit. Executes zero-knowledge proof (ZKP) generation, circuit compilation via SnarkJS/ZoKrates, and formal verification analys...

Registry SourceRecently Updated
1170Profile unavailable
Security

Certcheck

SSL/TLS certificate checker and analyzer. Inspect SSL certificates for any domain, check expiration dates, verify certificate chain, detect security issues,...

Registry SourceRecently Updated
1080Profile unavailable