Security Audit Checklist

Quarterly security audit a sysadmin or MSP runs across identity, network, data, software, and incident response domains. Captures findings, drives remediation tickets, and produces sign-off evidence for SOC 2, HIPAA, or internal ITGC review.

5 sections 24 steps Collects data
1

Access Control and Identity Hygiene

  1. Pull the Entra ID and AD account inventory
    • Export the full account list from Entra ID (Get-MgUser) and on-prem AD (Get-ADUser). Reconcile against the HR system of record — orphan accounts almost always live in the gap between IT and HR exports.

  2. Review Tier 0 and privileged group membership
    • Audit Domain Admins, Enterprise Admins, Global Admins, and any custom privileged role groups. Standing membership should be near-zero — privileged access belongs in PAM (CyberArk, Delinea) with JIT elevation, not as a permanent group assignment.

  3. Confirm MFA enforcement and block legacy auth
    • Verify the conditional access policy blocks IMAP, POP, SMTP AUTH, and other legacy protocols org-wide. MFA on the front door is meaningless if attackers can password-spray a basic-auth endpoint that bypasses it.

  4. Disable accounts inactive over 90 days
    • Pull last-sign-in data from Entra ID sign-in logs and AD lastLogonTimestamp. Disable (do not delete) so the audit trail is preserved. Flag service accounts separately — they may show no interactive sign-in but still be in active use.

    Collects number
  5. Audit sign-in logs for impossible travel
    • Pull the last 30 days of risky sign-ins from Entra ID Identity Protection or your SIEM. Investigate impossible-travel, anonymous IP, and unfamiliar-location alerts. Confirm any auto-remediated accounts were verified with the user, not silently restored.

2

Network Security

  1. Review firewall rule base for stale entries
    • Pull the rule base from Fortinet, Palo Alto, or Meraki and sort by hit count. Any rule with zero hits over 90 days is a remediation candidate — most are leftovers from departed vendors or one-off troubleshooting that never got cleaned up.

  2. Verify network device firmware versions
    • Walk switches, routers, APs, and firewalls against the vendor's current recommended release (not necessarily latest — vendor advisories often flag a specific stable train). Document any device deferred for an upcoming maintenance window.

  3. Audit VPN and ZTNA configurations
    • Confirm split-tunnel exclusions don't expose internal subnets to home networks, and that legacy full-tunnel VPN users are migrated to ZTNA per-app authorization. Revoke certificates for departed users; orphan VPN certs are a recurring offboarding gap.

  4. Scan external interfaces for open ports
    • Run an external Nmap or Tenable scan against all public IPs. Any open port that isn't tied to a documented service is a finding. RDP and SMB exposed to the internet are immediate P1 escalations regardless of audit cadence.

    Collects list
  5. Close unused ports and file an exception record
    • Submit a standard change to close each unjustified port. For any port that must remain open, file an exception in the GRC tool with a named owner, business justification, and review date. No-justification + no-exception = remediate now.

3

Data Protection and Backup

  1. Verify encryption at rest on file shares
    • Confirm BitLocker on Windows file servers, LUKS or native encryption on Linux, and storage-level encryption on the SAN/NAS. Validate that recovery keys are escrowed (Entra ID for BitLocker, vault for LUKS) — a key you can't recover is encryption that fails the auditor.

  2. Run a backup restore drill
    • Pick a representative VM and a representative file share and restore both into an isolated environment from Veeam, Datto, or Rubrik. Time the restore against the documented RTO. A green backup dashboard means nothing if the restore fails — this is the only step that proves the backup is usable.

    Collects list
  3. Open a P1 ticket with the backup vendor
    • A failed restore drill is a P1. Page the on-call engineer, open a vendor ticket, and trigger the BCP communication path to leadership. Do not close this audit until the underlying cause is identified and a follow-up restore succeeds.

  4. Confirm the immutable offsite copy exists
    • Validate the 3-2-1 setup end to end: 3 copies, 2 media types, 1 immutable offsite (object lock, write-once tape, or separate cloud account with no production credentials). Ransomware-resilient backup is only ransomware-resilient if production cannot write or delete the offsite copy.

  5. Audit access to PHI and PII shares
    • Pull NTFS / share permissions on regulated data shares and reconcile against the role matrix. Watch for Domain Users, Authenticated Users, or Everyone in the ACL — these are the recurring HIPAA and PCI findings that auditors flag in 30 seconds.

4

Software and Vulnerability Management

  1. Review patch compliance across deployment rings
    • Pull patch status from Intune, SCCM, or Automox by ring (test, pilot, prod). Confirm the latest Patch Tuesday cycle has fully reached prod within the documented SLA. Devices stuck behind by 60+ days usually have a broken agent — open a remediation ticket per device, not in bulk.

  2. Inventory installed software per endpoint
    • Pull the software inventory from the RMM (NinjaOne, Datto RMM) or Intune. Compare against the approved-software list. Unauthorized installs are usually shadow-IT productivity tools, but occasional finds are RMM-trojan installers — investigate anything unfamiliar before assuming it's benign.

    Collects list
  3. Remove unauthorized software and update SAM
    • Push uninstall via the RMM or Intune. For licensed software found outside the SAM tool, decide: license and document, or remove. License true-ups discovered during audit are cheaper than during a Microsoft or Adobe audit.

  4. Run an authenticated vulnerability scan
    • Run Tenable, Qualys, or Rapid7 with credentials — unauthenticated scans miss the local vulnerabilities that matter. Attach the report so the remediation triage step has the source-of-truth findings to work from.

    Collects file
  5. Triage and assign CVE remediation tickets
    • Sort scan findings by CVSS and known-exploited status (CISA KEV catalog). Open tickets with named owners and SLA-aligned due dates: Critical/KEV inside 7 days, High inside 30, Medium inside 90. Attach the scan evidence to each ticket.

5

Incident Response Readiness

  1. Review the incident response runbook
    • Walk the runbook against current reality: phone numbers, on-call rotation, vendor contacts, cyber insurance hotline, legal counsel. The most common IR gap is a contact list that hasn't been updated since the last person rotated off the team.

  2. Run a tabletop exercise with the IR team
    • Pick a realistic scenario — ransomware via a compromised vendor account, BEC of the CFO, ESXi-targeted ransomware. Walk the runbook with the actual IR team, including someone playing legal and someone playing comms. Document gaps and assign owners.

  3. Verify SIEM log retention and coverage
    • Confirm Sentinel, Splunk, or your SIEM is ingesting from every domain controller, EDR console, firewall, and identity provider. Check retention against the compliance floor (commonly 90 days hot, 12 months cold for SOC 2; 6 years for HIPAA). Missing log sources are the most painful gap to discover during an actual incident.

  4. Document audit findings and sign off
    • Compile findings into the GRC system or shared report. Director of IT or CISO signs off. Open follow-up tickets for any remediation that didn't complete inside the audit window with named owners and due dates.

    Collects list Collects paragraph Collects signature

Use this template

Copy it to your account, customize the steps, and run it with your team in minutes.


Sections 5
Steps 24
Category Systems Administration
Price Free to start
Need a different process

Browse hundreds of free templates across every team and industry.

Back to template library

Run Security Audit Checklist with your team

Customize the steps, assign roles, set a schedule, and keep a complete record for every run.