Gardience Documentation gardience.com →
Docs / Using Gardience

CMMC Level 2

Security > CMMC Level 2 tracks the 110 security requirements of NIST SP 800-171 Revision 2, the requirements CMMC Level 2 assesses. For each requirement you record its status, and Gardience shows the evidence it holds for the machines it manages. From the same data it calculates your SPRS score and produces the two documents an assessment needs: the System Security Plan (SSP) and the Plan of Action and Milestones (POA&M).

CMMC (Cybersecurity Maturity Model Certification) is the Department of Defense program that checks whether contractors protect controlled unclassified information (CUI). SPRS (Supplier Performance Risk System) is where contractors report their score.

Gardience helps you produce evidence and keep the assessment current. CMMC certification is granted by an authorized assessor and covers your whole environment, including people, policies, and facilities.

Turn it on

CMMC Level 2 is an add-on to the Starter and Team plans. It is included in Government and enterprise, in trials and pilots until they end, and in paid licenses issued before October 27, 2026 (until they end). With a license that does not include it, admins see Security > CMMC Level 2 as a short page that says what it does, with a link to start a 90-day trial that includes it; nothing else about it shows or runs. A recorded assessment is kept if a license lapses. See Licensing.

With the add-on, CMMC Level 2 is still off on every new install. While it is off, nothing about it shows or runs: there is no menu item, no daily settings check, no Apply CMMC settings runbook, and nothing in evidence packs. Organizations that do not handle CUI never see it.

To turn it on, an admin opens Administration > Settings > CMMC Level 2, ticks On, and chooses Save. Security > CMMC Level 2 then appears in the menu. Turning it off again hides it and stops the checks; the recorded assessment is kept.

Where the rules come from

Microsoft 365

Gardience can also read your Microsoft 365 sign-in and sharing settings, read only, and use six of them as evidence for 3.1.3, 3.1.5, 3.5.3, and 3.5.6: choose the Microsoft 365 tile under Start here. See Connect Microsoft 365 for CMMC. Until it is connected, nothing about it counts in the assessment.

Okta, your HR system, and other systems

The Other systems tile connects Okta (multifactor enrollment, lockout, unused accounts, super administrators), a terminated-employees report from your HR or payroll system (anyone who left in the last 90 days with an account still enabled), and any system that publishes a CSV report, kept as the proof record you choose. The same window has Keep the score in sync with the evidence: requirements whose evidence is complete are recorded as met on their own, and set back to not met if that evidence fails; a status a person recorded is never changed. See Connect Okta, your HR system, and other systems.

Read the page

The top of the page shows:

Below that, three groups:

Then Start here (the system profile, policies, and the proof checklist) and Requirements by family: one tile per family with how many requirements are met, how many are still to assess, and how many points are open. Choose a tile to open its requirements in a window. Search all 110 requirements finds any requirement by number or words.

Each requirement shows its official text, its point value, and one of:

Under each requirement, Gardience lists its live checks, for example "WIN-05 Account lockout after 3 or fewer bad logons: 1 of 2 machines pass (failing: win-01)". A check mark means the check passes on every managed machine.

Record an assessment

Only admins record assessments. The CMMC page, its documents, policies, and proof files are shown to admins and approvers only: they describe where the company is weak, and proof files can hold personnel records.

  1. Choose the requirement's family tile, then Assess under the requirement.
  2. Set Status: Met, Not met, and where the rule allows it, Partly met (3.5.3 MFA for remote and privileged users only, and 3.13.11 encryption that is not FIPS-validated). Any requirement can be Not applicable when it truly does not apply (for example 3.1.16 when wireless access is not permitted); the implementation statement must say why, because an assessor checks the reason.
  3. Write the Implementation statement: how the requirement is met. It goes into the System Security Plan.
  4. For anything not met, write the Plan of action and a Milestone date within 180 days (a conditional status lasts 180 days, so a later date is refused). The window says when a requirement may not be on a POA&M.
  5. Choose Save. The score, the tile, and the requirement update at once; the window stays open where you were.

Every change is recorded in the audit log with who made it.

Accept Gardience's evidence

Review and accept lists two kinds of requirement:

Each is ticked, with a drafted implementation statement that quotes the evidence and its date. Untick anything that is not really in place, edit any statement, and choose Accept: each requirement is recorded as Met by you, today. For partly covered requirements, the statement records that you confirmed the rest. Gardience never records a status on its own, because the score a company reports is its own affirmation.

If a Gardience check later fails on a requirement marked Met, the requirement is flagged (Met requirements need review) and an alert is sent. Gardience suggests 3.12.4 (a System Security Plan) once the system profile is complete and every other requirement has an implementation statement.

Fill in the system profile

Choose the System profile tile and fill in the organization, system name, CAGE code, UEI, system description, boundary and environment, connections to other systems, the system owner and security contact (each with a name and an email address), assessment date, POA&M target date, and SSP version. The System Security Plan needs at least the system name, description, and boundary.

CMMC settings on every machine

