Overview
NIST Special Publication 800-171 Revision 3 provides requirements for protecting Controlled Unclassified Information (CUI) when it resides in nonfederal systems and organizations. This framework is critical for government contractors and organizations that handle sensitive federal information. Nabla’s automated assessment analyzes your infrastructure-as-code to evaluate compliance against the 110+ security requirements in NIST 800-171 Rev 3.Framework Details
- Framework: NIST 800-171
- Version: Revision 3
- Control Count: 110+ requirements across 14 families
- Output Format: OSCAL Assessment Results (JSON)
- Primary Use Case: CUI protection, government contracting (DFARS compliance)
Assessed Control Families
3.1 Access Control
| Control | Title | Assessment Method |
|---|---|---|
| 3.1.1 | Limit system access to authorized users | Detects IAM users, roles, RBAC resources |
| 3.1.2 | Limit access to types of transactions | Evaluates IAM policies and access controls |
| 3.1.3 | Control CUI flow | Analyzes network segmentation and security groups |
| 3.1.5 | Employ least privilege | Identifies wildcard permissions in policies |
| 3.1.12 | Monitor remote access sessions | Detects VPN gateways and remote access controls |
| 3.1.13 | Cryptographic mechanisms for remote access | Verifies TLS/encryption for remote connections |
| 3.1.14 | Route remote access via managed access control points | Checks for VPN/bastion architectures |
| 3.1.20 | External system connections | Identifies VPC peering, transit gateways |
3.3 Audit and Accountability
| Control | Title | Assessment Method |
|---|---|---|
| 3.3.1 | Create and retain system audit logs | Detects CloudTrail, CloudWatch, diagnostic settings |
| 3.3.2 | Alert on audit logging process failure | Identifies CloudWatch alarms, monitoring alerts |
| 3.3.4 | Review and update logged events | Verifies configurable audit mechanisms |
3.4 Configuration Management
| Control | Title | Assessment Method |
|---|---|---|
| 3.4.1 | Establish baseline configurations | Infrastructure-as-code represents versioned baselines |
| 3.4.2 | Enforce security configuration settings | Detects version-controlled configuration |
| 3.4.6 | Employ least functionality | Identifies unnecessary exposed services/ports |
| 3.4.7 | Restrict network access | Evaluates security groups and firewall rules |
3.5 Identification and Authentication
| Control | Title | Assessment Method |
|---|---|---|
| 3.5.1 | Identify system users | Detects IAM users, Azure AD, identity platforms |
| 3.5.2 | Authenticate users and devices | Analyzes authentication mechanisms |
| 3.5.3 | Use multifactor authentication | Verifies MFA requirements in Cognito, IAM policies |
| 3.5.7 | Prevent reuse of identifiers | Validates cloud IAM service enforcement |
| 3.5.10 | Store and transmit credentials securely | Detects Secrets Manager, Key Vault, Secret Manager |
3.11 Risk Assessment
| Control | Title | Assessment Method |
|---|---|---|
| 3.11.1 | Conduct risk assessments | Organizational process (not fully assessable via IaC) |
| 3.11.2 | Scan for vulnerabilities | Detects AWS Inspector, Security Center, vulnerability scanning |
3.13 System and Communications Protection
| Control | Title | Assessment Method |
|---|---|---|
| 3.13.1 | Monitor and control communications at boundaries | Identifies security groups, NACLs, firewalls, WAF |
| 3.13.5 | Implement subnetworks for public components | Verifies subnet separation |
| 3.13.8 | Cryptographic mechanisms for transmission | Detects HTTPS listeners, TLS configurations |
| 3.13.10 | Cryptographic key establishment and management | Analyzes KMS, Key Vault, key rotation |
| 3.13.11 | Employ FIPS-validated cryptography | Verifies use of FIPS 140-2 validated services |
3.14 System and Information Integrity
| Control | Title | Assessment Method |
|---|---|---|
| 3.14.1 | Identify and manage system flaws | Organizational process (patch management) |
| 3.14.2 | Provide protection from malicious code | Detects GuardDuty and malware protection |
| 3.14.3 | Monitor system security alerts | Identifies SNS topics, monitoring alerts |
| 3.14.6 | Monitor organizational systems | Detects comprehensive logging and monitoring |
| 3.14.7 | Identify unauthorized use | Analyzes GuardDuty, Security Hub, threat detection |
Multi-Cloud Support
Expanding Beyond AWS: While our initial implementation focuses on AWS resources, we’re actively adding support for:
- Azure: azurerm_* resources (Key Vault, RBAC, NSGs, Sentinel)
- Google Cloud: google_* resources (Cloud KMS, IAM, VPC, Security Command Center)
- Multi-Cloud: Unified compliance posture across hybrid environments
Currently Supported Resource Types
AWS Resourcesaws_iam_user,aws_iam_role,aws_iam_group,aws_iam_policyaws_security_group,aws_network_acl,aws_vpc,aws_subnetaws_cloudtrail,aws_cloudwatch_log_group,aws_cloudwatch_metric_alarmaws_kms_key,aws_kms_aliasaws_s3_bucket(with encryption checks)aws_db_instance,aws_rds_cluster(encryption at rest)aws_vpn_gateway,aws_vpn_connection,aws_customer_gatewayaws_cognito_user_poolaws_secretsmanager_secret,aws_ssm_parameteraws_guardduty_detector,aws_inspector_assessment_templateaws_lb_listener,aws_alb_listener
azurerm_role_assignment,azurerm_role_definitionazurerm_network_security_group,azurerm_subnet,azurerm_firewallazurerm_monitor_diagnostic_setting,azurerm_monitor_metric_alertazurerm_key_vault,azurerm_key_vault_key,azurerm_key_vault_secretazurerm_active_directory_userazurerm_virtual_network_gateway,azurerm_virtual_network_peeringazurerm_security_center_subscription_pricingazurerm_policy_definition,azurerm_policy_assignment
Assessment Workflow
OSCAL Output Structure
Results conform to OSCAL 1.0.4 Assessment Results format:Example Assessment Request
Common Findings
High-Severity Issues
3.1.5 - Overly Permissive PoliciesMedium-Severity Issues
3.3.1 - Insufficient LoggingDFARS Compliance
NIST 800-171 compliance is required for:- Defense Federal Acquisition Regulation Supplement (DFARS) clause 252.204-7012
- Organizations that process, store, or transmit Controlled Unclassified Information (CUI)
- DoD contractors and subcontractors
- System Security Plans (SSP)
- Plan of Action & Milestones (POA&M)
- Certification from C3PAO (Cyber AB)
Limitations
Best Practices
- Layered Assessment: Combine automated IaC scanning with manual policy review
- Continuous Monitoring: Run assessments on every infrastructure change
- Evidence Retention: Store OSCAL outputs for audit trail and POA&M tracking
- Gap Analysis: Use findings to prioritize remediation efforts
- Third-Party Validation: Consider C3PAO assessment for official certification
Scoring and POA&M
While Nabla provides automated control assessment, official NIST 800-171 scoring requires:- Basic (0-9 points per control)
- Derived (additive scoring)
- Plan of Action & Milestones for deficiencies
Related Frameworks
- NIST 800-53 - Comprehensive security controls catalog
- NIST 800-172 - Enhanced protection requirements
- FIPS 140-3 - Cryptographic module validation
- CMMC 2.0 - Cybersecurity Maturity Model Certification

