V8.03.912.2025.07.23
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 47s
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 50s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 1h0m24s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 59m3s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 59m10s

Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
This commit is contained in:
2025-07-23 21:11:43 +02:00
parent c969ed6e88
commit a0140a7b53
43 changed files with 149 additions and 122 deletions

View File

@@ -21,7 +21,7 @@ usage() {
clear clear
cat << EOF cat << EOF
$(echo -e "\e[92mCISS.debian.live.builder\e[0m") $(echo -e "\e[92mCISS.debian.live.builder\e[0m")
$(echo -e "\e[92mMaster V8.03.896.2025.07.22\e[0m") $(echo -e "\e[92mMaster V8.03.912.2025.07.23\e[0m")
$(echo -e "\e[92mA lightweight Shell Wrapper for building a hardened Debian Live ISO Image.\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") $(echo -e "\e[97m(c) Marc S. Weidner, 2018 - 2025\e[0m")

View File

@@ -25,7 +25,7 @@ body:
attributes: attributes:
label: "Version" label: "Version"
description: "Which version are you running? Use `./ciss_live_builder.sh -v`." description: "Which version are you running? Use `./ciss_live_builder.sh -v`."
placeholder: "e.g., Master V8.03.896.2025.07.22" placeholder: "e.g., Master V8.03.912.2025.07.23"
validations: validations:
required: true required: true

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.896.2025.07.22 ### Version Master V8.03.912.2025.07.23
FROM debian:bookworm FROM debian:bookworm

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.896.2025.07.22 ### Version Master V8.03.912.2025.07.23
name: 🔁 Render README.md to README.html. name: 🔁 Render README.md to README.html.

View File

@@ -11,5 +11,5 @@
build: build:
counter: 1023 counter: 1023
version: V8.03.896.2025.07.22 version: V8.03.912.2025.07.23
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml

View File

@@ -11,5 +11,5 @@
build: build:
counter: 1023 counter: 1023
version: V8.03.896.2025.07.22 version: V8.03.912.2025.07.23
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml

View File

@@ -11,5 +11,5 @@
build: build:
counter: 1023 counter: 1023
version: V8.03.896.2025.07.22 version: V8.03.912.2025.07.23
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml

View File

@@ -11,5 +11,5 @@
build: build:
counter: 1023 counter: 1023
version: V8.03.896.2025.07.22 version: V8.03.912.2025.07.23
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.896.2025.07.22 ### Version Master V8.03.912.2025.07.23
name: 🔐 Generating a Private Live ISO FLV 0. name: 🔐 Generating a Private Live ISO FLV 0.

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.896.2025.07.22 ### Version Master V8.03.912.2025.07.23
name: 🔐 Generating a Private Live ISO FLV 1. name: 🔐 Generating a Private Live ISO FLV 1.

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.896.2025.07.22 ### Version Master V8.03.912.2025.07.23
name: 💙 Generating a PUBLIC Live ISO. name: 💙 Generating a PUBLIC Live ISO.

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.896.2025.07.22 ### Version Master V8.03.912.2025.07.23
# Gitea Workflow: Shell-Script Linting # Gitea Workflow: Shell-Script Linting
# #

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.896.2025.07.22 ### Version Master V8.03.912.2025.07.23
name: 🛡️ Retrieve DNSSEC status of coresecret.dev. name: 🛡️ Retrieve DNSSEC status of coresecret.dev.

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.896.2025.07.22 ### Version Master V8.03.912.2025.07.23
name: 🔁 Render Graphviz Diagrams. name: 🔁 Render Graphviz Diagrams.

View File

@@ -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-LicenseComment="This file is part of the CISS.debian.installer.secure framework."
properties_SPDX-PackageName="CISS.debian.live.builder" properties_SPDX-PackageName="CISS.debian.live.builder"
properties_SPDX-Security-Contact="security@coresecret.eu" properties_SPDX-Security-Contact="security@coresecret.eu"
properties_version="V8.03.896.2025.07.22" properties_version="V8.03.912.2025.07.23"
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf

View File

@@ -6,7 +6,7 @@ Creator: Person: Marc S. Weidner (Centurion Intelligence Consulting Agency)
Created: 2025-05-07T12:00:00Z Created: 2025-05-07T12:00:00Z
Package: CISS.debian.live.builder Package: CISS.debian.live.builder
PackageName: CISS.debian.live.builder PackageName: CISS.debian.live.builder
PackageVersion: Master V8.03.896.2025.07.22 PackageVersion: Master V8.03.912.2025.07.23
PackageSupplier: Organization: Centurion Intelligence Consulting Agency PackageSupplier: Organization: Centurion Intelligence Consulting Agency
PackageDownloadLocation: https://git.coresecret.dev/msw/CISS.debian.live.builder PackageDownloadLocation: https://git.coresecret.dev/msw/CISS.debian.live.builder
PackageHomePage: https://git.coresecret.dev/msw/CISS.debian.live.builder PackageHomePage: https://git.coresecret.dev/msw/CISS.debian.live.builder

View File

@@ -2,7 +2,7 @@
gitea: none gitea: none
include_toc: true include_toc: true
--- ---
[![Static Badge](https://badges.coresecret.dev/badge/Release-V8.03.896.2025.07.22-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.03.912.2025.07.23-white?style=plastic&logo=linux&logoColor=white&logoSize=auto&label=Release&color=%23FCC624)](https://git.coresecret.dev/msw/CISS.debian.live.builder)
&nbsp; &nbsp;
[![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/) &nbsp; [![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/) &nbsp;
[![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) &nbsp; [![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) &nbsp;
@@ -26,7 +26,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.896.2025.07.22<br> **Build**: V8.03.912.2025.07.23<br>
This shell wrapper automates the creation of a Debian Bookworm live ISO hardened according to the latest best practices in server 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 and service security. It integrates into your build pipeline to deliver an isolated, robust environment suitable for
@@ -142,7 +142,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. This project adheres strictly to a structured versioning scheme following the pattern x.y.z-Date.
Example: `V8.03.896.2025.07.22` Example: `V8.03.912.2025.07.23`
`x.y.z` represents major (x), minor (y), and patch (z) version increments. `x.y.z` represents major (x), minor (y), and patch (z) version increments.

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.896.2025.07.22 ### Version Master V8.03.912.2025.07.23
### https://www.ssh-audit.com/ ### 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 ### ssh -Q cipher | cipher-auth | compression | kex | kex-gss | key | key-cert | key-plain | key-sig | mac | protocol-version | sig

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.896.2025.07.22 ### Version Master V8.03.912.2025.07.23
### https://docs.kernel.org/ ### https://docs.kernel.org/
### https://github.com/a13xp0p0v/kernel-hardening-checker/ ### https://github.com/a13xp0p0v/kernel-hardening-checker/

View File

@@ -10,7 +10,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
declare -gr VERSION="Master V8.03.896.2025.07.22" declare -gr VERSION="Master V8.03.912.2025.07.23"
### VERY EARLY CHECK FOR DEBUGGING ### VERY EARLY CHECK FOR DEBUGGING
if [[ $* == *" --debug "* ]]; then if [[ $* == *" --debug "* ]]; then

View File

@@ -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/ # Please consider donating to my work at: https://coresecret.eu/spenden/
########################################################################################### ###########################################################################################
# Written by: ./preseed_hash_generator.sh Version: Master V8.03.896.2025.07.22 at: 10:18:37.9542 # Written by: ./preseed_hash_generator.sh Version: Master V8.03.912.2025.07.23 at: 10:18:37.9542

View File

@@ -10,25 +10,6 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
# ~/.bashrc: executed by bash(1) for non-login shells.
# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
# PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
# umask 022
# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval "$(dircolors)"
# alias ls='ls $LS_OPTIONS'
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
[[ $- != *i* ]] && return [[ $- != *i* ]] && return
trap ' "${SHELL}" /root/.ciss/clean_logout.sh ' 0 trap ' "${SHELL}" /root/.ciss/clean_logout.sh ' 0
@@ -55,15 +36,8 @@ export CMAG='\033[1;95m'
export CCYA='\033[1;96m' export CCYA='\033[1;96m'
export CWHI='\033[1;97m' export CWHI='\033[1;97m'
export CRES='\033[0m' export CRES='\033[0m'
export NL='\n'
#if [[ "${UID}" -eq 0 ]]; then
# export user_color="${CRED}"
#else
# export user_color="${CGRE}"
#fi
### Define bash colorful prompt
# PS1="${user_color}\d${CRES}|${user_color}\u${CRES}@${CMAG}\h${CRES}:${CCYA}\w${CRES}/>>\$(if [[ \$? -eq 0 ]]; then echo -e \"${CGRE}\$?${CRES}\"; else echo -e \"${CRED}\$?${CRES}\"; fi)|~\$ "
PS1="\ PS1="\
\[\033[1;91m\]\d\[\033[0m\]|\[\033[1;91m\]\u\[\033[0m\]@\ \[\033[1;91m\]\d\[\033[0m\]|\[\033[1;91m\]\u\[\033[0m\]@\
\[\033[1;95m\]\h\[\033[0m\]:\ \[\033[1;95m\]\h\[\033[0m\]:\
@@ -83,10 +57,22 @@ alias cp="cp -iv"
alias mv='mv -iv' alias mv='mv -iv'
alias rm='rm -iv' alias rm='rm -iv'
# Welcome message after login ### Welcome message after login
#printf "\n"
#printf "\e[91m🔐 Coresecret Channel Established. \e[0m\n"
#printf "\e[92m✅ Welcome back\e[0m"
#printf "\e[95m '%s' \e[0m" "${USER}"; printf "\e[92m! Type\e[0m"; printf "\e[95m 'celp'\e[0m"; printf "\e[92m for shortcuts. \e[0m\n"
#printf "\n"
#printf "\n"
### Welcome message after login.
printf "\n" printf "\n"
printf "\e[91m🔐 Coresecret Channel Established. \e[0m\n" printf "%s🔐 Coresecret Channel Established. %s%s" "${CRED}" "${CRES}" "${NL}"
printf "\e[92m✅ Welcome back\e[0m"; printf "\e[95m '%s' \e[0m" "${USER}"; printf "\e[92m! Type\e[0m"; printf "\e[95m 'celp'\e[0m"; printf "\e[92m for shortcuts. \e[0m\n" printf "%s✅ Welcome back %s " "${CGRE}" "${CRES}"
printf "%s'%s'%s" "${CMAG}" "${USER}" "${CRES}"
printf "%s! Type%s " "${CGRE}" "${CRES}"
printf "%s'celp'%s " "${CMAG}" "${CRES}"
printf "%sfor shortcuts. %s%s" "${CGRE}" "${CRES}" "${NL}"
printf "\n" printf "\n"
printf "\n" printf "\n"

View File

@@ -11,16 +11,6 @@
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
########################################################################################### Alpha ########################################################################################### Alpha
#######################################
# Outputs a 16-character random printable string
# Arguments:
# None
#######################################
genstring() {
(haveged -n 1000 -f - 2>/dev/null | tr -cd '[:graph:]' | fold -w 16 && echo ) | head
}
# Generates 1,048,576 random bytes into a timestamped file
alias genkeyfile='haveged -n 1048576 >| /tmp/secure_keyfile_$(date +%s)' alias genkeyfile='haveged -n 1048576 >| /tmp/secure_keyfile_$(date +%s)'
########################################################################################### Bash ########################################################################################### Bash
@@ -105,11 +95,11 @@ alias whatpurge='dpkg --get-selections | grep deinstall'
########################################################################################### Functions ########################################################################################### Functions
########################################################################################### #######################################
# Generates Secure (/dev/random) Passwords # Generates Secure (/dev/random) Passwords
# Arguments: # Arguments:
# Length of Password, e.g., 32, and --base64 in case of encoding in BASE64. # Length of Password, e.g., 32, and --base64 in case of encoding in BASE64.
########################################################################################### #######################################
# shellcheck disable=SC2317 # shellcheck disable=SC2317
genpasswd() { genpasswd() {
declare -i length=32 declare -i length=32
@@ -129,6 +119,7 @@ genpasswd() {
done done
declare passwd declare passwd
# shellcheck disable=SC2312
passwd=$(tr -dc 'A-Za-z0-9_' < /dev/random | head -c "${length}") passwd=$(tr -dc 'A-Za-z0-9_' < /dev/random | head -c "${length}")
if [[ ${usebase64} -eq 1 ]]; then if [[ ${usebase64} -eq 1 ]]; then
@@ -146,12 +137,27 @@ genpasswd() {
# shellcheck disable=SC2317 # shellcheck disable=SC2317
genpasswdhash() { genpasswdhash() {
declare salt declare salt
# shellcheck disable=SC2312
salt=$(tr -dc 'A-Za-z0-9' < /dev/random | head -c 16) salt=$(tr -dc 'A-Za-z0-9' < /dev/random | head -c 16)
mkpasswd --method=sha-512 --salt="${salt}" --rounds=8388608 mkpasswd --method=sha-512 --salt="${salt}" --rounds=8388608
} }
#######################################
# Outputs a 16-character random printable string
# Arguments:
# None
#######################################
genstring() {
# shellcheck disable=SC2312
(haveged -n 1000 -f - 2>/dev/null | tr -cd '[:graph:]' | fold -w 16 && echo ) | head
}
####################################### #######################################
# Wrapper for secure curl # Wrapper for secure curl
# Globals:
# CRED
# CRES
# NL
# Arguments: # Arguments:
# 1: URL from which to download a specific file # 1: URL from which to download a specific file
# 2: /path/to/file to be saved to # 2: /path/to/file to be saved to
@@ -162,7 +168,7 @@ genpasswdhash() {
####################################### #######################################
scurl() { scurl() {
if [[ $# -ne 2 ]]; then if [[ $# -ne 2 ]]; then
printf "\e[91m❌ Error: Usage: scurl <URL> <path/to/file>.\e[0m\n" >&2 printf "%s❌ Error: Usage: scurl <URL> <path/to/file>. %s%s" "${CRED}" "${CRES}" "${NL}" >&2
return 1 return 1
fi fi
declare url="$1" declare url="$1"
@@ -174,7 +180,7 @@ scurl() {
-o "${output_path}" \ -o "${output_path}" \
"${url}" "${url}"
then then
printf "\e[91m❌ Error: Download failed for URL: '%s'.\e[0m\n" "${url}" >&2 printf "%s❌ Error: Download failed for URL: '%s'. %s%s" "${CRED}" "${url}" "${CRES}" "${NL}" >&2
return 2 return 2
fi fi
return 0 return 0
@@ -182,6 +188,10 @@ scurl() {
####################################### #######################################
# Wrapper for secure wget # Wrapper for secure wget
# Globals:
# CRED
# CRES
# NL
# Arguments: # Arguments:
# 1: URL from which to download a specific file # 1: URL from which to download a specific file
# 2: /path/to/file to be saved to # 2: /path/to/file to be saved to
@@ -192,7 +202,7 @@ scurl() {
####################################### #######################################
swget() { swget() {
if [[ $# -ne 2 ]]; then if [[ $# -ne 2 ]]; then
printf "\e[91m❌ Error: Usage: swget <URL> <path/to/file>.\e[0m\n" >&2 printf "%s❌ Error: Usage: swget <URL> <path/to/file>. %s%s" "${CRED}" "${CRES}" "${NL}" >&2
return 1 return 1
fi fi
declare url="$1" declare url="$1"
@@ -205,21 +215,22 @@ swget() {
-qO "${output_path}" \ -qO "${output_path}" \
"${url}" "${url}"
then then
printf "\e[91m❌ Error: Download failed for URL: '%s'.\e[0m\n" "$url" >&2 printf "%s❌ Error: Download failed for URL: '%s'. %s%s" "${CRED}" "${url}" "${CRES}" "${NL}" >&2
return 2 return 2
fi fi
return 0 return 0
} }
####################################### #######################################
# Wrapper for loading CISS.2025 hardened Kernel Parameters # Wrapper for loading CISS.2025 hardened Kernel Parameters.
# Arguments: # Arguments:
# None # None
####################################### #######################################
sysp() { sysp() {
sysctl -p /etc/sysctl.d/99_local.hardened sysctl -p /etc/sysctl.d/99_local.hardened
# sleep 1 # sleep 1
sysctl -a | grep -E 'kernel|vm|net' > /var/log/sysctl_check"$(date +"%Y-%m-%d_%H:%M:%S")".log # shellcheck disable=SC2312
sysctl -a | grep -E 'kernel|vm|net' >| /var/log/sysctl_check"$(date +"%Y-%m-%d_%H:%M:%S")".log
} }
####################################### #######################################
@@ -239,9 +250,10 @@ trel() {
####################################### #######################################
whichpackage() { whichpackage() {
if ! command -v "$1" >/dev/null 2>&1; then if ! command -v "$1" >/dev/null 2>&1; then
printf 'Error: Program '%s' not found.\n' "$1" >&2 printf '%s❌ Error: Program '%s' not found. %s%s' "${CRED}" "$1" "${CRES}" "${NL}" >&2
exit 1 exit 1
fi fi
# shellcheck disable=SC2230,SC2312
dpkg -S "$(which "$1")" dpkg -S "$(which "$1")"
} }
@@ -253,6 +265,7 @@ whichpackage() {
# 3: Number of Entries (defaults 16) # 3: Number of Entries (defaults 16)
####################################### #######################################
whichused() { whichused() {
# shellcheck disable=SC2312
du -h --max-depth="${2:-1}" "${1:-/var}" | sort -hr | head -n "${3:-16}" du -h --max-depth="${2:-1}" "${1:-/var}" | sort -hr | head -n "${3:-16}"
} }
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
set -Ceuo pipefail
####################################### #######################################
# Wrapper for fail2ban filter checks against logs. # Wrapper for fail2ban filter checks against logs.
# Usage: f2bchk --mode=ignored || --mode=matched || --mode=missed \ # Usage: f2bchk --mode=ignored || --mode=matched || --mode=missed \
@@ -17,16 +19,18 @@
# --log=/var/log/ufw.log \ # --log=/var/log/ufw.log \
# --output=/tmp/f2bchk.log # --output=/tmp/f2bchk.log
# Globals: # Globals:
# DEFAULT_FILTER # CGRE
# DEFAULT_LOG # CRED
# DEFAULT_MODE # CRES
# NL
# Arguments: # Arguments:
# None # None
# Returns: # Returns:
# 1 In case of any errors # 0: on success
# 1: In case of any errors
####################################### #######################################
f2bchk(){ f2bchk(){
# Declare default values (readonly) ### Declare default values (readonly)
declare -r DEFAULT_MODE="matched" declare -r DEFAULT_MODE="matched"
declare -r DEFAULT_FILTER="/etc/fail2ban/filter.d/ufw.aggressive.conf" declare -r DEFAULT_FILTER="/etc/fail2ban/filter.d/ufw.aggressive.conf"
declare -r DEFAULT_LOG="/var/log/ufw.log" declare -r DEFAULT_LOG="/var/log/ufw.log"
@@ -44,7 +48,7 @@ f2bchk(){
--log=*) log="${arg#--log=}";; --log=*) log="${arg#--log=}";;
--output=*) output="${arg#--output=}";; --output=*) output="${arg#--output=}";;
*) *)
printf "\e[31m[ERROR]\e[0m Unknown argument: %s\n" "${arg}" printf "%s[ERROR]%s Unknown argument: '%s' %s" "${CRED}" "${CRES}" "${arg}" "${CRED}"
return 1 return 1
;; ;;
esac esac
@@ -56,7 +60,7 @@ f2bchk(){
matched) flag="--print-all-matched"; suffix="all.matched";; matched) flag="--print-all-matched"; suffix="all.matched";;
missed) flag="--print-all-missed"; suffix="all.missed";; missed) flag="--print-all-missed"; suffix="all.missed";;
*) *)
printf "\e[31m[ERROR]\e[0m Invalid mode: %s\n" "${mode}" printf "%s[ERROR]%s Invalid mode: '%s' %s" "${CRED}" "${CRES}" "${mode}" "${NL}"
return 1 return 1
;; ;;
esac esac
@@ -66,22 +70,30 @@ f2bchk(){
filter_name="${filter_name%.conf}" filter_name="${filter_name%.conf}"
output="/tmp/${filter_name}.${suffix}.log" output="/tmp/${filter_name}.${suffix}.log"
fi fi
if [[ ! -r "${log}" ]]; then if [[ ! -r "${log}" ]]; then
printf "\e[31m[ERROR]\e[0m Log file '%s' not found or not readable.\n" "${log}" printf "%s[ERROR]%s Log file '%s' not found or not readable. %s" "${CRED}" "${CRES}" "${log}" "${NL}"
return 1
fi
if [[ ! -r "${filter}" ]]; then
printf "\e[31m[ERROR]\e[0m Filter file '%s' not found or not readable.\n" "${filter}"
return 1 return 1
fi fi
printf "\e[33m[INFO]\e[0m Running: fail2ban-regex %s %s %s\n" "${log}" "${filter}" "${flag}" if [[ ! -r "${filter}" ]]; then
if fail2ban-regex "${log}" "${filter}" "${flag}" >| "${output}"; then printf "%s[ERROR]%s Filter file '%s' not found or not readable. %s" "${CRED}" "${CRES}" "${filter}" "${NL}"
printf "\e[32m[SUCCESS]\e[0m Saved log to %s\n" "$output"
printf "You can view it with: cat %s\n" "$output"
else
printf "\e[31m[ERROR]\e[0m fail2ban-regex execution failed.\n"
return 1 return 1
fi fi
printf "%s[INFO]%s Running: fail2ban-regex '%s %s %s' %s" "${CGRE}" "${CRES}" "${log}" "${filter}" "${flag}" "${NL}"
if fail2ban-regex "${log}" "${filter}" "${flag}" >| "${output}"; then
printf "%s[SUCCESS]%s Saved log to: '%s' %s" "${CGRE}" "${CRES}" "${output}" "${NL}"
printf "You can view it with: cat %s%s" "${output}" "${NL}"
else
printf "%s[ERROR]%s fail2ban-regex execution failed. %s" "${CRED}" "${CRES}" "${NL}"
return 1
fi
exit 0
} }
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -12,30 +12,38 @@
####################################### #######################################
# Scanner for 'libwrap' usage. # Scanner for 'libwrap' usage.
# Globals:
# CGRE
# CRES
# NL
# Arguments: # Arguments:
# None # None
####################################### #######################################
scanlw() { scanlw() {
printf "\e[92m🔍 Scanning all running processes for 'libwrap' usage ... \e[0m\n" printf "%s🔍 Scanning all running processes for 'libwrap' usage ... %s%s" "${CGRE}" "${CRES}" "${NL}"
printf "\n" printf "\n"
# Collect binaries from all running PIDs ### Collect binaries from all running PIDs.
declare pid exe_path comm user declare pid exe_path comm user
for pid in $(ps -e -o pid=); do for pid in $(ps -e -o pid=); do
exe_path=$(readlink -f "/proc/${pid}/exe" 2>/dev/null) exe_path=$(readlink -f "/proc/${pid}/exe" 2>/dev/null)
# Skip if not a regular executable ### Skip if not a regular executable.
[[ -x "${exe_path}" ]] || continue [[ -x "${exe_path}" ]] || continue
# Check if the binary is linked with libwrap ### Check if the binary is linked with libwrap.
if ldd "$exe_path" 2>/dev/null | grep -q "libwrap"; then # shellcheck disable=SC2312
comm=$(ps -p "$pid" -o comm=) if ldd "${exe_path}" 2>/dev/null | grep -q "libwrap"; then
user=$(ps -p "$pid" -o user=) comm=$(ps -p "${pid}" -o comm=)
printf "\e[92m✅ PID: %s (%s) [User: %s] is linked with 'libwrap.so'. \e[0m\n" "${pid}" "${comm}" "${user}" user=$(ps -p "${pid}" -o user=)
printf "%s✅ PID: %s (%s) [User: %s] is linked with 'libwrap.so'. %s%s" "${CGRE}" "${pid}" "${comm}" "${user}" "${CRES}" "${NL}"
fi fi
done done
printf "\n" printf "\n"
printf "\e[92m✅ Scan complete. \e[0m\n" printf "%s✅ Scan complete. %s%s" "${CGRE}" "${CRES}" "${NL}"
exit 0
} }
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -104,7 +104,7 @@ celp() {
declare i=0 declare i=0
declare entry declare entry
for entry in "${arr[@]}"; do for entry in "${arr[@]}"; do
# Print entry left-aligned in fixed width, colored ### Print entry left-aligned in fixed width, colored.
printf "${CMAG}%-${col_width}s${CRES}" "${entry}" printf "${CMAG}%-${col_width}s${CRES}" "${entry}"
((i++)) ((i++))
if ((i % cols == 0)); then if ((i % cols == 0)); then

View File

@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.896.2025.07.22<br> **Build**: V8.03.912.2025.07.23<br>
# 2. DNSSEC Status # 2. DNSSEC Status

View File

@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.896.2025.07.22<br> **Build**: V8.03.912.2025.07.23<br>
# 2. Haveged Audit on Netcup RS 2000 G11 # 2. Haveged Audit on Netcup RS 2000 G11

View File

@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.896.2025.07.22<br> **Build**: V8.03.912.2025.07.23<br>
# 2. Lynis Audit: # 2. Lynis Audit:

View File

@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.896.2025.07.22<br> **Build**: V8.03.912.2025.07.23<br>
# 2. SSH Audit by ssh-audit.com # 2. SSH Audit by ssh-audit.com

View File

@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.896.2025.07.22<br> **Build**: V8.03.912.2025.07.23<br>
# 2. TLS Audit: # 2. TLS Audit:

View File

@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.896.2025.07.22<br> **Build**: V8.03.912.2025.07.23<br>
# 2. Hardened Kernel Boot Parameters # 2. Hardened Kernel Boot Parameters

View File

@@ -8,10 +8,18 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.896.2025.07.22<br> **Build**: V8.03.912.2025.07.23<br>
# 2. Changelog # 2. Changelog
## V8.03.912.2025.07.23
* Updated: [alias](../config/includes.chroot/root/.ciss/alias)
* Updated: [f2bchk.sh](../config/includes.chroot/root/.ciss/f2bchk.sh)
* Updated: [scan_libwrap](../config/includes.chroot/root/.ciss/scan_libwrap)
* Updated: [shortcuts](../config/includes.chroot/root/.ciss/shortcuts)
* Updated: [.bashrc](../config/includes.chroot/root/.bashrc)
## V8.03.896.2025.07.22 ## V8.03.896.2025.07.22
* Added: [.shellcheckrc](../.shellcheckrc) * Added: [.shellcheckrc](../.shellcheckrc)

View File

@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.896.2025.07.22<br> **Build**: V8.03.912.2025.07.23<br>
# 2. Centurion Net - Developer Branch Overview # 2. Centurion Net - Developer Branch Overview

View File

@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.896.2025.07.22<br> **Build**: V8.03.912.2025.07.23<br>
# 2. Coding Style # 2. Coding Style

View File

@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.896.2025.07.22<br> **Build**: V8.03.912.2025.07.23<br>
# 2. Contributing / participating # 2. Contributing / participating

View File

@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.896.2025.07.22<br> **Build**: V8.03.912.2025.07.23<br>
# 2. Credits # 2. Credits

View File

@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.896.2025.07.22<br> **Build**: V8.03.912.2025.07.23<br>
# 2. Download the latest PUBLIC CISS.debian.live.ISO # 2. Download the latest PUBLIC CISS.debian.live.ISO

View File

@@ -8,12 +8,12 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.896.2025.07.22<br> **Build**: V8.03.912.2025.07.23<br>
# 2.1. Usage # 2.1. Usage
````text ````text
CISS.debian.live.builder CISS.debian.live.builder
Master V8.03.896.2025.07.22 Master V8.03.912.2025.07.23
A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Image. A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Image.
(c) Marc S. Weidner, 2018 - 2025 (c) Marc S. Weidner, 2018 - 2025
@@ -133,7 +133,7 @@ A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Ima
# 2.2. Contact # 2.2. Contact
````text ````text
CISS.debian.live.builder CISS.debian.live.builder
Master V8.03.896.2025.07.22 Master V8.03.912.2025.07.23
A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Image. A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Image.
(c) Marc S. Weidner, 2018 - 2025 (c) Marc S. Weidner, 2018 - 2025

View File

@@ -8,7 +8,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.896.2025.07.22<br> **Build**: V8.03.912.2025.07.23<br>
# 2. Resources # 2. Resources

View File

@@ -35,13 +35,13 @@ usage() {
# shellcheck disable=SC2155 # shellcheck disable=SC2155
declare var_header=$(center "CLB(1) CISS.debian.live.builder CLB(1)" "${var_cols}") declare var_header=$(center "CLB(1) CISS.debian.live.builder CLB(1)" "${var_cols}")
# shellcheck disable=SC2155 # shellcheck disable=SC2155
declare var_footer=$(center "V8.03.896.2025.07.22 2025-06-25 CLB(1)" "${var_cols}") declare var_footer=$(center "V8.03.912.2025.07.23 2025-06-25 CLB(1)" "${var_cols}")
{ {
echo -e "\e[1;97m${var_header}\e[0m" echo -e "\e[1;97m${var_header}\e[0m"
echo echo
echo -e "\e[92mCISS.debian.live.builder from https://git.coresecret.dev/msw \e[0m" echo -e "\e[92mCISS.debian.live.builder from https://git.coresecret.dev/msw \e[0m"
echo -e "\e[92mMaster V8.03.896.2025.07.22\e[0m" echo -e "\e[92mMaster V8.03.912.2025.07.23\e[0m"
echo -e "\e[92mA lightweight Shell Wrapper for building a hardened Debian Live ISO Image.\e[0m" echo -e "\e[92mA lightweight Shell Wrapper for building a hardened Debian Live ISO Image.\e[0m"
echo echo
echo -e "\e[97m(c) Marc S. Weidner, 2018 - 2025 \e[0m" echo -e "\e[97m(c) Marc S. Weidner, 2018 - 2025 \e[0m"

View File

@@ -15,7 +15,7 @@ printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "
# sleep 1 # sleep 1
[[ ! -d /root/.cdi/log ]] && mkdir -p /root/.cdi/log [[ ! -d /root/.cdi/log ]] && mkdir -p /root/.cdi/log
printf "CISS.debian.installer Master V8.03.896.2025.07.22 is up!" >| /root/.cdi/log/boot_finished_"$(date +"%Y-%m-%d_%H-%M-%S")".log printf "CISS.debian.installer Master V8.03.912.2025.07.23 is up!" >| /root/.cdi/log/boot_finished_"$(date +"%Y-%m-%d_%H-%M-%S")".log
if [[ -f /root/git/CISS.debian.installer/ciss_debian_installer.sh ]]; then if [[ -f /root/git/CISS.debian.installer/ciss_debian_installer.sh ]]; then
chmod 0700 /root/git/CISS.debian.installer/ciss_debian_installer.sh chmod 0700 /root/git/CISS.debian.installer/ciss_debian_installer.sh

View File

@@ -17,7 +17,7 @@ declare -agx ARY_PARAM_ARRAY=("$@")
declare -grx VAR_PARAM_COUNT="$#" declare -grx VAR_PARAM_COUNT="$#"
declare -grx VAR_PARAM_STRNG="$*" declare -grx VAR_PARAM_STRNG="$*"
declare -grx VAR_CONTACT="security@coresecret.eu" declare -grx VAR_CONTACT="security@coresecret.eu"
declare -grx VAR_VERSION="Master V8.03.896.2025.07.22" declare -grx VAR_VERSION="Master V8.03.912.2025.07.23"
declare -grx VAR_SYSTEM="$(uname -a)" declare -grx VAR_SYSTEM="$(uname -a)"
declare -gx VAR_EARLY_DEBUG="false" declare -gx VAR_EARLY_DEBUG="false"
declare -gx VAR_HANDLER_AUTOBUILD="false" declare -gx VAR_HANDLER_AUTOBUILD="false"