Some requirements live in each machine's own settings. Gardience checks them on every managed machine:

CheckRequirementWindowsLinux
Screen lock after 15 minutes or less3.1.10Checked and set
Idle shell sessions end after 15 minutes3.1.11Checked and set
Logon banner (authorized use notice)3.1.9Checked and setChecked and set (/etc/issue, /etc/issue.net, and the SSH server's Banner)
Password history3.5.8Checked and set (24)Checked and set (5) through authselect or pam-auth-update
Removable storage3.8.7Checked and set (deny writing)Checked and set (USB storage driver blocked)
Sign-in auditing3.3.1Checked and set (success and failure)Checked and set where the audit service is installed (rules for sign-ins, account and sudo changes, and privileged commands)
PowerShell script logging3.3.1Checked and set
Use of administrator privileges audited3.1.7Checked and setCovered by the audit rules above
Clock synchronized3.3.7Checked and set (stand-alone machines; domain members take time from the domain controllers)Checked and set (an installed time service is started)
Lockout after failed sign-ins3.1.8Security baseline (3)Checked and set (5, unlocked after 15 minutes) through authselect or pam-auth-update
Password complexity3.5.7Checked and setChecked and set (14 characters, 3 kinds; on Debian and Ubuntu, libpam-pwquality is installed if missing)
Inactive accounts disabled3.5.6Checked and set (new accounts, 35 days)
Strong password hashes3.5.10Checked and set (NTLMv2 only, no LAN Manager hashes)Checked and set (SHA-512 or yescrypt)
Strong encryption for remote sessions3.13.8, 3.1.13Checked and set (Remote Desktop with TLS, high encryption)Checked and set (SSH strong ciphers and MACs only)
Idle SSH sessions end3.13.9Checked and set (within 15 minutes)
Firewall blocks inbound by default3.13.6Checked and set
Signed file sharing (SMB)3.13.15Checked and set
Malware definitions current3.14.4Checked and set (7 days or newer); not scored when another antivirus is in charge
Malware protection running3.14.2Checked (Defender, or another product such as CrowdStrike or SentinelOne)Checked (common products); ClamAV installed when you ask, see below
Removable drives scanned3.7.4Checked and set (Defender); not scored when another antivirus is in chargeCovered: the USB storage driver is blocked
Removable drives encrypted before writing3.8.6Checked and set (BitLocker To Go required)Covered: the USB storage driver is blocked
Only approved applications run3.4.8Checked (AppLocker or App Control for Business enforced); started in audit mode when you ask, see belowChecked (fapolicyd enforcing); started in permissive mode when you ask, see below
No anonymous access to shares, accounts, or named pipes3.13.4Checked and set
Last user name hidden at sign-in3.5.11Checked and set
Security log large enough3.3.4Checked and set (192 MB or more)
Audit service alerts when its disk fills or fails3.3.4Checked and set where the audit service is installed (an alert in the system log, never a halt)
PowerShell runs only signed scripts from the internet3.13.13Checked and set (RemoteSigned, unless Group Policy sets it)
Machine certificates not about to expire3.13.10Checked (30 days)
VPN connections send all traffic through the tunnel3.13.7Checked and set (Windows VPN connections; a VPN client with its own settings is configured on its server)
Firewall logs blocked connections3.14.6Checked and setChecked and set (firewalld or ufw)
Insecure network services off3.4.7Checked and set (telnet, rsh, tftp, FTP stopped and disabled)
Disk encryption3.13.16Checked; turned on from Disk encryption (BitLocker)Checked (LUKS), with recovery keys held from Disk encryption; cloud disk encryption is confirmed in your cloud console
FIPS-validated cryptography mode3.13.11Checked onlyChecked only

Switches, routers, and firewalls are checked from Network devices: 11 settings and the firmware, counted in the same requirements as the machine checks (read only; Gardience never changes a device).

FIPS mode, disk encryption, and malware protection products are never switched on by Apply CMMC settings: FIPS mode can stop applications, and the malware product is your choice. Disk encryption has its own page, Disk encryption, which turns BitLocker on only after each recovery key is kept outside the server. SSH changes are checked with sshd -t and undone if the SSH server would not accept them.

On Linux, the sign-in rules (lockout, password history, and complexity) are set only through the distribution's own tool: authselect on the Red Hat family (its with-faillock and with-pwhistory features) and pam-auth-update on Debian and Ubuntu (Gardience adds profiles named gardience-faillock, gardience-faillock-notify, and gardience-pwhistory in /usr/share/pam-configs, laid out as the CIS benchmarks for Ubuntu lay them out). PAM files are never edited by hand, because a mistaken edit can lock everyone out. If someone edited /etc/pam.d/common-* by hand, pam-auth-update leaves them alone, and Gardience reports that instead of forcing it. Before changing any of these rules, Gardience saves a copy of /etc/pam.d and /etc/security in /var/backups/gardience (the last 5 are kept). Sign-in with an SSH key still works while an account is locked (tested on Rocky Linux 9), and root is never locked out. A locked account unlocks after 15 minutes, or at once with faillock --user NAME --reset. Some cloud images (Rocky Linux's, for example) ship authselect without a profile selected, so nothing manages PAM: Gardience then leaves lockout and history to you and shows the one step that lets it set them (authselect select sssd --force --backup=before-authselect, or minimal on machines without SSSD, after checking /etc/pam.d for changes of your own).

