CMMC Level 2 Implementation Guide June 11, 2026 · 12 min read

How to Actually Implement CMMC Level 2 Configuration Management: A Practitioner's Guide

Configuration management is the practice that makes everything else defensible. You can have strong access controls, but if you don't know what's running on your network, what each system's approved configuration looks like, and who changed what and when, you're neither compliant nor actually secure. This guide walks through all 9 CM practices with plain-language explanations and real implementation guidance.

Why Configuration Management Is Harder Than It Looks

The CM domain sits at a peculiar intersection of technical discipline and process discipline. Practice 3.4.1 (establish baseline configurations) sounds simple until you realize it requires documenting the approved state of every system type in scope, enforcing those configurations, and detecting when systems drift from the baseline. That's not a one-afternoon project, it's an ongoing operational process.

The good news: once the foundational pieces are in place (asset inventory, baseline documentation, change management process), the remaining practices build on top of them systematically. Build the foundation first.

Start here: Before implementing any of the 9 practices below, build your asset inventory. You cannot baseline, configure, or control what you don't know about. A complete list of in-scope systems, every workstation, server, network device, and cloud resource, is the prerequisite for the entire CM domain.

Practice 3.4.1, Establish and Maintain Baseline Configurations

3.4.1

Know what a correctly configured system looks like, and document it

A baseline configuration is a documented, approved set of settings for a specific system type. Every workstation, server, and network device in scope should have a documented baseline it's expected to match.

How to implement:

Common mistake: Treating "baseline" as equivalent to "we installed Windows and turned on Defender." An assessment-ready baseline is a specific, documented configuration state with defined settings, not a general description of what you use. The assessor may ask you to pull up your baseline document and compare it to a live system.

Practice 3.4.2, Establish and Enforce Security Configuration Settings

3.4.2

Harden your systems. Then enforce the hardening.

This practice goes beyond documenting a baseline, it requires actually applying security configuration settings and enforcing them so systems can't easily drift back to an insecure state.

How to implement:

Common mistake: Building GPOs in a test OU and never linking them to production. The settings exist in Group Policy, but they've never been applied to actual machines. Pull a GPO Resultant Set of Policy report on a production workstation to verify settings are actually landing.

Practices 3.4.3 and 3.4.4, Change Management and Security Impact Analysis

3.4.3 – 3.4.4

Changes go through a process. That process includes a security review.

Practice 3.4.3 requires that changes to in-scope systems are tracked, reviewed, approved, and logged. Practice 3.4.4 requires analyzing the security impact of changes before they're made. Together, these define your change management process.

How to implement:

Common mistake: Verbal approval documented as "approved by manager." An assessor reviewing your change log needs to see who approved each change and when. "Joe said it was fine" doesn't hold up. The approval needs to be recorded in the ticket.

Practice 3.4.5, Access Restrictions Associated with Changes

3.4.5

Separate who can request, approve, and implement changes

Not everyone should be able to make changes to production systems. This practice requires defining and enforcing access restrictions for the change process itself.

How to implement:

Common mistake: One IT administrator who has full access to everything with no formal authorization documentation. This person requests changes, approves them, implements them, and reviews them. That's a single point of control with no oversight, and it's exactly what this practice is designed to prevent.

Practices 3.4.6 and 3.4.7, Least Functionality and Port/Service Restrictions

3.4.6 – 3.4.7

Systems run only what they need. Ports and services that aren't needed are closed.

Practice 3.4.6 (least functionality) says configure systems to provide only essential capabilities. Practice 3.4.7 goes deeper, restrict, disable, or prevent the use of nonessential programs, ports, protocols, and services.

How to implement:

Common mistake: Firewall rule sets that have accumulated over years with no review, dozens of "any/any" or overly broad rules that nobody remembers creating. An assessor may ask you to explain the business justification for specific firewall rules. If you can't, those rules are a finding.

Practice 3.4.8, Application Allow-listing and Deny-listing

3.4.8

Control what software can execute. Allow-listing is the stronger approach.

This practice requires either a deny-by-exception approach (block known bad software) or a deny-all, permit-by-exception approach (only allow-listed software can run). The allow-list approach is significantly stronger and is what most assessors expect to see at mature CMMC implementations.

How to implement:

Common mistake: Jumping straight to enforcement without an audit phase. The result is legitimate business applications getting blocked, frustrated users, and an emergency rollback on day one. Audit first, it usually takes two to four weeks of observation to get a clean allow-list before enforcement is viable.

Practice 3.4.9, Control and Monitor User-Installed Software

3.4.9

Remove local admin from standard users. Build a software approval process.

This practice is about preventing users from installing unauthorized software on systems that handle CUI. It's closely related to 3.4.8, allow-listing controls what executes, but 3.4.9 controls what gets installed in the first place.

How to implement:

Common mistake: Local admin rights granted to all users because the helpdesk "got tired of software requests." This is the most common CM finding. Users with local admin can install anything, browsers with extensions, remote access tools, unapproved cloud sync clients. Removing local admin immediately strengthens 3.4.8, 3.4.9, and several other practices.

