🚨 CMMC Phase One started November 10! Here's everything you need to know →

How to Implement NIST SP 800-171 REV.2 / CMMC 2.0 Level 2 - Control - CM.L2-3.4.7: Step-by-Step Guide to Restricting Nonessential Programs and Services

Practical, step-by-step guidance for small businesses to meet NIST SP 800-171 / CMMC 2.0 CM.L2-3.4.7 by restricting nonessential programs, functions, ports, protocols, and services to reduce attack surface and protect CUI.

•
April 20, 2026
•
4 min read

Share:

Schedule Your Free Compliance Consultation

Feeling overwhelmed by compliance requirements? Not sure where to start? Get expert guidance tailored to your specific needs in just 15 minutes.

Personalized Compliance Roadmap
Expert Answers to Your Questions
No Obligation, 100% Free

Limited spots available!

CM.L2-3.4.7 of NIST SP 800-171 Rev.2 / CMMC 2.0 Level 2 requires organizations to restrict, disable, or prevent the use of nonessential programs, functions, ports, protocols, and services — a core control to reduce attack surface and protect Controlled Unclassified Information (CUI); this guide gives practical, technical, and governance-focused steps tailored for small businesses pursuing compliance with the Compliance Framework.

What CM.L2-3.4.7 requires and the Compliance Framework context

The requirement expects an organization to identify what is essential for business operations and explicitly remove, disable, or block everything else. In Compliance Framework terms, this maps to configuration management and system hardening activities documented in the System Security Plan (SSP), enforced through technical controls, and tracked via a Plan of Action and Milestones (POA&M) for exceptions. Key objectives are to minimize exposed services, prevent unnecessary code execution, and reduce vectors for exploitation that could compromise CUI.

Step-by-step implementation

1) Inventory and baseline every asset

Start with a complete inventory of endpoints, servers, VMs, network devices, and IoT/OT devices. For a small business this can be performed using MDM/EDR tools (Microsoft Intune, Jamf, CrowdStrike) or open-source scanners (Nmap, GLPI + FusionInventory). Run an authenticated scan to list installed packages and listening ports: example commands — Linux: sudo systemctl list-units --type=service --state=running, ss -tuln; Windows: PowerShell Get-Service | Where-Object {$_.Status -eq 'Running'}, and netstat -ano or Get-NetTCPConnection. Store results in your CMDB and create a baseline "approved services and programs" list in the SSP.

2) Risk-assess and categorize services and programs

Not all services labelled "nonessential" are safe to remove — perform a lightweight risk assessment: identify which services handle CUI, which are required for core workflows, and which are legacy/unused. For a small defense contractor, for example, the build server and tenant VPN services are essential, while Telnet, print spooler on isolated servers, or SMBv1 are likely nonessential and high risk. Document each decision, associated risk level, and mitigation in the SSP and POA&M if removal cannot be immediate.

3) Disable/remove nonessential software and services (technical controls)

Use centralized tools to enforce changes at scale. For Linux: disable and stop services with sudo systemctl disable --now service-name; remove packages with sudo apt purge telnetd or sudo yum remove package. For Windows: change startup types via PowerShell Set-Service -Name "Spooler" -StartupType Disabled and stop services Stop-Service -Name "Spooler", or use sc config. Use GPO, Intune configuration profiles, or SCCM to push these settings. For network services, close unused ports at the host firewall (Windows Firewall with Advanced Security, ufw/nftables) and at the edge firewall/router. Example host firewall command: sudo ufw deny 23 (blocks Telnet).

4) Implement application control and whitelisting

Application control prevents execution of unauthorized code and is often required to demonstrate restriction of nonessential programs. Options: Windows AppLocker or Microsoft Defender Application Control (MDAC) for Windows endpoints; signed-package and RPM/deb-only policies for Linux; and endpoint allowlists provided by EDR. For small shops, create a baseline AppLocker policy from a golden image (New-AppLockerPolicy -Xml) and deploy via GPO/Intune. Maintain a process to add approved applications through a change control ticket and audit all whitelist changes monthly.

Network hardening and monitoring

Network-level controls complement host hardening. Segment networks so CUI systems are on isolated VLANs with firewall rules that only allow necessary protocols/ports between tiers. Use ACLs on switches and enforce egress filtering on the perimeter to block common exfiltration channels. Run periodic port scans (nmap -sT -p- 10.0.0.0/24) after changes to validate no unintended services are exposed. Implement continuous monitoring: forward security logs (service start/stop, application block events) to a SIEM or to a cloud log aggregator (Azure Sentinel, Elastic) and create alerts for newly opened ports or unauthorized service starts.

Governance: change control, exceptions, and documentation

Implement an exception process: any service or program allowed despite not being on the approved list requires a documented exception with business justification, risk acceptance, compensating controls, and an expiration date (common TTL: 30–90 days). Record exceptions in the POA&M and update the SSP. Integrate these changes into your change control workflow (ticket, approval, test, deploy, verify). For Compliance Framework reporting, capture evidence: configuration screenshots, change tickets, deployment logs, and periodic scans showing compliance.

Risks of not implementing CM.L2-3.4.7 and compliance tips

Failure to restrict nonessential programs/services increases attack surface, enables persistence mechanisms (e.g., weak or unnecessary services like Telnet or SMBv1), and facilitates lateral movement — all common root causes in breaches that expose CUI. Non-compliance risks include failed assessments, POA&M proliferation, possible loss of DoD contracts, and remediation costs far exceeding the price of preventative hardening. Best practices for small businesses: start with a prioritized pilot (10–20 endpoints), use MDM/EDR to automate enforcement, schedule quarterly verification scans, and treat the approved-software list as a living document tied to procurement and onboarding processes.

Summary: Implementing CM.L2-3.4.7 is a mix of inventory, risk-based decisions, technical hardening (disable/remove services, application control, firewall rules), continuous monitoring, and strong governance (SSP, POA&M, change control). For small businesses, a phased approach that leverages existing MDM/EDR tools, documents exceptions, and validates changes through scheduled scans will meet Compliance Framework expectations while dramatically reducing your exposure and protecting CUI.

 

Quick & Simple

Discover Our Cybersecurity Compliance Solutions:

Whether you need to meet and maintain your compliance requirements, help your clients meet them, or verify supplier compliance we have the expertise and solution for you

 CMMC Level 1 Compliance App

CMMC Level 1 Compliance

Become compliant, provide compliance services, or verify partner compliance with CMMC Level 1 Basic Safeguarding of Covered Contractor Information Systems requirements.
 NIST SP 800-171 & CMMC Level 2 Compliance App

NIST SP 800-171 & CMMC Level 2 Compliance

Become compliant, provide compliance services, or verify partner compliance with NIST SP 800-171 and CMMC Level 2 requirements.
 HIPAA Compliance App

HIPAA Compliance

Become compliant, provide compliance services, or verify partner compliance with HIPAA security rule requirements.
 ISO 27001 Compliance App

ISO 27001 Compliance

Become compliant, provide compliance services, or verify partner compliance with ISO 27001 requirements.
 FAR 52.204-21 Compliance App

FAR 52.204-21 Compliance

Become compliant, provide compliance services, or verify partner compliance with FAR 52.204-21 Basic Safeguarding of Covered Contractor Information Systems requirements.
 
Hello! How can we help today? 😃

Chat with Lakeridge

We typically reply within minutes