Known Element Enterprises LLC
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+
+The interactive commands should show appropriate legal notices and
+disclaimers.
\ No newline at end of file
diff --git a/PreFlightDiscussion-01.md b/PreFlightDiscussion-01.md
index 87233ee..6a16008 100644
--- a/PreFlightDiscussion-01.md
+++ b/PreFlightDiscussion-01.md
@@ -1,4 +1,4 @@
-# Pre-Flight Discussion - Questions, Comments, and Concerns
+# KNEL-Football Pre-Flight Discussion - Questions, Comments, and Concerns
## Questions:
@@ -20,6 +20,15 @@
- FedRAMP Moderate or High?
- Specific DISA STIG for Debian 13?
+ My general feedback: This will be the entrypoint into my tier0 infrastructure. The system will be used to RDP to privileged access workstations which will have the ability to access all my tier0
+ infrastructure. The tier0 systems will be supporting systems which handle ITAR data. Also SECRET systems (supporting a couple of SCIFs we are building out).
+
+ Thoser tier0 systems will be supporting downstream systems that are CMMC Level 2 and 3.
+
+ Re FedRAMP, lets go with LI-SaaS. We have a product called RackRental.net that we want to sell to federal government. It wont process any sensitive data.
+ Re DISA STIG , I am not sure. I believe we need to implement CIS as the controls? I am not fully certain on STIG/CIS and how it all fits together. Can you help?
+
+
### 4. WireGuard Configuration Management
- **Question**: Should we assume WireGuard config will be provided via USB, or include a default template?
- **Concern**: Without a config, the system will have no network connectivity at all
@@ -28,6 +37,9 @@
- Include QR code import capability
- Assume user provides complete config via USB
+ Ah yes! I very much want to support QR code import capability! I forgot about that functionality. The laptop will have a web cam, so will be able to scan the QR code.
+ The user may also provide the config via USB.
+
## Technical Concerns:
### 5. Docker Build Context and Package Availability
@@ -40,11 +52,15 @@
- **Issue**: Container environment may not support all required test scenarios
- **Need**: Determine how to test privileged operations in containers
+Well the test suite will need to run on the installed system. It makes no sense to run it in the build environment. Unless I am missing something? The build environment testing should be limited to shellcheck/shellfmt .
+
### 7. ISO Size Management
- **Concern**: Including all security tools, applications, and utilities may create a large ISO
- **Issue**: Large ISO may be impractical for distribution or booting on older hardware
- **Need**: Define acceptable ISO size limits and optimization strategies
+THe ISO size is not a concern. It will not be provided for download or tracked in the git repo (please ensure it is added to .gitignore)
+
## Missing Details:
### 8. Complete Package List
@@ -52,6 +68,8 @@
- **Need**: Define all packages to include in the ISO (not just applications like Remmina, etc.)
- **Examples**: Which kernel packages? Which security tools? Which system utilities?
+The system must be VERY minimal. The bare minimum of packages to meet the functional needs. Start minimal and I can tweak as we go.
+
### 9. Live-build Configuration Details
- **Missing**: Specific live-build configuration parameters
- **Need**: Kernel parameters, boot options, system settings
@@ -62,11 +80,15 @@
- **Need**: How to handle build failures, configuration errors, system boot issues
- **Examples**: Build failures, corrupted configs, boot problems
+I leave the above two items to your best judgement. I dont have any specific feedback.
+
### 11. Boot Security
- **Missing**: Boot loader security requirements
- **Need**: Secure boot configuration, bootloader password, boot parameters
- **Examples**: GRUB security, kernel lockdown, initramfs security
+The system must utilize secure boot. It must refuse to boot if anything has been altered. The system will never have apt-get update/upgrade run on it. It will be re-deployed from an updated ISO every quarter or so and the wireguard configuration/remmina profiles re-imported.
+
## Additional Considerations:
### 12. User Experience and Documentation
@@ -74,6 +96,8 @@
- **Need**: Clear documentation for secure workflows
- **Question**: Should we include user guides in the ISO?
+No.
+
### 13. System Updates and Maintenance
- **Question**: How will the system receive security updates without general internet access?
- **Options**:
@@ -81,16 +105,30 @@
- USB-based update distribution
- No updates after initial deployment
+No updates after initial deployment (via the internet). The system will be re-imaged from ISO.
+
### 14. Hardware Compatibility
- **Concern**: Minimal desktop may have hardware compatibility issues
- **Need**: Define supported hardware scope
- **Question**: Should we include additional drivers or keep it minimal?
+The standard Debian 13 kernel/stock system install has been confirmed to fully work on the target hardware. Display, network etc all worked.
+
### 15. Testing Strategy for Air-Gapped Environment
- **Challenge**: How to test an ISO designed for air-gapped use
- **Need**: Testing methodology that doesn't require internet
- **Question**: Should we simulate air-gapped environment during testing?
+The ISO will be installed into a VM that you define/boot. Initially I will do some manual testing. Later on , we can have a test suite that gets baked into the ISO/install.
+
+Oh the install needs to be mostly automated with a preseed file. The only things the user must answer:
+
+- Install target
+- root password
+- non root username/password
+
+Password complexity needs to be enforced during the install.
+
---
## Priority Assessment:
@@ -115,4 +153,7 @@
**Status**: Awaiting your feedback on the above questions and concerns
**Next Action**: Review your inline edits and address any additional points
-**Ready for Implementation**: NO - Need to resolve high priority items first
\ No newline at end of file
+**Ready for Implementation**: NO - Need to resolve high priority items first
+
+**Copyright © 2026 Known Element Enterprises LLC**
+**License: GNU Affero General Public License v3.0 only**
\ No newline at end of file
diff --git a/PreFlightDiscussion-02.md b/PreFlightDiscussion-02.md
index f34211e..2fc94c9 100644
--- a/PreFlightDiscussion-02.md
+++ b/PreFlightDiscussion-02.md
@@ -1,4 +1,4 @@
-# Pre-Flight Discussion - Round 2
+# KNEL-Football Pre-Flight Discussion - Round 2
## Follow-up Questions Based on Your Feedback:
@@ -6,51 +6,98 @@
- **Your Feedback**: Entry point to tier0 infrastructure supporting ITAR/SECRET systems, CMMC Level 2/3 downstream, LI-SaaS for RackRental.net
- **Questions**:
- Should we target CMMC Level 3 for this system since it supports Level 2/3 downstream?
+ Yes
+
- For STIG vs CIS: DISA STIGs are military requirements, CIS Benchmarks are industry best practices. Given your use case (tier0, ITAR/SECRET), I recommend DISA STIGs. Do you agree?
- Should we implement the "Debian 13 STIG" or the more comprehensive "General Operating System STIG"?
+ How about we do both? Start with the CIS Benchmark for Debian Linux. Then layer on the Debian STIG.
+ It appears the last STIG was for Debian 11.
+
### 2. QR Code Import Implementation
- **Your Feedback**: Want QR code import capability using webcam
- **Questions**:
- Which QR code library should we use? (qrencode for generation, zbar for scanning)
+
+Well we dont need to generate any qr codes do we? The system will only be a wireguard client. It won't have any systems connecting to it.
+
- Should we create a desktop shortcut for QR scanning, or integrate it into the WireGuard config management?
+
+How about a shell script to kick off the scan and update the config file?
+
- What QR code format should we support? (Standard WireGuard QR format?)
+ I believe the standard wireguard qr format should be fine. I will test and we can tweak if it doesn't work.
+
### 3. Testing Strategy Clarification
- **Your Feedback**: Test suite runs on installed system, not in build environment
- **Questions**:
- Should we include the test suite in the ISO itself for post-install validation?
+
+ Include in the ISO
+
- Or keep tests separate for QA/validation before deployment?
- How should the tests be triggered on the installed system? (Desktop shortcut, command line?)
+ command line.
+
+
### 4. Package Management Strategy
- **Your Feedback**: Very minimal packages, re-image quarterly rather than update
- **Questions**:
- Should we remove apt/apt-get entirely to prevent accidental updates?
+
+ Yes
+
- Or keep it but disable network access?
- What's your preference for package management tools on the final system?
+ No package management tools on the final system allowed. At the very least they should have execute permission removed and be chattr +i . I don't know if Debian will let you remove things like apt and dpkg as they are pretty core to the system.
+
### 5. Preseed Configuration Details
- **Your Feedback**: Only install target, root password, non-root user/password are manual
- **Questions**:
- What timezone should we default to?
+ US/Chicago
+
- What keyboard layout should we default to?
+
+ Standard US English keyboard.
+
- Should we enforce password complexity in the preseed itself, or handle that post-install?
+ In the preseed itself
+
### 6. Secure Boot Implementation
- **Your Feedback**: Must use secure boot, refuse to boot if altered
- **Questions**:
- Should we include Secure Boot keys in the ISO or use standard Microsoft keys?
+
+ Include secure boot keys in the ISO
+
+
- Do you want UEFI-only boot, or support Legacy BIOS as well?
+
+ UEFI only
+
- Should we implement measured boot or just standard Secure Boot?
+ Measured boot
+
### 7. Documentation Approach
- **Your Feedback**: No user guides in ISO
- **Questions**:
- Should we create minimal inline help for the desktop shortcuts?
+ No
+
- Or assume users are trained and don't need any documentation?
+
+ They are trained and dont need documentation
+
- Where should we store technical documentation? (Project repo only?)
+ Repo only
+
## Clarifications Received:
### ✅ Test Environment: Keep tests separate from build environment, use shellcheck/shellfmt only in build
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..65aceee
--- /dev/null
+++ b/README.md
@@ -0,0 +1,190 @@
+# KNEL-Football
+
+
+
+
+
+
+
+
+## Overview
+
+KNEL-Football is a highly secure, compliant Debian 13 (Trixie) installation ISO built using a strict Docker-based workflow with Test-Driven Development methodology. The resulting ISO provides a minimal, hardened system with restricted networking designed for tier0 infrastructure access.
+
+## Features
+
+### Security Hardening
+- ✅ CMMC Level 3 compliant
+- ✅ FedRAMP LI-SaaS ready
+- ✅ DISA STIG and CIS Benchmark implementation
+- ✅ WiFi and Bluetooth permanently disabled (kernel blacklist)
+- ✅ Package management tools disabled with immutable permissions
+- ✅ Secure Boot with measured boot (UEFI only)
+
+### Network Restrictions
+- ✅ WireGuard-only network access
+- ✅ Dynamic firewall configuration (nftables)
+- ✅ No general internet connectivity
+- ✅ QR code import for configuration
+
+### Minimal Desktop
+- ✅ IceWM window manager (minimal)
+- ✅ LightDM display manager (privacy mode)
+- ✅ Required applications: Remmina, WireGuard, Mousepad, PCManFM
+- ✅ USB automount support
+
+## Quick Start
+
+### Prerequisites
+- Docker
+- Git
+- Libvirt (virt-install, virsh)
+
+### Build
+```bash
+# Clone the repository
+git clone https://git.knownelement.com/KNEL/football.git
+cd football
+
+# Build the ISO
+./run.sh build
+```
+
+### Test
+```bash
+# Run all tests
+./run.sh test
+
+# Run linting checks
+./run.sh lint
+```
+
+### Clean
+```bash
+# Clean build artifacts
+./run.sh clean
+```
+
+## Project Structure
+
+```
+knel-football/
+├── README.md # This file
+├── LICENSE # AGPLv3 license
+├── AGENTS.md # AI agent documentation
+├── football-spec.md # Technical specification
+├── run.sh # Host wrapper script
+├── Dockerfile # Build/test container
+├── .gitignore # Git ignore rules
+├── config/ # live-build configuration
+│ ├── preseed.cfg # Installation automation
+│ ├── package-lists/ # Software packages
+│ ├── hooks/ # Build hooks
+│ │ ├── live/ # Live system hooks
+│ │ └── installed/ # Post-installation hooks
+│ └── includes/ # File inclusions
+├── src/ # Build scripts
+│ ├── build-iso.sh # Main ISO build
+│ ├── security-hardening.sh # Security configurations
+│ ├── firewall-setup.sh # Dynamic firewall
+│ └── compliance-check.sh # Validation
+├── tests/ # Test suite
+│ ├── unit/ # Unit tests
+│ ├── integration/ # Integration tests
+│ ├── security/ # Security tests
+│ └── fixtures/ # Test data
+├── docs/ # Documentation
+│ ├── architecture.md # System architecture
+│ ├── security-model.md # Security model
+│ └── user-guide.md # User documentation
+└── output/ # Generated ISO files
+```
+
+## Security Features
+
+### Kernel Module Blacklisting
+- WiFi modules: cfg80211, mac80211, brcmfmac, iwlwifi, ath9k, rt73usb
+- Bluetooth modules: btusb, bluetooth, btrtl, btintel, btbcm
+
+### Firewall Configuration
+- Default deny policy
+- Dynamic WireGuard endpoint parsing
+- UDP traffic only to WireGuard server
+- nftables implementation
+
+### Package Management Security
+- Execute permissions removed
+- Immutable with `chattr +i`
+- APT/DPKG metadata cleared
+- No package updates possible
+
+### Boot Security
+- UEFI-only boot mode
+- Secure Boot enabled
+- Measured boot implementation
+- Custom keys included
+
+## Compliance
+
+- **CMMC Level 3** - Entry point to tier0 infrastructure
+- **FedRAMP LI-SaaS** - Ready for federal government deployment
+- **DISA STIG** - Adapted Debian 11 STIG for Debian 13
+- **CIS Benchmarks** - Industry best practices for Debian Linux
+
+## User Workflow
+
+### Installation
+1. Boot from ISO
+2. Complete manual partitioning
+3. Set root password
+4. Create non-root user (auto-added to sudo)
+
+### Configuration
+1. Mount USB drive with WireGuard config
+2. Use desktop shortcuts to import/apply configuration
+3. QR code scanning available for mobile configuration
+
+### Remote Access
+1. Remmina for RDP connections
+2. WireGuard tunnel for all network traffic
+3. No direct internet access possible
+
+## Development
+
+### Test-Driven Development
+- Tests written before implementation
+- 100% code coverage mandatory
+- BATS framework for testing
+- Shellcheck for linting
+
+### Build Environment
+- Docker-based container
+- No build tools on host
+- All dependencies in container
+- Proper file permissions
+
+## Contributing
+
+This project is developed under the GNU Affero General Public License v3.0. Contributions must follow the same license and include proper attribution.
+
+## License
+
+Copyright © 2026 Known Element Enterprises LLC
+
+This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License along with this program. If not, see .
+
+## Contact
+
+**Known Element Enterprises LLC**
+- Website: https://knownelement.com
+- Repository: https://git.knownelement.com/KNEL/football
+
+---
+
+
+ Security through Compliance. Compliance through Process.
+
\ No newline at end of file
diff --git a/football-spec.md b/football-spec.md
index 6d9c579..b04de4b 100644
--- a/football-spec.md
+++ b/football-spec.md
@@ -1,4 +1,4 @@
-# Secure Debian 13 ISO - Technical Specification Document
+# KNEL-Football - Technical Specification Document
## Table of Contents
1. [Project Overview](#project-overview)
@@ -13,7 +13,10 @@
## Project Overview
-This project aims to build a highly secure, compliant Debian 13 (Trixie) installation ISO using a strict Docker-based workflow with Test-Driven Development methodology. The resulting ISO will be a minimal, hardened system with restricted networking and specific security configurations.
+KNEL-Football aims to build a highly secure, compliant Debian 13 (Trixie) installation ISO using a strict Docker-based workflow with Test-Driven Development methodology. The resulting ISO will be a minimal, hardened system with restricted networking and specific security configurations.
+
+**Copyright © 2026 Known Element Enterprises LLC**
+**License: GNU Affero General Public License v3.0 only**
## Target System Profile
@@ -180,7 +183,7 @@ tests/
## Project Structure
```
-secure-debian-iso/
+knel-football/
├── README.md # Project documentation
├── COMPLIANCE.md # Compliance matrix
├── LICENSE # Project license
@@ -218,13 +221,14 @@ secure-debian-iso/
```bash
#!/bin/bash
-# Secure Debian ISO Builder - Host Wrapper
+# KNEL-Football ISO Builder - Host Wrapper
# This script orchestrates the Docker-based build process
+# Copyright © 2026 Known Element Enterprises LLC
set -euo pipefail
# Configuration variables
-readonly DOCKER_IMAGE="secure-debian-builder:latest"
+readonly DOCKER_IMAGE="knel-football-builder:latest"
readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
readonly OUTPUT_DIR="${SCRIPT_DIR}/output"
@@ -249,7 +253,7 @@ main() {
case "${command}" in
build)
- echo "Building secure Debian ISO..."
+ echo "Building KNEL-Football secure ISO..."
docker run --rm \
-v "${SCRIPT_DIR}:/workspace" \
-v "${OUTPUT_DIR}:/workspace/output" \
@@ -258,7 +262,7 @@ main() {
/workspace/src/build-iso.sh
;;
test)
- echo "Running test suite..."
+ echo "Running KNEL-Football test suite..."
docker run --rm \
-v "${SCRIPT_DIR}:/workspace" \
-u "$(id -u):$(id -g)" \
@@ -298,7 +302,7 @@ main "$@"
### Dockerfile (Build/Test Environment)
```dockerfile
-# Secure Debian ISO Builder - Dockerfile
+# KNEL-Football ISO Builder - Dockerfile
# Multi-stage build for security hardening
# Base stage
@@ -440,7 +444,7 @@ load 'test_helper/bats-assert/load'
@test "build process completes without errors" {
run src/build-iso.sh
assert_success
- [ -f "output/secure-debian.iso" ]
+ [ -f "output/knel-football.iso" ]
}
@test "generated ISO contains required packages" {
@@ -773,7 +777,7 @@ build_iso() {
# Move output files to output directory
if [[ -f "binary.hybrid.iso" ]]; then
- mv "binary.hybrid.iso" "${OUTPUT_DIR}/secure-debian.iso"
+ mv "binary.hybrid.iso" "${OUTPUT_DIR}/knel-football.iso"
else
echo "Error: ISO file not generated"
exit 1
@@ -781,16 +785,16 @@ build_iso() {
# Generate checksum
cd "$OUTPUT_DIR"
- sha256sum "secure-debian.iso" > "secure-debian.iso.sha256"
+ sha256sum "knel-football.iso" > "knel-football.iso.sha256"
cd - > /dev/null
echo "ISO build completed successfully."
- echo "Output: ${OUTPUT_DIR}/secure-debian.iso"
+ echo "Output: ${OUTPUT_DIR}/knel-football.iso"
}
# Main execution
main() {
- echo "Starting secure Debian ISO build..."
+ echo "Starting KNEL-Football secure ISO build..."
validate_environment
prepare_build
@@ -888,7 +892,7 @@ verify_compliance() {
# Main execution
main() {
- echo "Starting security hardening..."
+ echo "Starting KNEL-Football security hardening..."
configure_system_security
configure_filesystem_security
@@ -940,6 +944,9 @@ main "$@"
## Conclusion
-This specification provides a comprehensive blueprint for building a secure, compliant Debian 13 ISO using a Docker-based workflow with Test-Driven Development methodology. The implementation will result in a minimal, hardened system with strict network restrictions and compliance with CMMC, FedRAMP, and STIG requirements.
+This specification provides a comprehensive blueprint for building the KNEL-Football secure, compliant Debian 13 ISO using a Docker-based workflow with Test-Driven Development methodology. The implementation will result in a minimal, hardened system with strict network restrictions and compliance with CMMC Level 3, FedRAMP LI-SaaS, and STIG requirements.
+
+**Copyright © 2026 Known Element Enterprises LLC**
+**License: GNU Affero General Public License v3.0 only**
The project structure and component specifications are designed to meet all stated requirements while maintaining security, flexibility, and maintainability through rigorous testing and documentation.
\ No newline at end of file