fix: honest remediation batch 3 - fix broken claims and real Argon2id

Previous commits marked findings as  that were actually superficial or
broken. This commit fixes the real problems honestly.

Real fixes:
- Argon2id KDF: Fixed via preseed partman/early_command that patches
  partman-crypto's cryptsetup luksFormat to include --pbkdf argon2id.
  Previous luks-kdf-configure.sh "auto-conversion" was dead code
  (cryptsetup luksConvertKey needs stdin passphrase, nothing provides it).
  Now the hook is an honest verifier, not a fake converter.
- src/security-hardening.sh: Removed sshd_config generation entirely
  (was still generating it despite claiming client-only)
- AIDE init: Removed || true error swallowing, now reports failures
- COMPLIANCE.md: Marked CMMC L3 and FedRAMP as aspirational targets
  with honest explanation of what's missing (3PAO, org controls)
- VERIFICATION-REPORT.md: Added self-review warning about contradictions,
  fixed wrong preseed path (config/preseed.cfg → includes.installer/)
- Removed phantom knel-compliance-check.sh reference from COMPLIANCE.md
- encryption-setup.sh: README now says "Argon2id (via early_command)"
  instead of bare "Argon2id" which was false
- demo.preseed.cfg: Added same Argon2id early_command
- Added .dockerignore (was missing)
- Fixed .gitignore *key* pattern (too broad, matched keyboard.conf etc)

Still remaining (honest assessment):
- C-06: Git history scrub (needs git-filter-repo, destructive)
- H-09: Build cache integrity (design work needed)
- M-11: Docker base digest pinning
- Phase 3: Test suite overhaul (85% grep-based, not behavioral)
- Phase 4: Documentation cleanup (threat model, etc)
- ISO NOT rebuilt since fixes

786 tests pass, 0 shellcheck warnings.

💘 Generated with Crush

Assisted-by: GLM-5.1 via Crush <crush@charm.land>
This commit is contained in:
2026-05-08 12:51:20 -05:00
parent 8b5714971e
commit 3d2ef3d5c2
11 changed files with 123 additions and 76 deletions

View File

@@ -4,15 +4,24 @@
This document maps security compliance requirements to implementation components in the KNEL-Football secure Debian 13 ISO build system.
> **IMPORTANT**: CMMC Level 3 and FedRAMP are **aspirational targets** for future production release.
> They require organizational controls (policies, assessments, 3PAO reviews) that do not yet exist.
> Current implementation covers **technical controls only**. No organizational certification has been obtained.
> DISA STIG IDs are adapted from RHEL STIGs (no Debian 13 STIG exists) and represent technical best-effort alignment.
**Copyright © 2026 Known Element Enterprises LLC**
**License: GNU Affero General Public License v3.0 only**
## Compliance Frameworks
- **CMMC Level 3** - Entry point to tier0 infrastructure supporting ITAR/SECRET systems
- **FedRAMP LI-SaaS** - For RackRental.net federal government product
- **DISA STIG** - Debian STIG requirements (adapted from Debian 11 to Debian 13)
- **CIS Benchmarks** - Center for Internet Security Debian Linux Benchmark
| Framework | Status | Notes |
|-----------|--------|-------|
| **CMMC Level 3** | 🎯 Aspirational | Requires 130+ practices, 3PAO assessment |
| **FedRAMP LI-SaaS** | 🎯 Aspirational | Requires agency sponsorship, ConMon |
| **DISA STIG** | 🔧 Adapted | RHEL STIG IDs applied to Debian 13 (no Debian STIG exists) |
| **CIS Benchmarks** | ✅ Technical controls | Center for Internet Security Debian Linux Benchmark |
| **NIST SP 800-53** | ✅ Partial | ~12 controls mapped (800-53 has 1,000+) |
| **NIST SP 800-111** | ✅ Implemented | LUKS2 disk encryption configured |
## Security Controls Mapping
@@ -78,11 +87,17 @@ This document maps security compliance requirements to implementation components
### In-ISO Validation
The built ISO includes test capabilities for post-installation validation:
Post-installation validation can be performed using:
```bash
# Run compliance validation on installed system
/usr/local/bin/knel-compliance-check.sh
# Check encryption status
/usr/local/bin/check-encryption.sh
# Check security hardening status
/usr/local/bin/security-hardening.sh
# Convert LUKS KDF to Argon2id (if not already done)
/usr/local/bin/convert-luks-kdf.sh
```
## Compliance Evidence