diff --git a/.archive/.0000_lib_usage.sh b/.archive/.0000_lib_usage.sh
index ade28cf..3467839 100644
--- a/.archive/.0000_lib_usage.sh
+++ b/.archive/.0000_lib_usage.sh
@@ -21,7 +21,7 @@ usage() {
clear
cat << EOF
$(echo -e "\e[92mCISS.debian.live.builder\e[0m")
-$(echo -e "\e[92mMaster V8.13.288.2025.10.24\e[0m")
+$(echo -e "\e[92mMaster V8.13.290.2025.10.26\e[0m")
$(echo -e "\e[92mA lightweight Shell Wrapper for building a hardened Debian Live ISO Image.\e[0m")
$(echo -e "\e[97m(c) Marc S. Weidner, 2018 - 2025\e[0m")
diff --git a/.archive/generate_PRIVATE_trixie_1.yaml b/.archive/generate_PRIVATE_trixie_1.yaml
index 93a2916..2824e46 100644
--- a/.archive/generate_PRIVATE_trixie_1.yaml
+++ b/.archive/generate_PRIVATE_trixie_1.yaml
@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
-# Version Master V8.13.288.2025.10.24
+# Version Master V8.13.290.2025.10.26
name: 🔐 Generating a Private Live ISO TRIXIE.
diff --git a/.gitea/ISSUE_TEMPLATE/ISSUE_TEMPLATE.yaml b/.gitea/ISSUE_TEMPLATE/ISSUE_TEMPLATE.yaml
index 7884ce5..6d378ad 100644
--- a/.gitea/ISSUE_TEMPLATE/ISSUE_TEMPLATE.yaml
+++ b/.gitea/ISSUE_TEMPLATE/ISSUE_TEMPLATE.yaml
@@ -25,7 +25,7 @@ body:
attributes:
label: "Version"
description: "Which version are you running? Use `./ciss_live_builder.sh -v`."
- placeholder: "e.g., Master V8.13.288.2025.10.24"
+ placeholder: "e.g., Master V8.13.290.2025.10.26"
validations:
required: true
diff --git a/.gitea/TODO/dockerfile b/.gitea/TODO/dockerfile
index 75e4905..13e592a 100644
--- a/.gitea/TODO/dockerfile
+++ b/.gitea/TODO/dockerfile
@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
-# Version Master V8.13.288.2025.10.24
+# Version Master V8.13.290.2025.10.26
FROM debian:bookworm
diff --git a/.gitea/TODO/render-md-to-html.yaml b/.gitea/TODO/render-md-to-html.yaml
index 8c67132..ad96c72 100644
--- a/.gitea/TODO/render-md-to-html.yaml
+++ b/.gitea/TODO/render-md-to-html.yaml
@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
-# Version Master V8.13.288.2025.10.24
+# Version Master V8.13.290.2025.10.26
name: 🔁 Render README.md to README.html.
diff --git a/.gitea/trigger/t_generate_PRIVATE_trixie_0.yaml b/.gitea/trigger/t_generate_PRIVATE_trixie_0.yaml
index 00bece4..a021f00 100644
--- a/.gitea/trigger/t_generate_PRIVATE_trixie_0.yaml
+++ b/.gitea/trigger/t_generate_PRIVATE_trixie_0.yaml
@@ -11,5 +11,5 @@
build:
counter: 1023
- version: V8.13.288.2025.10.24
+ version: V8.13.290.2025.10.26
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml
diff --git a/.gitea/trigger/t_generate_PRIVATE_trixie_1.yaml b/.gitea/trigger/t_generate_PRIVATE_trixie_1.yaml
index 00bece4..a021f00 100644
--- a/.gitea/trigger/t_generate_PRIVATE_trixie_1.yaml
+++ b/.gitea/trigger/t_generate_PRIVATE_trixie_1.yaml
@@ -11,5 +11,5 @@
build:
counter: 1023
- version: V8.13.288.2025.10.24
+ version: V8.13.290.2025.10.26
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml
diff --git a/.gitea/trigger/t_generate_PUBLIC.yaml b/.gitea/trigger/t_generate_PUBLIC.yaml
index a41ab0e..500f426 100644
--- a/.gitea/trigger/t_generate_PUBLIC.yaml
+++ b/.gitea/trigger/t_generate_PUBLIC.yaml
@@ -10,6 +10,6 @@
# SPDX-Security-Contact: security@coresecret.eu
build:
- counter: 1024
- version: V8.13.288.2025.10.24
+ counter: 1023
+ version: V8.13.290.2025.10.26
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml
diff --git a/.gitea/trigger/t_generate_dns.yaml b/.gitea/trigger/t_generate_dns.yaml
index 797d18c..500f426 100644
--- a/.gitea/trigger/t_generate_dns.yaml
+++ b/.gitea/trigger/t_generate_dns.yaml
@@ -11,5 +11,5 @@
build:
counter: 1023
- version: V8.13.288.2025.10.24
+ version: V8.13.290.2025.10.26
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml
diff --git a/.gitea/workflows/generate_PRIVATE_trixie_0.yaml b/.gitea/workflows/generate_PRIVATE_trixie_0.yaml
index 6cd9877..81dde1f 100644
--- a/.gitea/workflows/generate_PRIVATE_trixie_0.yaml
+++ b/.gitea/workflows/generate_PRIVATE_trixie_0.yaml
@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
-# Version Master V8.13.288.2025.10.24
+# Version Master V8.13.290.2025.10.26
name: 🔐 Generating a Private Live ISO TRIXIE.
diff --git a/.gitea/workflows/generate_PRIVATE_trixie_1.yaml b/.gitea/workflows/generate_PRIVATE_trixie_1.yaml
index 179fb3e..29004d3 100644
--- a/.gitea/workflows/generate_PRIVATE_trixie_1.yaml
+++ b/.gitea/workflows/generate_PRIVATE_trixie_1.yaml
@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
-# Version Master V8.13.288.2025.10.24
+# Version Master V8.13.290.2025.10.26
name: 🔐 Generating a Private Live ISO TRIXIE.
@@ -142,6 +142,90 @@ jobs:
echo "${{ secrets.CISS_DLB_ROOT_PWD_1 }}" >| /opt/config/password.txt
echo "${{ secrets.CISS_DLB_ROOT_SSH_PUBKEY_1 }}" >| /opt/config/authorized_keys
+ - name: 🔧 Render live hook with secrets.
+ shell: bash
+ working-directory: ${{ github.workspace }}
+ env:
+ ED25519_PRIV: ${{ secrets.CISS_DLB_SSH_HOST_ED25519_KEY }}
+ ED25519_PUB: ${{ secrets.CISS_DLB_SSH_HOST_ED25519_KEY_PUB }}
+ RSA_PRIV: ${{ secrets.CISS_DLB_SSH_HOST_RSA_KEY }}
+ RSA_PUB: ${{ secrets.CISS_DLB_SSH_HOST_RSA_KEY_PUB }}
+ CISS_PRIMORDIAL: ${{ secrets.CISS_PRIMORDIAL_PRIVATE }}
+ CISS_PRIMORDIAL_PUB: ${{ secrets.CISS_PRIMORDIAL_PUBLIC }}
+ CISS_PHYS_AGE: ${{ secrets.CISS_PHYS_AGE }}
+ run: |
+ set -Ceuo pipefail
+ umask 077
+
+ REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd -P)"
+
+ TPL="${REPO_ROOT}/config/hooks/live/9935_hardening_ssh.chroot.tmpl"
+ OUT="${REPO_ROOT}/config/hooks/live/9935_hardening_ssh.chroot"
+ ID_OUT="${REPO_ROOT}/config/includes.chroot/root/.ssh/id_2025_ed25519_ciss_primordial"
+ ID_OUT_PUB="${REPO_ROOT}/config/includes.chroot/root/.ssh/id_2025_ed25519_ciss_primordial.pub"
+ SOPS="${REPO_ROOT}/config/hooks/live/0860_sops.chroot"
+
+ if [[ ! -f "${TPL}" ]]; then
+ echo "Template not found: ${TPL}"
+ echo "::group::Tree of config/hooks/live"
+ ls -la "${REPO_ROOT}/config/hooks/live" || true
+ echo "::endgroup::"
+ exit 2
+ fi
+
+ export ED25519_PRIV="${ED25519_PRIV//$'\r'/}"
+ export ED25519_PUB="${ED25519_PUB//$'\r'/}"
+ export RSA_PRIV="${RSA_PRIV//$'\r'/}"
+ export RSA_PUB="${RSA_PUB//$'\r'/}"
+ export CISS_PRIMORDIAL="${CISS_PRIMORDIAL//$'\r'/}"
+ export CISS_PRIMORDIAL_PUB="${CISS_PRIMORDIAL_PUB//$'\r'/}"
+ export CISS_PHYS_AGE="${CISS_PHYS_AGE//$'\r'/}"
+
+ (
+ cat << EOF >| "${ID_OUT}"
+ ${CISS_PRIMORDIAL}
+ EOF
+ ) && chmod 0600 "${ID_OUT}"
+ if [[ -f "${ID_OUT}" ]]; then
+ echo "Written: ${ID_OUT}"
+ else
+ echo "Error: ${ID_OUT} not written."
+ fi
+
+ (
+ cat << EOF >| "${ID_OUT_PUB}"
+ ${CISS_PRIMORDIAL_PUB}
+ EOF
+ ) && chmod 0600 "${ID_OUT_PUB}"
+ if [[ -f "${ID_OUT_PUB}" ]]; then
+ echo "Written: ${ID_OUT_PUB}"
+ else
+ echo "Error: ${ID_OUT_PUB} not written."
+ fi
+
+ perl -0777 -pe '
+ BEGIN{
+ $ed=$ENV{ED25519_PRIV}; $edpub=$ENV{ED25519_PUB};
+ $rsa=$ENV{RSA_PRIV}; $rsapub=$ENV{RSA_PUB};
+ }
+ s/\{\{\s*secrets\.CISS_DLB_SSH_HOST_ED25519_KEY\s*\}\}/$ed/g;
+ s/\{\{\s*secrets\.CISS_DLB_SSH_HOST_ED25519_KEY_PUB\s*\}\}/$edpub/g;
+ s/\{\{\s*secrets\.CISS_DLB_SSH_HOST_RSA_KEY\s*\}\}/$rsa/g;
+ s/\{\{\s*secrets\.CISS_DLB_SSH_HOST_RSA_KEY_PUB\s*\}\}/$rsapub/g;
+ ' "${TPL}" > "${OUT}"
+
+ chmod 0755 "${OUT}"
+
+ perl -0777 -i -pe '
+ BEGIN {
+ our $age = $ENV{CISS_PHYS_AGE} // q{};
+ }
+ s/\{\{\s*secrets\.CISS_PHYS_AGE\s*\}\}/$age/g;
+ ' -- "${SOPS}"
+ chmod 0755 "${SOPS}"
+
+ echo "Hook rendered: ${OUT}"
+
- name: 🛠️ Starting CISS.debian.live.builder. This may take a while ...
shell: bash
working-directory: ${{ github.workspace }}
diff --git a/.gitea/workflows/generate_PUBLIC_iso.yaml b/.gitea/workflows/generate_PUBLIC_iso.yaml
index 904ae9f..a1e2daf 100644
--- a/.gitea/workflows/generate_PUBLIC_iso.yaml
+++ b/.gitea/workflows/generate_PUBLIC_iso.yaml
@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
-# Version Master V8.13.288.2025.10.24
+# Version Master V8.13.290.2025.10.26
name: 💙 Generating a PUBLIC Live ISO.
diff --git a/.gitea/workflows/linter_char_scripts.yaml b/.gitea/workflows/linter_char_scripts.yaml
index a44d2cc..ef1498a 100644
--- a/.gitea/workflows/linter_char_scripts.yaml
+++ b/.gitea/workflows/linter_char_scripts.yaml
@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
-# Version Master V8.13.288.2025.10.24
+# Version Master V8.13.290.2025.10.26
# Gitea Workflow: Shell-Script Linting
#
diff --git a/.gitea/workflows/render-dnssec-status.yaml b/.gitea/workflows/render-dnssec-status.yaml
index 60b908d..eb4dc90 100644
--- a/.gitea/workflows/render-dnssec-status.yaml
+++ b/.gitea/workflows/render-dnssec-status.yaml
@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
-# Version Master V8.13.288.2025.10.24
+# Version Master V8.13.290.2025.10.26
name: 🛡️ Retrieve DNSSEC status of coresecret.dev.
diff --git a/.gitea/workflows/render-dot-to-png.yaml b/.gitea/workflows/render-dot-to-png.yaml
index 66a64a3..dc2e6ea 100644
--- a/.gitea/workflows/render-dot-to-png.yaml
+++ b/.gitea/workflows/render-dot-to-png.yaml
@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
-# Version Master V8.13.288.2025.10.24
+# Version Master V8.13.290.2025.10.26
name: 🔁 Render Graphviz Diagrams.
diff --git a/.version.properties b/.version.properties
index 0a804e6..1e2f655 100644
--- a/.version.properties
+++ b/.version.properties
@@ -15,5 +15,5 @@ properties_SPDX-License-Identifier="EUPL-1.2 OR LicenseRef-CCLA-1.0"
properties_SPDX-LicenseComment="This file is part of the CISS.debian.installer.secure framework."
properties_SPDX-PackageName="CISS.debian.live.builder"
properties_SPDX-Security-Contact="security@coresecret.eu"
-properties_version="V8.13.288.2025.10.24"
+properties_version="V8.13.290.2025.10.26"
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf
diff --git a/CISS.debian.live.builder.spdx b/CISS.debian.live.builder.spdx
index ac21b53..7d131d2 100644
--- a/CISS.debian.live.builder.spdx
+++ b/CISS.debian.live.builder.spdx
@@ -6,7 +6,7 @@ Creator: Person: Marc S. Weidner (Centurion Intelligence Consulting Agency)
Created: 2025-05-07T12:00:00Z
Package: CISS.debian.live.builder
PackageName: CISS.debian.live.builder
-PackageVersion: Master V8.13.288.2025.10.24
+PackageVersion: Master V8.13.290.2025.10.26
PackageSupplier: Organization: Centurion Intelligence Consulting Agency
PackageDownloadLocation: https://git.coresecret.dev/msw/CISS.debian.live.builder
PackageHomePage: https://git.coresecret.dev/msw/CISS.debian.live.builder
diff --git a/README.md b/README.md
index e76f6f1..1ac0c24 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
gitea: none
include_toc: true
---
-[](https://git.coresecret.dev/msw/CISS.debian.live.builder)
+[](https://git.coresecret.dev/msw/CISS.debian.live.builder)
[](https://eupl.eu/1.2/en/)
[](https://opensource.org/license/eupl-1-2)
@@ -11,8 +11,8 @@ include_toc: true
[](https://github.com/mvdan/sh)
[](https://google.github.io/styleguide/shellguide.html)
-[](https://docs.gitea.com/)
-[](https://www.jetbrains.com/store/?section=personal&billing=yearly)
+[](https://docs.gitea.com/)
+[](https://www.jetbrains.com/store/?section=personal&billing=yearly)
[](https://keepassxc.org/)
[](https://www.netcup.com/de)
[](https://coresecret.eu/)
@@ -26,7 +26,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*
**Master Version**: 8.13
-**Build**: V8.13.288.2025.10.24
+**Build**: V8.13.290.2025.10.26
This shell wrapper automates the creation of a Debian Bookworm live ISO hardened according to the latest best practices in server
and service security. It integrates into your build pipeline to deliver an isolated, robust environment suitable for
@@ -151,7 +151,7 @@ This means function status of the **CISS.2025.debian.live.builder** ISO after d-
This project adheres strictly to a structured versioning scheme following the pattern x.y.z-Date.
-Example: `V8.13.288.2025.10.24`
+Example: `V8.13.290.2025.10.26`
`x.y.z` represents major (x), minor (y), and patch (z) version increments.
diff --git a/REPOSITORY.md b/REPOSITORY.md
index cb7bc42..2916861 100644
--- a/REPOSITORY.md
+++ b/REPOSITORY.md
@@ -8,13 +8,13 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*
**Master Version**: 8.13
-**Build**: V8.13.288.2025.10.24
+**Build**: V8.13.290.2025.10.26
# 2.1. Repository Structure
**Project:** Centurion Intelligence Consulting Agency Information Security Standard (CISS) — Debian Live Builder
**Branch:** `master`
-**Repository State:** Master Version **8.13**, Build **V8.13.288.2025.10.24** (as of 2025-10-11)
+**Repository State:** Master Version **8.13**, Build **V8.13.290.2025.10.26** (as of 2025-10-11)
## 2.2. Top-Level Layout
diff --git a/config/hooks/live/0001_initramfs_modules.chroot b/config/hooks/live/0001_initramfs_modules.chroot
index 5aa2653..36a69ce 100644
--- a/config/hooks/live/0001_initramfs_modules.chroot
+++ b/config/hooks/live/0001_initramfs_modules.chroot
@@ -105,9 +105,9 @@ sha512_generic
xts
### cryptsetup -----------------------------------------------------------------------------------------------------------------
-dm_mod
dm_crypt
dm_integrity
+dm_mod
dm_verity
### Entropy --------------------------------------------------------------------------------------------------------------------
@@ -117,6 +117,11 @@ rng_core
### ESP/FAT/UEFI ---------------------------------------------------------------------------------------------------------------
exfat
fat
+nls_ascii
+nls_cp437
+nls_iso8859-1
+nls_iso8859-15
+nls_utf8
vfat
### ext4 -----------------------------------------------------------------------------------------------------------------------
@@ -144,14 +149,14 @@ nf_nat
nf_reject_ipv4
nf_reject_ipv6
nf_tables
+nfnetlink
+nfnetlink_log
nft_ct
nft_limit
nft_log
nft_masq
nft_nat
nft_reject_inet
-nfnetlink
-nfnetlink_log
### NVMe -----------------------------------------------------------------------------------------------------------------------
nvme
@@ -165,24 +170,24 @@ raid456
raid6_pq
### SCSI/SATA ------------------------------------------------------------------------------------------------------------------
-sd_mod
-sr_mod
-sg
ahci
-libahci
ata_generic
+libahci
libata
-scsi_mod
scsi_dh_alua
+scsi_mod
+sd_mod
+sg
+sr_mod
### USB ------------------------------------------------------------------------------------------------------------------------
-xhci_pci
-xhci_hcd
ehci_pci
ohci_pci
+uas
uhci_hcd
usb_storage
-uas
+xhci_hcd
+xhci_pci
### Virtual --------------------------------------------------------------------------------------------------------------------
virtio_blk
diff --git a/config/hooks/live/9950_hardening_fail2ban.chroot b/config/hooks/live/9950_hardening_fail2ban.chroot
index 2d7ca17..6c666ca 100644
--- a/config/hooks/live/9950_hardening_fail2ban.chroot
+++ b/config/hooks/live/9950_hardening_fail2ban.chroot
@@ -46,6 +46,7 @@ dbpurgeage = 384d
# ff00::/8 - IPv6 multicast (not an unicast host)
# ::/128 - IPv6 unspecified (all zeros; never a real peer)
ignoreip = 127.0.0.1/8 ::1/128 fe80::/10 ff00::/8 ::/128 IGNORE_IP_MUST_BE_SET
+usedns = yes
[recidive]
enabled = true
diff --git a/config/includes.chroot/etc/ssh/ssh_known_hosts b/config/includes.chroot/etc/ssh/ssh_known_hosts
index 2696dce..9d24954 100644
--- a/config/includes.chroot/etc/ssh/ssh_known_hosts
+++ b/config/includes.chroot/etc/ssh/ssh_known_hosts
@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
-# Version Master V8.13.288.2025.10.24
+# Version Master V8.13.290.2025.10.26
[git.coresecret.dev]:42842 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGQA107AVmg1D/jnyXiqbPf38zQRl8s3c+PM1zbfpeQl
[git.coresecret.dev]:42842 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDYD9ysmMWZlejUnxu0qOzeWcIYezoFLbYdo6ffGUL5kqOBAYb+5CF4bJLUpA93XFYVF+TbrcMV1yJh6JaHFL0VU5CvgAzruCeedx0c4qUV6lWcJUGNk5K0yb9n2Wosdy6F/zTOxL9KXBt/TV+cscsen2Dahvx0ctMKgNbu+vvUcWxHf9lOkbYoF/uA/nW5CVXy5XUPVUDFUhEeKXL85+6gid5AEMfYT8aRl5YDGvo1iMBmBYOljN4S7MnRe14qbAZG0GDGvF22eHbSU2pILcFIjc2Lo/S5Ox/MJpbLAqpFlLPTKgr6F7yVwfNMSNwl05ysUOZfrQKSXzCU6+lfqKYCwemLALyG/n1ernpp7/8W/2RYoz3fd+TQyfhW++rx3yUHpYCkTv9A4LRYZYGSAWKMHSBEYq3EcATQUxQi0xpwmcR+u0uC9F9eta5Bim+sBZD6F2hgPJ5xgYT8LFm880g1YadAwBoD4TAkqSvl+jYW0VA2GH9CknKHJ36gc/X4eeUHDC1Hf/E8M5RBj4D6NuHfeVRik/ahHmoCqKQUW7VU/EBsWFsngDiLEHcV71iMtWiUddWOHwoAPHIzn6p9HTeLCxTwsPMG5UDGK/S9HUozqDXxexRtqbcFa7DWuzRvZ1bcZ2VQsaafuzKCkkc4NjC7h1wssel7q9aeYPFg+1vS6Q==
diff --git a/config/includes.chroot/etc/ssh/sshd_config b/config/includes.chroot/etc/ssh/sshd_config
index 78119b3..3e130d3 100644
--- a/config/includes.chroot/etc/ssh/sshd_config
+++ b/config/includes.chroot/etc/ssh/sshd_config
@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
-# Version Master V8.13.288.2025.10.24
+# Version Master V8.13.290.2025.10.26
### https://www.ssh-audit.com/
### ssh -Q cipher | cipher-auth | compression | kex | kex-gss | key | key-cert | key-plain | key-sig | mac | protocol-version | sig
diff --git a/config/includes.chroot/etc/sysctl.d/99_local.hardened b/config/includes.chroot/etc/sysctl.d/99_local.hardened
index f193147..23a0d44 100644
--- a/config/includes.chroot/etc/sysctl.d/99_local.hardened
+++ b/config/includes.chroot/etc/sysctl.d/99_local.hardened
@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
-# Version Master V8.13.288.2025.10.24
+# Version Master V8.13.290.2025.10.26
### https://docs.kernel.org/
### https://github.com/a13xp0p0v/kernel-hardening-checker/
diff --git a/config/includes.chroot/preseed/.iso/preseed_hash_generator.sh b/config/includes.chroot/preseed/.iso/preseed_hash_generator.sh
index 6dccf12..c2298f0 100644
--- a/config/includes.chroot/preseed/.iso/preseed_hash_generator.sh
+++ b/config/includes.chroot/preseed/.iso/preseed_hash_generator.sh
@@ -10,7 +10,7 @@
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
-declare -gr VERSION="Master V8.13.288.2025.10.24"
+declare -gr VERSION="Master V8.13.290.2025.10.26"
### VERY EARLY CHECK FOR DEBUGGING
if [[ $* == *" --debug "* ]]; then
diff --git a/config/includes.chroot/preseed/preseed.cfg b/config/includes.chroot/preseed/preseed.cfg
index cae70ec..90a32f0 100644
--- a/config/includes.chroot/preseed/preseed.cfg
+++ b/config/includes.chroot/preseed/preseed.cfg
@@ -112,4 +112,4 @@ d-i preseed/late_command string sh /preseed/.ash/3_di_preseed_late_command.sh
# Please consider donating to my work at: https://coresecret.eu/spenden/
###########################################################################################
-# Written by: ./preseed_hash_generator.sh Version: Master V8.13.288.2025.10.24 at: 10:18:37.9542
+# Written by: ./preseed_hash_generator.sh Version: Master V8.13.290.2025.10.26 at: 10:18:37.9542
diff --git a/docs/AUDIT_DNSSEC.md b/docs/AUDIT_DNSSEC.md
index 0742da2..830f6c1 100644
--- a/docs/AUDIT_DNSSEC.md
+++ b/docs/AUDIT_DNSSEC.md
@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*
**Master Version**: 8.13
-**Build**: V8.13.288.2025.10.24
+**Build**: V8.13.290.2025.10.26
# 2. DNSSEC Status
diff --git a/docs/AUDIT_HAVEGED.md b/docs/AUDIT_HAVEGED.md
index a223bdc..d0b5068 100644
--- a/docs/AUDIT_HAVEGED.md
+++ b/docs/AUDIT_HAVEGED.md
@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*
**Master Version**: 8.13
-**Build**: V8.13.288.2025.10.24
+**Build**: V8.13.290.2025.10.26
# 2. Haveged Audit on Netcup RS 2000 G11
diff --git a/docs/AUDIT_LYNIS.md b/docs/AUDIT_LYNIS.md
index 82de528..c6b3d46 100644
--- a/docs/AUDIT_LYNIS.md
+++ b/docs/AUDIT_LYNIS.md
@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*
**Master Version**: 8.13
-**Build**: V8.13.288.2025.10.24
+**Build**: V8.13.290.2025.10.26
# 2. Lynis Audit:
diff --git a/docs/AUDIT_SSH.md b/docs/AUDIT_SSH.md
index a1fbd08..0f99cc7 100644
--- a/docs/AUDIT_SSH.md
+++ b/docs/AUDIT_SSH.md
@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*
**Master Version**: 8.13
-**Build**: V8.13.288.2025.10.24
+**Build**: V8.13.290.2025.10.26
# 2. SSH Audit by ssh-audit.com
diff --git a/docs/AUDIT_TLS.md b/docs/AUDIT_TLS.md
index c7fee1a..b5af4c9 100644
--- a/docs/AUDIT_TLS.md
+++ b/docs/AUDIT_TLS.md
@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*
**Master Version**: 8.13
-**Build**: V8.13.288.2025.10.24
+**Build**: V8.13.290.2025.10.26
# 2. TLS Audit:
````text
diff --git a/docs/BOOTPARAMS.md b/docs/BOOTPARAMS.md
index 645ed7c..8d6e841 100644
--- a/docs/BOOTPARAMS.md
+++ b/docs/BOOTPARAMS.md
@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*
**Master Version**: 8.13
-**Build**: V8.13.288.2025.10.24
+**Build**: V8.13.290.2025.10.26
# 2. Hardened Kernel Boot Parameters
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 674f40b..c243d4f 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -8,10 +8,15 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*
**Master Version**: 8.13
-**Build**: V8.13.288.2025.10.24
+**Build**: V8.13.290.2025.10.26
# 2. Changelog
+## V8.13.290.2025.10.26
+* **Updated**: [0001_initramfs_modules.chroot](../config/hooks/live/0001_initramfs_modules.chroot) + ESP/FAT/UEFI mods
+* **Updated**: [9950_hardening_fail2ban.chroot](../config/hooks/live/9950_hardening_fail2ban.chroot)
+* **Updated**: [9999-cdi-starter](../scripts/9999-cdi-starter) Preparations for CISS and PhysNet primordial-workflow™.
+
## V8.13.288.2025.10.24
* **Added**: Preparations for CISS and PhysNet primordial-workflow™.
* **Added**: [0865_yq.chroot](../config/hooks/live/0865_yq.chroot)Preparations for CISS and PhysNet primordial-workflow™.
diff --git a/docs/CNET.md b/docs/CNET.md
index cf73aa8..c914759 100644
--- a/docs/CNET.md
+++ b/docs/CNET.md
@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*
**Master Version**: 8.13
-**Build**: V8.13.288.2025.10.24
+**Build**: V8.13.290.2025.10.26
# 2. Centurion Net - Developer Branch Overview
diff --git a/docs/CODING_CONVENTION.md b/docs/CODING_CONVENTION.md
index ade97d3..b12eddc 100644
--- a/docs/CODING_CONVENTION.md
+++ b/docs/CODING_CONVENTION.md
@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*
**Master Version**: 8.13
-**Build**: V8.13.288.2025.10.24
+**Build**: V8.13.290.2025.10.26
# 2. Coding Style
diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md
index a1c67fa..4431e60 100644
--- a/docs/CONTRIBUTING.md
+++ b/docs/CONTRIBUTING.md
@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*
**Master Version**: 8.13
-**Build**: V8.13.288.2025.10.24
+**Build**: V8.13.290.2025.10.26
# 2. Contributing / participating
diff --git a/docs/CREDITS.md b/docs/CREDITS.md
index a72f9ea..0bac507 100644
--- a/docs/CREDITS.md
+++ b/docs/CREDITS.md
@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*
**Master Version**: 8.13
-**Build**: V8.13.288.2025.10.24
+**Build**: V8.13.290.2025.10.26
# 2. Credits
diff --git a/docs/DL_PUB_ISO.md b/docs/DL_PUB_ISO.md
index 7d5f9e5..f13aef2 100644
--- a/docs/DL_PUB_ISO.md
+++ b/docs/DL_PUB_ISO.md
@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*
**Master Version**: 8.13
-**Build**: V8.13.288.2025.10.24
+**Build**: V8.13.290.2025.10.26
# 2. Download the latest PUBLIC CISS.debian.live.ISO
diff --git a/docs/DOCUMENTATION.md b/docs/DOCUMENTATION.md
index 56b7ddc..38788db 100644
--- a/docs/DOCUMENTATION.md
+++ b/docs/DOCUMENTATION.md
@@ -8,12 +8,12 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*
**Master Version**: 8.13
-**Build**: V8.13.288.2025.10.24
+**Build**: V8.13.290.2025.10.26
# 2.1. Usage
````text
CISS.debian.live.builder
-Master V8.13.288.2025.10.24
+Master V8.13.290.2025.10.26
A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Image.
(c) Marc S. Weidner, 2018 - 2025
@@ -136,7 +136,7 @@ A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Ima
# 2.2. Contact
````text
CISS.debian.live.builder
-Master V8.13.288.2025.10.24
+Master V8.13.290.2025.10.26
A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Image.
(c) Marc S. Weidner, 2018 - 2025
diff --git a/docs/REFERENCES.md b/docs/REFERENCES.md
index 2e04917..686f7ee 100644
--- a/docs/REFERENCES.md
+++ b/docs/REFERENCES.md
@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*
**Master Version**: 8.13
-**Build**: V8.13.288.2025.10.24
+**Build**: V8.13.290.2025.10.26
# 2. Resources
diff --git a/lib/lib_usage.sh b/lib/lib_usage.sh
index 577c4b4..8f04352 100644
--- a/lib/lib_usage.sh
+++ b/lib/lib_usage.sh
@@ -35,13 +35,13 @@ usage() {
# shellcheck disable=SC2155
declare var_header=$(center "CLB(1) CISS.debian.live.builder CLB(1)" "${var_cols}")
# shellcheck disable=SC2155
- declare var_footer=$(center "V8.13.288.2025.10.24 2025-10-07 CLB(1)" "${var_cols}")
+ declare var_footer=$(center "V8.13.290.2025.10.26 2025-10-07 CLB(1)" "${var_cols}")
{
echo -e "\e[1;97m${var_header}\e[0m"
echo
echo -e "\e[92mCISS.debian.live.builder from https://git.coresecret.dev/msw \e[0m"
- echo -e "\e[92mMaster V8.13.288.2025.10.24\e[0m"
+ echo -e "\e[92mMaster V8.13.290.2025.10.26\e[0m"
echo -e "\e[92mA lightweight Shell Wrapper for building a hardened Debian Live ISO Image.\e[0m"
echo
echo -e "\e[97m(c) Marc S. Weidner, 2018 - 2025 \e[0m"
diff --git a/scripts/9999-cdi-starter b/scripts/9999-cdi-starter
index 0961b4b..3c90d1f 100644
--- a/scripts/9999-cdi-starter
+++ b/scripts/9999-cdi-starter
@@ -13,21 +13,72 @@
set -Ceuo pipefail
umask 0077
+declare -grx VAR_SEMAPHORE="/root/cdi.ciss" # Semaphore to appear.
+declare -girx VAR_TIMEOUT=60 # Semaphore timer in seconds.
+
install -d -m 0755 /run/lock
exec 9> /run/lock/9999-cdi-starter.lock
flock -n 9 || { echo "9999-cdi-starter already running. Exiting."; exit 0; }
#######################################
-# Wait for network connectivity by looping.
+# Call into the CISS.debian.installer once the semaphore file is present.
+# Globals:
+# None
# Arguments:
# None
+# Returns:
+# 0: on success
+#######################################
+cdi() {
+ ### Declare Arrays, HashMaps, and Variables.
+ declare -i rc=""
+
+ ./ciss_debian_installer.sh \
+ --autoinstall \
+ --debug XTRACE \
+ --log debug \
+ --reionice-priority 1 0 \
+ --renice-priority "-19" \
+
+ rc="$?"
+
+ if [[ "${rc}" -eq 0 ]]; then
+
+ logger -t cdi-watcher "cdi(): ciss_debian_installer.sh completed SUCCESSFULLY [${rc}]."
+ exit 0
+
+ else
+
+ logger -t cdi-watcher "cdi(): ciss_debian_installer.sh FAILED [${rc}]."
+ exit "${rc}"
+
+ fi
+}
+### Prevents accidental 'unset -f'.
+# shellcheck disable=SC2034
+readonly -f cdi
+
+#######################################
+# Wait for network connectivity by looping.
+# Globals:
+# None
+# Arguments:
+# None
+# Returns:
+# 0: on success
#######################################
net_wait() {
+ ### Declare Arrays, HashMaps, and Variables.
declare -i i=1
+
for i in {1..30}; do
+
getent hosts git.coresecret.dev >/dev/null && break
sleep 1
+
done
+
+ return 0
}
### Prevents accidental 'unset -f'.
# shellcheck disable=SC2034
@@ -35,13 +86,20 @@ readonly -f net_wait
#######################################
# Wrapper for loading CISS hardened Kernel Parameters.
+# Globals:
+# None
# Arguments:
# None
+# Returns:
+# 0: on success
#######################################
sysp() {
sysctl -p /etc/sysctl.d/99_local.hardened
+
# shellcheck disable=SC2312
sysctl -a | grep -E 'kernel|vm|net' >| /var/log/sysctl_check"$(date +"%Y-%m-%d_%H:%M:%S")".log
+
+ return 0
}
### Prevents accidental 'unset -f'.
# shellcheck disable=SC2034
@@ -53,41 +111,70 @@ readonly -f sysp
# None
#######################################
main() {
- declare -r repo_url="https://git.coresecret.dev/msw/CISS.debian.installer.git"
- declare -r repo_dir="/root/git/CISS.debian.installer"
+ ### Declare Arrays, HashMaps, and Variables.
+ declare -r var_repo_url="https://git.coresecret.dev/msw/CISS.debian.installer.git"
+ declare -r var_repo_dir="/root/git/CISS.debian.installer"
+ delcare -i i=""
+ declare var_mode=""
+ ### Sleep a moment to settle boot artifacts.
sleep 8
+ ### Harden Kernel parameters.
sysp
+ ### Prepare logging.
install -d -m 0700 /root/.ciss/cdi/log
# shellcheck disable=SC2155
declare -r log="/root/.ciss/cdi/log/9999-cdi-starter_$(date +'%F_%H-%M-%S').log"
# shellcheck disable=SC2312
exec > >(tee -a "${log}") 2>&1
- printf "CISS.debian.installer Master V8.13.288.2025.10.24 is up! \n" >| /root/.ciss/cdi/log/auto_start_begin_"$(date +"%Y-%m-%d_%H-%M-%S")".log
+ printf "CISS.debian.installer Master V8.13.290.2025.10.26 is up! \n" >| /root/.ciss/cdi/log/auto_start_begin_"$(date +"%Y-%m-%d_%H-%M-%S")".log
+ ### Wait for network connectivity.
net_wait
+ ### Download CISS.debian.installer.
cd /root/git
- [[ -d "${repo_dir}" ]] && rm -rf "${repo_dir}"
+ [[ -d "${var_repo_dir}" ]] && rm -rf "${var_repo_dir}"
- git clone "${repo_url}" "${repo_dir}"
+ git clone "${var_repo_url}" "${var_repo_dir}"
- chmod 0700 "${repo_dir}/ciss_debian_installer.sh"
+ chmod 0700 "${var_repo_dir}/ciss_debian_installer.sh"
- cd "${repo_dir}"
+ cd "${var_repo_dir}"
-#./ciss_debian_installer.sh \
-# --autoinstall \
-# --debug XTRACE \
-# --log debug \
-# --reionice-priority 1 0 \
-# --renice-priority "-19"
+ ### Poll up to VAR_TIMEOUT seconds for the semaphore to appear and be mode 0600.
+ for ((i=0; i| /root/.ciss/cdi/log/auto_start_finished_"$(date +"%Y-%m-%d_%H-%M-%S")".log
+ if [[ -e "${VAR_SEMAPHORE}" && ! -s "${VAR_SEMAPHORE}" ]]; then
+
+ var_mode="$(stat -c '%a' -- "${VAR_SEMAPHORE}" 2>/dev/null || echo '?')"
+
+ if [[ "${var_mode}" == "600" ]]; then
+
+ logger -t cdi-watcher "Semaphore found (${VAR_SEMAPHORE}, mode 0600) after ${i}s -> invoking cdi()"
+
+ cdi
+ ### cdi() never returns (it exits the script), so no code below this point in the 'then'-block will run.
+
+ else
+
+ logger -t cdi-watcher "Semaphore ${VAR_SEMAPHORE} present but wrong mode ${var_mode} (expected 600); ignoring"
+
+ fi
+
+ fi
+
+ sleep 1
+
+ done
+
+ ### Timeout reached without acceptable semaphore.
+ logger -t cdi-watcher "No valid semaphore ${VAR_SEMAPHORE} (mode 0600) within ${TIMEOUT_SEC}s; exiting idle."
+ printf "CISS.debian.installer Master V8.13.290.2025.10.26: No valid semaphore [%s] within [%s]s.\n" "${VAR_SEMAPHORE}" "${VAR_TIMEOUT}" >| /root/.ciss/cdi/log/auto_start_finished_"$(date +"%Y-%m-%d_%H-%M-%S")".log
exit 0
}
diff --git a/var/early.var.sh b/var/early.var.sh
index 7194220..9c3d267 100644
--- a/var/early.var.sh
+++ b/var/early.var.sh
@@ -14,7 +14,7 @@
# shellcheck disable=SC2155
declare -grx VAR_CONTACT="security@coresecret.eu"
-declare -grx VAR_VERSION="Master V8.13.288.2025.10.24"
+declare -grx VAR_VERSION="Master V8.13.290.2025.10.26"
declare -grx VAR_SYSTEM="$(uname -mnosv)"
declare -gx VAR_EARLY_DEBUG="false"
declare -gx VAR_HANDLER_AUTOBUILD="false"