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 --- -[![Static Badge](https://badges.coresecret.dev/badge/Release-V8.13.288.2025.10.24-white?style=plastic&logo=linux&logoColor=white&logoSize=auto&label=Release&color=%23FCC624)](https://git.coresecret.dev/msw/CISS.debian.live.builder) +[![Static Badge](https://badges.coresecret.dev/badge/Release-V8.13.290.2025.10.26-white?style=plastic&logo=linux&logoColor=white&logoSize=auto&label=Release&color=%23FCC624)](https://git.coresecret.dev/msw/CISS.debian.live.builder)   [![Static Badge](https://badges.coresecret.dev/badge/Licence-EUPL1.2-white?style=plastic&logo=europeanunion&logoColor=white&logoSize=auto&label=Licence&color=%23003399)](https://eupl.eu/1.2/en/)   [![Static Badge](https://badges.coresecret.dev/badge/opensourceinitiative-Compliant-white?style=plastic&logo=opensourceinitiative&logoColor=white&logoSize=auto&label=OSI&color=%233DA639)](https://opensource.org/license/eupl-1-2)   @@ -11,8 +11,8 @@ include_toc: true [![Static Badge](https://badges.coresecret.dev/badge/shellformat-passed-white?style=plastic&logo=google&logoColor=white&logoSize=auto&label=shellformat&color=%234285F4)](https://github.com/mvdan/sh)   [![Static Badge](https://badges.coresecret.dev/badge/Shellstyle-Google-white?style=plastic&logo=google&logoColor=white&logoSize=auto&label=Shellstyle&color=%234285F4)](https://google.github.io/styleguide/shellguide.html)   -[![Static Badge](https://badges.coresecret.dev/badge/Gitea-1.24.6-white?style=plastic&logo=gitea&logoColor=white&logoSize=auto&label=gitea&color=%23609926)](https://docs.gitea.com/)   -[![Static Badge](https://badges.coresecret.dev/badge/IntelliJ-2025.2.3-white?style=plastic&logo=intellijidea&logoColor=white&logoSize=auto&label=IntelliJ&color=%23000000)](https://www.jetbrains.com/store/?section=personal&billing=yearly)   +[![Static Badge](https://badges.coresecret.dev/badge/Gitea-1.24.7-white?style=plastic&logo=gitea&logoColor=white&logoSize=auto&label=gitea&color=%23609926)](https://docs.gitea.com/)   +[![Static Badge](https://badges.coresecret.dev/badge/IntelliJ-2025.2.4-white?style=plastic&logo=intellijidea&logoColor=white&logoSize=auto&label=IntelliJ&color=%23000000)](https://www.jetbrains.com/store/?section=personal&billing=yearly)   [![Static Badge](https://badges.coresecret.dev/badge/keepassxc-2.7.10-white?style=plastic&logo=keepassxc&logoColor=white&logoSize=auto&label=KeePassXC&color=%236CAC4D)](https://keepassxc.org/)   [![Static Badge](https://badges.coresecret.dev/badge/netcup-Netcup-white?style=plastic&logo=netcup&logoColor=white&logoSize=auto&label=powered&color=%23056473)](https://www.netcup.com/de)   [![Static Badge](https://badges.coresecret.dev/badge/powered-Centurion-white?style=plastic&logo=europeanunion&logoColor=white&logoSize=auto&label=powered&color=%230F243E)](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"