fix: remove committed private keys and add runtime cert generation (closes #12)
Some checks failed
CI/CD Pipeline / Code Format (push) Successful in 3s
CI/CD Pipeline / Clippy Lints (push) Successful in 43s
CI/CD Pipeline / All Unit Tests (push) Successful in 1m12s
CI/CD Pipeline / Security Audit (push) Successful in 5s
CI/CD Pipeline / Enrollment Tests (push) Successful in 1m12s
CI/CD Pipeline / Build Debian Package (Ubuntu 22.04) (push) Failing after 4s
CI/CD Pipeline / Verify Enrollment CLI Flag (push) Successful in 57s
CI/CD Pipeline / Build Debian Package (push) Failing after 4s
CI/CD Pipeline / Build RPM Package (push) Successful in 2m12s
CI/CD Pipeline / Build Arch Package (push) Successful in 2m18s
CI/CD Pipeline / Build Alpine Package (push) Failing after 3m7s
Some checks failed
CI/CD Pipeline / Code Format (push) Successful in 3s
CI/CD Pipeline / Clippy Lints (push) Successful in 43s
CI/CD Pipeline / All Unit Tests (push) Successful in 1m12s
CI/CD Pipeline / Security Audit (push) Successful in 5s
CI/CD Pipeline / Enrollment Tests (push) Successful in 1m12s
CI/CD Pipeline / Build Debian Package (Ubuntu 22.04) (push) Failing after 4s
CI/CD Pipeline / Verify Enrollment CLI Flag (push) Successful in 57s
CI/CD Pipeline / Build Debian Package (push) Failing after 4s
CI/CD Pipeline / Build RPM Package (push) Successful in 2m12s
CI/CD Pipeline / Build Arch Package (push) Successful in 2m18s
CI/CD Pipeline / Build Alpine Package (push) Failing after 3m7s
- Remove all private key files from git tracking (git rm --cached) - configs/certs/ca.key.pem, server.key.pem, client001.key.pem - tests/e2e/certs/client.key - Also remove public certs from configs/certs/ (generated at runtime) - Add .gitignore patterns for *.key, *.key.pem, configs/certs/*.pem, *.srl - Add scripts/generate-dev-certs.sh for runtime test cert generation - Update Python e2e test to generate certs on demand (ensure_certs()) - Update test_wrong_cert_connection to generate wrong-CA certs at runtime - Add gitleaks secret scanning job to CI workflow - Update SECURITY_FINDINGS_REPORT.md with critical finding for Issue #12 - Update SECURITY_CONTROLS_MATRIX.md evidence references - Add README.md to configs/certs/ and tests/e2e/certs/ Private keys were dev/test only - no production key rotation needed. Git history purge with filter-repo will follow after PR merge. Co-authored-by: git-echo <git-echo@moon-dragon.us>
This commit is contained in:
committed by
GitHub
parent
d0c0790cbf
commit
efaac33c47
@ -15,7 +15,7 @@
|
||||
| **Total Tests** | 16 |
|
||||
| **Passed** | 16 |
|
||||
| **Failed** | 0 |
|
||||
| **Critical Findings** | 0 (Previously 1 - RESOLVED) |
|
||||
| **Critical Findings** | 1 (Issue #12 - Committed Private Keys - RESOLVED) |
|
||||
| **High Findings** | 0 (Previously 2 - RESOLVED) |
|
||||
| **Medium Findings** | 3 (Unchanged) |
|
||||
| **Low Findings** | 4 (Unchanged) |
|
||||
@ -150,6 +150,36 @@ Consider storing CA key on separate, more secure host.
|
||||
|
||||
---
|
||||
|
||||
### 🔴 CRITICAL: Committed Private Key Material (Issue #12)
|
||||
|
||||
**Description:**
|
||||
Private key files (`*.key`, `*.key.pem`) were committed to version control in:
|
||||
- `configs/certs/ca.key.pem` — CA private key
|
||||
- `configs/certs/server.key.pem` — Server private key
|
||||
- `configs/certs/client001.key.pem` — Client private key
|
||||
- `tests/e2e/certs/client.key` — E2E test client private key
|
||||
|
||||
Committed private keys are a critical security risk: anyone with repository access
|
||||
(even read-only) can impersonate the server or clients, decrypt captured TLS traffic,
|
||||
or forge certificates signed by the CA.
|
||||
|
||||
**Status:** ✅ RESOLVED
|
||||
|
||||
**Remediation Applied:**
|
||||
1. Removed all private key files from git tracking (`git rm --cached`)
|
||||
2. Added `*.key`, `*.key.pem`, `configs/certs/`, and `tests/e2e/certs/*.key` to `.gitignore`
|
||||
3. Created `scripts/generate-dev-certs.sh` to generate test certificates at runtime
|
||||
4. Updated e2e tests to generate certificates on demand instead of loading from disk
|
||||
5. Added `gitleaks` secret scanning to CI pipeline
|
||||
6. Git history will be purged with `git filter-repo` after PR merge
|
||||
|
||||
**Key Rotation:**
|
||||
These keys were used for development/testing only. No production key rotation is needed.
|
||||
All committed keys should be considered compromised and must not be used in any
|
||||
production environment.
|
||||
|
||||
---
|
||||
|
||||
### 🟢 LOW: No Automated Security Scanning
|
||||
|
||||
**Description:**
|
||||
|
||||
Reference in New Issue
Block a user