Quick Reference: Tools for CM Implementation

NeedTool OptionsNotes
Baseline standardsCIS Benchmarks, DISA STIGs, Microsoft Security BaselineCIS Benchmarks are free and well-documented; STIGs are required for some DoD contracts
Baseline assessmentCIS-CAT Lite (free), Tenable Nessus, QualysCIS-CAT Lite scores a system against the CIS Benchmark at no cost
Asset inventoryLansweeper, PDQ Inventory, Qualys, IntuneIntune provides inventory for enrolled devices at no additional cost if already licensed
Configuration enforcementGroup Policy (GPMC), Microsoft Intune, SCCMGPO is free with Windows Server; Intune is included in M365 Business Premium
Change managementServiceNow, Jira Service Management, FreshserviceEven a structured SharePoint list can satisfy the requirement for small organizations
Application controlThreatLocker, WDAC, AppLockerThreatLocker is the most assessment-friendly; WDAC/AppLocker are built into Windows
Port and service auditingNmap, Nessus, QualysNmap is free; run against in-scope systems to identify unexpected open ports
Software inventory and deploymentIntune, SCCM, PDQ DeployPDQ Deploy is useful for on-premise environments without full Intune rollout

The CM-AC connection: Several CM practices depend on AC controls to be effective. Allow-listing (3.4.8) and user software control (3.4.9) both require that users can't elevate privileges to bypass controls, which comes from AC least privilege (3.1.5–3.1.7). Change access restrictions (3.4.5) overlap directly with separation of duties (3.1.4). If your AC controls aren't implemented, CM controls will have gaps. Implement these domains together, not independently.

Building the Evidence Package

The CM domain requires documentation that goes beyond just the policy. Assessors will typically want to see your baseline configuration documents, a sample change request ticket showing the full workflow (request, security analysis, approval, implementation), evidence that your baseline is actually enforced on live systems (a GPO Resultant Set of Policy report or an Intune compliance report), your approved software list, and your asset inventory.

Build this evidence package as you implement, it's far easier to capture screenshots and export reports during implementation than to reconstruct everything the week before your assessment.

Need the Policy Document That Covers These Practices?

Our CMMC Level 2 Configuration Management Plan template covers all 9 CM practices in formal policy language with fill-in-the-blank placeholders for your organization's specific tools, baselines, and change management process. Written for defense contractors by practitioners who have built CM programs for real CMMC engagements.

Download the CM Plan Template →

Frequently Asked Questions

A baseline configuration is a documented, approved set of configuration settings for a specific type of system, defining what a correctly configured workstation, server, or network device should look like. For CMMC, common baselines include the CIS Benchmarks and DISA STIGs. The baseline must be documented, deployed to in-scope systems, and enforced, meaning systems are regularly compared against it and deviations are corrected or formally approved as exceptions.
Practice 3.4.8 requires either a deny-by-exception (deny-list) or deny-all, permit-by-exception (allow-list) approach. While deny-listing technically satisfies the practice, the allow-list approach is the stronger control and what most C3PAOs expect to see at a mature implementation. Tools like ThreatLocker, Windows Defender Application Control, and AppLocker all satisfy the requirement. If you choose deny-listing only, be prepared to explain the approach and demonstrate how it's maintained.
Practice 3.4.3 requires tracking, reviewing, approving, and logging changes. The level of formality scales with organizational size, a small contractor can use a simple ticketing system with a defined approval step, while larger organizations use ITIL-based change management. The key requirements are that changes are requested, reviewed for security impact (3.4.4), approved by someone other than the implementer, and logged with enough detail to reconstruct what changed and when.
Yes, this is one of the most impactful single controls for the CM domain. Practice 3.4.9 requires controlling user-installed software, and 3.4.8 requires controlling software execution. Both are significantly harder to satisfy when users have local admin rights, because admin users can install and run most anything. Removing local admin from standard user accounts is foundational to software control and is an expected control by assessors.
Practice 3.4.6 (least functionality) is about systems overall, configure systems to provide only essential capabilities, removing unnecessary roles and features. Practice 3.4.7 is more specific, it targets ports, protocols, and services, requiring that nonessential ones are restricted or disabled. Together they address both the macro level (what does this server do?) and the micro level (what is this server listening on?). A server can satisfy 3.4.6 by having only the File Server role installed while still failing 3.4.7 if it has unnecessary ports open or legacy protocols enabled.

More Implementation Guides in This Series

🔐 Access Controls (AC) Read → 🪪 Identification & Authentication (IA) Read → 🚨 Incident Response (IR) Read → 📊 Risk Assessment (RA) Read → 📋 Audit & Accountability (AU) Read → 🛡️ System & Comms Protection (SC) Read → 🔍 System & Info Integrity (SI) Read →
📬

Get CMMC tips and template updates

No spam. Just practical guidance on CMMC compliance and new resources when we publish them.