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

How to Harden Windows and Linux Systems to Meet NIST SP 800-171 REV.2 / CMMC 2.0 Level 2 - Control - CM.L2-3.4.6: A Practical Implementation Checklist

Step-by-step checklist for hardening Windows and Linux systems to meet NIST SP 800-171 Rev.2 / CMMC 2.0 Level 2 (CM.L2-3.4.6) with practical controls, commands, and validation tips.

•
March 27, 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!

This post explains how small businesses can implement practical, verifiable hardening measures on Windows and Linux systems to satisfy NIST SP 800-171 Rev.2 / CMMC 2.0 Level 2 Control CM.L2-3.4.6 (establishing and enforcing secure configuration settings), providing a hands-on checklist, commands, automation examples and evidence collection tips aligned to the Compliance Framework.

What CM.L2-3.4.6 requires (practical interpretation)

At Level 2 the Compliance Framework expects organizations to define, implement, and maintain secure configuration baselines and ensure systems adhere to those baselines. Practically, that means documented security configurations (benchmarks), automated enforcement (where possible), monitoring for drift, and an auditable record of changes and exceptions for both Windows and Linux endpoints hosting Controlled Unclassified Information (CUI).

High-level implementation checklist

Start by selecting an authoritative baseline (CIS Benchmarks, Microsoft Security Baselines, or DISA STIG where applicable), record your baseline in policy, deploy baseline configurations to devices, automate continuous enforcement, monitor and alert on configuration drift, document authorized deviations and change approvals, and capture evidence (GPO backups, automation runbooks, audit logs) for compliance assessment.

Windows: concrete steps, commands and examples

For Windows endpoints and servers: (1) Adopt the Microsoft Security Baseline or CIS Windows Benchmark; (2) Deploy via Group Policy, Intune (MDM) or SCCM—example Group Policy settings: Computer Configuration → Windows Settings → Security Settings → Local Policies → Security Options: set "Network security: LAN Manager authentication level" to "Send NTLMv2 response only & refuse LM"; (3) Disable legacy protocols: use PowerShell to disable SMBv1 and TLS1.0: Set-SmbServerConfiguration -EnableSMB1Protocol $false; New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -Name 'Enabled' -Value 0 -PropertyType DWORD -Force; (4) Enforce disk encryption and local account protections: enable BitLocker via MBAM/Intune and deploy LAPS for local admin password management; (5) Harden execution: use Application Control (AppLocker or Windows Defender Application Control) and enable Windows Defender Exploit Guard. Automate verification: use PowerShell scripts that run Get-GPOReport, Test-Path against registry keys, and return a compliance pass/fail; store results centrally (SIEM or file share) for audit. Example PowerShell check to ensure SMBv1 is off: (Get-SmbServerConfiguration).EnableSMB1Protocol

Linux: concrete steps, commands and examples

For Linux systems: (1) Adopt CIS Benchmarks for your distribution (RHEL, Ubuntu, etc.); (2) Harden SSH: in /etc/ssh/sshd_config set PermitRootLogin no, PasswordAuthentication no (use keys), and configure ClientAliveInterval/ClientAliveCountMax to drop dead sessions; (3) Kernel and network hardening: add to /etc/sysctl.d/99-hardening.conf net.ipv4.ip_forward=0, net.ipv4.conf.all.rp_filter=1, net.ipv4.conf.default.rp_filter=1; run sysctl --system to apply; (4) Limit services: use systemctl disable --now for unnecessary services; (5) File integrity and auditing: deploy auditd with rules to watch /etc/ssh/sshd_config and critical binaries (example: auditctl -w /etc/ssh/sshd_config -p wa -k ssh_config_change); (6) Automate with Ansible: create playbooks that push CIS items and run idempotent checks. Example Ansible task snippet to ensure SSH root login disabled: - name: Disable SSH root login lineinfile: path: /etc/ssh/sshd_config regexp: '^#?PermitRootLogin' line: 'PermitRootLogin no' notify: restart sshd. Validate hardening with OpenSCAP, Lynis or CIS-CAT and store scan results for evidence.</p>

Operationalize enforcement and evidence collection

Automation prevents drift—use Group Policy/Intune/SCCM/DSC for Windows and Ansible/Chef/Puppet for Linux. Implement daily or weekly configuration scans (e.g., CIS-CAT Pro, OpenSCAP, Nessus configuration audits) and centralize logs in a SIEM or log server. Maintain a change-control log that ties configuration changes to approved tickets, keep baseline artifacts in version control (GPO backups, DSC MOF files, Ansible playbooks), and collect periodic compliance reports (GPO reports, SCAP results, Ansible run outputs) as evidence for assessments.

Small-business real-world scenarios and tips

Scenario A: Small contractor with 30 devices—use Intune to push Microsoft security baselines, enable BitLocker, and enforce LAPS; schedule weekly compliance PowerShell scripts to post JSON results to an Azure Storage account. Scenario B: Linux-heavy shop hosting CI—use Ansible to enforce CIS settings, run weekly OpenSCAP scans in CI pipeline, and block outward access for build agents via nftables to limit lateral risk. Practical tips: prioritize systems handling CUI, enforce least privilege on admin accounts, and document every baseline exception with risk acceptance and re-review dates.

Compliance tips, best practices and common pitfalls

Document your baseline (reference the exact CIS/SCAP/STIG version), automate enforcement and validation, and integrate configuration hardening into onboarding/offboarding and patch cycles. Avoid undocumented manual changes—they break auditability. Use layered controls (baseline + app control + EDR) rather than relying on a single setting. Keep exception handling formal: temporary exceptions require a ticket, compensating controls, and an expiration. Common pitfalls: failing to version baselines, not collecting automated evidence, and excluding servers from scans because of perceived operational risk—these all undermine compliance.

Risk of not implementing CM.L2-3.4.6

Without enforced secure configurations you increase the attack surface—legacy protocols, weak crypto, or misconfigured services can allow credential theft, lateral movement, ransomware, and CUI exfiltration. For contractors handling DoD or government data, noncompliance risks contract penalties, lost business, and reputational damage; technically, undetected drift often precedes compromise, so lack of enforcement is a high-impact, high-likelihood risk.

Summary: To meet CM.L2-3.4.6, select an authoritative baseline, document it, enforce it via Group Policy/MDM/SCCM for Windows and Ansible/chef/puppet for Linux, automate continuous validation (OpenSCAP, CIS-CAT, custom scripts), maintain change-control and evidence stores, and treat configuration hardening as a continuous operational program—not a one-time project. Following the checklist and the practical commands and examples above will give a small business a repeatable, auditable path to satisfy the Compliance Framework.

 

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