Compare commits
69 Commits
v8.13.008-
...
11d1e529a9
| Author | SHA256 | Date | |
|---|---|---|---|
|
11d1e529a9
|
|||
|
fd2357998b
|
|||
|
a5bcb4bb17
|
|||
|
4a985e1c81
|
|||
|
c60d4e1742
|
|||
|
0c4060fe5d
|
|||
|
f8d84b3585
|
|||
|
306d08ff87
|
|||
|
cd36d382bb
|
|||
|
0aca2331de
|
|||
|
77c1753d02
|
|||
|
ad30f41516
|
|||
|
7cba3e3531
|
|||
|
44aa77969f
|
|||
|
117959234e
|
|||
|
4bc332249c
|
|||
|
a536c4da96
|
|||
|
95835f1e15
|
|||
|
68c803550b
|
|||
|
9466395273
|
|||
|
181b73b04c
|
|||
|
7f678baa64
|
|||
|
1d711ea816
|
|||
|
9e66e27eae
|
|||
|
9a72da4e97
|
|||
|
fda63adb9c
|
|||
|
368d523f95
|
|||
|
e00c6e8900
|
|||
|
02f56b725f
|
|||
|
a475cc45a3
|
|||
|
5d64de95bc
|
|||
|
d313ae0b51
|
|||
|
edc59d362f
|
|||
|
eb90a815e8
|
|||
|
6f1793f2ac
|
|||
|
2a4d5e5b2e
|
|||
|
f7a7d1cff0
|
|||
|
40b3fb8ff7
|
|||
|
636c34cee5
|
|||
|
47ebdf7ed0
|
|||
|
61d9bf1510
|
|||
|
bd77170cf9
|
|||
|
49c6277efa
|
|||
|
d55f420c35
|
|||
|
af84d5292b
|
|||
|
53642d6115
|
|||
|
7fab4a183c
|
|||
|
c514634dd4
|
|||
|
32f1b05181
|
|||
|
1a2d1a3ae1
|
|||
|
5fcd2ebf42
|
|||
|
7168374797
|
|||
|
720eede478
|
|||
|
036fefdd3e
|
|||
|
2bcbdf8716
|
|||
|
ffecfcdc50
|
|||
|
a51e37b648
|
|||
|
0f8b894e40
|
|||
|
ec171888f7
|
|||
|
d046770aeb
|
|||
|
63502787c0
|
|||
|
a96af3ff06
|
|||
|
3c2c899403
|
|||
|
e966a899c7
|
|||
|
9b28418860
|
|||
|
40d81b51f9
|
|||
|
ac0560714b
|
|||
|
7f35d1ab38
|
|||
|
ec6e791b9d
|
@@ -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.13.008.2025.08.22\e[0m")
|
$(echo -e "\e[92mMaster V8.13.064.2025.10.07\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")
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
|
|||||||
@@ -9,17 +9,14 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
# TODO: MUST be uncommented
|
|
||||||
cd /root/git
|
cd /root/git
|
||||||
# git clone https://git.coresecret.dev/msw/CISS.debian.installer.git
|
git clone https://git.coresecret.dev/msw/CISS.debian.installer.git
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
@@ -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.13.008.2025.08.22"
|
placeholder: "e.g., Master V8.13.064.2025.10.07"
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
|
|||||||
@@ -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.13.008.2025.08.22
|
### Version Master V8.13.064.2025.10.07
|
||||||
|
|
||||||
FROM debian:bookworm
|
FROM debian:bookworm
|
||||||
|
|
||||||
|
|||||||
@@ -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.13.008.2025.08.22
|
### Version Master V8.13.064.2025.10.07
|
||||||
|
|
||||||
name: 🔁 Render README.md to README.html.
|
name: 🔁 Render README.md to README.html.
|
||||||
|
|
||||||
|
|||||||
@@ -11,5 +11,5 @@
|
|||||||
|
|
||||||
build:
|
build:
|
||||||
counter: 1023
|
counter: 1023
|
||||||
version: V8.13.008.2025.08.22
|
version: V8.13.064.2025.10.07
|
||||||
# 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
|
||||||
|
|||||||
@@ -11,5 +11,5 @@
|
|||||||
|
|
||||||
build:
|
build:
|
||||||
counter: 1023
|
counter: 1023
|
||||||
version: V8.13.008.2025.08.22
|
version: V8.13.064.2025.10.07
|
||||||
# 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
|
||||||
|
|||||||
@@ -11,5 +11,5 @@
|
|||||||
|
|
||||||
build:
|
build:
|
||||||
counter: 1023
|
counter: 1023
|
||||||
version: V8.13.008.2025.08.22
|
version: V8.13.064.2025.10.07
|
||||||
# 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
|
||||||
|
|||||||
@@ -11,5 +11,5 @@
|
|||||||
|
|
||||||
build:
|
build:
|
||||||
counter: 1023
|
counter: 1023
|
||||||
version: V8.13.008.2025.08.22
|
version: V8.13.064.2025.10.07
|
||||||
# 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
|
||||||
|
|||||||
@@ -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.13.008.2025.08.22
|
### Version Master V8.13.064.2025.10.07
|
||||||
|
|
||||||
name: 🔐 Generating a Private Live ISO TRIXIE.
|
name: 🔐 Generating a Private Live ISO TRIXIE.
|
||||||
|
|
||||||
@@ -51,6 +51,7 @@ jobs:
|
|||||||
gnupg \
|
gnupg \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
openssl \
|
openssl \
|
||||||
|
perl \
|
||||||
sudo \
|
sudo \
|
||||||
util-linux
|
util-linux
|
||||||
|
|
||||||
@@ -62,6 +63,11 @@ jobs:
|
|||||||
- name: ⚙️ Preparing SSH Setup, SSH Deploy Key, Known Hosts, .config.
|
- name: ⚙️ Preparing SSH Setup, SSH Deploy Key, Known Hosts, .config.
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
var_wait=$(( RANDOM % 33 ))
|
||||||
|
printf "⏳ Waiting %s seconds to desynchronize parallel workflows...\n" "${var_wait}"
|
||||||
|
sleep "${var_wait}"
|
||||||
|
|
||||||
rm -rf ~/.ssh && mkdir -m700 ~/.ssh
|
rm -rf ~/.ssh && mkdir -m700 ~/.ssh
|
||||||
|
|
||||||
### Private Key
|
### Private Key
|
||||||
@@ -136,17 +142,83 @@ jobs:
|
|||||||
echo "${{ secrets.CISS_DLB_ROOT_PWD }}" >| /opt/config/password.txt
|
echo "${{ secrets.CISS_DLB_ROOT_PWD }}" >| /opt/config/password.txt
|
||||||
echo "${{ secrets.CISS_DLB_ROOT_SSH_PUBKEY }}" >| /opt/config/authorized_keys
|
echo "${{ secrets.CISS_DLB_ROOT_SSH_PUBKEY }}" >| /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 }}
|
||||||
|
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"
|
||||||
|
|
||||||
|
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'/}"
|
||||||
|
|
||||||
|
(
|
||||||
|
cat << EOF >| "${ID_OUT}"
|
||||||
|
${CISS_PRIMORDIAL}
|
||||||
|
EOF
|
||||||
|
) && chmod 0600 "${ID_OUT}"
|
||||||
|
echo "Written: ${ID_OUT}"
|
||||||
|
|
||||||
|
(
|
||||||
|
cat << EOF >| "${ID_OUT_PUB}"
|
||||||
|
${CISS_PRIMORDIAL_PUB}
|
||||||
|
EOF
|
||||||
|
) && chmod 0600 "${ID_OUT_PUB}"
|
||||||
|
echo "Written: ${ID_OUT_PUB}"
|
||||||
|
|
||||||
|
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}"
|
||||||
|
echo "Hook rendered: ${OUT}"
|
||||||
|
|
||||||
- name: 🛠️ Starting CISS.debian.live.builder. This may take a while ...
|
- name: 🛠️ Starting CISS.debian.live.builder. This may take a while ...
|
||||||
shell: bash
|
shell: bash
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
chmod 0755 ciss_live_builder.sh
|
chmod 0755 ciss_live_builder.sh
|
||||||
timestamp=$(date -u +"%Y_%m_%dT%H_%M_%SZ")
|
timestamp=$(date -u +"%Y_%m_%dT%H_%M_%SZ")
|
||||||
### Change "--autobuild=" to the specific kernel version you need: '6.12.41+deb13-amd64'.
|
### Change "--autobuild=" to the specific kernel version you need: '6.16.3+deb13-amd64'.
|
||||||
./ciss_live_builder.sh \
|
./ciss_live_builder.sh \
|
||||||
--autobuild=6.12.41+deb13-amd64 \
|
--autobuild=6.16.3+deb13-amd64 \
|
||||||
--architecture amd64 \
|
--architecture amd64 \
|
||||||
--build-directory /opt/livebuild \
|
--build-directory /opt/livebuild \
|
||||||
|
--cdi \
|
||||||
--control "${timestamp}" \
|
--control "${timestamp}" \
|
||||||
--debug \
|
--debug \
|
||||||
--dhcp-centurion \
|
--dhcp-centurion \
|
||||||
@@ -155,8 +227,14 @@ jobs:
|
|||||||
--root-password-file /opt/config/password.txt \
|
--root-password-file /opt/config/password.txt \
|
||||||
--ssh-port ${{ secrets.CISS_DLB_SSH_PORT }} \
|
--ssh-port ${{ secrets.CISS_DLB_SSH_PORT }} \
|
||||||
--ssh-pubkey /opt/config \
|
--ssh-pubkey /opt/config \
|
||||||
|
--sshfp \
|
||||||
--trixie
|
--trixie
|
||||||
|
|
||||||
|
REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd -P)"
|
||||||
|
OUT="$REPO_ROOT/config/hooks/live/9935_hardening_ssh.chroot"
|
||||||
|
rm -f "$OUT"
|
||||||
|
echo "Hook removed: $OUT"
|
||||||
|
|
||||||
- name: 📥 Checking Centurion Cloud for existing LIVE ISOs.
|
- name: 📥 Checking Centurion Cloud for existing LIVE ISOs.
|
||||||
shell: bash
|
shell: bash
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -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.13.008.2025.08.22
|
### Version Master V8.13.064.2025.10.07
|
||||||
|
|
||||||
name: 🔐 Generating a Private Live ISO TRIXIE.
|
name: 🔐 Generating a Private Live ISO TRIXIE.
|
||||||
|
|
||||||
@@ -51,6 +51,7 @@ jobs:
|
|||||||
gnupg \
|
gnupg \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
openssl \
|
openssl \
|
||||||
|
perl \
|
||||||
sudo \
|
sudo \
|
||||||
util-linux
|
util-linux
|
||||||
|
|
||||||
@@ -62,6 +63,11 @@ jobs:
|
|||||||
- name: ⚙️ Preparing SSH Setup, SSH Deploy Key, Known Hosts, .config.
|
- name: ⚙️ Preparing SSH Setup, SSH Deploy Key, Known Hosts, .config.
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
var_wait=$(( RANDOM % 33 ))
|
||||||
|
printf "⏳ Waiting %s seconds to desynchronize parallel workflows...\n" "${var_wait}"
|
||||||
|
sleep "${var_wait}"
|
||||||
|
|
||||||
rm -rf ~/.ssh && mkdir -m700 ~/.ssh
|
rm -rf ~/.ssh && mkdir -m700 ~/.ssh
|
||||||
|
|
||||||
### Private Key
|
### Private Key
|
||||||
@@ -136,24 +142,96 @@ jobs:
|
|||||||
echo "${{ secrets.CISS_DLB_ROOT_PWD_1 }}" >| /opt/config/password.txt
|
echo "${{ secrets.CISS_DLB_ROOT_PWD_1 }}" >| /opt/config/password.txt
|
||||||
echo "${{ secrets.CISS_DLB_ROOT_SSH_PUBKEY_1 }}" >| /opt/config/authorized_keys
|
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 }}
|
||||||
|
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"
|
||||||
|
|
||||||
|
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'/}"
|
||||||
|
|
||||||
|
(
|
||||||
|
cat << EOF >| "${ID_OUT}"
|
||||||
|
${CISS_PRIMORDIAL}
|
||||||
|
EOF
|
||||||
|
) && chmod 0600 "${ID_OUT}"
|
||||||
|
echo "Written: ${ID_OUT}"
|
||||||
|
|
||||||
|
(
|
||||||
|
cat << EOF >| "${ID_OUT_PUB}"
|
||||||
|
${CISS_PRIMORDIAL_PUB}
|
||||||
|
EOF
|
||||||
|
) && chmod 0600 "${ID_OUT_PUB}"
|
||||||
|
echo "Written: ${ID_OUT_PUB}"
|
||||||
|
|
||||||
|
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}"
|
||||||
|
echo "Hook rendered: ${OUT}"
|
||||||
|
|
||||||
- name: 🛠️ Starting CISS.debian.live.builder. This may take a while ...
|
- name: 🛠️ Starting CISS.debian.live.builder. This may take a while ...
|
||||||
shell: bash
|
shell: bash
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
chmod 0755 ciss_live_builder.sh
|
chmod 0755 ciss_live_builder.sh
|
||||||
timestamp=$(date -u +"%Y_%m_%dT%H_%M_%SZ")
|
timestamp=$(date -u +"%Y_%m_%dT%H_%M_%SZ")
|
||||||
### Change "--autobuild=" to the specific kernel version you need: '6.12.41+deb13-amd64'.
|
### Change "--autobuild=" to the specific kernel version you need: '6.16.3+deb13-amd64'.
|
||||||
./ciss_live_builder.sh \
|
./ciss_live_builder.sh \
|
||||||
--autobuild=6.12.41+deb13-amd64 \
|
--autobuild=6.16.3+deb13-amd64 \
|
||||||
--architecture amd64 \
|
--architecture amd64 \
|
||||||
--build-directory /opt/livebuild \
|
--build-directory /opt/livebuild \
|
||||||
|
--cdi \
|
||||||
--control "${timestamp}" \
|
--control "${timestamp}" \
|
||||||
--jump-host ${{ secrets.CISS_DLB_JUMP_HOSTS_1 }} \
|
--jump-host ${{ secrets.CISS_DLB_JUMP_HOSTS_1 }} \
|
||||||
--root-password-file /opt/config/password.txt \
|
--root-password-file /opt/config/password.txt \
|
||||||
--ssh-port ${{ secrets.CISS_DLB_SSH_PORT_1 }} \
|
--ssh-port ${{ secrets.CISS_DLB_SSH_PORT_1 }} \
|
||||||
--ssh-pubkey /opt/config \
|
--ssh-pubkey /opt/config \
|
||||||
|
--sshfp \
|
||||||
--trixie
|
--trixie
|
||||||
|
|
||||||
|
REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd -P)"
|
||||||
|
OUT="$REPO_ROOT/config/hooks/live/9935_hardening_ssh.chroot"
|
||||||
|
rm -f "$OUT"
|
||||||
|
echo "Hook removed: $OUT"
|
||||||
|
|
||||||
- name: 📥 Checking Centurion Cloud for existing LIVE ISOs.
|
- name: 📥 Checking Centurion Cloud for existing LIVE ISOs.
|
||||||
shell: bash
|
shell: bash
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -9,10 +9,14 @@
|
|||||||
# 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.13.008.2025.08.22
|
### Version Master V8.13.064.2025.10.07
|
||||||
|
|
||||||
name: 💙 Generating a PUBLIC Live ISO.
|
name: 💙 Generating a PUBLIC Live ISO.
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
|
|
||||||
@@ -24,161 +28,32 @@ on:
|
|||||||
- '.gitea/trigger/t_generate_PUBLIC.yaml'
|
- '.gitea/trigger/t_generate_PUBLIC.yaml'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
generate-private-ciss-debian-live-iso:
|
generate-public-cdlb-trixie:
|
||||||
name: 💙 Generating a PUBLIC Live ISO.
|
name: 💙 Generating a PUBLIC Live ISO.
|
||||||
runs-on: ciss.debian.live.builder.iso.generator
|
runs-on: cdlb.trixie
|
||||||
|
|
||||||
### Run all steps inside Debian Bookworm
|
|
||||||
container:
|
container:
|
||||||
image: debian:bookworm
|
image: debian:trixie
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: 🛠️ Basic Image Setup and enable Bookworm Backports.
|
- name: 🛠️ Basic Image Setup.
|
||||||
run: |
|
|
||||||
apt-get update -y
|
|
||||||
apt-get install -y apt-transport-https apt-utils bash ca-certificates openssl sudo
|
|
||||||
echo 'deb https://deb.debian.org/debian bookworm-backports main' \
|
|
||||||
>| /etc/apt/sources.list.d/bookworm-backports.list
|
|
||||||
apt-get update -y
|
|
||||||
apt-get upgrade -y
|
|
||||||
|
|
||||||
- name: 🛠️ Installing Build Tools.
|
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
apt-get update -y
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
apt-get install -y \
|
apt-get update
|
||||||
autoconf \
|
apt-get upgrade -y
|
||||||
automake \
|
apt-get install -y --no-install-recommends \
|
||||||
build-essential \
|
apt-utils \
|
||||||
cryptsetup \
|
bash \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
debootstrap \
|
|
||||||
dosfstools \
|
|
||||||
efibootmgr \
|
|
||||||
gettext \
|
|
||||||
git \
|
git \
|
||||||
gnupg \
|
gnupg \
|
||||||
haveged \
|
openssh-client \
|
||||||
libbz2-dev \
|
openssl \
|
||||||
zlib1g-dev \
|
perl \
|
||||||
liblzma-dev \
|
|
||||||
libtool \
|
|
||||||
live-build \
|
|
||||||
parted \
|
|
||||||
pkg-config \
|
|
||||||
ssh \
|
|
||||||
ssl-cert \
|
|
||||||
sudo \
|
sudo \
|
||||||
texinfo \
|
util-linux
|
||||||
wget \
|
|
||||||
whois \
|
|
||||||
|
|
||||||
- name: 🛠️ Build GnuPG from the sources, as the Bookworm GPG does not understand key format 5.
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
urls=(
|
|
||||||
"https://gnupg.org/ftp/gcrypt/npth/npth-1.8.tar.bz2"
|
|
||||||
"https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.55.tar.bz2"
|
|
||||||
"https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.11.1.tar.bz2"
|
|
||||||
"https://gnupg.org/ftp/gcrypt/libksba/libksba-1.6.7.tar.bz2"
|
|
||||||
"https://gnupg.org/ftp/gcrypt/libassuan/libassuan-3.0.2.tar.bz2"
|
|
||||||
"https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.4.8.tar.bz2"
|
|
||||||
)
|
|
||||||
|
|
||||||
wget --https-only https://gnupg.org/signature_key.asc -O signature_key.asc > /dev/null 2>&1
|
|
||||||
gpg --batch --import signature_key.asc
|
|
||||||
|
|
||||||
for url in "${urls[@]}"; do
|
|
||||||
archive_name="${url##*/}"
|
|
||||||
pkg_name="${archive_name%.tar.bz2}"
|
|
||||||
echo "🔄 Processing ${pkg_name}"
|
|
||||||
if [[ ! -f "${archive_name}" ]]; then
|
|
||||||
echo "📥 Downloading: '${archive_name}'."
|
|
||||||
if wget --https-only "${url}" -O "${archive_name}" > /dev/null 2>&1 && wget --https-only "${url}.sig" -O "${archive_name}.sig" > /dev/null 2>&1; then
|
|
||||||
echo "✅ Download successful: '${archive_name}'."
|
|
||||||
else
|
|
||||||
echo "❌ Download NOT successful: '${archive_name}'."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "💡 Skipping download, package already exists: '${archive_name}'."
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! gpg --verify "${archive_name}.sig" "${archive_name}"; then echo "❌ Bad Signature: '${archive_name}'.";exit 1; fi
|
|
||||||
|
|
||||||
if [[ ! -d "${pkg_name}" ]]; then
|
|
||||||
echo "📂 Extracting: '${archive_name}'."
|
|
||||||
if tar -xjf "${archive_name}"; then
|
|
||||||
echo "✅ Extraction successful: '${archive_name}'."
|
|
||||||
else
|
|
||||||
echo "❌ Extraction not successful: '${archive_name}'."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "💡 Skipping directory, already exists: '${pkg_name}'."
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "🏗️ Build and install the package: '${pkg_name}'."
|
|
||||||
cd "${pkg_name}" || { echo "❌ Could not change to '${pkg_name}'."; exit 1; }
|
|
||||||
mkdir -p build
|
|
||||||
cd build || { echo "❌ Could not change to '/build'."; exit 1; }
|
|
||||||
|
|
||||||
sudo ../configure > /dev/null 2>&1 || { echo "❌ '../configure' NOT successful for '${pkg_name}'."; exit 1; }
|
|
||||||
make > /dev/null 2>&1 || { echo "❌ 'make' NOT successful for '${pkg_name}'."; exit 1; }
|
|
||||||
sudo make install > /dev/null 2>&1 || { echo "❌ 'make install' NOT successful for '${pkg_name}'."; exit 1; }
|
|
||||||
|
|
||||||
cd ../.. || { echo "❌ Could not change to '../..'."; exit 1; }
|
|
||||||
|
|
||||||
rm -f "${archive_name}" && rm -f "${archive_name}.sig" && echo "✅ Removed archive: '${pkg_name}'."
|
|
||||||
rm -fr "${pkg_name}" && echo "✅ Removed build artifacts: '${pkg_name}'."
|
|
||||||
echo "✅ Successful build and installation of '${pkg_name}'."
|
|
||||||
echo "-------------------------------------------------------------------------------------"
|
|
||||||
|
|
||||||
done
|
|
||||||
|
|
||||||
rm -f signature_key.asc
|
|
||||||
|
|
||||||
echo "✅ All packages were built and installed successfully."
|
|
||||||
|
|
||||||
mv_bin=(
|
|
||||||
"/usr/bin/gpg"
|
|
||||||
"/usr/bin/gpg-agent"
|
|
||||||
"/usr/bin/gpgconf"
|
|
||||||
"/usr/bin/gpg-connect-agent"
|
|
||||||
"/usr/bin/gpg-wks-client"
|
|
||||||
"/usr/bin/gpg-preset-passphrase"
|
|
||||||
)
|
|
||||||
|
|
||||||
for bin in "${mv_bin[@]}"; do
|
|
||||||
name="${bin##*/}"
|
|
||||||
if [[ -f "${bin}" && -f "/usr/local/bin/${name}" ]]; then
|
|
||||||
if mv "${bin}" "${bin}.debian-backup"; then
|
|
||||||
echo "✅ Moved successfully: '${bin}'."
|
|
||||||
else
|
|
||||||
echo "❌ Moved NOT successfully: '${bin}'."
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "💡 Does not exist as build binary: '${bin}'."
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
for bin in "${mv_bin[@]}"; do
|
|
||||||
name="${bin##*/}"
|
|
||||||
if [[ -f "/usr/local/bin/${name}" ]]; then
|
|
||||||
if update-alternatives --install "${bin}" "${name}" "/usr/local/bin/${name}" 100; then
|
|
||||||
echo "✅ 'update-alternatives' successfully: '${bin}'."
|
|
||||||
else
|
|
||||||
echo "❌ 'update-alternatives' NOT successfully: '${bin}'."
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "💡 Does not exist: '/usr/local/bin/${name}'."
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
sudo ldconfig
|
|
||||||
|
|
||||||
gpgconf --kill all
|
|
||||||
/usr/local/bin/gpg-agent --daemon
|
|
||||||
|
|
||||||
- name: ⚙️ Check GnuPG Version.
|
- name: ⚙️ Check GnuPG Version.
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -188,6 +63,11 @@ jobs:
|
|||||||
- name: ⚙️ Preparing SSH Setup, SSH Deploy Key, Known Hosts, .config.
|
- name: ⚙️ Preparing SSH Setup, SSH Deploy Key, Known Hosts, .config.
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
var_wait=$(( RANDOM % 33 ))
|
||||||
|
printf "⏳ Waiting %s seconds to desynchronize parallel workflows...\n" "${var_wait}"
|
||||||
|
sleep "${var_wait}"
|
||||||
|
|
||||||
rm -rf ~/.ssh && mkdir -m700 ~/.ssh
|
rm -rf ~/.ssh && mkdir -m700 ~/.ssh
|
||||||
|
|
||||||
### Private Key
|
### Private Key
|
||||||
@@ -269,15 +149,18 @@ jobs:
|
|||||||
sed -i '/^hardening_ssh.*/d' ciss_live_builder.sh
|
sed -i '/^hardening_ssh.*/d' ciss_live_builder.sh
|
||||||
chmod 0755 ciss_live_builder.sh
|
chmod 0755 ciss_live_builder.sh
|
||||||
timestamp=$(date -u +"%Y_%m_%dT%H_%M_%SZ")
|
timestamp=$(date -u +"%Y_%m_%dT%H_%M_%SZ")
|
||||||
### Change "--autobuild=" to the specific kernel version you need: 6.12.22+bpo-amd64.
|
### Change "--autobuild=" to the specific kernel version you need: '6.16.3+deb13-amd64'.
|
||||||
./ciss_live_builder.sh \
|
./ciss_live_builder.sh \
|
||||||
--autobuild=6.1.0-37-amd64 \
|
--autobuild=6.16.3+deb13-amd64 \
|
||||||
--architecture amd64 \
|
--architecture amd64 \
|
||||||
--build-directory /opt/livebuild \
|
--build-directory /opt/livebuild \
|
||||||
|
--cdi \
|
||||||
--control "${timestamp}" \
|
--control "${timestamp}" \
|
||||||
|
--debug \
|
||||||
--root-password-file /opt/config/password.txt \
|
--root-password-file /opt/config/password.txt \
|
||||||
--ssh-port 42137 \
|
--ssh-port 42137 \
|
||||||
--ssh-pubkey /opt/config
|
--ssh-pubkey /opt/config \
|
||||||
|
--trixie
|
||||||
|
|
||||||
- name: 📥 Checking Centurion Cloud for existing LIVE ISOs.
|
- name: 📥 Checking Centurion Cloud for existing LIVE ISOs.
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -364,11 +247,12 @@ jobs:
|
|||||||
gpg --batch --yes --armor --detach-sign --output "${SIGNATURE_FILE}" "${VAR_ISO_FILE_SHA512}"
|
gpg --batch --yes --armor --detach-sign --output "${SIGNATURE_FILE}" "${VAR_ISO_FILE_SHA512}"
|
||||||
|
|
||||||
timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
||||||
|
VAR_DATE="$(date +%F)"
|
||||||
PRIVATE_FILE="LIVE_ISO.public"
|
PRIVATE_FILE="LIVE_ISO.public"
|
||||||
touch "${PRIVATE_FILE}"
|
touch "${PRIVATE_FILE}"
|
||||||
cat << EOF >| "${PRIVATE_FILE}"
|
cat << EOF >| "${PRIVATE_FILE}"
|
||||||
# SPDX-Version: 3.0
|
# SPDX-Version: 3.0
|
||||||
# SPDX-CreationInfo: 2025-06-01; WEIDNER, Marc S.; <msw@coresecret.dev>
|
# SPDX-CreationInfo: ${VAR_DATE}; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
||||||
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
||||||
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
|
|||||||
@@ -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.13.008.2025.08.22
|
### Version Master V8.13.064.2025.10.07
|
||||||
|
|
||||||
# Gitea Workflow: Shell-Script Linting
|
# Gitea Workflow: Shell-Script Linting
|
||||||
#
|
#
|
||||||
@@ -41,6 +41,10 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
var_wait=$(( RANDOM % 33 ))
|
||||||
|
printf "⏳ Waiting %s seconds to desynchronize parallel workflows...\n" "${var_wait}"
|
||||||
|
sleep "${var_wait}"
|
||||||
|
|
||||||
rm -rf ~/.ssh && mkdir -m700 ~/.ssh
|
rm -rf ~/.ssh && mkdir -m700 ~/.ssh
|
||||||
|
|
||||||
### Private Key
|
### Private Key
|
||||||
|
|||||||
@@ -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.13.008.2025.08.22
|
### Version Master V8.13.064.2025.10.07
|
||||||
|
|
||||||
name: 🛡️ Retrieve DNSSEC status of coresecret.dev.
|
name: 🛡️ Retrieve DNSSEC status of coresecret.dev.
|
||||||
|
|
||||||
@@ -33,6 +33,10 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
var_wait=$(( RANDOM % 33 ))
|
||||||
|
printf "⏳ Waiting %s seconds to desynchronize parallel workflows...\n" "${var_wait}"
|
||||||
|
sleep "${var_wait}"
|
||||||
|
|
||||||
rm -rf ~/.ssh && mkdir -m700 ~/.ssh
|
rm -rf ~/.ssh && mkdir -m700 ~/.ssh
|
||||||
|
|
||||||
### Private Key
|
### Private Key
|
||||||
|
|||||||
@@ -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.13.008.2025.08.22
|
### Version Master V8.13.064.2025.10.07
|
||||||
|
|
||||||
name: 🔁 Render Graphviz Diagrams.
|
name: 🔁 Render Graphviz Diagrams.
|
||||||
|
|
||||||
@@ -34,6 +34,10 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
var_wait=$(( RANDOM % 33 ))
|
||||||
|
printf "⏳ Waiting %s seconds to desynchronize parallel workflows...\n" "${var_wait}"
|
||||||
|
sleep "${var_wait}"
|
||||||
|
|
||||||
rm -rf ~/.ssh && mkdir -m700 ~/.ssh
|
rm -rf ~/.ssh && mkdir -m700 ~/.ssh
|
||||||
|
|
||||||
### Private Key
|
### Private Key
|
||||||
|
|||||||
@@ -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.13.008.2025.08.22"
|
properties_version="V8.13.064.2025.10.07"
|
||||||
# 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
|
||||||
|
|||||||
@@ -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.13.008.2025.08.22
|
PackageVersion: Master V8.13.064.2025.10.07
|
||||||
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
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# SPDX-Version: 3.0
|
# SPDX-Version: 3.0
|
||||||
# SPDX-CreationInfo: 2025-08-22; WEIDNER, Marc S.; <msw@coresecret.dev>
|
# SPDX-CreationInfo: 2025-10-07; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
||||||
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
||||||
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
@@ -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
|
||||||
|
|
||||||
This file was automatically generated by the DEPLOY BOT on: "2025-08-22T17:25:58Z"
|
This file was automatically generated by the DEPLOY BOT on: "2025-10-07T16:38:32Z"
|
||||||
|
|
||||||
✅ The last linter check was successful. ✅
|
✅ The last linter check was successful. ✅
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# SPDX-Version: 3.0
|
# SPDX-Version: 3.0
|
||||||
# SPDX-CreationInfo: 2025-06-01; WEIDNER, Marc S.; <msw@coresecret.dev>
|
# SPDX-CreationInfo: 2025-10-06; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
||||||
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
||||||
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
@@ -9,19 +9,19 @@
|
|||||||
# SPDX-PackageName: CISS.debian.live.builder
|
# SPDX-PackageName: CISS.debian.live.builder
|
||||||
# SPDX-Security-Contact: security@coresecret.eu
|
# SPDX-Security-Contact: security@coresecret.eu
|
||||||
|
|
||||||
This file was automatically generated by the DEPLOY BOT on: "2025-08-11T22:40:21Z".
|
This file was automatically generated by the DEPLOY BOT on: "2025-10-06T21:22:13Z"
|
||||||
|
|
||||||
CISS.debian.live.builder ISO :
|
CISS.debian.live.builder ISO :
|
||||||
"ciss-debian-live-2025_08_11T21_49_56Z-amd64.hybrid.iso"
|
"ciss-debian-live-2025_10_06T20_28_04Z-amd64.hybrid.iso"
|
||||||
CISS.debian.live.builder ISO sha512 :
|
CISS.debian.live.builder ISO sha512 :
|
||||||
4aa02673b9a8d5b974014eca4371d1ed69b05eaea9e92203cf7c092880833e18812bf31ab053399eda98b7a3da0b76b8dcdaaba892e9f52f836ea9d2b0e09e38
|
462f68354a3b7e1c17d654126e686783694feb88fb1cb90787e262e4a6332d69f6abea2d1a67adc459f6ba8c6720defbe87c739eb2947a9f2410e10c56f6615c
|
||||||
CISS.debian.live.builder ISO sha512 sign :
|
CISS.debian.live.builder ISO sha512 sign :
|
||||||
-----BEGIN PGP SIGNATURE-----
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaJpxVQAKCRA85KY4hzOw
|
iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaOQzBQAKCRA85KY4hzOw
|
||||||
IZWOAQDJriUoDvDNSQiHbFfW4KVV1E1wqe12eS7GyfVFr9bISwEAoDKhQ85+RiGr
|
IaBlAQDVAFVdGRDFZ//1gBlQIAFlmYSV7G5/k2gl3mX+CvRpTgEAlyjD63v9dGiI
|
||||||
pCdWqvU8wcfzEIlKIpAgAZVrhX/xRw8=
|
WBMF9hYXElzZ7BC7nOzpEWMsNbKbRgI=
|
||||||
=wNVV
|
=nPKO
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
|
|
||||||
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=text
|
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=text
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# SPDX-Version: 3.0
|
# SPDX-Version: 3.0
|
||||||
# SPDX-CreationInfo: 2025-08-22; WEIDNER, Marc S.; <msw@coresecret.dev>
|
# SPDX-CreationInfo: 2025-10-06; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
||||||
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
||||||
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
@@ -9,19 +9,19 @@
|
|||||||
# SPDX-PackageName: CISS.debian.live.builder
|
# SPDX-PackageName: CISS.debian.live.builder
|
||||||
# SPDX-Security-Contact: security@coresecret.eu
|
# SPDX-Security-Contact: security@coresecret.eu
|
||||||
|
|
||||||
This file was automatically generated by the DEPLOY BOT on: "2025-08-22T16:55:09Z"
|
This file was automatically generated by the DEPLOY BOT on: "2025-10-06T19:34:02Z"
|
||||||
|
|
||||||
CISS.debian.live.builder ISO :
|
CISS.debian.live.builder ISO :
|
||||||
"ciss-debian-live-2025_08_22T16_11_02Z-amd64.hybrid.iso"
|
"ciss-debian-live-2025_10_06T18_30_18Z-amd64.hybrid.iso"
|
||||||
CISS.debian.live.builder ISO sha512 :
|
CISS.debian.live.builder ISO sha512 :
|
||||||
35c288d96239804e244cbe99c8ce3895aec39104a7200c2ef7326d38e1ec4eea3bf60b895eaa4d981cb718ae4d27d2d4166f16252b88606a870d14c3db096a37
|
e1964f783ce6da34853a73fc27723228a71d3f5afde9388fadf686f1a367ed36f8fbe4ad0747b842395603f549b6d99b1cff25938511093f5313a310bf94b7fe
|
||||||
CISS.debian.live.builder ISO sha512 sign :
|
CISS.debian.live.builder ISO sha512 sign :
|
||||||
-----BEGIN PGP SIGNATURE-----
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaKig7QAKCRA85KY4hzOw
|
iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaOQZqgAKCRA85KY4hzOw
|
||||||
IWKWAP0Wlqbi3ArURSGW5m+E+OstdsU7qHjf+e1SVRJ3BGUzaAEAr3ceyHiiA2/7
|
IeeUAP4i9Dh/ZBJVCfwlWzyIqbR0SBHio2ErW+NuQ7KOKxG6JwD+If47NhNGmazi
|
||||||
RlXsvZxNgVDaEVSdjmt99dMrZK7DRws=
|
QTTQAWOjdQiCibBZFO1h9udGX4SFvww=
|
||||||
=4Oh3
|
=gaNi
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
|
|
||||||
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=text
|
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=text
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# SPDX-Version: 3.0
|
# SPDX-Version: 3.0
|
||||||
# SPDX-CreationInfo: 2025-08-22; WEIDNER, Marc S.; <msw@coresecret.dev>
|
# SPDX-CreationInfo: 2025-10-07; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
||||||
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
||||||
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
@@ -9,19 +9,19 @@
|
|||||||
# SPDX-PackageName: CISS.debian.live.builder
|
# SPDX-PackageName: CISS.debian.live.builder
|
||||||
# SPDX-Security-Contact: security@coresecret.eu
|
# SPDX-Security-Contact: security@coresecret.eu
|
||||||
|
|
||||||
This file was automatically generated by the DEPLOY BOT on: "2025-08-22T17:41:13Z"
|
This file was automatically generated by the DEPLOY BOT on: "2025-10-07T17:29:34Z"
|
||||||
|
|
||||||
CISS.debian.live.builder ISO :
|
CISS.debian.live.builder ISO :
|
||||||
"ciss-debian-live-2025_08_22T16_56_12Z-amd64.hybrid.iso"
|
"ciss-debian-live-2025_10_07T16_37_57Z-amd64.hybrid.iso"
|
||||||
CISS.debian.live.builder ISO sha512 :
|
CISS.debian.live.builder ISO sha512 :
|
||||||
4925332b61dbd91f0c444624bbe7de586dbd911fbb27b080a99e44ae312c5139afc502d0415d0bef7dfbd1e5461c07e0a0700f7206e746a91cbcb5403ef003e3
|
f1c8377d5b627acea54a83c2e54d807d6dd189b7036772d347bcf20f3f172737cd7aec8165adc220e643efe744619254e78937a3958b87515fb41f67beb79d72
|
||||||
CISS.debian.live.builder ISO sha512 sign :
|
CISS.debian.live.builder ISO sha512 sign :
|
||||||
-----BEGIN PGP SIGNATURE-----
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaKiruQAKCRA85KY4hzOw
|
iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaOVN/gAKCRA85KY4hzOw
|
||||||
IdoTAQDqyOBkGA0xDoLsDvjFSaf3tmzz8mD/5qvsDtF6y/rEWwD/dAXzMOdQjxg8
|
IdozAQCEp41v8I2pEzLpcVeWvIr4nPN2pPr5EoR/pkmWwmYrRgEA4aBkNCAqtNlR
|
||||||
IcK+GK6u4k5/HT5bYlCvTy/WxRb5ggQ=
|
6O6vjOaor2r6wZKtu06ytxtvh4vIlgw=
|
||||||
=boDM
|
=l0QQ
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
|
|
||||||
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=text
|
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=text
|
||||||
|
|||||||
13
README.md
13
README.md
@@ -2,17 +2,17 @@
|
|||||||
gitea: none
|
gitea: none
|
||||||
include_toc: true
|
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://eupl.eu/1.2/en/)
|
||||||
[](https://opensource.org/license/eupl-1-2)
|
[](https://opensource.org/license/eupl-1-2)
|
||||||
[](https://www.gnu.org/software/bash/)
|
[](https://www.gnu.org/software/bash/)
|
||||||
[](https://shellcheck.net/)
|
[](https://shellcheck.net/)
|
||||||
[](https://github.com/mvdan/sh)
|
[](https://github.com/mvdan/sh)
|
||||||
[](https://google.github.io/styleguide/shellguide.html)
|
[](https://google.github.io/styleguide/shellguide.html)
|
||||||
|
|
||||||
[](https://docs.gitea.com/)
|
[](https://docs.gitea.com/)
|
||||||
[](https://www.jetbrains.com/store/?section=personal&billing=yearly)
|
[](https://www.jetbrains.com/store/?section=personal&billing=yearly)
|
||||||
[](https://keepassxc.org/)
|
[](https://keepassxc.org/)
|
||||||
[](https://www.netcup.com/de)
|
[](https://www.netcup.com/de)
|
||||||
[](https://coresecret.eu/)
|
[](https://coresecret.eu/)
|
||||||
@@ -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.13<br>
|
**Master Version**: 8.13<br>
|
||||||
**Build**: V8.13.008.2025.08.22<br>
|
**Build**: V8.13.064.2025.10.07<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
|
||||||
@@ -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.
|
This project adheres strictly to a structured versioning scheme following the pattern x.y.z-Date.
|
||||||
|
|
||||||
Example: `V8.13.008.2025.08.22`
|
Example: `V8.13.064.2025.10.07`
|
||||||
|
|
||||||
`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.
|
||||||
|
|
||||||
@@ -453,6 +453,7 @@ predictable script behavior.
|
|||||||
--build-directory /opt/livebuild \
|
--build-directory /opt/livebuild \
|
||||||
--change-splash hexagon \
|
--change-splash hexagon \
|
||||||
--control "${timestamp}" \
|
--control "${timestamp}" \
|
||||||
|
--cdi \
|
||||||
--debug \
|
--debug \
|
||||||
--dhcp-centurion \
|
--dhcp-centurion \
|
||||||
--jump-host 10.0.0.128 [c0de:4711:0815:4242::1] [2abc:4711:0815:4242::1]/64 \
|
--jump-host 10.0.0.128 [c0de:4711:0815:4242::1] [2abc:4711:0815:4242::1]/64 \
|
||||||
|
|||||||
@@ -143,6 +143,7 @@ declare -gx VAR_SETUP="true"
|
|||||||
source_guard "./lib/lib_lb_config_start.sh"
|
source_guard "./lib/lib_lb_config_start.sh"
|
||||||
source_guard "./lib/lib_lb_config_write.sh"
|
source_guard "./lib/lib_lb_config_write.sh"
|
||||||
source_guard "./lib/lib_lb_config_write_trixie.sh"
|
source_guard "./lib/lib_lb_config_write_trixie.sh"
|
||||||
|
source_guard "./lib/lib_note_target.sh"
|
||||||
source_guard "./lib/lib_provider_netcup.sh"
|
source_guard "./lib/lib_provider_netcup.sh"
|
||||||
source_guard "./lib/lib_run_analysis.sh"
|
source_guard "./lib/lib_run_analysis.sh"
|
||||||
source_guard "./lib/lib_sanitizer.sh"
|
source_guard "./lib/lib_sanitizer.sh"
|
||||||
@@ -209,6 +210,12 @@ arg_priority_check
|
|||||||
check_stats
|
check_stats
|
||||||
if ! ${VAR_HANDLER_AUTOBUILD}; then check_provider; fi
|
if ! ${VAR_HANDLER_AUTOBUILD}; then check_provider; fi
|
||||||
if ! ${VAR_HANDLER_AUTOBUILD}; then check_kernel; fi
|
if ! ${VAR_HANDLER_AUTOBUILD}; then check_kernel; fi
|
||||||
|
|
||||||
|
if [[ ! "${VAR_SSHFP}" == "true" ]]; then
|
||||||
|
rm -f "${SCRIPT_BASEPATH}/config/includes.chroot/root/.ssh/id_2025_ed25519_ciss_primordial"
|
||||||
|
rm -f "${SCRIPT_BASEPATH}/config/includes.chroot/root/.ssh/id_2025_ed25519_ciss_primordial.pub"
|
||||||
|
fi
|
||||||
|
|
||||||
check_hooks
|
check_hooks
|
||||||
hardening_ssh
|
hardening_ssh
|
||||||
lb_config_start
|
lb_config_start
|
||||||
@@ -236,6 +243,7 @@ change_splash
|
|||||||
check_dhcp
|
check_dhcp
|
||||||
cdi
|
cdi
|
||||||
provider_netcup
|
provider_netcup
|
||||||
|
note_target
|
||||||
|
|
||||||
### Start the build process
|
### Start the build process
|
||||||
set +o errtrace
|
set +o errtrace
|
||||||
|
|||||||
@@ -9,10 +9,9 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
mkdir -p /root/.ciss/dlb/backup
|
mkdir -p /root/.ciss/dlb/backup
|
||||||
chmod 0700 /root/.ciss/dlb/backup
|
chmod 0700 /root/.ciss/dlb/backup
|
||||||
@@ -21,7 +20,6 @@ mkdir -p /root/git
|
|||||||
chmod 0700 /root/git
|
chmod 0700 /root/git
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,10 +9,9 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# Get all NIC Driver of the current Host-machine
|
# Get all NIC Driver of the current Host-machine
|
||||||
@@ -328,10 +327,9 @@ EOF
|
|||||||
chmod 0755 /etc/initramfs-tools/hooks/ciss_debian_live_builder
|
chmod 0755 /etc/initramfs-tools/hooks/ciss_debian_live_builder
|
||||||
|
|
||||||
### Regenerate the initramfs for the live system kernel
|
### Regenerate the initramfs for the live system kernel
|
||||||
update-initramfs -u -k all
|
update-initramfs -u -k all -v
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,10 +9,9 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
target="/usr/lib/live/boot/0030-verify-checksums"
|
target="/usr/lib/live/boot/0030-verify-checksums"
|
||||||
src="$(mktemp)"
|
src="$(mktemp)"
|
||||||
@@ -138,7 +137,6 @@ rm -f "${src}"
|
|||||||
unset target src
|
unset target src
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,16 +9,13 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
if [[ ! -f /root/.pwd ]]; then
|
if [[ ! -f /root/.pwd ]]; then
|
||||||
printf "\e[93m++++ ++++ ++++ ++++ ++++ ++++ ++ ❌ /root/.pwd NOT found. \e[0m\n"
|
printf "\e[93m++++ ++++ ++++ ++++ ++++ ++++ ++ ❌ /root/.pwd NOT found. \e[0m\n"
|
||||||
# sleep 1
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ❌ Exiting Hook ... \e[0m\n"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ❌ Exiting Hook ... \e[0m\n"
|
||||||
# sleep 1
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' done. Nothing changed. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' done. Nothing changed. \e[0m\n" "${0}"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
@@ -38,7 +35,6 @@ sed -i "s|^user:[^:]*:\(.*\)|user:${safe_hashed_pwd}:\1|" /etc/shadow
|
|||||||
unset hashed_pwd safe_hashed_pwd
|
unset hashed_pwd safe_hashed_pwd
|
||||||
|
|
||||||
cat /etc/shadow
|
cat /etc/shadow
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
if shred -vfzu -n 5 /root/.pwd; then
|
if shred -vfzu -n 5 /root/.pwd; then
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Password file /root/.pwd: -vfzu -n 5 >> done. \e[0m\n"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Password file /root/.pwd: -vfzu -n 5 >> done. \e[0m\n"
|
||||||
@@ -47,7 +43,6 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,10 +9,9 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
cat << 'EOF' >| /etc/default/keyboard
|
cat << 'EOF' >| /etc/default/keyboard
|
||||||
XKBMODEL="pc105"
|
XKBMODEL="pc105"
|
||||||
@@ -25,7 +24,6 @@ EOF
|
|||||||
dpkg-reconfigure -f noninteractive keyboard-configuration
|
dpkg-reconfigure -f noninteractive keyboard-configuration
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
|
|||||||
@@ -9,10 +9,9 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
mkdir -p /var/log/chrony
|
mkdir -p /var/log/chrony
|
||||||
# See https://coresecret.eu/tutorials/debian-package-glossary/ for a brief description of the installed packages.
|
# See https://coresecret.eu/tutorials/debian-package-glossary/ for a brief description of the installed packages.
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
|
|||||||
@@ -9,25 +9,29 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
apt-get install -y acct
|
apt-get install -y acct
|
||||||
|
|
||||||
if [[ ! -d /etc/systemd/system/multi-user.target.wants ]]; then
|
if [[ ! -d /etc/systemd/system/multi-user.target.wants ]]; then
|
||||||
|
|
||||||
mkdir -p /etc/systemd/system/multi-user.target.wants
|
mkdir -p /etc/systemd/system/multi-user.target.wants
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ln -s /lib/systemd/system/acct.service /etc/systemd/system/multi-user.target.wants/acct.service; then
|
if ln -s /lib/systemd/system/acct.service /etc/systemd/system/multi-user.target.wants/acct.service; then
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ 'Process Accounting' enabled successful. \e[0m\n"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ 'Process Accounting' enabled successful. \e[0m\n"
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
printf "\e[91m++++ ++++ ++++ ++++ ++++ ++++ ++ ❌ 'Process Accounting' already enabled. \e[0m\n" >&2
|
printf "\e[91m++++ ++++ ++++ ++++ ++++ ++++ ++ ❌ 'Process Accounting' already enabled. \e[0m\n" >&2
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,10 +9,9 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
mkdir -p /root/.ciss/dlb/backup/update-motd.d
|
mkdir -p /root/.ciss/dlb/backup/update-motd.d
|
||||||
cp -af /etc/update-motd.d/* /root/.ciss/dlb/backup/update-motd.d
|
cp -af /etc/update-motd.d/* /root/.ciss/dlb/backup/update-motd.d
|
||||||
@@ -24,8 +23,7 @@ EOF
|
|||||||
|
|
||||||
chmod 0755 /etc/update-motd.d/10-uname
|
chmod 0755 /etc/update-motd.d/10-uname
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' successful applied. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' successfully applied. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,10 +9,9 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
declare -a search_dirs=("/etc/ssl/certs" "/usr/local/share/ca-certificates" "/usr/share/ca-certificates" "/etc/letsencrypt")
|
declare -a search_dirs=("/etc/ssl/certs" "/usr/local/share/ca-certificates" "/usr/share/ca-certificates" "/etc/letsencrypt")
|
||||||
declare backup_dir="/root/.ciss/dlb/backup/certificates"
|
declare backup_dir="/root/.ciss/dlb/backup/certificates"
|
||||||
@@ -27,17 +26,24 @@ declare -ax expired_certificates=()
|
|||||||
# search_dirs
|
# search_dirs
|
||||||
# dir
|
# dir
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# None
|
# None
|
||||||
#######################################
|
#######################################
|
||||||
create_backup() {
|
create_backup() {
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 Backup Certificate: '%s' ... \e[0m\n" "${backup_dir}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 Backup Certificate: '%s' ... \e[0m\n" "${backup_dir}"
|
||||||
|
|
||||||
mkdir -p "${backup_dir}"
|
mkdir -p "${backup_dir}"
|
||||||
declare dir=""
|
declare dir=""
|
||||||
|
|
||||||
for dir in "${search_dirs[@]}"; do
|
for dir in "${search_dirs[@]}"; do
|
||||||
if [ -d "${dir}" ] && compgen -G "${dir}"/* > /dev/null; then
|
|
||||||
|
if [[ -d "${dir}" ]] && compgen -G "${dir}"/* > /dev/null; then
|
||||||
|
|
||||||
cp -r "${dir}"/* "${backup_dir}"
|
cp -r "${dir}"/* "${backup_dir}"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Backup Certificate: '%s' done.\e[0m\n" "${backup_dir}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Backup Certificate: '%s' done.\e[0m\n" "${backup_dir}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -52,25 +58,32 @@ create_backup() {
|
|||||||
# EXPIRED_CERTIFICATES
|
# EXPIRED_CERTIFICATES
|
||||||
# SEARCH_DIRS
|
# SEARCH_DIRS
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# None
|
# None
|
||||||
#######################################
|
#######################################
|
||||||
check_certificates() {
|
check_certificates() {
|
||||||
declare dir=""
|
declare dir=""
|
||||||
declare cert=""
|
declare cert=""
|
||||||
declare cert_date=""
|
declare cert_date=""
|
||||||
declare cert_date_seconds=""
|
declare cert_date_seconds=""
|
||||||
|
|
||||||
for dir in "${search_dirs[@]}"; do
|
for dir in "${search_dirs[@]}"; do
|
||||||
|
|
||||||
|
# shellcheck disable=SC2312
|
||||||
while IFS= read -r -d '' cert; do
|
while IFS= read -r -d '' cert; do
|
||||||
|
|
||||||
cert_date=$(openssl x509 -in "${cert}" -noout -enddate | sed 's/notAfter=//')
|
cert_date=$(openssl x509 -in "${cert}" -noout -enddate | sed 's/notAfter=//')
|
||||||
cert_date_seconds=$(date -d "${cert_date}" +%s)
|
cert_date_seconds=$(date -d "${cert_date}" +%s)
|
||||||
|
|
||||||
if [[ ${cert_date_seconds} -lt ${current_date} ]]; then
|
if [[ ${cert_date_seconds} -lt ${current_date} ]]; then
|
||||||
|
|
||||||
declare -g expired_certificates+=("${cert}")
|
declare -g expired_certificates+=("${cert}")
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
done < <(find "${dir}" -type f \( -name "*.crt" -o -name "*.pem" \) -print0)
|
done < <(find "${dir}" -type f \( -name "*.crt" -o -name "*.pem" \) -print0)
|
||||||
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
# done < <(find "${dir}" -type f -name "*.crt" -o -name "*.pem" -print0)
|
|
||||||
# done < <(find "${DIR}" -type f \( -name "*.crt" -o -name "*.pem" \) -print0)
|
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# Find and clean all ca-certificates.crt files in SEARCH_DIRS.
|
# Find and clean all ca-certificates.crt files in SEARCH_DIRS.
|
||||||
@@ -80,13 +93,17 @@ check_certificates() {
|
|||||||
# cert
|
# cert
|
||||||
# line
|
# line
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# None
|
# None
|
||||||
#######################################
|
#######################################
|
||||||
delete_expired_from_all_bundles() {
|
delete_expired_from_all_bundles() {
|
||||||
declare dir bundle
|
declare dir bundle
|
||||||
|
|
||||||
for dir in "${search_dirs[@]}"; do
|
for dir in "${search_dirs[@]}"; do
|
||||||
|
|
||||||
bundle="${dir}/ca-certificates.crt"
|
bundle="${dir}/ca-certificates.crt"
|
||||||
|
|
||||||
if [[ -f ${bundle} ]]; then
|
if [[ -f ${bundle} ]]; then
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 Checking Root-CA Bundle: '%s' ...\e[0m\n" "${bundle}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 Checking Root-CA Bundle: '%s' ...\e[0m\n" "${bundle}"
|
||||||
declare tmp_bundle="${bundle}.tmp"
|
declare tmp_bundle="${bundle}.tmp"
|
||||||
declare -a block=()
|
declare -a block=()
|
||||||
@@ -97,33 +114,57 @@ delete_expired_from_all_bundles() {
|
|||||||
|
|
||||||
declare line=""
|
declare line=""
|
||||||
while IFS= read -r line; do
|
while IFS= read -r line; do
|
||||||
|
|
||||||
block+=("${line}")
|
block+=("${line}")
|
||||||
|
|
||||||
if [[ ${line} == "-----END CERTIFICATE-----" ]]; then
|
if [[ ${line} == "-----END CERTIFICATE-----" ]]; then
|
||||||
|
|
||||||
cert=$(printf "%s\n" "${block[@]}")
|
cert=$(printf "%s\n" "${block[@]}")
|
||||||
enddate=$(echo "${cert}" | openssl x509 -noout -enddate 2> /dev/null | sed 's/notAfter=//')
|
enddate=$(echo "${cert}" | openssl x509 -noout -enddate 2> /dev/null | sed 's/notAfter=//')
|
||||||
|
|
||||||
if [[ -n ${enddate} ]]; then
|
if [[ -n ${enddate} ]]; then
|
||||||
|
|
||||||
declare cert_date_seconds=""
|
declare cert_date_seconds=""
|
||||||
cert_date_seconds=$(date -d "${enddate}" +%s)
|
cert_date_seconds=$(date -d "${enddate}" +%s)
|
||||||
|
|
||||||
if [[ ${cert_date_seconds} -lt ${current_date} ]]; then
|
if [[ ${cert_date_seconds} -lt ${current_date} ]]; then
|
||||||
|
|
||||||
expired=1
|
expired=1
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
expired=0
|
expired=0
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
expired=0
|
expired=0
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ${expired} -eq 0 ]]; then
|
if [[ ${expired} -eq 0 ]]; then
|
||||||
|
|
||||||
printf "%s\n" "${block[@]}" >> "${tmp_bundle}"
|
printf "%s\n" "${block[@]}" >> "${tmp_bundle}"
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Certificate deleted: '%s' (Expired: %s)\e[0m\n" "${bundle}" "${enddate}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Certificate deleted: '%s' (Expired: %s)\e[0m\n" "${bundle}" "${enddate}"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
block=()
|
block=()
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
done < "${bundle}"
|
done < "${bundle}"
|
||||||
|
|
||||||
mv -f "${tmp_bundle}" "${bundle}"
|
mv -f "${tmp_bundle}" "${bundle}"
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Checking Root-CA Bundle: '%s' done. \e[0m\n" "${bundle}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Checking Root-CA Bundle: '%s' done. \e[0m\n" "${bundle}"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,30 +182,38 @@ else
|
|||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 Expired certificates found:\e[0m\n"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 Expired certificates found:\e[0m\n"
|
||||||
|
|
||||||
for exp_cert in "${expired_certificates[@]}"; do
|
for exp_cert in "${expired_certificates[@]}"; do
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ '%s'. \e[0m\n" "${exp_cert}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ '%s'. \e[0m\n" "${exp_cert}"
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
for exp_cert in "${expired_certificates[@]}"; do
|
for exp_cert in "${expired_certificates[@]}"; do
|
||||||
|
|
||||||
rm -f "${exp_cert}"
|
rm -f "${exp_cert}"
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Certificate deleted: '%s'.\e[0m\n" "${exp_cert}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Certificate deleted: '%s'.\e[0m\n" "${exp_cert}"
|
||||||
basename=$(basename "${exp_cert}")
|
basename=$(basename "${exp_cert}")
|
||||||
mozilla_entry="mozilla/${basename%.pem}.crt"
|
mozilla_entry="mozilla/${basename%.pem}.crt"
|
||||||
mozilla_entry="${mozilla_entry%.crt}.crt"
|
mozilla_entry="${mozilla_entry%.crt}.crt"
|
||||||
declare ca_conf="/etc/ca-certificates.conf"
|
declare ca_conf="/etc/ca-certificates.conf"
|
||||||
|
|
||||||
if grep -Fxq "${mozilla_entry}" "${ca_conf}"; then
|
if grep -Fxq "${mozilla_entry}" "${ca_conf}"; then
|
||||||
|
|
||||||
sed -i "s|^${mozilla_entry}$|#${mozilla_entry}|" "${ca_conf}"
|
sed -i "s|^${mozilla_entry}$|#${mozilla_entry}|" "${ca_conf}"
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Entry in ca-certificates.conf deselected: '#%s'.\e[0m\n" "${mozilla_entry}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Entry in ca-certificates.conf deselected: '#%s'.\e[0m\n" "${mozilla_entry}"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Updating the certificate cache ... \e[0m\n"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Updating the certificate cache ... \e[0m\n"
|
||||||
update-ca-certificates --fresh
|
update-ca-certificates --fresh
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Updating the certificate cache done.\e[0m\n"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Updating the certificate cache done.\e[0m\n"
|
||||||
# sleep 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,17 +9,18 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
cd /etc/ssh || {
|
cd /etc/ssh || {
|
||||||
printf "\e[91mm++++ ++++ ++++ ++++ ++++ ++++ ++ Could not find /etc/ssh \e[0m\n"
|
printf "\e[91mm++++ ++++ ++++ ++++ ++++ ++++ ++ Could not find /etc/ssh \e[0m\n"
|
||||||
}
|
}
|
||||||
rm -rf ssh_host_*key*
|
rm -rf ssh_host_*key*
|
||||||
|
|
||||||
|
# shellcheck disable=SC2312
|
||||||
ssh-keygen -o -N "" -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -C "root@live-$(date -I)"
|
ssh-keygen -o -N "" -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -C "root@live-$(date -I)"
|
||||||
|
# shellcheck disable=SC2312
|
||||||
ssh-keygen -o -N "" -t rsa -b 8192 -f /etc/ssh/ssh_host_rsa_key -C "root@live-$(date -I)"
|
ssh-keygen -o -N "" -t rsa -b 8192 -f /etc/ssh/ssh_host_rsa_key -C "root@live-$(date -I)"
|
||||||
|
|
||||||
awk '$5 >= 4000' /etc/ssh/moduli >| /etc/ssh/moduli.safe
|
awk '$5 >= 4000' /etc/ssh/moduli >| /etc/ssh/moduli.safe
|
||||||
@@ -44,7 +45,26 @@ ssh-keygen -r @ >| /root/sshfp
|
|||||||
# The chmod +x command ensures that the file is executed in every shell session. #
|
# The chmod +x command ensures that the file is executed in every shell session. #
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
cat << 'EOF' >| /etc/profile.d/idle-users.sh
|
cat << 'EOF' >| /etc/profile.d/idle-users.sh
|
||||||
declare -girx TMOUT=14400
|
# SPDX-Version: 3.0
|
||||||
|
# SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
|
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
||||||
|
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
||||||
|
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
|
# SPDX-FileType: SOURCE
|
||||||
|
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
|
||||||
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
|
# SPDX-PackageName: CISS.debian.live.builder
|
||||||
|
# SPDX-Security-Contact: security@coresecret.eu
|
||||||
|
|
||||||
|
case $- in
|
||||||
|
*i*)
|
||||||
|
TMOUT=14400
|
||||||
|
export TMOUT
|
||||||
|
readonly TMOUT
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
chmod +x /etc/profile.d/idle-users.sh
|
chmod +x /etc/profile.d/idle-users.sh
|
||||||
@@ -58,7 +78,6 @@ EOF
|
|||||||
chmod 0644 /etc/systemd/system/ssh.service.d/override.conf
|
chmod 0644 /etc/systemd/system/ssh.service.d/override.conf
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
93
config/hooks/live/9935_hardening_ssh.chroot.tmpl
Normal file
93
config/hooks/live/9935_hardening_ssh.chroot.tmpl
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# SPDX-Version: 3.0
|
||||||
|
# SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
|
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
||||||
|
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
||||||
|
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
|
# SPDX-FileType: SOURCE
|
||||||
|
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
|
||||||
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
|
# SPDX-PackageName: CISS.debian.live.builder
|
||||||
|
# SPDX-Security-Contact: security@coresecret.eu
|
||||||
|
set -Ceuo pipefail
|
||||||
|
|
||||||
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
|
|
||||||
|
cd /etc/ssh || {
|
||||||
|
printf "\e[91mm++++ ++++ ++++ ++++ ++++ ++++ ++ Could not find /etc/ssh \e[0m\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
cat << 'EOF' >| ssh_host_ed25519_key
|
||||||
|
{{ secrets.CISS_DLB_SSH_HOST_ED25519_KEY }}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat << 'EOF' >| ssh_host_ed25519_key.pub
|
||||||
|
{{ secrets.CISS_DLB_SSH_HOST_ED25519_KEY_PUB }}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat << 'EOF' >| ssh_host_rsa_key
|
||||||
|
{{ secrets.CISS_DLB_SSH_HOST_RSA_KEY }}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat << 'EOF' >| ssh_host_rsa_key.pub
|
||||||
|
{{ secrets.CISS_DLB_SSH_HOST_RSA_KEY_PUB }}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
awk '$5 >= 4000' /etc/ssh/moduli >| /etc/ssh/moduli.safe
|
||||||
|
rm -rf /etc/ssh/moduli
|
||||||
|
mv /etc/ssh/moduli.safe /etc/ssh/moduli
|
||||||
|
|
||||||
|
chmod 0600 /etc/ssh/ssh_host_*_key
|
||||||
|
chown root:root /etc/ssh/ssh_host_*_key
|
||||||
|
chmod 0644 /etc/ssh/ssh_host_*_key.pub
|
||||||
|
chown root:root /etc/ssh/ssh_host_*_key.pub
|
||||||
|
|
||||||
|
chmod 600 /etc/ssh/sshd_config /etc/ssh/ssh_config
|
||||||
|
|
||||||
|
touch /root/sshfp
|
||||||
|
ssh-keygen -r @ >| /root/sshfp
|
||||||
|
|
||||||
|
###########################################################################################
|
||||||
|
# Remarks: The file /etc/profile.d/idle-users.sh is created to set two read-only #
|
||||||
|
# environment variables: TMOUT and HISTFILE. #
|
||||||
|
# TMOUT=14400 ensures that users are automatically logged out after 4 hours of inactivity.#
|
||||||
|
# readonly HISTFILE ensures that the command history cannot be changed. #
|
||||||
|
# The chmod +x command ensures that the file is executed in every shell session. #
|
||||||
|
###########################################################################################
|
||||||
|
cat << 'EOF' >| /etc/profile.d/idle-users.sh
|
||||||
|
# SPDX-Version: 3.0
|
||||||
|
# SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
|
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
||||||
|
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
||||||
|
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
|
# SPDX-FileType: SOURCE
|
||||||
|
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
|
||||||
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
|
# SPDX-PackageName: CISS.debian.live.builder
|
||||||
|
# SPDX-Security-Contact: security@coresecret.eu
|
||||||
|
|
||||||
|
case $- in
|
||||||
|
*i*)
|
||||||
|
TMOUT=14400
|
||||||
|
export TMOUT
|
||||||
|
readonly TMOUT
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chmod +x /etc/profile.d/idle-users.sh
|
||||||
|
|
||||||
|
mkdir -p /etc/systemd/system/ssh.service.d
|
||||||
|
cat << 'EOF' >| /etc/systemd/system/ssh.service.d/override.conf
|
||||||
|
[Unit]
|
||||||
|
After=ufw.service
|
||||||
|
Requires=ufw.service
|
||||||
|
EOF
|
||||||
|
chmod 0644 /etc/systemd/system/ssh.service.d/override.conf
|
||||||
|
|
||||||
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh
|
||||||
@@ -9,18 +9,23 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
cp -u /etc/security/limits.conf /root/.ciss/dlb/backup/limits.conf.bak
|
cp -u /etc/security/limits.conf /root/.ciss/dlb/backup/limits.conf.bak
|
||||||
chmod 0644 /root/.ciss/dlb/backup/limits.conf.bak
|
chmod 0644 /root/.ciss/dlb/backup/limits.conf.bak
|
||||||
sed -i "/#* soft core 0/ i\* soft core 0" /etc/security/limits.conf
|
|
||||||
sed -i "/#root hard core 100000/ i\* hard core 0" /etc/security/limits.conf
|
grep -Eq '^[[:space:]]*\*[[:space:]]+soft[[:space:]]+core[[:space:]]+0[[:space:]]*$' /etc/security/limits.conf \
|
||||||
|
|| sed -i -E '/^[[:space:]]*#?[[:space:]]*soft[[:space:]]+core[[:space:]]+0[[:space:]]*$/ i\* soft core 0' /etc/security/limits.conf
|
||||||
|
|
||||||
|
grep -Eq '^[[:space:]]*\*[[:space:]]+hard[[:space:]]+core[[:space:]]+0[[:space:]]*$' /etc/security/limits.conf \
|
||||||
|
|| sed -i -E '/^[[:space:]]*#?[[:space:]]*root[[:space:]]+hard[[:space:]]+core[[:space:]]+100000[[:space:]]*$/ i\* hard core 0' /etc/security/limits.conf
|
||||||
|
|
||||||
if [[ ! -d /etc/systemd/coredump.conf.d ]]; then
|
if [[ ! -d /etc/systemd/coredump.conf.d ]]; then
|
||||||
|
|
||||||
mkdir -p /etc/systemd/coredump.conf.d
|
mkdir -p /etc/systemd/coredump.conf.d
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
touch /etc/systemd/coredump.conf.d/disable.conf
|
touch /etc/systemd/coredump.conf.d/disable.conf
|
||||||
@@ -31,7 +36,6 @@ Storage=none
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,10 +9,9 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
cd /root
|
cd /root
|
||||||
|
|
||||||
@@ -142,7 +141,6 @@ touch /var/log/fail2ban/fail2ban.log
|
|||||||
chmod 640 /var/log/fail2ban/fail2ban.log
|
chmod 640 /var/log/fail2ban/fail2ban.log
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,10 +9,9 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# Remarks: Turn off Energy saving mode and ctrl-alt-del #
|
# Remarks: Turn off Energy saving mode and ctrl-alt-del #
|
||||||
@@ -25,7 +24,6 @@ done
|
|||||||
unset target
|
unset target
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,24 +9,20 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
cd /etc
|
cd /etc
|
||||||
|
|
||||||
apt-get purge exim4 -y
|
apt-get purge exim4 exim4-base exim4-config -y
|
||||||
apt-get purge exim4-base -y
|
|
||||||
apt-get purge exim4-config -y
|
|
||||||
|
|
||||||
apt-get autoremove -y
|
apt-get autoremove -y
|
||||||
apt-get autoclean -y
|
apt-get autoclean -y
|
||||||
apt-get autopurge -y
|
apt-get autopurge -y
|
||||||
|
|
||||||
apt-mark hold exim4 exim4-daemon-light exim4-base exim4-config
|
apt-mark hold exim4 exim4-daemon-light exim4-base exim4-config
|
||||||
|
|
||||||
apt-get update -y
|
apt-get update
|
||||||
apt-get upgrade -y
|
apt-get upgrade -y
|
||||||
|
|
||||||
if [[ -d /etc/exim4 ]]; then
|
if [[ -d /etc/exim4 ]]; then
|
||||||
@@ -34,7 +30,6 @@ if [[ -d /etc/exim4 ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,37 +9,36 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
apt-get install -y usbguard
|
apt-get install -y usbguard
|
||||||
|
|
||||||
# sleep 1
|
### Preparing USBGuard: see https://www.privacy-handbuch.de/handbuch_91a.htm
|
||||||
|
|
||||||
# Preparing USBGuard: see https://www.privacy-handbuch.de/handbuch_91a.htm
|
|
||||||
touch /tmp/rules.conf
|
touch /tmp/rules.conf
|
||||||
usbguard generate-policy >> /tmp/rules.conf
|
usbguard generate-policy >> /tmp/rules.conf
|
||||||
|
|
||||||
if [[ -f /etc/usbguard/rules.conf && -s /etc/usbguard/rules.conf ]]; then
|
if [[ -f /etc/usbguard/rules.conf && -s /etc/usbguard/rules.conf ]]; then
|
||||||
|
|
||||||
mv /etc/usbguard/rules.conf /root/.ciss/dlb/backup/usbguard_rules.conf.bak
|
mv /etc/usbguard/rules.conf /root/.ciss/dlb/backup/usbguard_rules.conf.bak
|
||||||
cp -a /tmp/rules.conf /etc/usbguard/rules.conf
|
cp -a /tmp/rules.conf /etc/usbguard/rules.conf
|
||||||
chmod 0600 /etc/usbguard/rules.conf
|
chmod 0600 /etc/usbguard/rules.conf
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
rm -f /etc/usbguard/rules.conf
|
rm -f /etc/usbguard/rules.conf
|
||||||
cp -a /tmp/rules.conf /etc/usbguard/rules.conf
|
cp -a /tmp/rules.conf /etc/usbguard/rules.conf
|
||||||
chmod 0600 /etc/usbguard/rules.conf
|
chmod 0600 /etc/usbguard/rules.conf
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cp -a /etc/usbguard/usbguard-daemon.conf /root/.ciss/dlb/backup/usbguard-daemon.conf.bak
|
cp -a /etc/usbguard/usbguard-daemon.conf /root/.ciss/dlb/backup/usbguard-daemon.conf.bak
|
||||||
sed -i "s/PresentDevicePolicy=apply-policy/PresentDevicePolicy=allow/" /etc/usbguard/usbguard-daemon.conf
|
#sed -i "s/PresentDevicePolicy=apply-policy/PresentDevicePolicy=allow/" /etc/usbguard/usbguard-daemon.conf
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
rm -f /tmp/rules.conf
|
rm -f /tmp/rules.conf
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,10 +9,9 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
mkdir -p /etc/systemd/system/clamav-daemon.service.d
|
mkdir -p /etc/systemd/system/clamav-daemon.service.d
|
||||||
cat << 'EOF' >| /etc/systemd/system/clamav-daemon.service.d/override.conf
|
cat << 'EOF' >| /etc/systemd/system/clamav-daemon.service.d/override.conf
|
||||||
@@ -71,7 +70,6 @@ EOF
|
|||||||
chmod 0644 /etc/systemd/system/clamav-freshclam.service.d/override.conf
|
chmod 0644 /etc/systemd/system/clamav-freshclam.service.d/override.conf
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,39 +9,43 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
apt-get update -y
|
apt-get update
|
||||||
|
|
||||||
apt-get purge -y exim4 exim4-daemon-light exim4-base exim4-config qemu-guest-agent rmail
|
apt-get purge -y exim4 exim4-daemon-light exim4-base exim4-config qemu-guest-agent rmail
|
||||||
#sendmail-base sendmail-bin sendmail-cf sensible-mda sendmail-doc
|
|
||||||
|
|
||||||
apt-mark hold exim4 exim4-daemon-light exim4-base exim4-config qemu-guest-agent rmail
|
apt-mark hold exim4 exim4-daemon-light exim4-base exim4-config qemu-guest-agent rmail
|
||||||
#sendmail-base sendmail-bin sendmail-cf sensible-mda sendmail-doc
|
|
||||||
|
|
||||||
dpkg --get-selections | grep deinstall >| /tmp/deinstall.log || true
|
dpkg --get-selections | grep deinstall >| /tmp/deinstall.log || true
|
||||||
|
|
||||||
if [[ -s /tmp/deinstall.log ]]; then
|
if [[ -s /tmp/deinstall.log ]]; then
|
||||||
|
|
||||||
printf "\n"
|
printf "\n"
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 Packages to purge ... \e[0m\n"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 Packages to purge ... \e[0m\n"
|
||||||
sed -i 's!deinstall!!' /tmp/deinstall.log
|
sed -i 's!deinstall!!' /tmp/deinstall.log
|
||||||
|
|
||||||
while IFS= read -r line; do
|
while IFS= read -r line; do
|
||||||
|
|
||||||
declare trimmed_string
|
declare trimmed_string
|
||||||
trimmed_string=$(echo "$line" | awk '{$1=$1};1')
|
trimmed_string=$(echo "${line}" | awk '{$1=$1};1')
|
||||||
echo "y" | apt-get purge "${trimmed_string}"
|
echo "y" | apt-get purge "${trimmed_string}"
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Package '%s' purged. \e[0m\n" "${trimmed_string}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Package '%s' purged. \e[0m\n" "${trimmed_string}"
|
||||||
# sleep 1
|
|
||||||
done < /tmp/deinstall.log
|
done < /tmp/deinstall.log
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Packages to purge done. \e[0m\n"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Packages to purge done. \e[0m\n"
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
printf "\n"
|
printf "\n"
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ No Packages to purge, proceeding with clean up. \e[0m\n"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ No Packages to purge, proceeding with clean up. \e[0m\n"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
apt-get update -y
|
apt-get update
|
||||||
apt-get upgrade -y
|
apt-get upgrade -y
|
||||||
|
|
||||||
rm -f /tmp/deinstall.log
|
rm -f /tmp/deinstall.log
|
||||||
@@ -52,8 +56,7 @@ apt-get autopurge -y
|
|||||||
|
|
||||||
updatedb
|
updatedb
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' successful applied. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' successfully applied. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,10 +9,9 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
chmod 0644 /etc/banner
|
chmod 0644 /etc/banner
|
||||||
chmod 0644 /etc/issue
|
chmod 0644 /etc/issue
|
||||||
@@ -99,8 +98,16 @@ for bin in as gcc g++ cc clang; do
|
|||||||
done
|
done
|
||||||
unset bin target
|
unset bin target
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' successful applied. \e[0m\n" "${0}"
|
### Directories: 0700
|
||||||
# sleep 1
|
find /root -type d -exec chmod 0700 {} +
|
||||||
|
### Executable files: 0700 (any x-bit set)
|
||||||
|
find /root -type f -perm /111 -exec chmod 0700 {} +
|
||||||
|
### Non-executable files: 0600
|
||||||
|
find /root -type f ! -perm /111 -exec chmod 0600 {} +
|
||||||
|
### Ownership: UID:GID (do not dereference symlinks; stay on this filesystem)
|
||||||
|
find /root -xdev -exec chown -h root:root {} +
|
||||||
|
|
||||||
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' successfully applied. \e[0m\n" "${0}"
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,34 +9,38 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
if ! command -v chage &>/dev/null; then
|
if ! command -v chage &>/dev/null; then
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Info: 'chage' NOT found. Exiting hook ... \e[0m\n"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Info: 'chage' NOT found. Exiting hook ... \e[0m\n"
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
declare -i max_days=16384
|
declare -i max_days=16384
|
||||||
|
# shellcheck disable=SC2312
|
||||||
mapfile -t users_to_update < <(
|
mapfile -t users_to_update < <(
|
||||||
awk -F: '$2 !~ /^[!*]/ { print $1 }' /etc/shadow
|
awk -F: '$2 !~ /^[!*]/ { print $1 }' /etc/shadow
|
||||||
)
|
)
|
||||||
|
|
||||||
if [[ ${#users_to_update[@]} -eq 0 ]]; then
|
if [[ ${#users_to_update[@]} -eq 0 ]]; then
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ No enabled-login accounts found in /etc/shadow. Exiting hook ... \e[0m\n"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ No enabled-login accounts found in /etc/shadow. Exiting hook ... \e[0m\n"
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
declare user
|
declare user
|
||||||
for user in "${users_to_update[@]}"; do
|
for user in "${users_to_update[@]}"; do
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Setting max password age for user '%s' to '%s' days. \e[0m\n" "${user}" "${max_days}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Setting max password age for user '%s' to '%s' days. \e[0m\n" "${user}" "${max_days}"
|
||||||
chage --maxdays "$max_days" "$user"
|
chage --maxdays "${max_days}" "${user}"
|
||||||
done
|
done
|
||||||
|
|
||||||
unset max_days user users_to_update
|
unset max_days user users_to_update
|
||||||
@@ -46,7 +50,6 @@ awk -F: '$2 !~ /^\$[0-9]/ && length($2)==13 { print $1,$2 }' /etc/shadow
|
|||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ All applicable accounts have been updated. \e[0m\n"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ All applicable accounts have been updated. \e[0m\n"
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,10 +9,9 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
apt-get install -y aide > /dev/null 2>&1
|
apt-get install -y aide > /dev/null 2>&1
|
||||||
|
|
||||||
@@ -20,13 +19,16 @@ cp -u /etc/aide/aide.conf /root/.ciss/dlb/backup/aide.conf.bak
|
|||||||
sed -i "s/Checksums = H/Checksums = sha512/" /etc/aide/aide.conf
|
sed -i "s/Checksums = H/Checksums = sha512/" /etc/aide/aide.conf
|
||||||
|
|
||||||
if aideinit > /dev/null 2>&1; then
|
if aideinit > /dev/null 2>&1; then
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ 'aideinit' successful. \e[0m\n"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ 'aideinit' successful. \e[0m\n"
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
printf "\e[91m++++ ++++ ++++ ++++ ++++ ++++ ++ ❌ 'aideinit' NOT successful. \e[0m\n" >&2
|
printf "\e[91m++++ ++++ ++++ ++++ ++++ ++++ ++ ❌ 'aideinit' NOT successful. \e[0m\n" >&2
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -13,17 +13,19 @@
|
|||||||
### NIST recommends at least eight characters but advises longer passphrases (e.g., 12-64) for increased security.
|
### NIST recommends at least eight characters but advises longer passphrases (e.g., 12-64) for increased security.
|
||||||
### NIST SP 800-63B, https://pages.nist.gov/800-63-3/sp800-63b.html
|
### NIST SP 800-63B, https://pages.nist.gov/800-63-3/sp800-63b.html
|
||||||
|
|
||||||
set -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
# shellcheck disable=SC2155
|
||||||
|
declare -r VAR_DATE="$(date +%F)"
|
||||||
|
|
||||||
cp -a /etc/security/pwquality.conf /root/.ciss/dlb/backup/pwquality.conf.bak
|
cp -a /etc/security/pwquality.conf /root/.ciss/dlb/backup/pwquality.conf.bak
|
||||||
chmod 0644 /root/.ciss/dlb/backup/pwquality.conf.bak
|
chmod 0644 /root/.ciss/dlb/backup/pwquality.conf.bak
|
||||||
|
|
||||||
cat << 'EOF' >| /etc/security/pwquality.conf
|
cat << EOF >| /etc/security/pwquality.conf
|
||||||
# SPDX-Version: 3.0
|
# SPDX-Version: 3.0
|
||||||
# SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; <msw@coresecret.dev>
|
# SPDX-CreationInfo: ${VAR_DATE}; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
||||||
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
||||||
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
@@ -129,7 +131,6 @@ local_users_only
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,15 +9,13 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
sed -i 's#^\(ENABLED=\).*#\1"true"#' /etc/default/sysstat
|
sed -i 's#^\(ENABLED=\).*#\1"true"#' /etc/default/sysstat
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -12,10 +12,9 @@
|
|||||||
|
|
||||||
### https://github.com/linux-audit/audit-userspace/tree/master/rules
|
### https://github.com/linux-audit/audit-userspace/tree/master/rules
|
||||||
|
|
||||||
set -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
cd /root
|
cd /root
|
||||||
|
|
||||||
|
|||||||
@@ -9,10 +9,9 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
cd /root
|
cd /root
|
||||||
|
|
||||||
@@ -30,7 +29,6 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
@@ -9,10 +9,12 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
# shellcheck disable=SC2155
|
||||||
|
declare -r VAR_DATE="$(date +%F)"
|
||||||
|
|
||||||
cd /root
|
cd /root
|
||||||
|
|
||||||
@@ -22,7 +24,7 @@ fi
|
|||||||
|
|
||||||
cat << 'EOF' >| /etc/apt/sources.list
|
cat << 'EOF' >| /etc/apt/sources.list
|
||||||
# SPDX-Version: 3.0
|
# SPDX-Version: 3.0
|
||||||
# SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
# SPDX-CreationInfo: ${VAR_DATE}; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
||||||
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
|
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
|
||||||
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
||||||
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
||||||
|
|||||||
@@ -9,10 +9,12 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
# shellcheck disable=SC2155
|
||||||
|
declare -r VAR_DATE="$(date +%F)"
|
||||||
|
|
||||||
cd /root
|
cd /root
|
||||||
|
|
||||||
@@ -29,7 +31,7 @@ EOF
|
|||||||
if [[ ! -f /etc/apt/sources.list.d/trixie.sources ]]; then
|
if [[ ! -f /etc/apt/sources.list.d/trixie.sources ]]; then
|
||||||
cat << EOF >| /etc/apt/sources.list.d/trixie.sources
|
cat << EOF >| /etc/apt/sources.list.d/trixie.sources
|
||||||
# SPDX-Version: 3.0
|
# SPDX-Version: 3.0
|
||||||
# SPDX-CreationInfo: 2025-08-11; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
# SPDX-CreationInfo: ${VAR_DATE}; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
||||||
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
|
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
|
||||||
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
||||||
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
||||||
@@ -52,7 +54,7 @@ fi
|
|||||||
if [[ ! -f /etc/apt/sources.list.d/trixie-security.sources ]]; then
|
if [[ ! -f /etc/apt/sources.list.d/trixie-security.sources ]]; then
|
||||||
cat << EOF >| /etc/apt/sources.list.d/trixie-security.sources
|
cat << EOF >| /etc/apt/sources.list.d/trixie-security.sources
|
||||||
# SPDX-Version: 3.0
|
# SPDX-Version: 3.0
|
||||||
# SPDX-CreationInfo: 2025-08-11; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
# SPDX-CreationInfo: ${VAR_DATE}; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
||||||
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
|
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
|
||||||
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
||||||
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
||||||
@@ -75,7 +77,7 @@ fi
|
|||||||
if [[ ! -f /etc/apt/sources.list.d/trixie-updates.sources ]]; then
|
if [[ ! -f /etc/apt/sources.list.d/trixie-updates.sources ]]; then
|
||||||
cat << EOF >| /etc/apt/sources.list.d/trixie-updates.sources
|
cat << EOF >| /etc/apt/sources.list.d/trixie-updates.sources
|
||||||
# SPDX-Version: 3.0
|
# SPDX-Version: 3.0
|
||||||
# SPDX-CreationInfo: 2025-08-11; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
# SPDX-CreationInfo: ${VAR_DATE}; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
||||||
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
|
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
|
||||||
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
||||||
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
||||||
@@ -99,7 +101,7 @@ fi
|
|||||||
if [[ ! -f /etc/apt/sources.list.d/trixie-backports.sources ]]; then
|
if [[ ! -f /etc/apt/sources.list.d/trixie-backports.sources ]]; then
|
||||||
cat << EOF >| /etc/apt/sources.list.d/trixie-backports.sources
|
cat << EOF >| /etc/apt/sources.list.d/trixie-backports.sources
|
||||||
# SPDX-Version: 3.0
|
# SPDX-Version: 3.0
|
||||||
# SPDX-CreationInfo: 2025-08-11; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
# SPDX-CreationInfo: ${VAR_DATE}; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
||||||
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
|
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
|
||||||
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
||||||
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
|
||||||
@@ -120,7 +122,6 @@ EOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
|
|||||||
@@ -9,17 +9,19 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
# shellcheck disable=SC2155
|
||||||
|
declare -r VAR_DATE="$(date +%F)"
|
||||||
|
|
||||||
mv /etc/network/interfaces /root/.ciss/dlb/backup/interfaces.chroot
|
mv /etc/network/interfaces /root/.ciss/dlb/backup/interfaces.chroot
|
||||||
rm -f /etc/network/interfaces
|
rm -f /etc/network/interfaces
|
||||||
|
|
||||||
cat << 'EOF' >| /etc/network/interfaces
|
cat << EOF >| /etc/network/interfaces
|
||||||
# SPDX-Version: 3.0
|
# SPDX-Version: 3.0
|
||||||
# SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; <msw@coresecret.dev>
|
# SPDX-CreationInfo: ${VAR_DATE}; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
|
||||||
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
||||||
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||||
@@ -32,6 +34,9 @@ cat << 'EOF' >| /etc/network/interfaces
|
|||||||
# This file describes the network interfaces available on your system
|
# This file describes the network interfaces available on your system
|
||||||
# and how to activate them. For more information, see interfaces(5).
|
# and how to activate them. For more information, see interfaces(5).
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat << 'EOF' >> /etc/network/interfaces
|
||||||
### The loopback network interface
|
### The loopback network interface
|
||||||
auto lo
|
auto lo
|
||||||
iface lo inet loopback
|
iface lo inet loopback
|
||||||
@@ -59,7 +64,6 @@ EOF
|
|||||||
chmod 0644 /etc/network/interfaces
|
chmod 0644 /etc/network/interfaces
|
||||||
|
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
|
||||||
# sleep 1
|
|
||||||
|
|
||||||
exit 0
|
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
|
||||||
@@ -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.13.008.2025.08.22
|
### Version Master V8.13.064.2025.10.07
|
||||||
|
|
||||||
### 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
|
||||||
|
|||||||
@@ -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.13.008.2025.08.22
|
### Version Master V8.13.064.2025.10.07
|
||||||
|
|
||||||
### https://docs.kernel.org/
|
### https://docs.kernel.org/
|
||||||
### https://github.com/a13xp0p0v/kernel-hardening-checker/
|
### https://github.com/a13xp0p0v/kernel-hardening-checker/
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
||||||
# 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 -C -e -u -o pipefail
|
set -Ceuo pipefail
|
||||||
|
|
||||||
# The example names get mapped to their roles here
|
# The example names get mapped to their roles here
|
||||||
declare timestamp
|
declare timestamp
|
||||||
|
|||||||
@@ -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.13.008.2025.08.22"
|
declare -gr VERSION="Master V8.13.064.2025.10.07"
|
||||||
|
|
||||||
### VERY EARLY CHECK FOR DEBUGGING
|
### VERY EARLY CHECK FOR DEBUGGING
|
||||||
if [[ $* == *" --debug "* ]]; then
|
if [[ $* == *" --debug "* ]]; then
|
||||||
|
|||||||
@@ -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.13.008.2025.08.22 at: 10:18:37.9542
|
# Written by: ./preseed_hash_generator.sh Version: Master V8.13.064.2025.10.07 at: 10:18:37.9542
|
||||||
|
|||||||
@@ -11,8 +11,8 @@
|
|||||||
|
|
||||||
[[ $- != *i* ]] && return
|
[[ $- != *i* ]] && return
|
||||||
|
|
||||||
### Never use errexit/pipefail in interactive shells
|
### Never use 'errexit' | 'nounset' | 'pipefail' in interactive shells.
|
||||||
set +o errexit +o pipefail
|
set +o errexit +o nounset +o pipefail
|
||||||
|
|
||||||
trap ' "${SHELL}" /root/.ciss/clean_logout.sh ' EXIT
|
trap ' "${SHELL}" /root/.ciss/clean_logout.sh ' EXIT
|
||||||
source /root/.ciss/alias
|
source /root/.ciss/alias
|
||||||
@@ -20,9 +20,6 @@ source /root/.ciss/f2bchk.sh
|
|||||||
source /root/.ciss/shortcuts
|
source /root/.ciss/shortcuts
|
||||||
source /root/.ciss/scan_libwrap
|
source /root/.ciss/scan_libwrap
|
||||||
|
|
||||||
### Never use 'errexit' | 'nounset' | 'pipefail' in interactive shells.
|
|
||||||
set +o errexit +o nounset +o pipefail
|
|
||||||
|
|
||||||
### History
|
### History
|
||||||
touch /tmp/.bash_history
|
touch /tmp/.bash_history
|
||||||
chmod 0660 /tmp/.bash_history
|
chmod 0660 /tmp/.bash_history
|
||||||
@@ -62,23 +59,15 @@ alias cp="cp -iv"
|
|||||||
alias mv='mv -iv'
|
alias mv='mv -iv'
|
||||||
alias rm='rm -iv'
|
alias rm='rm -iv'
|
||||||
|
|
||||||
### 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.
|
### Welcome message after login.
|
||||||
#printf "\n"
|
printf "%b" "${NL}"
|
||||||
#printf "%s🔐 Coresecret Channel Established. %s%s" "${CRED}" "${CRES}" "${NL}"
|
printf "%b🔐 Coresecret Channel Established. %b%b" "${CRED}" "${CRES}" "${NL}"
|
||||||
#printf "%s✅ Welcome back %s " "${CGRE}" "${CRES}"
|
printf "%b✅ Welcome back %b " "${CGRE}" "${CRES}"
|
||||||
#printf "%s'%s'%s" "${CMAG}" "${USER}" "${CRES}"
|
printf "%b'%s'%b" "${CMAG}" "${USER}" "${CRES}"
|
||||||
#printf "%s! Type%s " "${CGRE}" "${CRES}"
|
printf "%b! Type%b" "${CGRE}" "${CRES}"
|
||||||
#printf "%s'celp'%s " "${CMAG}" "${CRES}"
|
printf "%b 'celp'%b" "${CMAG}" "${CRES}"
|
||||||
#printf "%sfor shortcuts. %s%s" "${CGRE}" "${CRES}" "${NL}"
|
printf "%b for shortcuts. %b%b" "${CGRE}" "${CRES}" "${NL}"
|
||||||
#printf "\n"
|
printf "%b" "${NL}"
|
||||||
#printf "\n"
|
printf "%b" "${NL}"
|
||||||
|
|
||||||
# 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
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ bash-completion
|
|||||||
bat
|
bat
|
||||||
bc
|
bc
|
||||||
bind9-dnsutils
|
bind9-dnsutils
|
||||||
|
bison
|
||||||
bsdmainutils
|
bsdmainutils
|
||||||
btrfs-progs
|
btrfs-progs
|
||||||
build-essential
|
build-essential
|
||||||
@@ -28,6 +29,7 @@ bzip2
|
|||||||
ca-certificates
|
ca-certificates
|
||||||
clamav
|
clamav
|
||||||
clamav-daemon
|
clamav-daemon
|
||||||
|
clang-18
|
||||||
console-setup
|
console-setup
|
||||||
cpuid
|
cpuid
|
||||||
cryptsetup
|
cryptsetup
|
||||||
@@ -47,6 +49,7 @@ dirmngr
|
|||||||
dmsetup
|
dmsetup
|
||||||
dnsviz
|
dnsviz
|
||||||
dosfstools
|
dosfstools
|
||||||
|
dpkg-dev
|
||||||
e2fsprogs
|
e2fsprogs
|
||||||
efibootmgr
|
efibootmgr
|
||||||
expect
|
expect
|
||||||
@@ -54,6 +57,7 @@ fail2ban
|
|||||||
fdisk
|
fdisk
|
||||||
figlet
|
figlet
|
||||||
fio
|
fio
|
||||||
|
flex
|
||||||
fzf
|
fzf
|
||||||
gawk
|
gawk
|
||||||
gdisk
|
gdisk
|
||||||
@@ -80,6 +84,7 @@ linux-source
|
|||||||
live-boot
|
live-boot
|
||||||
live-config
|
live-config
|
||||||
live-config-systemd
|
live-config-systemd
|
||||||
|
lld-18
|
||||||
locate
|
locate
|
||||||
logrotate
|
logrotate
|
||||||
lsb-release
|
lsb-release
|
||||||
|
|||||||
@@ -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.13<br>
|
**Master Version**: 8.13<br>
|
||||||
**Build**: V8.13.008.2025.08.22<br>
|
**Build**: V8.13.064.2025.10.07<br>
|
||||||
|
|
||||||
# 2. DNSSEC Status
|
# 2. DNSSEC Status
|
||||||
|
|
||||||
|
|||||||
@@ -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.13<br>
|
**Master Version**: 8.13<br>
|
||||||
**Build**: V8.13.008.2025.08.22<br>
|
**Build**: V8.13.064.2025.10.07<br>
|
||||||
|
|
||||||
# 2. Haveged Audit on Netcup RS 2000 G11
|
# 2. Haveged Audit on Netcup RS 2000 G11
|
||||||
|
|
||||||
|
|||||||
@@ -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.13<br>
|
**Master Version**: 8.13<br>
|
||||||
**Build**: V8.13.008.2025.08.22<br>
|
**Build**: V8.13.064.2025.10.07<br>
|
||||||
|
|
||||||
# 2. Lynis Audit:
|
# 2. Lynis Audit:
|
||||||
|
|
||||||
|
|||||||
@@ -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.13<br>
|
**Master Version**: 8.13<br>
|
||||||
**Build**: V8.13.008.2025.08.22<br>
|
**Build**: V8.13.064.2025.10.07<br>
|
||||||
|
|
||||||
# 2. SSH Audit by ssh-audit.com
|
# 2. SSH Audit by ssh-audit.com
|
||||||
|
|
||||||
|
|||||||
@@ -8,14 +8,15 @@ 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.13<br>
|
**Master Version**: 8.13<br>
|
||||||
**Build**: V8.13.008.2025.08.22<br>
|
**Build**: V8.13.064.2025.10.07<br>
|
||||||
|
|
||||||
# 2. TLS Audit:
|
# 2. TLS Audit:
|
||||||
|
|
||||||
````text
|
````text
|
||||||
|
./testssl.sh --show-each --wide --phone-out --full https://git.coresecret.dev/
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
testssl.sh version 3.2.1 from https://testssl.sh/
|
testssl.sh version 3.2.2 from https://testssl.sh/
|
||||||
(81471c3 2025-06-15 09:48:31)
|
(2e77f5e 2025-09-22 19:35:27)
|
||||||
|
|
||||||
This program is free software. Distribution and modification under
|
This program is free software. Distribution and modification under
|
||||||
GPLv2 permitted. USAGE w/o ANY WARRANTY. USE IT AT YOUR OWN RISK!
|
GPLv2 permitted. USAGE w/o ANY WARRANTY. USE IT AT YOUR OWN RISK!
|
||||||
@@ -26,7 +27,7 @@ include_toc: true
|
|||||||
Using OpenSSL 1.0.2-bad (Mar 28 2025) [~179 ciphers]
|
Using OpenSSL 1.0.2-bad (Mar 28 2025) [~179 ciphers]
|
||||||
on kali:./bin/openssl.Linux.x86_64
|
on kali:./bin/openssl.Linux.x86_64
|
||||||
|
|
||||||
Start 2025-06-23 17:58:48 -->> 152.53.110.40:443 (git.coresecret.dev) <<--
|
Start 2025-09-28 16:12:17 -->> 152.53.110.40:443 (git.coresecret.dev) <<--
|
||||||
|
|
||||||
Further IP addresses: 2a0a:4cc0:80:330f:152:53:110:40
|
Further IP addresses: 2a0a:4cc0:80:330f:152:53:110:40
|
||||||
rDNS (152.53.110.40): git.coresecret.dev.
|
rDNS (152.53.110.40): git.coresecret.dev.
|
||||||
@@ -188,18 +189,17 @@ Hexcode Cipher Suite Name (OpenSSL) KeyExch. Encryption Bits Ciphe
|
|||||||
Server key size RSA 4096 bits (exponent is 65537)
|
Server key size RSA 4096 bits (exponent is 65537)
|
||||||
Server key usage Digital Signature, Key Encipherment
|
Server key usage Digital Signature, Key Encipherment
|
||||||
Server extended key usage TLS Web Server Authentication, TLS Web Client Authentication
|
Server extended key usage TLS Web Server Authentication, TLS Web Client Authentication
|
||||||
Serial 1230B34459C6F27FA9BCD2 (OK: length 11)
|
Serial 13292523EB168BD226CE46 (OK: length 11)
|
||||||
Fingerprints SHA1 1A8BD98862771602E7DD46B742FB66D6C03E622E
|
Fingerprints SHA1 1CCF67686A5FFF33D163EFC9E67AB5C70D1122B8
|
||||||
SHA256 76B6FFCE607D8514F676C286C7C76B90F5B7AE7D041631F2EF2F0079AF8D24AC
|
SHA256 565271C2C74AF9EF5F0DCA16453A643C13E43CBD5B87AB82A622E929C48C8B7B
|
||||||
Common Name (CN) coresecret.dev
|
Common Name (CN) coresecret.dev
|
||||||
subjectAltName (SAN) coresecret.dev git.coresecret.dev lab.coresecret.dev run.coresecret.dev www.coresecret.dev
|
subjectAltName (SAN) coresecret.dev git.coresecret.dev lab.coresecret.dev run.coresecret.dev www.coresecret.dev
|
||||||
Trust (hostname) Ok via SAN (same w/o SNI)
|
Trust (hostname) Ok via SAN (same w/o SNI)
|
||||||
Chain of trust Ok
|
Chain of trust Ok
|
||||||
EV cert (experimental) no
|
EV cert (experimental) no
|
||||||
Certificate Validity (UTC) 153 >= 60 days (2025-05-28 09:56 --> 2025-11-23 22:59)
|
Certificate Validity (UTC) 178 >= 60 days (2025-09-27 18:27 --> 2026-03-25 22:59)
|
||||||
ETS/"eTLS", visibility info not present
|
ETS/"eTLS", visibility info not present
|
||||||
In pwnedkeys.com DB not in database
|
In pwnedkeys.com DB not in database Certificate Revocation List http://crl.buypass.no/crl/BPClass2CA5.crl, not revoked
|
||||||
Certificate Revocation List http://crl.buypass.no/crl/BPClass2CA5.crl, not revoked
|
|
||||||
OCSP URI http://ocsp.buypass.com, not revoked
|
OCSP URI http://ocsp.buypass.com, not revoked
|
||||||
OCSP stapling offered, not revoked
|
OCSP stapling offered, not revoked
|
||||||
OCSP must staple extension --
|
OCSP must staple extension --
|
||||||
@@ -226,9 +226,9 @@ Hexcode Cipher Suite Name (OpenSSL) KeyExch. Encryption Bits Ciphe
|
|||||||
Cookie(s) 2 issued: 2/2 secure, 2/2 HttpOnly
|
Cookie(s) 2 issued: 2/2 secure, 2/2 HttpOnly
|
||||||
Security headers X-Frame-Options: SAMEORIGIN
|
Security headers X-Frame-Options: SAMEORIGIN
|
||||||
X-Content-Type-Options: nosniff
|
X-Content-Type-Options: nosniff
|
||||||
Content-Security-Policy: default-src 'none'; connect-src 'self'; font-src 'self' data:; form-action 'self';
|
Content-Security-Policy: default-src 'self'; connect-src 'self'; font-src 'self' data:; form-action 'self'
|
||||||
frame-src 'self'; frame-ancestors 'self'; img-src 'self' data: https://badges.coresecret.dev
|
git.coresecret.dev; frame-src 'self'; frame-ancestors 'self'; img-src 'self' data: https://badges.coresecret.dev
|
||||||
https://uml.coresecret.dev; manifest-src 'self'; media-src 'self' data: https://badges.coresecret.dev
|
https://uml.coresecret.dev; manifest-src 'self' data:; media-src 'self' data: https://badges.coresecret.dev
|
||||||
https://uml.coresecret.dev; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; base-uri 'none';
|
https://uml.coresecret.dev; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; base-uri 'none';
|
||||||
Expect-CT: max-age=86400, enforce
|
Expect-CT: max-age=86400, enforce
|
||||||
Permissions-Policy: interest-cohort=()
|
Permissions-Policy: interest-cohort=()
|
||||||
@@ -258,7 +258,7 @@ Hexcode Cipher Suite Name (OpenSSL) KeyExch. Encryption Bits Ciphe
|
|||||||
FREAK (CVE-2015-0204) not vulnerable (OK)
|
FREAK (CVE-2015-0204) not vulnerable (OK)
|
||||||
DROWN (CVE-2016-0800, CVE-2016-0703) not vulnerable on this host and port (OK)
|
DROWN (CVE-2016-0800, CVE-2016-0703) not vulnerable on this host and port (OK)
|
||||||
make sure you don't use this certificate elsewhere with SSLv2 enabled services, see
|
make sure you don't use this certificate elsewhere with SSLv2 enabled services, see
|
||||||
https://search.censys.io/search?resource=hosts&virtual_hosts=INCLUDE&q=76B6FFCE607D8514F676C286C7C76B90F5B7AE7D041631F2EF2F0079AF8D24AC
|
https://search.censys.io/search?resource=hosts&virtual_hosts=INCLUDE&q=565271C2C74AF9EF5F0DCA16453A643C13E43CBD5B87AB82A622E929C48C8B7B
|
||||||
LOGJAM (CVE-2015-4000), experimental not vulnerable (OK): no DH EXPORT ciphers, no DH key detected with <= TLS 1.2
|
LOGJAM (CVE-2015-4000), experimental not vulnerable (OK): no DH EXPORT ciphers, no DH key detected with <= TLS 1.2
|
||||||
BEAST (CVE-2011-3389) not vulnerable (OK), no SSL3 or TLS1
|
BEAST (CVE-2011-3389) not vulnerable (OK), no SSL3 or TLS1
|
||||||
LUCKY13 (CVE-2013-0169), experimental not vulnerable (OK)
|
LUCKY13 (CVE-2013-0169), experimental not vulnerable (OK)
|
||||||
@@ -309,7 +309,7 @@ Hexcode Cipher Suite Name (OpenSSL) KeyExch. Encryption Bits Ciphe
|
|||||||
|
|
||||||
Rating (experimental)
|
Rating (experimental)
|
||||||
|
|
||||||
Rating specs (not complete) SSL Labs's 'SSL Server Rating Guide' (version 2009q from 2020-01-30)
|
Rating specs (not complete) SSL Labs's 'SSL Server Rating Guide' (version 2009r from 2025-05-16)
|
||||||
Specification documentation https://github.com/ssllabs/research/wiki/SSL-Server-Rating-Guide
|
Specification documentation https://github.com/ssllabs/research/wiki/SSL-Server-Rating-Guide
|
||||||
Protocol Support (weighted) 100 (30)
|
Protocol Support (weighted) 100 (30)
|
||||||
Key Exchange (weighted) 100 (30)
|
Key Exchange (weighted) 100 (30)
|
||||||
@@ -317,7 +317,7 @@ Hexcode Cipher Suite Name (OpenSSL) KeyExch. Encryption Bits Ciphe
|
|||||||
Final Score 100
|
Final Score 100
|
||||||
Overall Grade A+
|
Overall Grade A+
|
||||||
|
|
||||||
Done 2025-06-23 18:00:16 [ 99s] -->> 152.53.110.40:443 (git.coresecret.dev) <<--
|
Done 2025-09-28 16:13:50 [ 95s] -->> 152.53.110.40:443 (git.coresecret.dev) <<--
|
||||||
````
|
````
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -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.13<br>
|
**Master Version**: 8.13<br>
|
||||||
**Build**: V8.13.008.2025.08.22<br>
|
**Build**: V8.13.064.2025.10.07<br>
|
||||||
|
|
||||||
# 2. Hardened Kernel Boot Parameters
|
# 2. Hardened Kernel Boot Parameters
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,39 @@ 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.13<br>
|
**Master Version**: 8.13<br>
|
||||||
**Build**: V8.13.008.2025.08.22<br>
|
**Build**: V8.13.064.2025.10.07<br>
|
||||||
|
|
||||||
# 2. Changelog
|
# 2. Changelog
|
||||||
|
|
||||||
|
## V8.13.064.2025.10.07
|
||||||
|
* **Added**: An internal Gitea Action Runner switch for the CISS and PHYS central configuration source of truth.
|
||||||
|
* **Added**: Verbose status information screen on successful completion.
|
||||||
|
* **Added**: Verbose status information in 'CISS.debian.live.iso.'
|
||||||
|
* **Added**: Loop to desynchronize parallel workflows.
|
||||||
|
* **Added**: [lib_note_target.sh](../lib/lib_note_target.sh)
|
||||||
|
* **Updated**: [lib_trap_on_err.sh](../lib/lib_trap_on_err.sh)
|
||||||
|
* **Updated**: [lib_trap_on_exit.sh](../lib/lib_trap_on_exit.sh)
|
||||||
|
* **Updated**: [9000-cdi-starter](../scripts/9000-cdi-starter)
|
||||||
|
* **Updated**: [9980_usb_guard.chroot](../config/hooks/live/9980_usb_guard.chroot)
|
||||||
|
* **Updated**: [9998_sources_list_bookworm.chroot](../config/hooks/live/9998_sources_list_bookworm.chroot)
|
||||||
|
* **Updated**: [9998_sources_list_trixie.chroot](../config/hooks/live/9998_sources_list_trixie.chroot)
|
||||||
|
* **Updated**: [9999_interfaces_update.chroot](../config/hooks/live/9999_interfaces_update.chroot)
|
||||||
|
* **Updated**: [lib_cdi.sh](../lib/lib_cdi.sh) Unified Kernel bootparameter.
|
||||||
|
* **Updated**: [lib_lb_config_write_trixie.sh](../lib/lib_lb_config_write_trixie.sh) Unified Kernel bootparameter.
|
||||||
|
* **Updated**: [lib_run_analysis.sh](../lib/lib_run_analysis.sh)
|
||||||
|
|
||||||
|
## V8.13.048.2025.10.06
|
||||||
|
* **Updated**: Debian 13 LIVE ISO workflows to use Kernel: ``6.16.3+deb13-amd64``
|
||||||
|
* **Updated**: Debian 13 LIVE ISO workflows to use argument: ``--cdi``
|
||||||
|
* **Updated**: [9000-cdi-starter](../scripts/9000-cdi-starter)
|
||||||
|
* **Removed**: [1024_git_clone_ciss_debian_installer.chroot](../.archive/1024_git_clone_ciss_debian_installer.chroot)
|
||||||
|
|
||||||
|
## V8.13.032.2025.10.03
|
||||||
|
* **Added**: Internal Gitea Action Runner switch for static SSHFP records.
|
||||||
|
|
||||||
|
## V8.13.016.2025.09.28
|
||||||
|
* **Updated**: Debian 13 LIVE ISO workflows to use Kernel: ``6.12.48+deb13-amd64``
|
||||||
|
|
||||||
## V8.13.008.2025.08.22
|
## V8.13.008.2025.08.22
|
||||||
* **Removed**: [0003_install_backports.chroot](../.archive/0003_install_backports.chroot)
|
* **Removed**: [0003_install_backports.chroot](../.archive/0003_install_backports.chroot)
|
||||||
|
|
||||||
|
|||||||
@@ -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.13<br>
|
**Master Version**: 8.13<br>
|
||||||
**Build**: V8.13.008.2025.08.22<br>
|
**Build**: V8.13.064.2025.10.07<br>
|
||||||
|
|
||||||
# 2. Centurion Net - Developer Branch Overview
|
# 2. Centurion Net - Developer Branch Overview
|
||||||
|
|
||||||
|
|||||||
@@ -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.13<br>
|
**Master Version**: 8.13<br>
|
||||||
**Build**: V8.13.008.2025.08.22<br>
|
**Build**: V8.13.064.2025.10.07<br>
|
||||||
|
|
||||||
# 2. Coding Style
|
# 2. Coding Style
|
||||||
|
|
||||||
|
|||||||
@@ -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.13<br>
|
**Master Version**: 8.13<br>
|
||||||
**Build**: V8.13.008.2025.08.22<br>
|
**Build**: V8.13.064.2025.10.07<br>
|
||||||
|
|
||||||
# 2. Contributing / participating
|
# 2. Contributing / participating
|
||||||
|
|
||||||
|
|||||||
@@ -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.13<br>
|
**Master Version**: 8.13<br>
|
||||||
**Build**: V8.13.008.2025.08.22<br>
|
**Build**: V8.13.064.2025.10.07<br>
|
||||||
|
|
||||||
# 2. Credits
|
# 2. Credits
|
||||||
|
|
||||||
|
|||||||
@@ -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.13<br>
|
**Master Version**: 8.13<br>
|
||||||
**Build**: V8.13.008.2025.08.22<br>
|
**Build**: V8.13.064.2025.10.07<br>
|
||||||
|
|
||||||
# 2. Download the latest PUBLIC CISS.debian.live.ISO
|
# 2. Download the latest PUBLIC CISS.debian.live.ISO
|
||||||
|
|
||||||
|
|||||||
@@ -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.13<br>
|
**Master Version**: 8.13<br>
|
||||||
**Build**: V8.13.008.2025.08.22<br>
|
**Build**: V8.13.064.2025.10.07<br>
|
||||||
|
|
||||||
# 2.1. Usage
|
# 2.1. Usage
|
||||||
````text
|
````text
|
||||||
CISS.debian.live.builder
|
CISS.debian.live.builder
|
||||||
Master V8.13.008.2025.08.22
|
Master V8.13.064.2025.10.07
|
||||||
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
|
||||||
@@ -136,7 +136,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.13.008.2025.08.22
|
Master V8.13.064.2025.10.07
|
||||||
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
|
||||||
|
|||||||
@@ -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.13<br>
|
**Master Version**: 8.13<br>
|
||||||
**Build**: V8.13.008.2025.08.22<br>
|
**Build**: V8.13.064.2025.10.07<br>
|
||||||
|
|
||||||
# 2. Resources
|
# 2. Resources
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 204 KiB After Width: | Height: | Size: 185 KiB |
@@ -13,26 +13,10 @@
|
|||||||
guard_sourcing
|
guard_sourcing
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# Argument Parser
|
# Argument Parser.
|
||||||
# Globals:
|
# Globals:
|
||||||
# ARY_HANDLER_JUMPHOST
|
# ARY_HANDLER_JUMPHOST
|
||||||
# ARY_HANDLER_NETCUP_IPV6
|
# ARY_HANDLER_NETCUP_IPV6
|
||||||
# ERR_ARG_MSMTCH
|
|
||||||
# ERR_CONTROL_CT
|
|
||||||
# ERR_MISS_PWD_F
|
|
||||||
# ERR_MISS_PWD_P
|
|
||||||
# ERR_NOTABSPATH
|
|
||||||
# ERR_OWNS_PWD_F
|
|
||||||
# ERR_PASS_LENGH
|
|
||||||
# ERR_PASS_PLICY
|
|
||||||
# ERR_REIONICE_P
|
|
||||||
# ERR_REIO_C_VAL
|
|
||||||
# ERR_REIO_P_VAL
|
|
||||||
# ERR_RENICE_PRI
|
|
||||||
# ERR_RGHT_PWD_F
|
|
||||||
# ERR_SPLASH_PNG
|
|
||||||
# ERR_UNCRITICAL
|
|
||||||
# ERR__SSH__PORT
|
|
||||||
# VAR_ARCHITECTURE
|
# VAR_ARCHITECTURE
|
||||||
# VAR_BUILD_LOG
|
# VAR_BUILD_LOG
|
||||||
# VAR_EARLY_DEBUG
|
# VAR_EARLY_DEBUG
|
||||||
@@ -49,14 +33,35 @@ guard_sourcing
|
|||||||
# VAR_ISO8601
|
# VAR_ISO8601
|
||||||
# VAR_REIONICE_CLASS
|
# VAR_REIONICE_CLASS
|
||||||
# VAR_REIONICE_PRIORITY
|
# VAR_REIONICE_PRIORITY
|
||||||
|
# VAR_SSHFP
|
||||||
# VAR_SSHPORT
|
# VAR_SSHPORT
|
||||||
# VAR_SSHPUBKEY
|
# VAR_SSHPUBKEY
|
||||||
|
# VAR_SUITE
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# None
|
# None
|
||||||
|
# Returns:
|
||||||
|
# 0: on success
|
||||||
|
# ERR_ARG_MSMTCH: on failure
|
||||||
|
# ERR_CONTROL_CT: on failure
|
||||||
|
# ERR_MISS_PWD_F: on failure
|
||||||
|
# ERR_MISS_PWD_P: on failure
|
||||||
|
# ERR_NOTABSPATH: on failure
|
||||||
|
# ERR_OWNS_PWD_F: on failure
|
||||||
|
# ERR_PASS_LENGH: on failure
|
||||||
|
# ERR_PASS_PLICY: on failure
|
||||||
|
# ERR_REIONICE_P: on failure
|
||||||
|
# ERR_REIO_C_VAL: on failure
|
||||||
|
# ERR_REIO_P_VAL: on failure
|
||||||
|
# ERR_RENICE_PRI: on failure
|
||||||
|
# ERR_RGHT_PWD_F: on failure
|
||||||
|
# ERR_SPLASH_PNG: on failure
|
||||||
|
# ERR__SSH__PORT: on failure
|
||||||
#######################################
|
#######################################
|
||||||
arg_parser() {
|
arg_parser() {
|
||||||
while [[ $# -gt 0 ]]; do
|
while [[ $# -gt 0 ]]; do
|
||||||
|
|
||||||
declare argument="${1}"
|
declare argument="${1}"
|
||||||
|
|
||||||
case "${argument,,}" in
|
case "${argument,,}" in
|
||||||
|
|
||||||
-a=* | --autobuild=*)
|
-a=* | --autobuild=*)
|
||||||
@@ -95,6 +100,7 @@ arg_parser() {
|
|||||||
|
|
||||||
--architecture)
|
--architecture)
|
||||||
if [[ "${2}" == "amd64" || "${2}" == "arm64" ]]; then
|
if [[ "${2}" == "amd64" || "${2}" == "arm64" ]]; then
|
||||||
|
# shellcheck disable=SC2034
|
||||||
declare -gx VAR_ARCHITECTURE="${2}"
|
declare -gx VAR_ARCHITECTURE="${2}"
|
||||||
shift 2
|
shift 2
|
||||||
else
|
else
|
||||||
@@ -124,12 +130,14 @@ arg_parser() {
|
|||||||
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
|
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
|
||||||
exit "${ERR_ARG_MSMTCH}"
|
exit "${ERR_ARG_MSMTCH}"
|
||||||
fi
|
fi
|
||||||
declare -g VAR_HANDLER_CDI=true
|
# shellcheck disable=SC2034
|
||||||
|
declare -g VAR_HANDLER_CDI="true"
|
||||||
shift 1
|
shift 1
|
||||||
;;
|
;;
|
||||||
|
|
||||||
--change-splash )
|
--change-splash )
|
||||||
if [[ "${2}" == "club" || "${2}" == "hexagon" ]]; then
|
if [[ "${2}" == "club" || "${2}" == "hexagon" ]]; then
|
||||||
|
# shellcheck disable=SC2034
|
||||||
declare -g VAR_HANDLER_SPLASH="${2}"
|
declare -g VAR_HANDLER_SPLASH="${2}"
|
||||||
shift 2
|
shift 2
|
||||||
else
|
else
|
||||||
@@ -143,6 +151,7 @@ arg_parser() {
|
|||||||
|
|
||||||
--control)
|
--control)
|
||||||
if [[ -n "${2-}" ]]; then
|
if [[ -n "${2-}" ]]; then
|
||||||
|
# shellcheck disable=SC2034
|
||||||
declare -g VAR_HANDLER_ISO_COUNTER="${2}"
|
declare -g VAR_HANDLER_ISO_COUNTER="${2}"
|
||||||
shift 2
|
shift 2
|
||||||
else
|
else
|
||||||
@@ -171,6 +180,7 @@ arg_parser() {
|
|||||||
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
|
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
|
||||||
exit "${ERR_ARG_MSMTCH}"
|
exit "${ERR_ARG_MSMTCH}"
|
||||||
fi
|
fi
|
||||||
|
# shellcheck disable=SC2034
|
||||||
declare -gi VAR_HANDLER_DHCP=1
|
declare -gi VAR_HANDLER_DHCP=1
|
||||||
shift 1
|
shift 1
|
||||||
;;
|
;;
|
||||||
@@ -180,6 +190,7 @@ arg_parser() {
|
|||||||
declare -i count=0
|
declare -i count=0
|
||||||
shift
|
shift
|
||||||
while [[ "${#}" -gt 0 && "${1}" != -* && count -lt 10 ]]; do
|
while [[ "${#}" -gt 0 && "${1}" != -* && count -lt 10 ]]; do
|
||||||
|
# shellcheck disable=SC2034
|
||||||
declare -g ARY_HANDLER_JUMPHOST+=("$1")
|
declare -g ARY_HANDLER_JUMPHOST+=("$1")
|
||||||
count=$((count + 1))
|
count=$((count + 1))
|
||||||
shift
|
shift
|
||||||
@@ -202,6 +213,7 @@ arg_parser() {
|
|||||||
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
|
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
|
||||||
exit "${ERR_ARG_MSMTCH}"
|
exit "${ERR_ARG_MSMTCH}"
|
||||||
fi
|
fi
|
||||||
|
# shellcheck disable=SC2034
|
||||||
declare -gi VAR_HANDLER_STA=1
|
declare -gi VAR_HANDLER_STA=1
|
||||||
shift 1
|
shift 1
|
||||||
;;
|
;;
|
||||||
@@ -209,10 +221,12 @@ arg_parser() {
|
|||||||
--provider-netcup-ipv6)
|
--provider-netcup-ipv6)
|
||||||
if [[ -n "${2-}" && "${2}" != -* ]]; then
|
if [[ -n "${2-}" && "${2}" != -* ]]; then
|
||||||
declare -i count=0
|
declare -i count=0
|
||||||
declare -g VAR_HANDLER_NETCUP_IPV6=true
|
# shellcheck disable=SC2034
|
||||||
|
declare -g VAR_HANDLER_NETCUP_IPV6="true"
|
||||||
shift
|
shift
|
||||||
while [[ "${#}" -gt 0 && "${1}" != -* && count -lt 1 ]]; do
|
while [[ "${#}" -gt 0 && "${1}" != -* && count -lt 1 ]]; do
|
||||||
declare cleaned="${1//[\[\]]/}"
|
declare cleaned="${1//[\[\]]/}"
|
||||||
|
# shellcheck disable=SC2034
|
||||||
declare -g ARY_HANDLER_NETCUP_IPV6+=("${cleaned}")
|
declare -g ARY_HANDLER_NETCUP_IPV6+=("${cleaned}")
|
||||||
count=$((count + 1))
|
count=$((count + 1))
|
||||||
shift
|
shift
|
||||||
@@ -230,6 +244,7 @@ arg_parser() {
|
|||||||
|
|
||||||
--renice-priority)
|
--renice-priority)
|
||||||
if [[ -n ${2-} && ${2} =~ ^-?[0-9]+$ && ${2} -ge -19 && ${2} -le 19 ]]; then
|
if [[ -n ${2-} && ${2} =~ ^-?[0-9]+$ && ${2} -ge -19 && ${2} -le 19 ]]; then
|
||||||
|
# shellcheck disable=SC2034
|
||||||
VAR_HANDLER_PRIORITY="$2"
|
VAR_HANDLER_PRIORITY="$2"
|
||||||
shift 2
|
shift 2
|
||||||
else
|
else
|
||||||
@@ -249,6 +264,7 @@ arg_parser() {
|
|||||||
exit "${ERR_REIONICE_P}"
|
exit "${ERR_REIONICE_P}"
|
||||||
else
|
else
|
||||||
if [[ "${2}" =~ ^[1-3]$ ]]; then
|
if [[ "${2}" =~ ^[1-3]$ ]]; then
|
||||||
|
# shellcheck disable=SC2034
|
||||||
VAR_REIONICE_CLASS="${2}"
|
VAR_REIONICE_CLASS="${2}"
|
||||||
if [[ -z "${3-}" ]]; then
|
if [[ -z "${3-}" ]]; then
|
||||||
:
|
:
|
||||||
@@ -359,6 +375,7 @@ arg_parser() {
|
|||||||
hash_temp=$(mkpasswd --method=sha-512 --salt="${salt}" --rounds=8388608 "${plaintext_pw}")
|
hash_temp=$(mkpasswd --method=sha-512 --salt="${salt}" --rounds=8388608 "${plaintext_pw}")
|
||||||
[[ "${VAR_EARLY_DEBUG}" == "true" ]] && set -x # Turn on tracing again
|
[[ "${VAR_EARLY_DEBUG}" == "true" ]] && set -x # Turn on tracing again
|
||||||
|
|
||||||
|
# shellcheck disable=SC2034
|
||||||
declare -g VAR_HASHED_PWD="${hash_temp}"
|
declare -g VAR_HASHED_PWD="${hash_temp}"
|
||||||
unset hash_temp plaintext_pw
|
unset hash_temp plaintext_pw
|
||||||
|
|
||||||
@@ -375,6 +392,7 @@ arg_parser() {
|
|||||||
|
|
||||||
--ssh-port)
|
--ssh-port)
|
||||||
if [[ -n "${2-}" && "${2}" =~ ^-?[0-9]+$ && "${2}" -ge 1 && "${2}" -le 65535 ]]; then
|
if [[ -n "${2-}" && "${2}" =~ ^-?[0-9]+$ && "${2}" -ge 1 && "${2}" -le 65535 ]]; then
|
||||||
|
# shellcheck disable=SC2034
|
||||||
declare -gi VAR_SSHPORT="${2}"
|
declare -gi VAR_SSHPORT="${2}"
|
||||||
shift 2
|
shift 2
|
||||||
else
|
else
|
||||||
@@ -385,12 +403,20 @@ arg_parser() {
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
--sshfp)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
declare -g VAR_SSHFP="true"
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
|
||||||
--ssh-pubkey)
|
--ssh-pubkey)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
declare -g VAR_SSHPUBKEY="${2}"
|
declare -g VAR_SSHPUBKEY="${2}"
|
||||||
shift 2
|
shift 2
|
||||||
;;
|
;;
|
||||||
|
|
||||||
--trixie)
|
--trixie)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
declare -g VAR_SUITE="trixie"
|
declare -g VAR_SUITE="trixie"
|
||||||
shift 1
|
shift 1
|
||||||
;;
|
;;
|
||||||
@@ -400,6 +426,12 @@ arg_parser() {
|
|||||||
usage
|
usage
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
### Prevents accidental 'unset -f'.
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
readonly -f arg_parser
|
||||||
# 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
|
||||||
|
|||||||
@@ -19,34 +19,54 @@ guard_sourcing
|
|||||||
# VAR_REIONICE_CLASS
|
# VAR_REIONICE_CLASS
|
||||||
# VAR_REIONICE_PRIORITY
|
# VAR_REIONICE_PRIORITY
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# None
|
# None
|
||||||
|
# Returns:
|
||||||
|
# 0: on success
|
||||||
#######################################
|
#######################################
|
||||||
arg_priority_check() {
|
arg_priority_check() {
|
||||||
declare var
|
declare var
|
||||||
|
|
||||||
### Check if nice PRIORITY is set and adjust nice priority.
|
### Check if nice PRIORITY is set and adjust nice priority.
|
||||||
if [[ "${VAR_HANDLER_PRIORITY:-}" -ne 0 ]]; then
|
if [[ "${VAR_HANDLER_PRIORITY:-}" -ne 0 ]]; then
|
||||||
|
|
||||||
if command -v renice >/dev/null; then
|
if command -v renice >/dev/null; then
|
||||||
|
|
||||||
renice "${VAR_HANDLER_PRIORITY}" -p "$$"
|
renice "${VAR_HANDLER_PRIORITY}" -p "$$"
|
||||||
var=$(ps -o ni= -p $$) > /dev/null 2>&1
|
var=$(ps -o ni= -p $$) > /dev/null 2>&1
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ New renice value: %s\e[0m\n" "${var}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ New renice value: %s\e[0m\n" "${var}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
unset var
|
unset var
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
printf "\e[93m++++ ++++ ++++ ++++ ++++ ++++ ++ ❌ renice not installed (util-linux) \e[0m\n"
|
printf "\e[93m++++ ++++ ++++ ++++ ++++ ++++ ++ ❌ renice not installed (util-linux) \e[0m\n"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
### Check if ionice PRIORITY is set and adjust ionice priority.
|
### Check if ionice PRIORITY is set and adjust ionice priority.
|
||||||
if [[ "${VAR_REIONICE_CLASS:-}" -ne 2 ]]; then
|
if [[ "${VAR_REIONICE_CLASS:-}" -ne 2 ]]; then
|
||||||
|
|
||||||
if command -v ionice >/dev/null; then
|
if command -v ionice >/dev/null; then
|
||||||
|
|
||||||
ionice -c"${VAR_REIONICE_CLASS:-2}" -n"${VAR_REIONICE_PRIORITY:-4}" -p "$$"
|
ionice -c"${VAR_REIONICE_CLASS:-2}" -n"${VAR_REIONICE_PRIORITY:-4}" -p "$$"
|
||||||
var=$(ionice -p $$) > /dev/null 2>&1
|
var=$(ionice -p $$) > /dev/null 2>&1
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ New ionice value: %s\e[0m\n" "${var}"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ New ionice value: %s\e[0m\n" "${var}"
|
||||||
# sleep 1
|
# sleep 1
|
||||||
unset var
|
unset var
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
printf "\e[93m++++ ++++ ++++ ++++ ++++ ++++ ++ ❌ ionice not installed (util-linux) \e[0m\n"
|
printf "\e[93m++++ ++++ ++++ ++++ ++++ ++++ ++ ❌ ionice not installed (util-linux) \e[0m\n"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
### Prevents accidental 'unset -f'.
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
readonly -f arg_priority_check
|
||||||
# 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
|
||||||
|
|||||||
@@ -18,7 +18,9 @@ guard_sourcing
|
|||||||
# PID_BOOT_SCREEN
|
# PID_BOOT_SCREEN
|
||||||
# PIPE_BOOT_SCREEN
|
# PIPE_BOOT_SCREEN
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# None
|
# None
|
||||||
|
# Returns:
|
||||||
|
# 0: on success
|
||||||
#######################################
|
#######################################
|
||||||
boot_screen() {
|
boot_screen() {
|
||||||
clear
|
clear
|
||||||
@@ -34,15 +36,22 @@ boot_screen() {
|
|||||||
< "${PIPE_BOOT_SCREEN}" &
|
< "${PIPE_BOOT_SCREEN}" &
|
||||||
declare -gr PID_BOOT_SCREEN="$!"
|
declare -gr PID_BOOT_SCREEN="$!"
|
||||||
exec 3> "${PIPE_BOOT_SCREEN}"
|
exec 3> "${PIPE_BOOT_SCREEN}"
|
||||||
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
### Prevents accidental 'unset -f'.
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
readonly -f boot_screen
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# Boot Screen Terminal Cleaner
|
# Boot Screen Terminal Cleaner
|
||||||
# Globals:
|
# Globals:
|
||||||
# boot_screen_pid
|
# PID_BOOT_SCREEN
|
||||||
# boot_screen_pipe
|
# PIPE_BOOT_SCREEN
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# None
|
# None
|
||||||
|
# Returns:
|
||||||
|
# 0: on success
|
||||||
#######################################
|
#######################################
|
||||||
boot_screen_cleaner() {
|
boot_screen_cleaner() {
|
||||||
exec 3>&-
|
exec 3>&-
|
||||||
@@ -51,5 +60,9 @@ boot_screen_cleaner() {
|
|||||||
rm -f "${PIPE_BOOT_SCREEN}"
|
rm -f "${PIPE_BOOT_SCREEN}"
|
||||||
clean_screen
|
clean_screen
|
||||||
sleep 1
|
sleep 1
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
### Prevents accidental 'unset -f'.
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
readonly -f boot_screen_cleaner
|
||||||
# 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
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
guard_sourcing
|
guard_sourcing
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# CISS.2025.debian.installer GRUB and Autostart Generator
|
# CISS.debian.installer 'GRUB' and 'Autostart' generator.
|
||||||
# Globals:
|
# Globals:
|
||||||
# BASH_SOURCE
|
# BASH_SOURCE
|
||||||
# VAR_HANDLER_BUILD_DIR
|
# VAR_HANDLER_BUILD_DIR
|
||||||
@@ -21,7 +21,9 @@ guard_sourcing
|
|||||||
# VAR_KERNEL
|
# VAR_KERNEL
|
||||||
# VAR_WORKDIR
|
# VAR_WORKDIR
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# None
|
# None
|
||||||
|
# Returns:
|
||||||
|
# 0: on success
|
||||||
#######################################
|
#######################################
|
||||||
cdi() {
|
cdi() {
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 %s starting ... \e[0m\n" "${BASH_SOURCE[0]}"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 %s starting ... \e[0m\n" "${BASH_SOURCE[0]}"
|
||||||
@@ -29,7 +31,9 @@ cdi() {
|
|||||||
if [[ "${VAR_HANDLER_CDI}" == "true" ]]; then
|
if [[ "${VAR_HANDLER_CDI}" == "true" ]]; then
|
||||||
|
|
||||||
if [[ ! -d "${VAR_HANDLER_BUILD_DIR}/config/includes.chroot/usr/lib/live/config" ]]; then
|
if [[ ! -d "${VAR_HANDLER_BUILD_DIR}/config/includes.chroot/usr/lib/live/config" ]]; then
|
||||||
|
|
||||||
mkdir -p "${VAR_HANDLER_BUILD_DIR}/config/includes.chroot/usr/lib/live/config"
|
mkdir -p "${VAR_HANDLER_BUILD_DIR}/config/includes.chroot/usr/lib/live/config"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cp "${VAR_WORKDIR}/scripts/9000-cdi-starter" "${VAR_HANDLER_BUILD_DIR}/config/includes.chroot/usr/lib/live/config/9000-cdi-starter"
|
cp "${VAR_WORKDIR}/scripts/9000-cdi-starter" "${VAR_HANDLER_BUILD_DIR}/config/includes.chroot/usr/lib/live/config/9000-cdi-starter"
|
||||||
@@ -40,7 +44,7 @@ cdi() {
|
|||||||
tmp_entry="$(mktemp)"
|
tmp_entry="$(mktemp)"
|
||||||
cat << EOF >| "${tmp_entry}"
|
cat << EOF >| "${tmp_entry}"
|
||||||
menuentry "CISS Hardened DI (${VAR_KERNEL})" --hotkey=i {
|
menuentry "CISS Hardened DI (${VAR_KERNEL})" --hotkey=i {
|
||||||
linux /live/vmlinuz-${VAR_KERNEL} boot=live verify-checksums live-config.components splash nopersistence toram ramdisk-size=1024M swap=true noeject locales=en_US.UTF-8 keyboard-layouts=de keyboard-model=pc105 keyboard-options= keyboard-variants= timezone=Europe/Lisbon audit_backlog_limit=8192 audit=1 cfi=kcfi debugfs=off efi=disable_early_pci_dma efi_no_storage_paranoia hardened_usercopy=1 ia32_emulation=0 init_on_alloc=1 init_on_free=1 iommu=force kfence.sample_interval=100 kvm.nx_huge_pages=force l1d_flush=on lockdown=confidentiality loglevel=0 mce=0 mitigations=auto,nosmt mmio_stale_data=full,nosmt oops=panic page_alloc.shuffle=1 page_poison=1 panic=-1 pti=on random.trust_bootloader=off random.trust_cpu=off randomize_kstack_offset=on randomize_va_space=2 retbleed=auto,nosmt rodata=on tsx=off vdso32=0 vsyscall=none findiso=\${iso_path}
|
linux /live/vmlinuz-${VAR_KERNEL} boot=live verify-checksums live-config.components splash nopersistence toram ramdisk-size=1024M swap=true noeject locales=en_US.UTF-8 keyboard-layouts=de keyboard-model=pc105 keyboard-options= keyboard-variants= timezone=Etc/UTC audit_backlog_limit=8192 audit=1 cfi=kcfi debugfs=off efi=disable_early_pci_dma hardened_usercopy=1 ia32_emulation=0 init_on_alloc=1 init_on_free=1 iommu.passthrough=0 iommu.strict=1 iommu=force kfence.sample_interval=100 kvm.nx_huge_pages=force l1d_flush=on lockdown=confidentiality loglevel=0 mitigations=auto,nosmt mmio_stale_data=full,force nosmt=force oops=panic page_alloc.shuffle=1 page_poison=1 panic=0 pti=on random.trust_bootloader=off random.trust_cpu=off randomize_kstack_offset=on randomize_va_space=2 retbleed=auto,nosmt rodata=on slab_nomerge vdso32=0 vsyscall=none findiso=\${iso_path}
|
||||||
initrd /live/initrd.img-${VAR_KERNEL}
|
initrd /live/initrd.img-${VAR_KERNEL}
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
@@ -59,6 +63,12 @@ EOF
|
|||||||
# shellcheck disable=SC1003
|
# shellcheck disable=SC1003
|
||||||
sed -i '/#MUST_BE_REPLACED/c\\' "${VAR_HANDLER_BUILD_DIR}/config/bootloaders/grub-efi/grub.cfg"
|
sed -i '/#MUST_BE_REPLACED/c\\' "${VAR_HANDLER_BUILD_DIR}/config/bootloaders/grub-efi/grub.cfg"
|
||||||
fi
|
fi
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ %s successful applied. \e[0m\n" "${BASH_SOURCE[0]}"
|
|
||||||
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ %s successfully applied. \e[0m\n" "${BASH_SOURCE[0]}"
|
||||||
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
### Prevents accidental 'unset -f'.
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
readonly -f cdi
|
||||||
# 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
|
||||||
|
|||||||
@@ -19,21 +19,32 @@ guard_sourcing
|
|||||||
# VAR_HANDLER_SPLASH
|
# VAR_HANDLER_SPLASH
|
||||||
# VAR_WORKDIR
|
# VAR_WORKDIR
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# None
|
# None
|
||||||
|
# Returns:
|
||||||
|
# 0: on success
|
||||||
#######################################
|
#######################################
|
||||||
change_splash() {
|
change_splash() {
|
||||||
if [[ ${VAR_HANDLER_SPLASH} == "club" ]]; then
|
if [[ ${VAR_HANDLER_SPLASH} == "club" ]]; then
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 Grub Splash 'club.png' selected ...\e[0m\n"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 Grub Splash 'club.png' selected ...\e[0m\n"
|
||||||
cp -af "${VAR_WORKDIR}"/.archive/background/club.png "${VAR_HANDLER_BUILD_DIR}"/config/bootloaders/splash.png
|
cp -af "${VAR_WORKDIR}"/.archive/background/club.png "${VAR_HANDLER_BUILD_DIR}"/config/bootloaders/splash.png
|
||||||
cp -af "${VAR_WORKDIR}"/.archive/background/club.png "${VAR_HANDLER_BUILD_DIR}"/config/bootloaders/grub-efi/splash.png
|
cp -af "${VAR_WORKDIR}"/.archive/background/club.png "${VAR_HANDLER_BUILD_DIR}"/config/bootloaders/grub-efi/splash.png
|
||||||
cp -af "${VAR_WORKDIR}"/.archive/background/club.png "${VAR_HANDLER_BUILD_DIR}"/config/bootloaders/grub-pc/splash.png
|
cp -af "${VAR_WORKDIR}"/.archive/background/club.png "${VAR_HANDLER_BUILD_DIR}"/config/bootloaders/grub-pc/splash.png
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Grub Splash 'club.png' selected done. \e[0m\n"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Grub Splash 'club.png' selected done. \e[0m\n"
|
||||||
|
|
||||||
elif [[ ${VAR_HANDLER_SPLASH} == "hexagon" ]]; then
|
elif [[ ${VAR_HANDLER_SPLASH} == "hexagon" ]]; then
|
||||||
|
|
||||||
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 Grub Splash 'hexagon.png' selected ...\e[0m\n"
|
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 Grub Splash 'hexagon.png' selected ...\e[0m\n"
|
||||||
cp -af "${VAR_WORKDIR}"/.archive/background/hexagon.png "${VAR_HANDLER_BUILD_DIR}"/config/bootloaders/splash.png
|
cp -af "${VAR_WORKDIR}"/.archive/background/hexagon.png "${VAR_HANDLER_BUILD_DIR}"/config/bootloaders/splash.png
|
||||||
cp -af "${VAR_WORKDIR}"/.archive/background/hexagon.png "${VAR_HANDLER_BUILD_DIR}"/config/bootloaders/grub-efi/splash.png
|
cp -af "${VAR_WORKDIR}"/.archive/background/hexagon.png "${VAR_HANDLER_BUILD_DIR}"/config/bootloaders/grub-efi/splash.png
|
||||||
cp -af "${VAR_WORKDIR}"/.archive/background/hexagon.png "${VAR_HANDLER_BUILD_DIR}"/config/bootloaders/grub-pc/splash.png
|
cp -af "${VAR_WORKDIR}"/.archive/background/hexagon.png "${VAR_HANDLER_BUILD_DIR}"/config/bootloaders/grub-pc/splash.png
|
||||||
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Grub Splash 'hexagon.png' selected done. \e[0m\n"
|
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ Grub Splash 'hexagon.png' selected done. \e[0m\n"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
### Prevents accidental 'unset -f'.
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
readonly -f change_splash
|
||||||
# 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
|
||||||
|
|||||||
@@ -18,11 +18,18 @@ guard_sourcing
|
|||||||
# VAR_HANDLER_DHCP
|
# VAR_HANDLER_DHCP
|
||||||
# VAR_WORKDIR
|
# VAR_WORKDIR
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# None
|
# None
|
||||||
|
# Returns:
|
||||||
|
# 0: on success
|
||||||
#######################################
|
#######################################
|
||||||
check_dhcp() {
|
check_dhcp() {
|
||||||
if [[ ${VAR_HANDLER_DHCP} -eq 1 ]]; then
|
if [[ ${VAR_HANDLER_DHCP} -eq 1 ]]; then
|
||||||
chmod +x "${VAR_WORKDIR}"/scripts/0010_dhcp_supersede.sh && "${VAR_WORKDIR}"/scripts/0010_dhcp_supersede.sh
|
chmod +x "${VAR_WORKDIR}/scripts/0010_dhcp_supersede.sh" && "${VAR_WORKDIR}/scripts/0010_dhcp_supersede.sh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
### Prevents accidental 'unset -f'.
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
readonly -f check_dhcp
|
||||||
# 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
|
||||||
|
|||||||
@@ -15,10 +15,12 @@ guard_sourcing
|
|||||||
#######################################
|
#######################################
|
||||||
# Check and apply 0755 Permissions on every ./config/hooks/live/*.chroot file
|
# Check and apply 0755 Permissions on every ./config/hooks/live/*.chroot file
|
||||||
# Globals:
|
# Globals:
|
||||||
# ERR_UNCRITICAL
|
|
||||||
# VAR_WORKDIR
|
# VAR_WORKDIR
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# None
|
# None
|
||||||
|
# Returns:
|
||||||
|
# 0: on success
|
||||||
|
# ERR_UNCRITICAL: on failure
|
||||||
#######################################
|
#######################################
|
||||||
check_hooks() {
|
check_hooks() {
|
||||||
declare ifs
|
declare ifs
|
||||||
@@ -27,13 +29,23 @@ check_hooks() {
|
|||||||
declare -a files=("${VAR_WORKDIR}"/config/hooks/live/*.chroot)
|
declare -a files=("${VAR_WORKDIR}"/config/hooks/live/*.chroot)
|
||||||
|
|
||||||
if (( ${#files[@]} == 0 )); then
|
if (( ${#files[@]} == 0 )); then
|
||||||
|
|
||||||
printf "\e[91m❌ No '*.chroot' files found in '%s/config/hooks/live'. \e[0m\n" "${VAR_WORKDIR}" >&2
|
printf "\e[91m❌ No '*.chroot' files found in '%s/config/hooks/live'. \e[0m\n" "${VAR_WORKDIR}" >&2
|
||||||
exit "${ERR_UNCRITICAL}"
|
exit "${ERR_UNCRITICAL}"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
declare file
|
declare file=""
|
||||||
|
|
||||||
for file in "${files[@]}"; do
|
for file in "${files[@]}"; do
|
||||||
|
|
||||||
chmod 0755 "${file}"
|
chmod 0755 "${file}"
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
### Prevents accidental 'unset -f'.
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
readonly -f check_hooks
|
||||||
# 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
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ guard_sourcing
|
|||||||
# VAR_KERNEL_SRT
|
# VAR_KERNEL_SRT
|
||||||
# VAR_KERNEL_TMP
|
# VAR_KERNEL_TMP
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# None
|
# None
|
||||||
# Returns:
|
# Returns:
|
||||||
# 42: Sorting Error.
|
# 42: Sorting Error.
|
||||||
#######################################
|
#######################################
|
||||||
@@ -34,9 +34,15 @@ check_kernel() {
|
|||||||
declare options=""
|
declare options=""
|
||||||
|
|
||||||
if [[ ${VAR_ARCHITECTURE} != arm64 ]]; then
|
if [[ ${VAR_ARCHITECTURE} != arm64 ]]; then
|
||||||
|
|
||||||
|
# shellcheck disable=SC2312
|
||||||
apt-cache search linux-image | grep linux-image | grep amd64 | grep -v "meta-package" | grep -v "dbg" | grep -v "template" >> "${VAR_KERNEL_TMP}"
|
apt-cache search linux-image | grep linux-image | grep amd64 | grep -v "meta-package" | grep -v "dbg" | grep -v "template" >> "${VAR_KERNEL_TMP}"
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
|
# shellcheck disable=SC2312
|
||||||
apt-cache search linux-image | grep linux-image | grep arm64 | grep -v "meta-package" | grep -v "dbg" | grep -v "template" >> "${VAR_KERNEL_TMP}"
|
apt-cache search linux-image | grep linux-image | grep arm64 | grep -v "meta-package" | grep -v "dbg" | grep -v "template" >> "${VAR_KERNEL_TMP}"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sort --output="${VAR_KERNEL_SRT}" "${VAR_KERNEL_TMP}" || {
|
sort --output="${VAR_KERNEL_SRT}" "${VAR_KERNEL_TMP}" || {
|
||||||
@@ -47,12 +53,14 @@ check_kernel() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
while IFS= read -r line; do
|
while IFS= read -r line; do
|
||||||
|
|
||||||
first_string=${line%% *}
|
first_string=${line%% *}
|
||||||
name=${first_string#linux-image-}
|
name=${first_string#linux-image-}
|
||||||
options+=("${name}" "${counter}" off)
|
options+=("${name}" "${counter}" off)
|
||||||
((counter++))
|
((counter++))
|
||||||
done < "${VAR_KERNEL_SRT}"
|
done < "${VAR_KERNEL_SRT}"
|
||||||
|
|
||||||
|
|
||||||
# shellcheck disable=SC2155
|
# shellcheck disable=SC2155
|
||||||
if declare -gx VAR_KERNEL=$(dialog \
|
if declare -gx VAR_KERNEL=$(dialog \
|
||||||
--no-collapse \
|
--no-collapse \
|
||||||
@@ -62,13 +70,26 @@ check_kernel() {
|
|||||||
--title "Select the Kernel for the CISS Hardened Debian Live Image ISO" \
|
--title "Select the Kernel for the CISS Hardened Debian Live Image ISO" \
|
||||||
--radiolist "Kernel available \n *+bpo* : Debian Backported Kernel \n *cloud* : Special lightweight images for KVM \n *unsigned* : Unsigned Kernel \n *preempt_rt* : Special Kernel for real-time-computing \n Not unsigned marked are MS signed Kernel for Secure Boot \n" 0 0 "${options[@]}" 3>&1 1>&2 2>&3 3>&-); then
|
--radiolist "Kernel available \n *+bpo* : Debian Backported Kernel \n *cloud* : Special lightweight images for KVM \n *unsigned* : Unsigned Kernel \n *preempt_rt* : Special Kernel for real-time-computing \n Not unsigned marked are MS signed Kernel for Secure Boot \n" 0 0 "${options[@]}" 3>&1 1>&2 2>&3 3>&-); then
|
||||||
clear
|
clear
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
clear
|
clear
|
||||||
|
|
||||||
if [[ "${VAR_ARCHITECTURE}" == "amd64" ]]; then
|
if [[ "${VAR_ARCHITECTURE}" == "amd64" ]]; then
|
||||||
|
|
||||||
declare -gx VAR_KERNEL="amd64"
|
declare -gx VAR_KERNEL="amd64"
|
||||||
|
|
||||||
elif [[ "${VAR_ARCHITECTURE}" == "arm64" ]]; then
|
elif [[ "${VAR_ARCHITECTURE}" == "arm64" ]]; then
|
||||||
|
|
||||||
declare -gx VAR_KERNEL="arm64"
|
declare -gx VAR_KERNEL="arm64"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
### Prevents accidental 'unset -f'.
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
readonly -f check_kernel
|
||||||
# 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
|
||||||
|
|||||||
@@ -15,41 +15,71 @@ guard_sourcing
|
|||||||
#######################################
|
#######################################
|
||||||
# Check for required Deb Packages to run the script.
|
# Check for required Deb Packages to run the script.
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# None
|
# None
|
||||||
|
# Returns:
|
||||||
|
# 0: on success
|
||||||
#######################################
|
#######################################
|
||||||
check_pkgs() {
|
check_pkgs() {
|
||||||
apt-get update -y > /dev/null 2>&1
|
apt-get update > /dev/null 2>&1
|
||||||
|
|
||||||
if [[ -z "$(command -v batcat || true)" ]]; then
|
if [[ -z "$(command -v batcat || true)" ]]; then
|
||||||
|
|
||||||
apt-get install -y --no-install-recommends bat
|
apt-get install -y --no-install-recommends bat
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "$(command -v lsb_release || true)" ]]; then
|
if [[ -z "$(command -v lsb_release || true)" ]]; then
|
||||||
|
|
||||||
apt-get install -y --no-install-recommends lsb-release
|
apt-get install -y --no-install-recommends lsb-release
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "$(command -v debootstrap || true)" ]]; then
|
if [[ -z "$(command -v debootstrap || true)" ]]; then
|
||||||
|
|
||||||
if grep -RqsE '^[[:space:]]*deb .*backports' /etc/apt/sources.list /etc/apt/sources.list.d; then
|
if grep -RqsE '^[[:space:]]*deb .*backports' /etc/apt/sources.list /etc/apt/sources.list.d; then
|
||||||
|
|
||||||
# shellcheck disable=SC2155
|
# shellcheck disable=SC2155
|
||||||
declare codename=$(lsb_release -sc)
|
declare codename=$(lsb_release -sc)
|
||||||
apt-get install -y -t "${codename}-backports" debootstrap
|
apt-get install -y -t "${codename}-backports" debootstrap
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
apt-get install -y debootstrap
|
apt-get install -y debootstrap
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -f /usr/share/live/build/VERSION ]]; then
|
if [[ ! -f /usr/share/live/build/VERSION ]]; then
|
||||||
|
|
||||||
apt-get install -y live-build
|
apt-get install -y live-build
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${VAR_HANDLER_AUTOBUILD}" == false ]]; then
|
if [[ "${VAR_HANDLER_AUTOBUILD}" == false ]]; then
|
||||||
|
|
||||||
if [[ -z "$(command -v dialog || true)" ]]; then
|
if [[ -z "$(command -v dialog || true)" ]]; then
|
||||||
|
|
||||||
apt-get install -y --no-install-recommends dialog
|
apt-get install -y --no-install-recommends dialog
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "$(command -v mkpasswd || true)" ]]; then
|
if [[ -z "$(command -v mkpasswd || true)" ]]; then
|
||||||
|
|
||||||
apt-get install -y --no-install-recommends whois
|
apt-get install -y --no-install-recommends whois
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2034,SC2155
|
||||||
|
declare -gr VAR_LB_VER="$(lb -v)"
|
||||||
|
# shellcheck disable=SC2034,SC2155
|
||||||
|
declare -gr VAR_DS_VER="$(debootstrap --version)"
|
||||||
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
### Prevents accidental 'unset -f'.
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
readonly -f check_pkgs
|
||||||
# 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
|
||||||
|
|||||||
@@ -13,9 +13,11 @@
|
|||||||
guard_sourcing
|
guard_sourcing
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# Notes Textbox
|
# Notes Textbox.
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# None
|
# None
|
||||||
|
# Returns:
|
||||||
|
# 0: on success
|
||||||
#######################################
|
#######################################
|
||||||
check_provider() {
|
check_provider() {
|
||||||
clear
|
clear
|
||||||
@@ -64,5 +66,10 @@ EOF
|
|||||||
--scrollbar \
|
--scrollbar \
|
||||||
--textbox "${VAR_NOTES}" 32 128
|
--textbox "${VAR_NOTES}" 32 128
|
||||||
clear
|
clear
|
||||||
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
### Prevents accidental 'unset -f'.
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
readonly -f check_provider
|
||||||
# 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
|
||||||
|
|||||||
@@ -17,13 +17,22 @@ guard_sourcing
|
|||||||
# Globals:
|
# Globals:
|
||||||
# VAR_HANDLER_STA
|
# VAR_HANDLER_STA
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# None
|
# None
|
||||||
|
# Returns:
|
||||||
|
# 0: on success
|
||||||
#######################################
|
#######################################
|
||||||
check_stats() {
|
check_stats() {
|
||||||
if [[ ${VAR_HANDLER_STA} -eq 1 ]]; then
|
if [[ ${VAR_HANDLER_STA} -eq 1 ]]; then
|
||||||
|
|
||||||
clear
|
clear
|
||||||
run_analysis
|
run_analysis
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
### Prevents accidental 'unset -f'.
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
readonly -f check_stats
|
||||||
# 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
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user