Each machine reports what it changed and what is left for you.

Antivirus from other companies

Requirement 3.14.2 needs malware protection on every machine. Gardience recognizes the common products when their service is running: Microsoft Defender, CrowdStrike Falcon, SentinelOne, Sophos, Trellix (McAfee), Trend Micro, Cylance, Carbon Black, Elastic Defend, ESET, Kaspersky, Bitdefender, Malwarebytes, Huntress, and ClamAV. On Windows 10 and 11 Gardience also reads the products registered with Windows Security. With another product in charge, Windows puts Defender in passive mode: Gardience then counts that product and does not score Defender's own settings (definition age, removable drive scanning), which that product handles.

Only approved applications (allowlisting)

Requirement 3.4.8 asks that only approved software can run. The Machine settings card shows how many machines let any application run, with Start allowlisting in audit mode:

Nothing is blocked in audit mode; what would have been blocked is logged. After a week or two, choose Review what it would block: Gardience lists, for each machine, the programs that would have been blocked in the last 30 days. Allow what you need (an AppLocker rule, or a fapolicyd trust entry), then choose Enforce now for the machines you reviewed. Only machines that have been in audit mode can be enforced. Tested on real machines: under enforcement an untrusted program is blocked, and Gardience keeps working (its agent restarts, syncs, checks, and patches).

Antivirus on Linux (ClamAV)

If your company already uses an antivirus, install it on your Linux machines and Gardience detects it.

For Linux machines with none, the Machine settings card shows how many there are, with Install ClamAV. ClamAV is free, open source antivirus maintained by Cisco Talos. It is never installed by Fix everything, only when an admin chooses it, and only on machines in the assessment that run no other antivirus. On each machine, Gardience checks again first, then:

The machines need to reach database.clamav.net for definitions, or a mirror set in /etc/freshclam.conf. The Install ClamAV runbook (Automation > Runbooks) does the same on a node group you choose. Each install is recorded in the audit log under the person who started it; change tickets and locks apply.

Policies

Most of the 110 requirements are about people and process (training, screening, physical access, and incident response), and an assessor checks them against written policies. The Policies tile has one policy template for each of the 14 requirement families, covering every requirement:

Policy signatures

CMMC expects everyone who works with controlled unclassified information to know the security rules. In the Policies window, under Signatures, paste the people (one per line: Name <email>, Name, email, or just the email) and choose Ask them to read and sign. Each person gets one email with one link to a page that shows each of your adopted policies. They read it, tick "I have read this policy and I will follow it", and type their name to sign. No Gardience account is needed.

Gardience keeps each signature: the person's name and email, the policy, its version and adoption date, the typed name, and the time. The Signatures section shows how many each person has signed, and Download the record saves them all as a CSV for your assessor. Unsigned links are reminded every 3 days, up to 3 times. The links work like proof upload links (below): 30 days, cancellable, and they can only sign their own policies. When you change a policy and record a new version, ask people to sign it again.

Proof checklist

Some proof only people have: training records, background checks, the visitor log, access reviews, the incident response test. The Proof checklist tile lists the 17 records an assessor usually asks for that machines cannot produce. For each one it shows:

Upload adds files to a record yourself. Ask someone is for records that live with someone else: enter their name and email, and Gardience emails them a link. The link opens a page that names the one record you asked for and offers its template; they upload files there with no Gardience account. Their files land on that record, encrypted like every proof file, and the security contact in your system profile gets an email when they arrive. Gardience reminds them every 3 days, up to 3 times. Leave They own this record ticked and Gardience asks them again on its own before the record runs out, so yearly training and quarterly access reviews don't lapse quietly.

What the link can and cannot do:

Without email set up (Administration > Settings > Alerts), Ask someone shows the link for you to send yourself.

Other proof keeps anything else you want in the evidence pack: attach a file (PDF, image, text, CSV, Word, Excel, or PowerPoint, up to 10 MB; 2 GB in all) to one or more requirements. Every proof file is encrypted at rest with the Gardience vault key, because it can hold personnel records, is listed under its requirements and in the System Security Plan, and is carried in the signed evidence pack with its SHA-256 hash, so an assessor can confirm it was not changed.

Alerts

Once a day, after the CMMC settings check, Gardience sends an alert (to the Slack or Teams webhook, email, and PagerDuty set under Administration > Settings) when:

Each alert repeats at most once a week while the condition lasts, except the incident deadline.

DoD requirements

Besides the 110 requirements, DoD requires these, kept in the DoD requirements window and carried into the System Security Plan:

Incidents count as evidence for 3.6.1 and 3.6.2, and the FIPS modules for 3.13.11.

Documents and exports

Gardience by Bouziden Management LLC.