--- name: fedramp-compliance description: Implement FedRAMP requirements for federal cloud services. Configure NIST 800-53 controls and continuous monitoring. Use when providing cloud services to US federal agencies. license: MIT metadata: author: devops-skills version: "1.0" --- # FedRAMP Compliance Implement FedRAMP (Federal Risk and Authorization Management Program) requirements for cloud service providers serving US federal agencies. ## When to Use - Pursuing FedRAMP authorization for a cloud service offering - Implementing NIST 800-53 security controls for federal workloads - Establishing continuous monitoring (ConMon) processes - Managing Plan of Action and Milestones (POA&M) tracking - Preparing for a Third-Party Assessment Organization (3PAO) audit - Operating a FedRAMP-authorized system and maintaining authorization ## Impact Levels ```yaml impact_levels: low: control_count: ~125 use_case: "Publicly available federal information" examples: - Public-facing websites with no sensitive data - Open data portals - Marketing and informational systems data_types: "No PII, no CUI, publicly releasable only" authorization_path: "FedRAMP Tailored (Li-SaaS) or standard Low" moderate: control_count: ~325 use_case: "Most federal systems, including CUI" examples: - Email and collaboration platforms - Case management systems - Financial management systems - HR and personnel systems data_types: "CUI, PII, law enforcement sensitive (LES)" authorization_path: "Agency or JAB P-ATO" note: "~80% of FedRAMP authorizations are at Moderate" high: control_count: ~425 use_case: "High-impact federal systems" examples: - Law enforcement and criminal justice systems - Emergency services and public safety - Financial systems with significant impact - Healthcare systems with PHI data_types: "Classified-adjacent, life-safety, critical infrastructure" authorization_path: "JAB P-ATO required" ``` ## NIST 800-53 Control Families ```yaml control_families: AC: name: "Access Control" key_controls: AC-2: "Account Management - manage system accounts lifecycle" AC-3: "Access Enforcement - enforce approved authorizations" AC-6: "Least Privilege - employ principle of least privilege" AC-17: "Remote Access - establish usage restrictions for remote access" implementation_notes: "Map to IAM policies, RBAC, MFA enforcement" AU: name: "Audit and Accountability" key_controls: AU-2: "Audit Events - define auditable events" AU-3: "Content of Audit Records - ensure records contain required info" AU-6: "Audit Review, Analysis, and Reporting" AU-12: "Audit Generation - generate audit records" implementation_notes: "Map to CloudTrail, CloudWatch Logs, SIEM" AT: name: "Awareness and Training" key_controls: AT-2: "Security Awareness Training - provide training to users" AT-3: "Role-Based Security Training - for personnel with security roles" implementation_notes: "Annual security training, role-specific training" CM: name: "Configuration Management" key_controls: CM-2: "Baseline Configuration - develop and maintain baseline" CM-6: "Configuration Settings - establish mandatory settings" CM-7: "Least Functionality - restrict to essential capabilities" CM-8: "Information System Component Inventory" implementation_notes: "Map to AWS Config, SSM, hardened AMIs" CP: name: "Contingency Planning" key_controls: CP-2: "Contingency Plan - develop and maintain plan" CP-4: "Contingency Plan Testing - test plan annually" CP-9: "Information System Backup" CP-10: "Information System Recovery and Reconstitution" implementation_notes: "Map to DR plan, backup strategy, failover testing" IA: name: "Identification and Authentication" key_controls: IA-2: "Identification and Authentication (Org Users)" IA-5: "Authenticator Management" IA-8: "Identification and Authentication (Non-Org Users)" implementation_notes: "Map to SSO, MFA, certificate-based auth, PIV/CAC" IR: name: "Incident Response" key_controls: IR-2: "Incident Response Training" IR-4: "Incident Handling - implement incident handling capability" IR-6: "Incident Reporting - report incidents to US-CERT" IR-8: "Incident Response Plan" implementation_notes: "US-CERT reporting within 1 hour for federal incidents" MA: name: "Maintenance" key_controls: MA-2: "Controlled Maintenance" MA-4: "Nonlocal Maintenance - authorize nonlocal maintenance" implementation_notes: "Patching procedures, remote maintenance controls" MP: name: "Media Protection" key_controls: MP-2: "Media Access - restrict access to media" MP-6: "Media Sanitization - sanitize media prior to disposal" implementation_notes: "Encryption at rest, secure disposal procedures" PE: name: "Physical and Environmental Protection" key_controls: PE-2: "Physical Access Authorizations" PE-3: "Physical Access Control" PE-6: "Monitoring Physical Access" implementation_notes: "Inherit from CSP for IaaS/PaaS, document inheritance" PL: name: "Planning" key_controls: PL-2: "System Security Plan (SSP)" implementation_notes: "SSP is the core FedRAMP deliverable" PS: name: "Personnel Security" key_controls: PS-3: "Personnel Screening" PS-4: "Personnel Termination" PS-5: "Personnel Transfer" implementation_notes: "Background checks, access revocation on termination" RA: name: "Risk Assessment" key_controls: RA-3: "Risk Assessment - conduct risk assessment" RA-5: "Vulnerability Scanning" implementation_notes: "Annual risk assessment, monthly vulnerability scans" CA: name: "Security Assessment and Authorization" key_controls: CA-2: "Security Assessments" CA-6: "Security Authorization" CA-7: "Continuous Monitoring" implementation_notes: "Annual assessment by 3PAO, ConMon program" SC: name: "System and Communications Protection" key_controls: SC-7: "Boundary Protection" SC-8: "Transmission Confidentiality and Integrity" SC-12: "Cryptographic Key Establishment and Management" SC-13: "Cryptographic Protection - FIPS 140-2 validated" SC-28: "Protection of Information at Rest" implementation_notes: "FIPS 140-2 validated modules required" SI: name: "System and Information Integrity" key_controls: SI-2: "Flaw Remediation" SI-3: "Malicious Code Protection" SI-4: "Information System Monitoring" SI-5: "Security Alerts, Advisories, and Directives" implementation_notes: "Patching SLAs, antimalware, IDS/IPS, SIEM" SA: name: "System and Services Acquisition" key_controls: SA-4: "Acquisition Process - security requirements in contracts" SA-9: "External Information System Services" SA-11: "Developer Security Testing" implementation_notes: "Supply chain risk management, SBOM" PM: name: "Program Management" key_controls: PM-1: "Information Security Program Plan" PM-9: "Risk Management Strategy" implementation_notes: "Organization-wide security program" ``` ## System Security Plan (SSP) Outline ```yaml ssp_sections: section_1: "Information System Name and Title" section_2: "Information System Categorization (FIPS 199)" section_3: "Information System Owner" section_4: "Authorizing Official" section_5: "Other Designated Contacts" section_6: "Assignment of Security Responsibility" section_7: "Information System Operational Status" section_8: "Information System Type (cloud service model)" section_9: "General System Description" section_10: "System Environment and Special Considerations" section_11: "System Interconnections" section_12: "Laws, Regulations, Policies Applicable" section_13: "Minimum Security Controls" key_attachments: - "Control Implementation Summary (CIS) workbook" - "Network architecture diagrams" - "Data flow diagrams" - "Interconnection security agreements (ISAs)" - "Incident response plan" - "Contingency plan" - "Configuration management plan" ``` ## POA&M (Plan of Action and Milestones) Tracking ```yaml # poam_template.yaml poam_entry: - id: "POAM-2025-001" weakness: "AC-2(3) - Automated account disable after 90 days inactivity not implemented" control: "AC-2" risk_level: "moderate" finding_source: "3PAO Annual Assessment - 2025" date_identified: "2025-03-15" scheduled_completion: "2025-06-15" milestone_1: description: "Configure IdP inactivity policy" target_date: "2025-04-15" status: "complete" milestone_2: description: "Test automated disable in staging" target_date: "2025-05-01" status: "in_progress" milestone_3: description: "Deploy to production and validate" target_date: "2025-06-15" status: "not_started" responsible_party: "IAM Team" status: "open" vendor_dependency: false - id: "POAM-2025-002" weakness: "RA-5 - Vulnerability scan coverage does not include container images" control: "RA-5" risk_level: "high" finding_source: "3PAO Annual Assessment - 2025" date_identified: "2025-03-15" scheduled_completion: "2025-05-15" milestone_1: description: "Evaluate and select container scanning tool" target_date: "2025-04-01" status: "complete" milestone_2: description: "Integrate scanning into CI/CD pipeline" target_date: "2025-04-30" status: "in_progress" milestone_3: description: "Demonstrate full coverage to 3PAO" target_date: "2025-05-15" status: "not_started" responsible_party: "Security Engineering" status: "open" vendor_dependency: false poam_aging_thresholds: high: "Must be resolved within 30 days" moderate: "Must be resolved within 90 days" low: "Must be resolved within 180 days" overdue_escalation: "Reported to authorizing official monthly" ``` ## Continuous Monitoring (ConMon) Procedures ```yaml continuous_monitoring: monthly: vulnerability_scanning: scope: "All operating systems, databases, web applications, and containers" tool: "Tenable.io, Qualys, or equivalent" deliverable: "Monthly scan report with remediation status" sla: critical_cvss_9_plus: "Remediate within 30 days" high_cvss_7_to_9: "Remediate within 30 days" moderate_cvss_4_to_7: "Remediate within 90 days" low_cvss_below_4: "Remediate within 180 days" poam_updates: action: "Update all open POA&M items with current status" deliverable: "Updated POA&M spreadsheet submitted to agency" content: - "Milestone completion updates" - "New POA&M items from scans" - "Closed POA&M items with evidence" inventory_updates: action: "Review and update system component inventory" deliverable: "Updated hardware and software inventory" quarterly: - "Review and update SSP with any system changes" - "Submit ConMon deliverables package to agency" - "Review access control lists and user accounts" - "Update network diagrams if changes occurred" annual: security_assessment: performed_by: "3PAO" scope: "Subset of controls (~1/3 each year, full coverage in 3 years)" deliverable: "Security Assessment Report (SAR)" penetration_testing: performed_by: "3PAO or qualified third party" scope: "External and internal network, web applications" deliverable: "Penetration test report with findings" contingency_plan_test: scope: "Full DR/BCP test including failover" deliverable: "Contingency plan test report" incident_response_test: scope: "Tabletop exercise or functional exercise" deliverable: "IR test report with lessons learned" ``` ## FedRAMP FIPS 140-2 Cryptography Requirements ```bash # Verify FIPS mode is enabled on Linux systems cat /proc/sys/crypto/fips_enabled # Output should be: 1 # Check OpenSSL FIPS module openssl version openssl list -providers # Should show FIPS provider # AWS: Use FIPS endpoints # Example: Use FIPS endpoint for S3 aws s3 ls --endpoint-url https://s3-fips.us-east-1.amazonaws.com # Configure AWS CLI for FIPS # ~/.aws/config # [default] # use_fips_endpoint = true # Verify TLS configuration meets FedRAMP requirements openssl s_client -connect your-service.example.com:443 -tls1_2 < /dev/null 2>/dev/null | \ grep -E "Protocol|Cipher" # Must be TLS 1.2 or higher with FIPS-approved cipher suites ``` ## FedRAMP Authorization Checklist ```yaml authorization_checklist: pre_authorization: - [ ] Determine impact level (Low, Moderate, High) - [ ] Choose authorization path (Agency ATO or JAB P-ATO) - [ ] Engage FedRAMP PMO for readiness assessment - [ ] Select 3PAO from FedRAMP marketplace - [ ] Complete SSP with all control implementations documented - [ ] Develop required policies and procedures - [ ] Implement all applicable NIST 800-53 controls - [ ] Ensure FIPS 140-2 validated cryptographic modules in use assessment: - [ ] 3PAO conducts readiness assessment (optional but recommended) - [ ] 3PAO conducts full security assessment - [ ] 3PAO delivers Security Assessment Report (SAR) - [ ] Develop POA&M for all findings - [ ] Remediate critical and high findings before authorization authorization_package: - [ ] System Security Plan (SSP) - [ ] Security Assessment Report (SAR) - [ ] Plan of Action and Milestones (POA&M) - [ ] Continuous Monitoring Plan - [ ] Incident Response Plan - [ ] Contingency Plan - [ ] Configuration Management Plan - [ ] Control Implementation Summary (CIS) - [ ] Interconnection Security Agreements post_authorization: - [ ] Establish ConMon program with monthly deliverables - [ ] Monthly vulnerability scanning and POA&M updates - [ ] Annual 3PAO assessment of control subset - [ ] Annual penetration testing - [ ] Report significant changes to authorizing official - [ ] Report security incidents to US-CERT within 1 hour - [ ] Maintain authorization by meeting ConMon requirements ``` ## Best Practices - Start with a FedRAMP Readiness Assessment to identify gaps before the formal 3PAO assessment - Use the FedRAMP SSP template exactly as provided to avoid review delays - Inherit controls from your IaaS provider (AWS GovCloud, Azure Government) and document the inheritance clearly - Implement FIPS 140-2 validated cryptographic modules for all encryption (TLS, at-rest, key management) - Automate continuous monitoring deliverables to reduce manual effort and human error - Maintain POA&M items within aging thresholds; overdue items risk losing authorization - Report significant system changes to the authorizing official before implementation - Treat the SSP as a living document and update it with every change to the system boundary - Use US-CERT reporting procedures and maintain the 1-hour incident notification requirement - Engage the FedRAMP PMO early and often for guidance on the authorization process