111 Commits

Author SHA256 Message Date
0f10a9c271 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@4f7131c at 2025-06-24T22:34:39Z on 56dbb041e6a3

Generated at : 2025-06-24T22:34:39Z
Runner Host  : 56dbb041e6a3
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : 4f7131c HEAD -> master
2025-06-24 22:34:39 +00:00
4f7131ca9c DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@70d127d at 2025-06-24T21:45:55Z on ded5508cc4be

Generated at : 2025-06-24T21:45:55Z
Runner Host  : ded5508cc4be
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 70d127d HEAD -> master
2025-06-24 21:45:55 +00:00
70d127dd4c V8.03.832.2025.06.24
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m25s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 50m15s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-24 23:44:04 +02:00
d183dab1a3 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@593faf9 at 2025-06-24T20:29:03Z on f61ff70b4f60

Generated at : 2025-06-24T20:29:03Z
Runner Host  : f61ff70b4f60
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 593faf9 HEAD -> master
2025-06-24 20:29:03 +00:00
593faf92b8 V8.03.832.2025.06.24
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m35s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-24 22:27:16 +02:00
ff1a3390ec DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@3177e1f at 2025-06-24T20:24:22Z on ea1203cfbc73

Generated at : 2025-06-24T20:24:22Z
Runner Host  : ea1203cfbc73
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : 3177e1f HEAD -> master
2025-06-24 20:24:22 +00:00
3177e1ff40 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@e8e2fa0 at 2025-06-24T19:33:20Z on 8f31c5504ca5

Generated at : 2025-06-24T19:33:20Z
Runner Host  : 8f31c5504ca5
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : e8e2fa0 HEAD -> master
2025-06-24 19:33:20 +00:00
e8e2fa0182 V8.03.832.2025.06.24
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m36s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 52m52s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-24 21:31:24 +02:00
dfd59577b2 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@c2d0839 at 2025-06-24T19:21:39Z on e64222ff680c

Generated at : 2025-06-24T19:21:39Z
Runner Host  : e64222ff680c
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : c2d0839 HEAD -> master
2025-06-24 19:21:39 +00:00
c2d0839cd2 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@f047832 at 2025-06-24T18:29:33Z on 7cf2cc345bba

Generated at : 2025-06-24T18:29:33Z
Runner Host  : 7cf2cc345bba
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : f047832 HEAD -> master
2025-06-24 18:29:33 +00:00
f047832cdc V8.03.832.2025.06.24
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m25s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 53m38s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-24 20:28:02 +02:00
668ab7ce9d DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@972749b at 2025-06-24T18:00:57Z on b959bf746d49

Generated at : 2025-06-24T18:00:57Z
Runner Host  : b959bf746d49
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 972749b HEAD -> master
2025-06-24 18:00:57 +00:00
972749b607 V8.03.832.2025.06.24
Some checks failed
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m33s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Failing after 8m47s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Failing after 8m47s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Failing after 8m42s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-24 19:58:57 +02:00
4b3918e58d DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@55c2755 at 2025-06-24T08:57:27Z on f797403b8e29

Generated at : 2025-06-24T08:57:27Z
Runner Host  : f797403b8e29
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 55c2755 HEAD -> master
2025-06-24 08:57:27 +00:00
55c27550c2 V8.03.832.2025.06.24
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m29s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-24 10:55:49 +02:00
dcb05605d6 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@6ebf75a at 2025-06-24T08:55:24Z on 28ea8f9d1fb8

Generated at : 2025-06-24T08:55:24Z
Runner Host  : 28ea8f9d1fb8
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 6ebf75a HEAD -> master
2025-06-24 08:55:24 +00:00
6ebf75a91b V8.03.832.2025.06.24
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m23s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-24 10:53:55 +02:00
00c3853d4e DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@1411be3 at 2025-06-24T08:52:41Z on 304d6b967c3b

Generated at : 2025-06-24T08:52:41Z
Runner Host  : 304d6b967c3b
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 1411be3 HEAD -> master
2025-06-24 08:52:41 +00:00
1411be304d DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@7459585 at 2025-06-24T08:51:53Z on e2cd59453da4

Generated at : 2025-06-24T08:51:53Z
Runner Host  : e2cd59453da4
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : 7459585 HEAD -> master
2025-06-24 08:51:54 +00:00
7459585d20 V8.03.832.2025.06.24
All checks were successful
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 36s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m25s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-24 10:50:24 +02:00
df806d086f DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@4b70ca7 at 2025-06-23T17:05:19Z on 7476c59f00be

Generated at : 2025-06-23T17:05:19Z
Runner Host  : 7476c59f00be
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 4b70ca7 HEAD -> master
2025-06-23 17:05:20 +00:00
4b70ca7056 V8.03.768.2025.06.23
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m35s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-23 19:03:39 +02:00
44c3aef43d DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@81f3a89 at 2025-06-23T16:54:52Z on 4ebf85be8b8c

Generated at : 2025-06-23T16:54:52Z
Runner Host  : 4ebf85be8b8c
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 81f3a89 HEAD -> master
2025-06-23 16:54:52 +00:00
81f3a89ae5 V8.03.768.2025.06.23
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m27s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-23 18:53:13 +02:00
d0a38a82b8 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@73d826c at 2025-06-23T16:48:44Z on 066aacd189ab

Generated at : 2025-06-23T16:48:44Z
Runner Host  : 066aacd189ab
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 73d826c HEAD -> master
2025-06-23 16:48:44 +00:00
73d826ca2b Merge remote-tracking branch 'origin/master'
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m34s
2025-06-23 18:47:08 +02:00
87905d693c V8.03.768.2025.06.23
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-23 18:46:10 +02:00
11e6b58f21 DEPLOY BOT : 💙 Auto-Generate PUBLIC LIVE ISO [skip ci]
X-CI-Metadata: master@27b59ba at 2025-06-23T09:04:52Z on fd3d8b329394

Generated at : 2025-06-23T09:04:52Z
Runner Host  : fd3d8b329394
Workflow ID  : 💙 Generating a PUBLIC Live ISO.
Git Commit   : 27b59ba HEAD -> master
2025-06-23 09:04:52 +00:00
27b59bad99 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@a96d38f at 2025-06-23T08:10:39Z on acbf81c16084

Generated at : 2025-06-23T08:10:39Z
Runner Host  : acbf81c16084
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : a96d38f HEAD -> master
2025-06-23 08:10:39 +00:00
a96d38fe46 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@0cd9e75 at 2025-06-23T07:15:10Z on b6c63877a75b

Generated at : 2025-06-23T07:15:10Z
Runner Host  : b6c63877a75b
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : 0cd9e75 HEAD -> master
2025-06-23 07:15:10 +00:00
0cd9e75b68 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@a5db504 at 2025-06-23T06:21:22Z on b85958f46628

Generated at : 2025-06-23T06:21:22Z
Runner Host  : b85958f46628
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : a5db504 HEAD -> master
2025-06-23 06:21:22 +00:00
a5db5044f6 V8.03.768.2025.06.23
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 2m49s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 56m45s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 55m27s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 54m13s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-23 08:18:26 +02:00
5a4570ec46 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@5e4bc99 at 2025-06-23T06:05:56Z on 81400268aec7

Generated at : 2025-06-23T06:05:56Z
Runner Host  : 81400268aec7
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 5e4bc99 HEAD -> master
2025-06-23 06:05:56 +00:00
5e4bc99e5a DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@e9b21a2 at 2025-06-23T06:05:08Z on 18ebad3d3217

Generated at : 2025-06-23T06:05:08Z
Runner Host  : 18ebad3d3217
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : e9b21a2 HEAD -> master
2025-06-23 06:05:08 +00:00
e9b21a2b5b V8.03.768.2025.06.23
All checks were successful
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 35s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m23s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-23 08:03:24 +02:00
4bae828016 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@67ebcfb at 2025-06-19T17:45:16Z on 02331a304315

Generated at : 2025-06-19T17:45:16Z
Runner Host  : 02331a304315
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 67ebcfb HEAD -> master
2025-06-19 17:45:16 +00:00
67ebcfb388 V8.03.768.2025.06.19
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m29s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 19:43:39 +02:00
53e4f5e2e3 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@adbf2d0 at 2025-06-19T17:33:57Z on 233beb1e1bef

Generated at : 2025-06-19T17:33:57Z
Runner Host  : 233beb1e1bef
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : adbf2d0 HEAD -> master
2025-06-19 17:33:57 +00:00
adbf2d0dfd V8.03.768.2025.06.19
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m37s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 19:32:09 +02:00
8fb023e43b DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@1276b4f at 2025-06-19T17:03:12Z on 6917c3ab7572

Generated at : 2025-06-19T17:03:12Z
Runner Host  : 6917c3ab7572
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 1276b4f HEAD -> master
2025-06-19 17:03:12 +00:00
1276b4fae7 V8.03.768.2025.06.19
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m31s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 19:01:27 +02:00
4b6c7cc2d8 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@34dda8c at 2025-06-19T16:56:01Z on 71760bb93abe

Generated at : 2025-06-19T16:56:01Z
Runner Host  : 71760bb93abe
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 34dda8c HEAD -> master
2025-06-19 16:56:01 +00:00
34dda8c8dd V8.03.768.2025.06.19
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m35s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 18:54:04 +02:00
a5a5855507 DEPLOY BOT : 💙 Auto-Generate PUBLIC LIVE ISO [skip ci]
X-CI-Metadata: master@c3f4e0b at 2025-06-19T16:38:49Z on bdc025ea66fe

Generated at : 2025-06-19T16:38:49Z
Runner Host  : bdc025ea66fe
Workflow ID  : 💙 Generating a PUBLIC Live ISO.
Git Commit   : c3f4e0b HEAD -> master
2025-06-19 16:38:49 +00:00
c3f4e0ba0a DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@44c56be at 2025-06-19T15:49:01Z on e5d7ffff4b85

Generated at : 2025-06-19T15:49:01Z
Runner Host  : e5d7ffff4b85
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : 44c56be HEAD -> master
2025-06-19 15:49:01 +00:00
44c56be9d2 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@9657a45 at 2025-06-19T14:56:41Z on 25b6e1509d50

Generated at : 2025-06-19T14:56:41Z
Runner Host  : 25b6e1509d50
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : 9657a45 HEAD -> master
2025-06-19 14:56:41 +00:00
9657a454c9 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@577b7d1 at 2025-06-19T14:05:50Z on ba89446388a0

Generated at : 2025-06-19T14:05:50Z
Runner Host  : ba89446388a0
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 577b7d1 HEAD -> master
2025-06-19 14:05:50 +00:00
577b7d16dd V8.03.768.2025.06.19
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m27s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 52m27s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 52m15s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 49m47s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 16:03:45 +02:00
e4126f6995 V8.03.768.2025.06.19
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 08:31:12 +02:00
144d0ca2e9 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@b8fe187 at 2025-06-19T05:53:22Z on b6300ce5447e

Generated at : 2025-06-19T05:53:22Z
Runner Host  : b6300ce5447e
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : b8fe187 HEAD -> master
2025-06-19 05:53:22 +00:00
b8fe187cbf DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@3cc26e2 at 2025-06-19T05:52:22Z on f02394ed0ec5

Generated at : 2025-06-19T05:52:22Z
Runner Host  : f02394ed0ec5
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : 3cc26e2 HEAD -> master
2025-06-19 05:52:22 +00:00
3cc26e2d2b V8.03.768.2025.06.19
All checks were successful
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 36s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m36s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 07:51:38 +02:00
43ec5f3493 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@aa2f51b at 2025-06-19T05:33:03Z on 8f610bbc5c6f

Generated at : 2025-06-19T05:33:03Z
Runner Host  : 8f610bbc5c6f
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : aa2f51b HEAD -> master
2025-06-19 05:33:03 +00:00
aa2f51b059 V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m33s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 07:31:24 +02:00
ce632c3b3e Merge remote-tracking branch 'origin/master' 2025-06-19 07:27:34 +02:00
2bfdf5fa42 V8.03.768.2025.06.18
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 07:27:27 +02:00
3700a1ad6c DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@250b8ba at 2025-06-19T05:24:25Z on ded82c6e9227

Generated at : 2025-06-19T05:24:25Z
Runner Host  : ded82c6e9227
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 250b8ba HEAD -> master
2025-06-19 05:24:25 +00:00
250b8ba0c6 V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m34s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 07:22:30 +02:00
8d598d7d69 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@c4b0e44 at 2025-06-18T22:29:43Z on 9a7502a7ba31

Generated at : 2025-06-18T22:29:43Z
Runner Host  : 9a7502a7ba31
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : c4b0e44 HEAD -> master
2025-06-18 22:29:43 +00:00
c4b0e44d99 V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m36s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 00:27:38 +02:00
4e76d9665a DEPLOY BOT : 💙 Auto-Generate PUBLIC LIVE ISO [skip ci]
X-CI-Metadata: master@8a65565 at 2025-06-18T21:50:59Z on 5edfe440f0f5

Generated at : 2025-06-18T21:50:59Z
Runner Host  : 5edfe440f0f5
Workflow ID  : 💙 Generating a PUBLIC Live ISO.
Git Commit   : 8a65565 HEAD -> master
2025-06-18 21:50:59 +00:00
8a65565e5c DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@a03d758 at 2025-06-18T21:00:04Z on 43448e2d0468

Generated at : 2025-06-18T21:00:04Z
Runner Host  : 43448e2d0468
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : a03d758 HEAD -> master
2025-06-18 21:00:04 +00:00
a03d75879f DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@29a5ff5 at 2025-06-18T20:08:45Z on 3da8825eb356

Generated at : 2025-06-18T20:08:45Z
Runner Host  : 3da8825eb356
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : 29a5ff5 HEAD -> master
2025-06-18 20:08:45 +00:00
29a5ff5c9e DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@84f7014 at 2025-06-18T19:45:52Z on 8f3c3022119f

Generated at : 2025-06-18T19:45:52Z
Runner Host  : 8f3c3022119f
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 84f7014 HEAD -> master
2025-06-18 19:45:52 +00:00
84f7014699 V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m28s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-18 21:44:20 +02:00
6136da5631 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@2e24d9d at 2025-06-18T19:16:56Z on 66e587905f91

Generated at : 2025-06-18T19:16:56Z
Runner Host  : 66e587905f91
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 2e24d9d HEAD -> master
2025-06-18 19:16:56 +00:00
2e24d9d814 V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m26s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 53m23s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 51m15s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 50m54s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-18 21:15:25 +02:00
a992311235 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@8785b82 at 2025-06-18T19:14:58Z on f7c25e7943ab

Generated at : 2025-06-18T19:14:58Z
Runner Host  : f7c25e7943ab
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 8785b82 HEAD -> master
2025-06-18 19:14:58 +00:00
8785b820af V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m30s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-18 21:13:23 +02:00
51745e8f82 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@c04e89a at 2025-06-18T19:06:59Z on c1036e816e74

Generated at : 2025-06-18T19:06:59Z
Runner Host  : c1036e816e74
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : c04e89a HEAD -> master
2025-06-18 19:06:59 +00:00
c04e89a3c1 V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m35s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-18 21:04:53 +02:00
9aa98d1e46 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@1c0cf0c at 2025-06-18T18:18:30Z on 79bdcfb89234

Generated at : 2025-06-18T18:18:30Z
Runner Host  : 79bdcfb89234
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 1c0cf0c HEAD -> master
2025-06-18 18:18:30 +00:00
1c0cf0ce8c V8.03.768.2025.06.18
Some checks failed
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m29s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Failing after 9m5s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Failing after 9m0s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Failing after 9m4s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-18 20:16:49 +02:00
8d40f95c16 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@8c05da4 at 2025-06-18T18:16:00Z on 31cb08827156

Generated at : 2025-06-18T18:16:00Z
Runner Host  : 31cb08827156
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 8c05da4 HEAD -> master
2025-06-18 18:16:00 +00:00
8c05da4692 V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m34s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-18 20:14:19 +02:00
dd4968c745 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@aaf14e6 at 2025-06-18T18:11:58Z on 7d341627d38b

Generated at : 2025-06-18T18:11:58Z
Runner Host  : 7d341627d38b
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : aaf14e6 HEAD -> master
2025-06-18 18:11:59 +00:00
aaf14e6204 V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m31s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-18 20:10:17 +02:00
247b9af51b DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@f40b1c6 at 2025-06-18T18:02:53Z on 1ceadf78f42d

Generated at : 2025-06-18T18:02:53Z
Runner Host  : 1ceadf78f42d
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : f40b1c6 HEAD -> master
2025-06-18 18:02:53 +00:00
f40b1c6f2d DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@742d057 at 2025-06-18T18:01:52Z on 6873478a02ad

Generated at : 2025-06-18T18:01:52Z
Runner Host  : 6873478a02ad
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : 742d057 HEAD -> master
2025-06-18 18:01:52 +00:00
742d0579d7 V8.03.768.2025.06.18
All checks were successful
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 36s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m38s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-18 20:00:50 +02:00
3e5681cb90 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@c21a25f at 2025-06-17T17:03:36Z on 31b30f152ad6

Generated at : 2025-06-17T17:03:36Z
Runner Host  : 31b30f152ad6
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : c21a25f HEAD -> master
2025-06-17 17:03:36 +00:00
c21a25f938 V8.03.768.2025.06.17
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m27s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-17 19:02:03 +02:00
a5552f7079 Merge remote-tracking branch 'origin/master' 2025-06-17 18:56:24 +02:00
999fa7e11e V8.03.768.2025.06.17
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-17 18:56:15 +02:00
7d8bab47ff DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@6e33d74 at 2025-06-17T16:33:13Z on a84f597e933a

Generated at : 2025-06-17T16:33:13Z
Runner Host  : a84f597e933a
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 6e33d74 HEAD -> master
2025-06-17 16:33:13 +00:00
6e33d74922 V8.03.768.2025.06.17
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m22s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-17 18:31:45 +02:00
b718b1e8c8 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@c7d5407 at 2025-06-17T16:28:14Z on 863110c5e7c7

Generated at : 2025-06-17T16:28:14Z
Runner Host  : 863110c5e7c7
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : c7d5407 HEAD -> master
2025-06-17 16:28:14 +00:00
c7d5407119 V8.03.768.2025.06.17
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m27s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-17 18:26:21 +02:00
2f25ad8e31 DEPLOY BOT : 💙 Auto-Generate PUBLIC LIVE ISO [skip ci]
X-CI-Metadata: master@ec5f343 at 2025-06-17T14:54:37Z on 880f9b9d21a3

Generated at : 2025-06-17T14:54:37Z
Runner Host  : 880f9b9d21a3
Workflow ID  : 💙 Generating a PUBLIC Live ISO.
Git Commit   : ec5f343 HEAD -> master
2025-06-17 14:54:37 +00:00
ec5f343bfa DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@22220bb at 2025-06-17T14:03:37Z on bafbb2900f16

Generated at : 2025-06-17T14:03:37Z
Runner Host  : bafbb2900f16
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : 22220bb HEAD -> master
2025-06-17 14:03:37 +00:00
22220bb3e0 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@ad7a12e at 2025-06-17T13:12:06Z on 6e730393370b

Generated at : 2025-06-17T13:12:06Z
Runner Host  : 6e730393370b
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : ad7a12e HEAD -> master
2025-06-17 13:12:06 +00:00
ad7a12ea92 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@03f0b4d at 2025-06-17T12:22:00Z on 07d789f6cde4

Generated at : 2025-06-17T12:22:00Z
Runner Host  : 07d789f6cde4
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 03f0b4d HEAD -> master
2025-06-17 12:22:00 +00:00
03f0b4df09 DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@0ef7fcb at 2025-06-17T12:21:11Z on 675c666aacea

Generated at : 2025-06-17T12:21:11Z
Runner Host  : 675c666aacea
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : 0ef7fcb HEAD -> master
2025-06-17 12:21:11 +00:00
0ef7fcb146 V8.03.768.2025.06.17
All checks were successful
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 35s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m25s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 51m40s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 51m26s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 50m59s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-17 14:19:05 +02:00
ea2a7627e2 DEPLOY BOT : 💙 Auto-Generate PUBLIC LIVE ISO [skip ci]
X-CI-Metadata: master@b38e0c8 at 2025-06-11T19:46:50Z on 5be55a0d2464

Generated at : 2025-06-11T19:46:50Z
Runner Host  : 5be55a0d2464
Workflow ID  : 💙 Generating a PUBLIC Live ISO.
Git Commit   : b38e0c8 HEAD -> master
2025-06-11 19:46:50 +00:00
b38e0c8476 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@8409a8e at 2025-06-11T18:57:26Z on 409faf9f44c1

Generated at : 2025-06-11T18:57:26Z
Runner Host  : 409faf9f44c1
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : 8409a8e HEAD -> master
2025-06-11 18:57:26 +00:00
8409a8eb8a DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@2b73132 at 2025-06-11T18:08:02Z on 610c91c1207c

Generated at : 2025-06-11T18:08:02Z
Runner Host  : 610c91c1207c
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : 2b73132 HEAD -> master
2025-06-11 18:08:02 +00:00
2b73132851 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@1769e13 at 2025-06-11T17:20:40Z on 1ce7b9e07f3b

Generated at : 2025-06-11T17:20:40Z
Runner Host  : 1ce7b9e07f3b
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 1769e13 HEAD -> master
2025-06-11 17:20:40 +00:00
1769e13708 DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@7eb8fb8 at 2025-06-11T17:19:38Z on df49d93beb71

Generated at : 2025-06-11T17:19:38Z
Runner Host  : df49d93beb71
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : 7eb8fb8 HEAD -> master
2025-06-11 17:19:38 +00:00
7eb8fb8754 V8.03.768.2025.06.11
All checks were successful
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 35s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m39s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 49m7s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 49m24s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 49m23s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-11 19:17:47 +02:00
1fda52e948 V8.03.768.2025.06.11
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-11 19:16:51 +02:00
6d12da9566 DEPLOY BOT : 💙 Auto-Generate PUBLIC LIVE ISO [skip ci]
X-CI-Metadata: master@2b8deaf at 2025-06-09T23:03:26Z on 541caa50b8e9

Generated at : 2025-06-09T23:03:26Z
Runner Host  : 541caa50b8e9
Workflow ID  : 💙 Generating a PUBLIC Live ISO.
Git Commit   : 2b8deaf HEAD -> master
2025-06-09 23:03:26 +00:00
2b8deafabc DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@3a8e624 at 2025-06-09T22:16:21Z on 3c94b0ce9f9b

Generated at : 2025-06-09T22:16:21Z
Runner Host  : 3c94b0ce9f9b
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : 3a8e624 HEAD -> master
2025-06-09 22:16:21 +00:00
3a8e624f57 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@eac8f62 at 2025-06-09T21:29:12Z on 5faff8dc6e26

Generated at : 2025-06-09T21:29:12Z
Runner Host  : 5faff8dc6e26
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : eac8f62 HEAD -> master
2025-06-09 21:29:12 +00:00
eac8f62459 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@fadece6 at 2025-06-09T20:42:11Z on be4dd281175d

Generated at : 2025-06-09T20:42:11Z
Runner Host  : be4dd281175d
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : fadece6 HEAD -> master
2025-06-09 20:42:11 +00:00
fadece63ca DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@68eb879 at 2025-06-09T20:41:27Z on 55df2b5118e1

Generated at : 2025-06-09T20:41:27Z
Runner Host  : 55df2b5118e1
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : 68eb879 HEAD -> master
2025-06-09 20:41:27 +00:00
68eb879c8a V8.03.768.2025.06.09
All checks were successful
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 34s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m19s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 48m28s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 47m5s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 47m5s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-09 22:38:15 +02:00
64689d00b2 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@7172b4f at 2025-06-07T17:57:16Z on b04492b21523

Generated at : 2025-06-07T17:57:16Z
Runner Host  : b04492b21523
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 7172b4f HEAD -> master
2025-06-07 17:57:16 +00:00
7172b4fee9 V8.03.644.2025.06.07
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m7s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-07 19:55:41 +02:00
ec6066f620 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@e164a03 at 2025-06-07T15:27:29Z on ea435a870a0e

Generated at : 2025-06-07T15:27:29Z
Runner Host  : ea435a870a0e
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : e164a03 HEAD -> master
2025-06-07 15:27:29 +00:00
e164a039fa V8.03.644.2025.06.07
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m3s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-07 17:26:01 +02:00
89 changed files with 822 additions and 428 deletions

View File

@@ -46,4 +46,10 @@
🧠 🧠
📅 📅
🎯 🎯
🌐
🔗
💬
☢️
☣️
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

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

View File

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

View File

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

View File

@@ -10,6 +10,6 @@
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
build: build:
counter: 1023 counter: 1024
version: V8.03.644.2025.06.07 version: V8.03.832.2025.06.24
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml

View File

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

View File

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

View File

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

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.644.2025.06.07 ### Version Master V8.03.832.2025.06.24
name: 🔐 Generating a Private Live ISO FLV 0. name: 🔐 Generating a Private Live ISO FLV 0.
@@ -270,7 +270,7 @@ jobs:
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.12.22+bpo-amd64.
./ciss_live_builder.sh \ ./ciss_live_builder.sh \
--autobuild=6.12.22+bpo-amd64 \ --autobuild=6.12.30+bpo-amd64 \
--architecture amd64 \ --architecture amd64 \
--build-directory /opt/livebuild \ --build-directory /opt/livebuild \
--control "${timestamp}" \ --control "${timestamp}" \
@@ -386,7 +386,7 @@ jobs:
CISS.debian.live.builder ISO : CISS.debian.live.builder ISO :
"${VAR_ISO_FILE_NAME}" "${VAR_ISO_FILE_NAME}"
CISS.debian.live.builder ISO sha512 : CISS.debian.live.builder ISO sha512 :
"${VAR_ISO_FILE_SHA512}" $(< "${VAR_ISO_FILE_SHA512}")
CISS.debian.live.builder ISO sha512 sign : CISS.debian.live.builder ISO sha512 sign :
$(< "${SIGNATURE_FILE}") $(< "${SIGNATURE_FILE}")

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.512.2025.06.06 ### Version Master V8.03.832.2025.06.24
name: 🔐 Generating a Private Live ISO FLV 1. name: 🔐 Generating a Private Live ISO FLV 1.
@@ -270,7 +270,7 @@ jobs:
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.12.22+bpo-amd64.
./ciss_live_builder.sh \ ./ciss_live_builder.sh \
--autobuild=6.12.22+bpo-amd64 \ --autobuild=6.12.30+bpo-amd64 \
--architecture amd64 \ --architecture amd64 \
--build-directory /opt/livebuild \ --build-directory /opt/livebuild \
--control "${timestamp}" \ --control "${timestamp}" \
@@ -383,7 +383,7 @@ jobs:
CISS.debian.live.builder ISO : CISS.debian.live.builder ISO :
"${VAR_ISO_FILE_NAME}" "${VAR_ISO_FILE_NAME}"
CISS.debian.live.builder ISO sha512 : CISS.debian.live.builder ISO sha512 :
"${VAR_ISO_FILE_SHA512}" $(< "${VAR_ISO_FILE_SHA512}")
CISS.debian.live.builder ISO sha512 sign : CISS.debian.live.builder ISO sha512 sign :
$(< "${SIGNATURE_FILE}") $(< "${SIGNATURE_FILE}")

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.644.2025.06.07 ### Version Master V8.03.832.2025.06.24
name: 💙 Generating a PUBLIC Live ISO. name: 💙 Generating a PUBLIC Live ISO.
@@ -271,7 +271,7 @@ jobs:
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.12.22+bpo-amd64.
./ciss_live_builder.sh \ ./ciss_live_builder.sh \
--autobuild=6.12.22+bpo-amd64 \ --autobuild=6.12.30+bpo-amd64 \
--architecture amd64 \ --architecture amd64 \
--build-directory /opt/livebuild \ --build-directory /opt/livebuild \
--control "${timestamp}" \ --control "${timestamp}" \
@@ -383,7 +383,7 @@ jobs:
CISS.debian.live.builder ISO : CISS.debian.live.builder ISO :
"${VAR_ISO_FILE_NAME}" "${VAR_ISO_FILE_NAME}"
CISS.debian.live.builder ISO sha512 : CISS.debian.live.builder ISO sha512 :
"${VAR_ISO_FILE_SHA512}" $(< "${VAR_ISO_FILE_SHA512}")
CISS.debian.live.builder ISO sha512 sign : CISS.debian.live.builder ISO sha512 sign :
$(< "${SIGNATURE_FILE}") $(< "${SIGNATURE_FILE}")

View File

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

View File

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

View File

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

View File

@@ -15,5 +15,5 @@ properties_SPDX-License-Identifier="EUPL-1.2 OR LicenseRef-CCLA-1.0"
properties_SPDX-LicenseComment="This file is part of the CISS.debian.installer.secure framework." properties_SPDX-LicenseComment="This file is part of the CISS.debian.installer.secure framework."
properties_SPDX-PackageName="CISS.debian.live.builder" properties_SPDX-PackageName="CISS.debian.live.builder"
properties_SPDX-Security-Contact="security@coresecret.eu" properties_SPDX-Security-Contact="security@coresecret.eu"
properties_version="V8.03.644.2025.06.07" properties_version="V8.03.832.2025.06.24"
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf

View File

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

View File

@@ -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-06-07T13:59:44Z". This file was automatically generated by the DEPLOY BOT on: "2025-06-24T21:45:52Z".
✅ The last linter check was successful. ✅ ✅ The last linter check was successful. ✅

View File

@@ -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-06-07T13:28:13Z". This file was automatically generated by the DEPLOY BOT on: "2025-06-23T09:04:49Z".
CISS.debian.live.builder ISO : CISS.debian.live.builder ISO :
"ciss-debian-live-2025_06_07T12_48_35Z-amd64.hybrid.iso" "ciss-debian-live-2025_06_23T08_20_37Z-amd64.hybrid.iso"
CISS.debian.live.builder ISO sha512 : CISS.debian.live.builder ISO sha512 :
"ciss-debian-live-2025_06_07T12_48_35Z-amd64.hybrid.iso.sha512" 86a8be09e16299892ae99d195b56a04356bcf5d2202016da8f8fa7441077c43fab68ebefcb8c39b3423f085a74b607907fb691ac71fdef92af33782bd2ac0ce5
CISS.debian.live.builder ISO sha512 sign : CISS.debian.live.builder ISO sha512 sign :
-----BEGIN PGP SIGNATURE----- -----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaEQ+bQAKCRA85KY4hzOw iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaFkYsQAKCRA85KY4hzOw
IdnhAQC+NGhgMMPqZgS51p59kCYSoGLDzodY7TtFOJOxLo5LeAD/bgJifC51JFju IbrbAQDeOIS3QYKIPkMhYlNPIcsJjv/dh3TdYiuQbkvfwVI+/gD/TiB+ska62vJk
RKy7e3am5Z80cAGZJ1RFliRgjJVZeAU= LGfwjuaxMC0KHG1/UTICytOeAnTrXAc=
=P9Qk =qk8B
-----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

View File

@@ -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-06-07T11:52:28Z". This file was automatically generated by the DEPLOY BOT on: "2025-06-24T19:21:36Z".
CISS.debian.live.builder ISO : CISS.debian.live.builder ISO :
"ciss-debian-live-2025_06_07T11_12_45Z-amd64.hybrid.iso" "ciss-debian-live-2025_06_24T18_36_59Z-amd64.hybrid.iso"
CISS.debian.live.builder ISO sha512 : CISS.debian.live.builder ISO sha512 :
"ciss-debian-live-2025_06_07T11_12_45Z-amd64.hybrid.iso.sha512" 3ca5a9635ef74a48f6d8f31696ec56e56ee95eff5317df95976e22d31e331bc503422602e24a9eaddfc30212acf6ebe96af51e94298c4c7c49c839c62abb6c2f
CISS.debian.live.builder ISO sha512 sign : CISS.debian.live.builder ISO sha512 sign :
-----BEGIN PGP SIGNATURE----- -----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaEQn/AAKCRA85KY4hzOw iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaFr6wAAKCRA85KY4hzOw
IeMFAP0ZsIuEHFz3EgDpk1rN066VZ2nGrx3NvQenvjg5EQsRNAD+MNlJ4JE9zk17 IbgHAP4p9jlF9jZkYIw/0H8j07QUWNHxeUz2r2UXp8aN2gUEBwEAxqbznJhH8li8
pvWF+r0l2K7P6CmxlK7WZFU2Hs6KYwc= 40g5sWwGLmBjlidIOe0NxeMUBkuMlQg=
=6azh =gq5w
-----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

View File

@@ -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-06-07T12:39:29Z". This file was automatically generated by the DEPLOY BOT on: "2025-06-24T22:34:36Z".
CISS.debian.live.builder ISO : CISS.debian.live.builder ISO :
"ciss-debian-live-2025_06_07T12_01_03Z-amd64.hybrid.iso" "ciss-debian-live-2025_06_24T21_53_22Z-amd64.hybrid.iso"
CISS.debian.live.builder ISO sha512 : CISS.debian.live.builder ISO sha512 :
"ciss-debian-live-2025_06_07T12_01_03Z-amd64.hybrid.iso.sha512" 581d951c8ab4d8e7afd2d727f8e64bd6fff51d005b84b9800e941da8dae654985bae500e056f02729d6b274ba330dfdbec59fd5ec2c8b18c3bbf37433b73c154
CISS.debian.live.builder ISO sha512 sign : CISS.debian.live.builder ISO sha512 sign :
-----BEGIN PGP SIGNATURE----- -----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaEQzAQAKCRA85KY4hzOw iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaFsn/AAKCRA85KY4hzOw
IedVAQDj71Q0oAweOhYGabzgECIwgIxHPypvidif0fnjucGuIgD+O5XAvFsPnUzQ IUvMAP9P1U6lblhdZ9tSROvYXRXcv0IEg2rVo3fMx9T5fozLewEAgxxo0+J1Nlvu
7lXvBLPURbSoa5//sgkXL3Pmik2vvwk= KVZOdiuc6xdxkBHWYaA2kSXZKI+qAwA=
=TJPq =2H0C
-----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

View File

@@ -2,7 +2,7 @@
gitea: none gitea: none
include_toc: true include_toc: true
--- ---
[![Static Badge](https://badges.coresecret.dev/badge/Release-V8.03.644.2025.06.07-white?style=plastic&logo=linux&logoColor=white&logoSize=auto&label=Release&color=%23FCC624)](https://git.coresecret.dev/msw/CISS.debian.live.builder) [![Static Badge](https://badges.coresecret.dev/badge/Release-V8.03.832.2025.06.24-white?style=plastic&logo=linux&logoColor=white&logoSize=auto&label=Release&color=%23FCC624)](https://git.coresecret.dev/msw/CISS.debian.live.builder)
&nbsp; &nbsp;
[![Static Badge](https://badges.coresecret.dev/badge/Licence-EUPL1.2-white?style=plastic&logo=europeanunion&logoColor=white&logoSize=auto&label=Licence&color=%23003399)](https://eupl.eu/1.2/en/) &nbsp; [![Static Badge](https://badges.coresecret.dev/badge/Licence-EUPL1.2-white?style=plastic&logo=europeanunion&logoColor=white&logoSize=auto&label=Licence&color=%23003399)](https://eupl.eu/1.2/en/) &nbsp;
[![Static Badge](https://badges.coresecret.dev/badge/opensourceinitiative-Compliant-white?style=plastic&logo=opensourceinitiative&logoColor=white&logoSize=auto&label=OSI&color=%233DA639)](https://opensource.org/license/eupl-1-2) &nbsp; [![Static Badge](https://badges.coresecret.dev/badge/opensourceinitiative-Compliant-white?style=plastic&logo=opensourceinitiative&logoColor=white&logoSize=auto&label=OSI&color=%233DA639)](https://opensource.org/license/eupl-1-2) &nbsp;
@@ -11,8 +11,8 @@ include_toc: true
[![Static Badge](https://badges.coresecret.dev/badge/shellformat-passed-white?style=plastic&logo=google&logoColor=white&logoSize=auto&label=shellformat&color=%234285F4)](https://github.com/mvdan/sh) &nbsp; [![Static Badge](https://badges.coresecret.dev/badge/shellformat-passed-white?style=plastic&logo=google&logoColor=white&logoSize=auto&label=shellformat&color=%234285F4)](https://github.com/mvdan/sh) &nbsp;
[![Static Badge](https://badges.coresecret.dev/badge/Shellstyle-Google-white?style=plastic&logo=google&logoColor=white&logoSize=auto&label=Shellstyle&color=%234285F4)](https://google.github.io/styleguide/shellguide.html) [![Static Badge](https://badges.coresecret.dev/badge/Shellstyle-Google-white?style=plastic&logo=google&logoColor=white&logoSize=auto&label=Shellstyle&color=%234285F4)](https://google.github.io/styleguide/shellguide.html)
&nbsp; &nbsp;
[![Static Badge](https://badges.coresecret.dev/badge/Gitea-1.23.8-white?style=plastic&logo=gitea&logoColor=white&logoSize=auto&label=gitea&color=%23609926)](https://docs.gitea.com/) &nbsp; [![Static Badge](https://badges.coresecret.dev/badge/Gitea-1.24.2-white?style=plastic&logo=gitea&logoColor=white&logoSize=auto&label=gitea&color=%23609926)](https://docs.gitea.com/) &nbsp;
[![Static Badge](https://badges.coresecret.dev/badge/IntelliJ-2025.1.1.1-white?style=plastic&logo=intellijidea&logoColor=white&logoSize=auto&label=IntelliJ&color=%23000000)](https://www.jetbrains.com/store/?section=personal&billing=yearly) &nbsp; [![Static Badge](https://badges.coresecret.dev/badge/IntelliJ-2025.1.3-white?style=plastic&logo=intellijidea&logoColor=white&logoSize=auto&label=IntelliJ&color=%23000000)](https://www.jetbrains.com/store/?section=personal&billing=yearly) &nbsp;
[![Static Badge](https://badges.coresecret.dev/badge/keepassxc-2.7.10-white?style=plastic&logo=keepassxc&logoColor=white&logoSize=auto&label=KeePassXC&color=%236CAC4D)](https://keepassxc.org/) &nbsp; [![Static Badge](https://badges.coresecret.dev/badge/keepassxc-2.7.10-white?style=plastic&logo=keepassxc&logoColor=white&logoSize=auto&label=KeePassXC&color=%236CAC4D)](https://keepassxc.org/) &nbsp;
[![Static Badge](https://badges.coresecret.dev/badge/netcup-Netcup-white?style=plastic&logo=netcup&logoColor=white&logoSize=auto&label=powered&color=%23056473)](https://www.netcup.com/de) &nbsp; [![Static Badge](https://badges.coresecret.dev/badge/netcup-Netcup-white?style=plastic&logo=netcup&logoColor=white&logoSize=auto&label=powered&color=%23056473)](https://www.netcup.com/de) &nbsp;
[![Static Badge](https://badges.coresecret.dev/badge/powered-Centurion-white?style=plastic&logo=europeanunion&logoColor=white&logoSize=auto&label=powered&color=%230F243E)](https://coresecret.eu/) &nbsp; [![Static Badge](https://badges.coresecret.dev/badge/powered-Centurion-white?style=plastic&logo=europeanunion&logoColor=white&logoSize=auto&label=powered&color=%230F243E)](https://coresecret.eu/) &nbsp;
@@ -26,7 +26,7 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.644.2025.06.07<br> **Build**: V8.03.832.2025.06.24<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
@@ -37,7 +37,7 @@ changes and made publicly available for download. The latest generic ISO is avai
Check out more: Check out more:
* [CenturionNet Services](https://coresecret.eu/cnet/) * [CenturionNet Services](https://coresecret.eu/cnet/)
* [CenturionDNS Resolver](https://dns.eddns.eu/) * [CenturionDNS Resolver](https://eddns.eu/)
* [CenturionDNS Blocklist](https://dns.eddns.eu/blocklists/centurion_titanium_ultimate.txt) * [CenturionDNS Blocklist](https://dns.eddns.eu/blocklists/centurion_titanium_ultimate.txt)
* [CenturionNet Status](https://uptime.coresecret.eu/) * [CenturionNet Status](https://uptime.coresecret.eu/)
* [CenturionMeet](https://talk.e2ee.li/) * [CenturionMeet](https://talk.e2ee.li/)
@@ -142,13 +142,20 @@ 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: `8.03.384.2025.06.03` Example: `V8.03.832.2025.06.24`
`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.
Date (YYYY.MM.DD) denotes the build or release date, facilitating clear tracking of incremental changes and ensuring Date (YYYY.MM.DD) denotes the build or release date, facilitating clear tracking of incremental changes and ensuring
reproducibility and traceability. reproducibility and traceability.
## 1.6. Keywords
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this Repo are to be interpreted as described in [[BCP 14](https://www.rfc-editor.org/info/bcp14)],
[[RFC2119](https://datatracker.ietf.org/doc/html/rfc2119)], [[RFC8174](https://datatracker.ietf.org/doc/html/rfc8174)] when,
and only when, they appear in all capitals, as shown here.
# 2. Features & Rationale # 2. Features & Rationale
Below is a breakdown of each hardening component, with a summary of why each is critical to your security posture. Below is a breakdown of each hardening component, with a summary of why each is critical to your security posture.

View File

@@ -37,65 +37,89 @@
. ./var/global.var.sh; printf "\e[91m❌ Minimum requirement is bash 5.1. You are using '%s'! Bye... \e[0m\n" "${BASH_VERSION}" >&2; exit "${ERR_UNSPPTBASH}"; } . ./var/global.var.sh; printf "\e[91m❌ Minimum requirement is bash 5.1. You are using '%s'! Bye... \e[0m\n" "${BASH_VERSION}" >&2; exit "${ERR_UNSPPTBASH}"; }
[[ ${BASH_VERSINFO[0]} -le 5 ]] && [[ ${BASH_VERSINFO[1]} -le 1 ]] && { [[ ${BASH_VERSINFO[0]} -le 5 ]] && [[ ${BASH_VERSINFO[1]} -le 1 ]] && {
. ./var/global.var.sh; printf "\e[91m❌ Minimum requirement is bash 5.1. You are using '%s'! Bye... \e[0m\n" "${BASH_VERSION}" >&2; exit "${ERR_UNSPPTBASH}"; } . ./var/global.var.sh; printf "\e[91m❌ Minimum requirement is bash 5.1. You are using '%s'! Bye... \e[0m\n" "${BASH_VERSION}" >&2; exit "${ERR_UNSPPTBASH}"; }
[[ ${#} -eq 0 ]] && {
. ./lib/lib_usage.sh; usage; exit 1; }
declare -g VAR_HANDLER_AUTOBUILD="false" ### SOURCING MUST SET EARLY VARIABLES, GUARD_SOURCING(), CHECK_GIT()
declare -gr VAR_CONTACT="security@coresecret.eu" . ./var/early.var.sh
declare -gr VAR_VERSION="Master V8.03.644.2025.06.07" . ./lib/lib_guard_sourcing.sh
. ./lib/lib_git_var.sh
### VERY EARLY CHECK FOR AUTO-BUILD, CONTACT, USAGE, AND VERSION STRING ### CHECK FOR CONTACT, HELP, VERSION STRING, AND XTRACE DEBUG
declare arg for arg in "$@"; do case "${arg,,}" in -c|--contact) . ./lib/lib_contact.sh; contact; exit 0;; esac; done
if [[ ${#} -eq 0 ]]; then . ./lib/lib_usage.sh; usage; exit 1; fi
for arg in "$@"; do case "${arg,,}" in -a=*|--autobuild=*) declare -g VAR_HANDLER_AUTOBUILD=true; declare -g VAR_KERNEL="${arg#*=}";; esac; done
for arg in "$@"; do case "${arg,,}" in -c|--contact) printf "\e[95mCISS.debian.live.builder Contact: %s\e[0m\n" "${VAR_CONTACT}"; exit 0;; esac; done
for arg in "$@"; do case "${arg,,}" in -h|--help) . ./lib/lib_usage.sh; usage; exit 0;; esac; done for arg in "$@"; do case "${arg,,}" in -h|--help) . ./lib/lib_usage.sh; usage; exit 0;; esac; done
for arg in "$@"; do case "${arg,,}" in -v|--version) printf "\e[95mCISS.debian.live.builder Version: %s\e[0m\n" "${VAR_VERSION}"; exit 0;; esac; done for arg in "$@"; do case "${arg,,}" in -v|--version) printf "\e[95mCISS.debian.live.builder Version: %s\e[0m\n" "${VAR_VERSION}"; exit 0;; esac; done
unset arg
### VERY EARLY CHECK FOR XTRACE DEBUGGING ### ALL CHECKS DONE. READY TO START THE SCRIPT
if [[ $* == *" --debug "* ]]; then check_git
. ./lib/lib_debug.sh for arg in "$@"; do case "${arg,,}" in -d|--debug) . ./meta_sources_debug.sh; debugger "${@}";; esac; done
debugger "${@}" declare -gx VAR_SETUP="true"
else
declare -grx VAR_EARLY_DEBUG=false
fi
### Advisory Lock ### SOURCING VARIABLES
exec 127>/var/lock/ciss_live_builder.lock || { [[ "${VAR_SETUP}" == true ]] && {
. ./var/bash.var.sh
. ./var/color.var.sh
. ./var/global.var.sh . ./var/global.var.sh
}
### SOURCING LIBRARIES
[[ "${VAR_SETUP}" == true ]] && {
. ./lib/lib_arg_parser.sh
. ./lib/lib_arg_priority_check.sh
. ./lib/lib_boot_screen.sh
. ./lib/lib_cdi.sh
. ./lib/lib_change_splash.sh
. ./lib/lib_check_dhcp.sh
. ./lib/lib_check_hooks.sh
. ./lib/lib_check_kernel.sh
. ./lib/lib_check_pkgs.sh
. ./lib/lib_check_provider.sh
. ./lib/lib_check_stats.sh
. ./lib/lib_check_var.sh
. ./lib/lib_clean_screen.sh
. ./lib/lib_clean_up.sh
. ./lib/lib_copy_integrity.sh
. ./lib/lib_hardening_root_pw.sh
. ./lib/lib_hardening_ssh.sh
. ./lib/lib_hardening_ultra.sh
. ./lib/lib_helper_ip.sh
. ./lib/lib_lb_build_start.sh
. ./lib/lib_lb_config_start.sh
. ./lib/lib_lb_config_write.sh
. ./lib/lib_provider_netcup.sh
. ./lib/lib_run_analysis.sh
. ./lib/lib_sanitizer.sh
. ./lib/lib_trap_on_err.sh
. ./lib/lib_trap_on_exit.sh
. ./lib/lib_usage.sh
}
### ADVISORY LOCK
exec 127>/var/lock/ciss_live_builder.lock || {
printf "\e[91m❌ Cannot open lockfile for writing! Bye... \e[0m\n" >&2 printf "\e[91m❌ Cannot open lockfile for writing! Bye... \e[0m\n" >&2
exit "${ERR_FLOCK_WRTG}" exit "${ERR_FLOCK_WRTG}"
} }
if ! flock -x -n 127; then if ! flock -x -n 127; then
. ./var/global.var.sh
printf "\e[91m❌ Another instance is running! Bye...\e[0m\n" >&2 printf "\e[91m❌ Another instance is running! Bye...\e[0m\n" >&2
exit "${ERR_FLOCK_COLL}" exit "${ERR_FLOCK_COLL}"
fi fi
### Checking required packages ### CHECK FOR AUTOBUILD MODE
. ./lib/lib_check_pkgs.sh for arg in "$@"; do case "${arg,,}" in -a=*|--autobuild=*) declare -gx VAR_HANDLER_AUTOBUILD="true"; declare -gx VAR_KERNEL="${arg#*=}";; esac; done; unset arg
for dir in /usr/local/sbin /usr/sbin; do case ":${PATH}:" in *":${dir}:"*) ;; *) PATH="${PATH}:${dir}" ;; esac; done; export PATH; unset dir
### CHECKING REQUIRED PACKAGES
check_pkgs check_pkgs
### Dialog Output for Initialization ### DIALOG OUTPUT FOR INITIALIZATION
if ! $VAR_HANDLER_AUTOBUILD; then . ./lib/lib_boot_screen.sh && boot_screen; fi if ! $VAR_HANDLER_AUTOBUILD; then boot_screen; fi
### Updating Status of Dialog Gauge Bar ### Updating Status of Dialog Gauge Bar
if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nUpdating variables ... \nXXX\n05\n" >&3; fi if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nInitialization done ... \nXXX\n15\n" >&3; fi
. ./var/global.var.sh
. ./var/colors.var.sh
### Updating Status of Dialog Gauge Bar ### Updating Status of Dialog Gauge Bar
if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nEnabling Bash Error Handling ... \nXXX\n15\n" >&3; fi if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nAdditional initialization ... \nXXX\n30\n" >&3; fi
### For all options see https://www.gnu.org/software/bash/manual/bash.html#The-Set-Builtin
set -o errexit # Exit script when a command exits with non-zero status, the same as "set -e".
set -o errtrace # Any traps on ERR are inherited in a subshell environment, the same as "set -E".
set -o functrace # Any traps on DEBUG and RETURN are inherited in a subshell environment, the same as "set -T".
set -o nounset # Exit script on use of an undefined variable, the same as "set -u".
set -o pipefail # Makes pipelines return the exit status of the last command in the pipe that failed.
set -o noclobber # Prevent overwriting, the same as "set -C".
### Updating Status of Dialog Gauge Bar
if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nAdditional initialization ... \nXXX\n25\n" >&3; fi
### Initialization ### Initialization
declare -gr ARGUMENTS_COUNT="$#" declare -gr ARGUMENTS_COUNT="$#"
declare -gr ARG_STR_ORG_INPUT="$*" declare -gr ARG_STR_ORG_INPUT="$*"
@@ -108,42 +132,13 @@ declare -grx SCRIPT_BASEPATH="$(dirname "${SCRIPT_FULLPATH}")"
declare -grx VAR_WORKDIR="$(dirname "${SCRIPT_FULLPATH}")" declare -grx VAR_WORKDIR="$(dirname "${SCRIPT_FULLPATH}")"
### Updating Status of Dialog Gauge Bar ### Updating Status of Dialog Gauge Bar
if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nSourcing Libraries ... \nXXX\n50\n" >&3; fi if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nActivate traps ... \nXXX\n50\n" >&3; fi
. ./lib/lib_arg_parser.sh ### Following the CISS Bash naming and ordering scheme:
. ./lib/lib_arg_priority_check.sh
. ./lib/lib_cdi.sh
. ./lib/lib_change_splash.sh
. ./lib/lib_check_dhcp.sh
. ./lib/lib_check_hooks.sh
. ./lib/lib_check_kernel.sh
. ./lib/lib_check_provider.sh
. ./lib/lib_check_stats.sh
. ./lib/lib_check_var.sh
. ./lib/lib_clean_screen.sh
. ./lib/lib_clean_up.sh
. ./lib/lib_copy_integrity.sh
. ./lib/lib_hardening_root_pw.sh
. ./lib/lib_hardening_ssh.sh
. ./lib/lib_hardening_ultra.sh
. ./lib/lib_helper_ip.sh
. ./lib/lib_lb_build_start.sh
. ./lib/lib_lb_config_start.sh
. ./lib/lib_lb_config_write.sh
. ./lib/lib_provider_netcup.sh
. ./lib/lib_run_analysis.sh
. ./lib/lib_sanitizer.sh
. ./lib/lib_trap_on_err.sh
. ./lib/lib_trap_on_exit.sh
. ./lib/lib_usage.sh
### Updating Status of Dialog Gauge Bar
if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nActivate traps ... \nXXX\n55\n" >&3; fi
### Following the CISS Bash naming and ordering scheme
trap 'trap_on_exit "$?"' EXIT trap 'trap_on_exit "$?"' EXIT
trap 'trap_on_err "$?" "${BASH_SOURCE[0]}" "${LINENO}" "${FUNCNAME[0]:-main}" "${BASH_COMMAND}"' ERR trap 'trap_on_err "$?" "${BASH_SOURCE[0]}" "${LINENO}" "${FUNCNAME[0]:-main}" "${BASH_COMMAND}"' ERR
### Updating Status of Dialog Gauge Bar ### Updating Status of Dialog Gauge Bar
if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nSanitizing Arguments ... \nXXX\n70\n" >&3; fi if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nSanitizing Arguments ... \nXXX\n75\n" >&3; fi
arg_check "$@" arg_check "$@"
declare -ar ARY_ARG_SANITIZED=("$@") declare -ar ARY_ARG_SANITIZED=("$@")
declare -gr VAR_ARG_SANITIZED="${ARY_ARG_SANITIZED[*]}" declare -gr VAR_ARG_SANITIZED="${ARY_ARG_SANITIZED[*]}"
@@ -159,6 +154,7 @@ clean_ip
### Updating Status of Dialog Gauge Bar ### Updating Status of Dialog Gauge Bar
if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nInitialization completed ... \nXXX\n100\n" >&3; sleep 1; fi if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nInitialization completed ... \nXXX\n100\n" >&3; sleep 1; fi
### Turn off Dialog Wrapper
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi
### MAIN Program ### MAIN Program

View File

@@ -32,8 +32,8 @@ ReadOnlyPaths=/
ReadWritePaths=/var/lib/clamav /var/log/clamav /var/run/clamav /run/clamav ReadWritePaths=/var/lib/clamav /var/log/clamav /var/run/clamav /run/clamav
MemoryDenyWriteExecute=yes MemoryDenyWriteExecute=yes
MemoryLimit=512M #MemoryLimit=4096M
CPUShares=512 #CPUShares=512
RestrictAddressFamilies=AF_INET AF_INET6 RestrictAddressFamilies=AF_INET AF_INET6
RestrictNamespaces=yes RestrictNamespaces=yes
@@ -58,8 +58,8 @@ ReadOnlyPaths=/
ReadWritePaths=/var/lib/clamav /var/log/clamav /var/run/clamav ReadWritePaths=/var/lib/clamav /var/log/clamav /var/run/clamav
MemoryDenyWriteExecute=yes MemoryDenyWriteExecute=yes
MemoryLimit=512M #MemoryLimit=4096M
CPUShares=512 #CPUShares=512
RestrictAddressFamilies=AF_INET AF_INET6 RestrictAddressFamilies=AF_INET AF_INET6
RestrictNamespaces=yes RestrictNamespaces=yes

View File

@@ -16,13 +16,13 @@ printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "
apt-get update -y apt-get update -y
apt-get purge -y exim4 exim4-daemon-light exim4-base exim4-config \ apt-get purge -y exim4 exim4-daemon-light exim4-base exim4-config qemu-guest-agent rmail
qemu-guest-agent rmail sendmail-base sendmail-bin sendmail-cf sensible-mda sendmail-doc #sendmail-base sendmail-bin sendmail-cf sensible-mda sendmail-doc
apt-mark hold exim4 exim4-daemon-light exim4-base exim4-config \ apt-mark hold exim4 exim4-daemon-light exim4-base exim4-config qemu-guest-agent rmail
qemu-guest-agent rmail sendmail-base sendmail-bin sendmail-cf sensible-mda sendmail-doc #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"

View File

@@ -39,7 +39,7 @@ EOF
cp -a /etc/login.defs /root/.ciss/dlb/backup/login.defs.bak cp -a /etc/login.defs /root/.ciss/dlb/backup/login.defs.bak
sed -i 's/LOGIN_TIMEOUT 60/LOGIN_TIMEOUT 180/' /etc/login.defs sed -ri 's/^(#?LOGIN_TIMEOUT)[[:space:]]+[0-9]+/\1 180/' /etc/login.defs
sed -i 's/UMASK 022/UMASK 077/' /etc/login.defs sed -i 's/UMASK 022/UMASK 077/' /etc/login.defs
sed -i 's/PASS_MAX_DAYS 99999/PASS_MAX_DAYS 16384/' /etc/login.defs sed -i 's/PASS_MAX_DAYS 99999/PASS_MAX_DAYS 16384/' /etc/login.defs
sed -i 's/PASS_MIN_DAYS 0/PASS_MIN_DAYS 1/' /etc/login.defs sed -i 's/PASS_MIN_DAYS 0/PASS_MIN_DAYS 1/' /etc/login.defs

View File

@@ -51,7 +51,7 @@ difok = 4
### Minimum acceptable size for the new password (plus one if ### Minimum acceptable size for the new password (plus one if
### credits are not disabled, which is the default). (See pam_cracklib manual.) ### credits are not disabled, which is the default). (See pam_cracklib manual.)
### Cannot be set to a lower value than 6. ### Cannot be set to a lower value than 6.
minlen = 20 minlen = 40
### dcredit = 0, ucredit = 0, lcredit = 0, ocredit = 0, minclass = 0 ### dcredit = 0, ucredit = 0, lcredit = 0, ocredit = 0, minclass = 0
### NIST SP 800-63B advises against rigid complexity rules (numbers, symbols, uppercase) ### NIST SP 800-63B advises against rigid complexity rules (numbers, symbols, uppercase)

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.644.2025.06.07 ### Version Master V8.03.832.2025.06.24
### 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
@@ -51,7 +51,7 @@ MaxSessions 2
MaxStartups 08:64:16 MaxStartups 08:64:16
### Restrict each individual source IP to only 4 unauthenticated connection slot ### Restrict each individual source IP to only 4 unauthenticated connection slot
### in the concurrent MaxStartups pool, preventing one IP from monopolizing slots. ### in the concurrent MaxStartups pool, preventing one IP from monopolizing slots.
PerSourceMaxStartups 4 PerSourceMaxStartups 8
ClientAliveInterval 300 ClientAliveInterval 300
ClientAliveCountMax 2 ClientAliveCountMax 2

View File

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

View File

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

View File

@@ -112,4 +112,4 @@ d-i preseed/late_command string sh /preseed/.ash/3_di_preseed_late_command.sh
# Please consider donating to my work at: https://coresecret.eu/spenden/ # Please consider donating to my work at: https://coresecret.eu/spenden/
########################################################################################### ###########################################################################################
# Written by: ./preseed_hash_generator.sh Version: Master V8.03.644.2025.06.07 at: 10:18:37.9542 # Written by: ./preseed_hash_generator.sh Version: Master V8.03.832.2025.06.24 at: 10:18:37.9542

View File

@@ -33,6 +33,7 @@
trap ' "${SHELL}" /root/.ciss/clean_logout.sh ' 0 trap ' "${SHELL}" /root/.ciss/clean_logout.sh ' 0
source /root/.ciss/alias source /root/.ciss/alias
source /root/.ciss/f2bchk.sh
source /root/.ciss/shortcuts source /root/.ciss/shortcuts
source /root/.ciss/scan_libwrap source /root/.ciss/scan_libwrap

View File

@@ -149,62 +149,83 @@ genpasswdhash() {
mkpasswd --method=sha-512 --salt="${salt}" --rounds=8388608 mkpasswd --method=sha-512 --salt="${salt}" --rounds=8388608
} }
########################################################################################### #######################################
# Globals: Wrapper for secure curl # Wrapper for secure curl
# Arguments: # Arguments:
# $1: URL from which to download a specific file # $1: URL from which to download a specific file
# $2: /path/to/file to be saved to # $2: /path/to/file to be saved to
########################################################################################### # Returns:
# shellcheck disable=SC2317 # 0: Download successful
# 1: Usage error
# 2: Download failure
#######################################
scurl() { scurl() {
if [[ $# -ne 2 ]]; then if [[ $# -ne 2 ]]; then
printf "\e[91m❌ Error: Usage: scurl <URL> <path/to/file>. \e[0m\n" >&2 printf "\e[91m❌ Error: Usage: scurl <URL> <path/to/file>.\e[0m\n" >&2
return 1 return 1
fi fi
declare url="$1"
if ! curl --proto '=https' --tlsv1.3 -sSf -o "${2}" "${1}"; then declare output_path="$2"
printf "\e[91m❌ Error: Download failed for URL: '%s'. \e[0m\n" "${1}" >&2 if ! curl --doh-url "https://dns01.eddns.eu/dns-query" \
--doh-cert-status \
--tlsv1.3 \
-sSf \
-o "${output_path}" \
"${url}"
then
printf "\e[91m❌ Error: Download failed for URL: '%s'.\e[0m\n" "${url}" >&2
return 2 return 2
fi fi
return 0
} }
########################################################################################### #######################################
# Globals: Wrapper for secure wget # Wrapper for secure wget
# Arguments: # Arguments:
# $1: URL from which to download a specific file # $1: URL from which to download a specific file
# $2: /path/to/file to be saved to # $2: /path/to/file to be saved to
########################################################################################### # Returns:
# shellcheck disable=SC2317 # 0: Download successful
# 1: Usage error
# 2: Download failure
#######################################
swget() { swget() {
if [[ $# -ne 2 ]]; then if [[ $# -ne 2 ]]; then
printf "\e[91m❌ Error: Usage: swget <URL> <path/to/file>. \e[0m\n" >&2 printf "\e[91m❌ Error: Usage: swget <URL> <path/to/file>.\e[0m\n" >&2
return 1 return 1
fi fi
declare url="$1"
if ! wget --no-clobber --https-only --secure-protocol=TLSv1_3 -qO "${2}" "${1}"; then declare output_path="$2"
printf "\e[91m❌ Error: Download failed for URL: '%s'. \e[0m\n" "${1}" >&2 mkdir -p "$(dirname "${output_path}")"
if ! wget --show-progress \
--no-clobber \
--https-only \
--secure-protocol=TLSv1_3 \
-qO "${output_path}" \
"${url}"
then
printf "\e[91m❌ Error: Download failed for URL: '%s'.\e[0m\n" "$url" >&2
return 2 return 2
fi fi
return 0
} }
########################################################################################### #######################################
# Globals: Wrapper for loading CISS.2025 hardened Kernel Parameters # Wrapper for loading CISS.2025 hardened Kernel Parameters
# Arguments: # Arguments:
# none # None
########################################################################################### #######################################
# shellcheck disable=SC2317
sysp() { sysp() {
sysctl -p /etc/sysctl.d/99_local.hardened sysctl -p /etc/sysctl.d/99_local.hardened
# sleep 1 # sleep 1
sysctl -a | grep -E 'kernel|vm|net' > /var/log/sysctl_check"$(date +"%Y-%m-%d_%H:%M:%S")".log sysctl -a | grep -E 'kernel|vm|net' > /var/log/sysctl_check"$(date +"%Y-%m-%d_%H:%M:%S")".log
} }
########################################################################################### #######################################
# Globals: Wrapper for tree # Wrapper for tree
# Arguments: # Arguments:
# $1: Depth of Directory Listing # $1: Depth of Directory Listing
########################################################################################### #######################################
# shellcheck disable=SC2317
trel() { trel() {
declare depth=${1:-3} declare depth=${1:-3}
tree -C -h --dirsfirst -L "${depth}" tree -C -h --dirsfirst -L "${depth}"

View File

@@ -0,0 +1,87 @@
#!/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
#######################################
# Wrapper for fail2ban filter checks against logs.
# Usage: f2bchk --mode=ignored || --mode=matched || --mode=missed \
# --filter=/etc/fail2ban/filter.d/ufw.aggressive.conf \
# --log=/var/log/ufw.log \
# --output=/tmp/f2bchk.log
# Globals:
# DEFAULT_FILTER
# DEFAULT_LOG
# DEFAULT_MODE
# Arguments:
# None
# Returns:
# 1 In case of any errors
#######################################
f2bchk(){
# Declare default values (readonly)
declare -r DEFAULT_MODE="matched"
declare -r DEFAULT_FILTER="/etc/fail2ban/filter.d/ufw.aggressive.conf"
declare -r DEFAULT_LOG="/var/log/ufw.log"
declare mode="${DEFAULT_MODE}"
declare filter="${DEFAULT_FILTER}"
declare log="${DEFAULT_LOG}"
declare output=""
declare arg=""
for arg in "$@"; do
case "${arg}" in
--mode=*) mode="${arg#--mode=}";;
--filter=*) filter="${arg#--filter=}";;
--log=*) log="${arg#--log=}";;
--output=*) output="${arg#--output=}";;
*)
printf "\e[31m[ERROR]\e[0m Unknown argument: %s\n" "${arg}"
return 1
;;
esac
done
declare flag suffix
case "${mode}" in
ignored) flag="--print-all-ignored"; suffix="all.ignored";;
matched) flag="--print-all-matched"; suffix="all.matched";;
missed) flag="--print-all-missed"; suffix="all.missed";;
*)
printf "\e[31m[ERROR]\e[0m Invalid mode: %s\n" "${mode}"
return 1
;;
esac
if [[ -z "${output}" ]]; then
declare filter_name="${filter##*/}"
filter_name="${filter_name%.conf}"
output="/tmp/${filter_name}.${suffix}.log"
fi
if [[ ! -r "${log}" ]]; then
printf "\e[31m[ERROR]\e[0m Log file '%s' not found or not readable.\n" "${log}"
return 1
fi
if [[ ! -r "${filter}" ]]; then
printf "\e[31m[ERROR]\e[0m Filter file '%s' not found or not readable.\n" "${filter}"
return 1
fi
printf "\e[33m[INFO]\e[0m Running: fail2ban-regex %s %s %s\n" "${log}" "${filter}" "${flag}"
if fail2ban-regex "${log}" "${filter}" "${flag}" >| "${output}"; then
printf "\e[32m[SUCCESS]\e[0m Saved log to %s\n" "$output"
printf "You can view it with: cat %s\n" "$output"
else
printf "\e[31m[ERROR]\e[0m fail2ban-regex execution failed.\n"
return 1
fi
}
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -21,6 +21,7 @@ bc
bind9-dnsutils bind9-dnsutils
bsdmainutils bsdmainutils
btrfs-progs btrfs-progs
bzip2
ca-certificates ca-certificates
clamav clamav
clamav-daemon clamav-daemon
@@ -42,9 +43,11 @@ dirmngr
dmsetup dmsetup
dnsviz dnsviz
dosfstools dosfstools
e2fsprogs
efibootmgr efibootmgr
expect expect
fail2ban fail2ban
fdisk
figlet figlet
fzf fzf
gawk gawk
@@ -79,6 +82,7 @@ man
man-db man-db
manpages manpages
manpages-dev manpages-dev
mdadm
mtr mtr
nano nano
ncat ncat
@@ -110,11 +114,13 @@ ssl-cert
sudo sudo
sysstat sysstat
systemd-sysv systemd-sysv
tar
tree tree
tshark tshark
ufw ufw
unattended-upgrades unattended-upgrades
unzip unzip
util-linux
virt-what virt-what
wamerican wamerican
wbritish wbritish
@@ -122,6 +128,9 @@ wfrench
wget wget
whois whois
wngerman wngerman
xfsprogs
xz-utils
yq
zip zip
zsh zsh
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

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

View File

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

View File

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

View File

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

View File

@@ -8,14 +8,14 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.644.2025.06.07<br> **Build**: V8.03.832.2025.06.24<br>
# 2. TLS Audit: # 2. TLS Audit:
````text ````text
##################################################################### #####################################################################
testssl.sh version 3.2rc4 from https://testssl.sh/dev/ testssl.sh version 3.2.1 from https://testssl.sh/
(6746fa5 2025-04-18 13:17:50) (81471c3 2025-06-15 09:48:31)
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 +26,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-02 18:04:19 -->> 152.53.110.40:443 (coresecret.dev) <<-- Start 2025-06-23 17:58:48 -->> 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.
@@ -193,17 +193,21 @@ Hexcode Cipher Suite Name (OpenSSL) KeyExch. Encryption Bits Ciphe
SHA256 76B6FFCE607D8514F676C286C7C76B90F5B7AE7D041631F2EF2F0079AF8D24AC SHA256 76B6FFCE607D8514F676C286C7C76B90F5B7AE7D041631F2EF2F0079AF8D24AC
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 and CN (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) 174 >= 60 days (2025-05-28 09:56 --> 2025-11-23 22:59) Certificate Validity (UTC) 153 >= 60 days (2025-05-28 09:56 --> 2025-11-23 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 --
DNS CAA RR (experimental) not offered DNS CAA RR (experimental) available - please check for match with "Issuer" below
communications=error, iodef=mailto:dns@coresecret.eu, issue=;, issue=buypass.no, issue=certum.pl,
issue=letsencrypt.org;, issue=quantumsign.eu;, issue=sectigo.com, issuect=quantumsign.eu;, issuect=quantumsign.eu;,
issuect=quantumsign.eu;, issuect=quantumsign.eu;, issuect=quantumsign.eu;, issuect=quantumsign.eu;,
issuect=quantumsign.eu;, issuect=quantumsign.eu;, issuemail=buypass.no, issuemail=certum.pl, issuewild=;
Certificate Transparency yes (certificate extension) Certificate Transparency yes (certificate extension)
Certificates provided 2 Certificates provided 2
Issuer Buypass Class 2 CA 5 (Buypass AS-983163327 from NO) Issuer Buypass Class 2 CA 5 (Buypass AS-983163327 from NO)
@@ -213,23 +217,27 @@ Hexcode Cipher Suite Name (OpenSSL) KeyExch. Encryption Bits Ciphe
Testing HTTP header response @ "/" Testing HTTP header response @ "/"
HTTP Status Code 301 Moved Permanently, redirecting to "https://git.coresecret.dev" HTTP Status Code 200 OK
HTTP clock skew 0 sec from localtime HTTP clock skew 0 sec from localtime
Strict Transport Security 730 days=63072000 s, includeSubDomains, preload Strict Transport Security 730 days=63072000 s, includeSubDomains, preload
Public Key Pinning -- Public Key Pinning --
Server banner nginx Server banner nginx
Application banner -- Application banner --
Cookie(s) (none issued at "/") -- maybe better try target URL of 30x 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';
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; 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=()
Cross-Origin-Opener-Policy: same-origin Cross-Origin-Opener-Policy: cross-origin
Cross-Origin-Resource-Policy: same-origin Cross-Origin-Resource-Policy: cross-origin
Cross-Origin-Embedder-Policy: require-corp Cross-Origin-Embedder-Policy: unsafe-none
X-XSS-Protection: 1; mode=block X-XSS-Protection: 1; mode=block
Permissions-Policy: interest-cohort=() Permissions-Policy: interest-cohort=()
Referrer-Policy: same-origin Referrer-Policy: no-referrer
Cache-Control: no-cache Cache-Control: no-cache
Reverse Proxy banner -- Reverse Proxy banner --
@@ -268,6 +276,7 @@ Hexcode Cipher Suite Name (OpenSSL) KeyExch. Encryption Bits Ciphe
Android 10.0 (native) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384) Android 10.0 (native) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384)
Android 11/12 (native) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384) Android 11/12 (native) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384)
Android 13/14 (native) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384) Android 13/14 (native) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384)
Android 15 (native) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384)
Chrome 101 (Win 10) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384) Chrome 101 (Win 10) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384)
Chromium 137 (Win 11) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384) Chromium 137 (Win 11) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384)
Firefox 100 (Win 10) TLSv1.3 TLS_AES_256_GCM_SHA384 521 bit ECDH (P-521) Firefox 100 (Win 10) TLSv1.3 TLS_AES_256_GCM_SHA384 521 bit ECDH (P-521)
@@ -308,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-02 18:05:51 [ 95s] -->> 152.53.110.40:443 (coresecret.dev) <<-- Done 2025-06-23 18:00:16 [ 99s] -->> 152.53.110.40:443 (git.coresecret.dev) <<--
```` ````
--- ---

View File

@@ -8,10 +8,53 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.644.2025.06.07<br> **Build**: V8.03.832.2025.06.24<br>
# 2. Changelog # 2. Changelog
## V8.03.832.2025.06.24
* Updated:
* [lib_check_provider.sh](../lib/lib_check_provider.sh)
* [lib_debug_header.sh](../lib/lib_debug_header.sh)
* [lib_trap_on_err.sh](../lib/lib_trap_on_err.sh)
* The Debian package ``bat`` will be installed to enable smooth log reading.
## V8.03.768.2025.06.23
* Updated [lib_clean_up.sh](../lib/lib_clean_up.sh): Removal of Lock FD and Artifacts.
* Rearranged VARs sourcing: [early.var.sh](../var/early.var.sh)
* Rearranged DEBUG XTRACE sourcing: [meta_sources_debug.sh](../meta_sources_debug.sh)
* Added Git Repo specific VARs: [lib_debug_var_git.sh](../lib/lib_git_var.sh)
* Added ``guard_sourcing()``: [lib_guard_sourcing.sh](../lib/lib_guard_sourcing.sh)
* to prevent the caller LIB-file from being sourced twice.
## V8.03.768.2025.06.19
* Minor main script improvements.
* Updated [lib_usage.sh](../lib/lib_usage.sh) output.
## V8.03.768.2025.06.18
* Minor main script improvements.
* Updated contact section.
* Integrated third ``dns03.eddns.eu`` Centurion DNS Resolver.
## V8.03.768.2025.06.17
* Updated LIVE ISO workflows to use Kernel: ``linux-image-6.12.30+bpo-amd64``
## V8.03.768.2025.06.11
* Updated LIVE ISO workflows to use Kernel: ``linux-image-6.12.27+bpo-amd64``
## V8.03.768.2025.06.09
* Added: [f2bchk.sh](../config/includes.chroot/root/.ciss/f2bchk.sh)
* Updated: [alias](../config/includes.chroot/root/.ciss/alias)
* ``scurl()``
* ``swget()``
## V8.03.644.2025.06.07 ## V8.03.644.2025.06.07
* Updated workflows ISO Generators Runners. * Updated workflows ISO Generators Runners.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -8,20 +8,17 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.03<br>
**Build**: V8.03.644.2025.06.07<br> **Build**: V8.03.832.2025.06.24<br>
# 2. Usage # 2.1. Usage
````text ````text
CISS.debian.live.builder CISS.debian.live.builder
Master V8.03.644.2025.06.07 Master V8.03.832.2025.06.24
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
(p) Centurion Press, 2024 - 2025 (p) Centurion Press, 2024 - 2025
https://coresecret.eu/
A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Image.
"./ciss_live_builder.sh <option>", where <option> is one or more of: "./ciss_live_builder.sh <option>", where <option> is one or more of:
--help, -h --help, -h
@@ -30,7 +27,7 @@ A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Ima
--autobuild=*, -a=* --autobuild=*, -a=*
Headless mode. Skip the dialog wrapper, provider note screen and interactive kernel Headless mode. Skip the dialog wrapper, provider note screen and interactive kernel
selector dialog. Change '*' to your desired Linux kernel and trim the selector dialog. Change '*' to your desired Linux kernel and trim the
'linux-image-' string to select a specific kernel, e.g. '--autobuild=6.12.22+bpo-amd64'. 'linux-image-' string to select a specific kernel, e.g. '--autobuild=6.12.30+bpo-amd64'.
--architecture <STRING> one of <amd64 | arm64> --architecture <STRING> one of <amd64 | arm64>
A string reflecting the architecture of the Live System. A string reflecting the architecture of the Live System.
@@ -58,19 +55,20 @@ A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Ima
--debug --debug
Enables debug logging for the main program routine. Detailed logging Enables debug logging for the main program routine. Detailed logging
information are written to "/tmp/ciss_live_builder_3764286.log" information are written to "/tmp/ciss_live_builder_1136873.log"
--dhcp-centurion --dhcp-centurion
If a DHCP lease is provided, the provider's nameserver will be overridden, If a DHCP lease is provided, the provider's nameserver will be overridden,
and only the hardened, privacy-focused Centurion DNS servers will be used: and only the hardened, privacy-focused Centurion DNS servers will be used:
- https://dns01.eddns.eu/ - https://dns01.eddns.eu/
- https://dns02.eddns.de/ - https://dns02.eddns.de/
- https://dns03.eddns.eu/
--jump-host <IP | IP | ... > --jump-host <IP | IP | ... >
Provide up to 10 IPs for /etc/host.allow whitelisting of SSH access. Provide up to 10 IPs for /etc/host.allow whitelisting of SSH access.
Could be either IPv4 and / or IPv6 addresses and / or CCDIR notation. Could be either IPv4 and / or IPv6 addresses and / or CCDIR notation.
If provided, than it MUST be a <SPACE> separated list. If provided, than it MUST be a <SPACE> separated list.
IPv6 addresses MUST be encapsulated with [], e.g., [1234::abcd/64]. IPv6 addresses MUST be encapsulated with [], e.g., [1234::abcd]/64.
--log-statistics-only --log-statistics-only
Provides statistic only after successful building a Provides statistic only after successful building a
@@ -80,23 +78,25 @@ A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Ima
--provider-netcup-ipv6 --provider-netcup-ipv6
Activates IPv6 support for Netcup Root Server. One unique Activates IPv6 support for Netcup Root Server. One unique
IPv6 address MUST be provided in this case. IPv6 address MUST be provided in this case and MUST be encapsulated
with [], e.g., [1234::abcd].
--renice-priority <PRIORITY> --renice-priority <PRIORITY>
Reset the nice priority value of the script and all its children Reset the nice priority value of the script and all its children
to the desired PRIORITY. MUST be an integer (between "-19" and 19). to the desired <PRIORITY>. MUST be an integer (between "-19" and 19).
Negative (higher) values MUST be enclosed in double quotes '"'. Negative (higher) values MUST be enclosed in double quotes '"'.
--reionice-priority <CLASS> <PRIORITY> --reionice-priority <CLASS> <PRIORITY>
Reset the ionice priority value of the script and all its children Reset the ionice priority value of the script and all its children
to the desired CLASS. MUST be an integer: to the desired <CLASS>. MUST be an integer:
1: realtime 1: realtime
2: best-effort 2: best-effort
3: idle 3: idle
defaults to "2". Defaults to '2'.
PRIORITY MUST be an integer: Whereas <PRIORITY> MUST be an integer as well between:
between 0 (highest) and 7 (lowest) priority. 0: highest priority and
defaults to "4". 7: lowest priority.
Defaults to '4'.
A real-time I/O process can significantly slow down other processes A real-time I/O process can significantly slow down other processes
or even cause them to starve if it continuously requests I/O. or even cause them to starve if it continuously requests I/O.
@@ -107,9 +107,9 @@ A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Ima
the local console. The root password is hashed with an 16 Byte '/dev/random' the local console. The root password is hashed with an 16 Byte '/dev/random'
generated SALT and SHA512 Hashing function and 8,388,608 rounds. Immediately generated SALT and SHA512 Hashing function and 8,388,608 rounds. Immediately
after Hash generation all Variables containing plain password fragments are after Hash generation all Variables containing plain password fragments are
deleted. Password file SHOULD be 0400 and root:root and is deleted without deleted. Password file SHOULD be '0400' and 'root:root' and is deleted without
further prompt after password hash has been successfully generated via: further prompt after password hash has been successfully generated via:
shred -vfzu 5 -f. 'shred -vfzu 5 -f'.
No tracing of any plain text password fragment in any debug log. No tracing of any plain text password fragment in any debug log.
--ssh-port <INTEGER> --ssh-port <INTEGER>
@@ -123,14 +123,30 @@ A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Ima
--version, -v --version, -v
Displays version of ./ciss_live_builder.sh. Displays version of ./ciss_live_builder.sh.
NOTES: 💡 Notes:
- You MUST be root to run this script. 🔵 You MUST be 'root' to run this script.
Contact: 💷 Please consider donating to my work at:
- https://coresecret.eu/ 🌐 https://coresecret.eu/spenden/
- security@coresecret.eu ````
- PGP Key 2D98 07F4 1030 1776 597E BDC9 9F54 8853 35A3 C9AD
- https://keys.openpgp.org/vks/v1/by-fingerprint/2D9807F410301776597EBDC99F54885335A3C9AD # 2.2. Contact
````text
CISS.debian.live.builder
Master V8.03.832.2025.06.24
A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Image.
(c) Marc S. Weidner, 2018 - 2025
(p) Centurion Press, 2024 - 2025
💬 Contact:
🌐 https://coresecret.eu/
📧 security@coresecret.eu
🔑 PGP Key 2D98 07F4 1030 1776 597E BDC9 9F54 8853 35A3 C9AD
🔗 https://keys.openpgp.org/vks/v1/by-fingerprint/2D9807F410301776597EBDC99F54885335A3C9AD
💷 Please consider donating to my work at:
🌐 https://coresecret.eu/spenden/
```` ````
# 3. Booting # 3. Booting

View File

@@ -1,53 +0,0 @@
<h1 id="spdx-license-identifier-licenseref-ccla-10">SPDX-License-Identifier: LicenseRef-CCLA-1.0</h1>
<h1 id="centurion-commercial-license-agreement-10">Centurion Commercial License Agreement 1.0</h1>
<h2 id="1-general-terms"><strong>1. General Terms</strong></h2>
<p>1.1. This Subscription License Agreement ("Agreement") governs the commercial use of the Software ("Software").</p>
<p>1.2. Private and open-source usage of the Software remains governed by the EUPL-1.2 license.</p>
<p>1.3. By purchasing and using the Software under this Agreement, you ("Licensee") agree to the terms outlined below.</p>
<p>1.4. Only the English version of this Agreement shall be legally binding. Translations are provided for convenience only.</p>
<h2 id="2-grant-of-license"><strong>2. Grant of License</strong></h2>
<p>2.1. Subject-to-payment of applicable subscription fees, Licensor grants Licensee a</p>
<ul>
<li>non-exclusive,</li>
<li>non-transferable,</li>
<li>time-limited,</li>
</ul>
<p>right to use the Software for commercial purposes.</p>
<p>2.2. This license is valid only for the duration of the subscription period and under the scope defined in this Agreement.</p>
<h2 id="3-subscription-fees-and-payment"><strong>3. Subscription Fees and Payment</strong></h2>
<p>3.1. Licensee agrees to pay the subscription fees as specified in the pricing agreement. These fees are non-refundable.</p>
<p>3.2. Licensor reserves the right to modify subscription fees upon 30 days' written notice.</p>
<h2 id="4-restrictions"><strong>4. Restrictions</strong></h2>
<p>4.1. Licensee shall not:</p>
<ul>
<li>Distribute, sublicense, or resell the Software.</li>
<li>Reverse engineer, decompile, or modify the Software, except as permitted by mandatory law.</li>
</ul>
<p>4.2. The Software may not be used for illegal or unethical purposes.</p>
<h2 id="5-support-and-updates"><strong>5. Support and Updates</strong></h2>
<p>5.1. Licensor will provide updates and support for the Software during the subscription period, as detailed in the accompanying support agreement.</p>
<p>5.2. Support services may include bug fixes, patches, and minor updates. Major updates may incur additional fees.</p>
<h2 id="6-termination"><strong>6. Termination</strong></h2>
<p>6.1. This Agreement is valid for the subscription term unless terminated earlier:</p>
<ul>
<li>By Licensee, with a 30-day written notice.</li>
<li>By Licensor, in the event of Licensees breach of this Agreement.</li>
</ul>
<p>6.2. Upon termination, Licensee must cease all uses of the Software and delete all copies.</p>
<h2 id="7-liability-and-warranty"><strong>7. Liability and Warranty</strong></h2>
<p>7.1. The Software is provided "as is" without warranties of any kind, except as required by law.</p>
<p>7.2. Licensors' liability is limited to the number of subscription fees paid by Licensee in the preceding 12 months.</p>
<h2 id="8-governing-law"><strong>8. Governing Law</strong></h2>
<p>8.1. This Agreement shall be governed by the laws of Portugal.</p>
<p>8.2. Disputes arising under this Agreement shall be subject to the exclusive jurisdiction of the courts of Portugal.</p>
<h2 id="9-miscellaneous"><strong>9. Miscellaneous</strong></h2>
<p>9.1. Any changes to this Agreement must be in writing and signed by both parties.</p>
<p>9.2. If any provision of this Agreement is found invalid, the remaining provisions shall remain enforceable.</p>
<h2 id="10-contact-information">10. <strong>Contact Information</strong></h2>
<ul>
<li>Licensor : Centurion Intelligence Consulting Agency</li>
<li>Email : <a href="mailto:legal@coresecret.eu">legal@coresecret.eu</a></li>
</ul>
<hr />
<p>This Subscription License Agreement was last updated at 09.05.2025.</p>

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 179 KiB

After

Width:  |  Height:  |  Size: 186 KiB

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Argument Parser # Argument Parser
# Globals: # Globals:
@@ -100,7 +102,7 @@ arg_parser() {
printf "\e[91m❌ Error: --architecture MUST be 'amd64' or 'arm64'.\e[0m\n" >&2 printf "\e[91m❌ Error: --architecture MUST be 'amd64' or 'arm64'.\e[0m\n" >&2
# shellcheck disable=SC2162 # shellcheck disable=SC2162
read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
exit "${ERR_UNCRITICAL}" exit "${ERR_ARG_MSMTCH}"
fi fi
;; ;;

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Check and setup Script Priorities # Check and setup Script Priorities
# Globals: # Globals:

View File

@@ -10,8 +10,10 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Change Grub Boot Screen Splash # Set up a gauge Dialog Wrapper.
# Globals: # Globals:
# PID_BOOT_SCREEN # PID_BOOT_SCREEN
# PIPE_BOOT_SCREEN # PIPE_BOOT_SCREEN

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# CISS.2025.debian.installer GRUB and Autostart Generator # CISS.2025.debian.installer GRUB and Autostart Generator
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Change Grub Boot Screen Splash # Change Grub Boot Screen Splash
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Check if hardened Centurion DNS servers are desired. # Check if hardened Centurion DNS servers are desired.
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
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:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Kernel Image Selector # Kernel Image Selector
# Globals: # Globals:
@@ -52,7 +54,7 @@ check_kernel() {
done < "${VAR_KERNEL_SRT}" done < "${VAR_KERNEL_SRT}"
# shellcheck disable=SC2155 # shellcheck disable=SC2155
if declare -g VAR_KERNEL=$(dialog \ if declare -gx VAR_KERNEL=$(dialog \
--no-collapse \ --no-collapse \
--ascii-lines \ --ascii-lines \
--clear \ --clear \
@@ -63,9 +65,9 @@ check_kernel() {
else else
clear clear
if [[ "${VAR_ARCHITECTURE}" == "amd64" ]]; then if [[ "${VAR_ARCHITECTURE}" == "amd64" ]]; then
declare -gr VAR_KERNEL="amd64" declare -gx VAR_KERNEL="amd64"
elif [[ "${VAR_ARCHITECTURE}" == "arm64" ]]; then elif [[ "${VAR_ARCHITECTURE}" == "arm64" ]]; then
declare -gr VAR_KERNEL="arm64" declare -gx VAR_KERNEL="arm64"
fi fi
fi fi
} }

View File

@@ -10,23 +10,46 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Check for required Deb Packages to run the script. # Check for required Deb Packages to run the script.
# Arguments: # Arguments:
# None # None
####################################### #######################################
check_pkgs() { check_pkgs() {
if [[ ! -f /usr/share/live/build/VERSION ]]; then apt-get update -y > /dev/null 2>&1
apt-get update -y
apt-get install live-build -y if [[ -z "$(command -v batcat || true)" ]]; then
apt-get install -y --no-install-recommends bat
fi fi
if [[ -z "$(command -v lsb_release || true)" ]]; then
apt-get install -y --no-install-recommends lsb-release
fi
if [[ -z "$(command -v debootstrap || true)" ]]; then
if grep -RqsE '^[[:space:]]*deb .*backports' /etc/apt/sources.list /etc/apt/sources.list.d; then
# shellcheck disable=SC2155
declare codename=$(lsb_release -sc)
apt-get install -y -t "${codename}-backports" debootstrap
else
apt-get install -y debootstrap
fi
fi
if [[ ! -f /usr/share/live/build/VERSION ]]; then
apt-get install -y live-build
fi
if [[ "${VAR_HANDLER_AUTOBUILD}" == false ]]; then
if [[ -z "$(command -v dialog || true)" ]]; then if [[ -z "$(command -v dialog || true)" ]]; then
if ! $VAR_HANDLER_AUTOBUILD; then apt-get install --no-install-recommends dialog -y; fi apt-get install -y --no-install-recommends dialog
fi
fi fi
if [[ -z "$(command -v mkpasswd || true)" ]]; then if [[ -z "$(command -v mkpasswd || true)" ]]; then
apt-get install --no-install-recommends whois -y apt-get install -y --no-install-recommends whois
fi fi
} }
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Notes Textbox # Notes Textbox
# Arguments: # Arguments:
@@ -17,8 +19,9 @@
####################################### #######################################
check_provider() { check_provider() {
clear clear
cat << 'EOF' >| "${VAR_NOTES}" cat << EOF >| "${VAR_NOTES}"
Build: Master V8.03.644.2025.06.07 Build : ${VAR_VERSION}
Commit : ${VAR_GIT_REL}
Press 'EXIT' to continue with CISS.debian.live.builder. Press 'EXIT' to continue with CISS.debian.live.builder.

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Check if analysis run is desired only. # Check if analysis run is desired only.
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Unbound Variable Check and call Trap on ERR # Unbound Variable Check and call Trap on ERR
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Terminal cleaner before Trap on Error # Terminal cleaner before Trap on Error
# Arguments: # Arguments:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Clean Up Wrapper on Trap on 'ERR' and 'EXIT'. # Clean Up Wrapper on Trap on 'ERR' and 'EXIT'.
# Globals: # Globals:
@@ -26,6 +28,11 @@ clean_up() {
rm -f -- "${VAR_KERNEL_INF}" rm -f -- "${VAR_KERNEL_INF}"
rm -f -- "${VAR_KERNEL_SRT}" rm -f -- "${VAR_KERNEL_SRT}"
rm -f -- "${VAR_KERNEL_TMP}" rm -f -- "${VAR_KERNEL_TMP}"
# Release advisory lock on FD 127.
flock -u 127
# Close file descriptor 127.
exec 127>&-
# Remove the lockfile artifact.
rm -f /run/lock/ciss_live_builder.lock rm -f /run/lock/ciss_live_builder.lock
if (( clean_exit_code == 0 )); then rm -f -- "${LOG_ERROR}"; fi if (( clean_exit_code == 0 )); then rm -f -- "${LOG_ERROR}"; fi
if [[ -f "${VAR_WORKDIR}/hosts.allow" ]]; then if [[ -f "${VAR_WORKDIR}/hosts.allow" ]]; then

41
lib/lib_contact.sh Normal file
View File

@@ -0,0 +1,41 @@
#!/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
#######################################
# Contact Wrapper CISS.debian.live.builder
# Globals:
# none
# Arguments:
# none
#######################################
contact() {
clear
cat << EOF
$(echo -e "\e[92mCISS.debian.live.builder\e[0m")
$(echo -e "\e[92mMaster V8.03.832.2025.06.24\e[0m")
$(echo -e "\e[92mA lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Image.\e[0m")
$(echo -e "\e[97m(c) Marc S. Weidner, 2018 - 2025\e[0m")
$(echo -e "\e[97m(p) Centurion Press, 2024 - 2025\e[0m")
$(echo -e "\e[95m💬 Contact:\e[0m")
$(echo -e "\e[95m🌐 https://coresecret.eu/ \e[0m")
$(echo -e "\e[95m📧 security@coresecret.eu \e[0m")
$(echo -e "\e[95m🔑 PGP Key 2D98 07F4 1030 1776 597E BDC9 9F54 8853 35A3 C9AD \e[0m")
$(echo -e "\e[95m🔗 https://keys.openpgp.org/vks/v1/by-fingerprint/2D9807F410301776597EBDC99F54885335A3C9AD \e[0m")
$(echo -e "\e[95m💷 Please consider donating to my work at:\e[0m")
$(echo -e "\e[95m🌐 https://coresecret.eu/spenden/ \e[0m")
EOF
}
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Copy Initial ISO aide Database into Host System # Copy Initial ISO aide Database into Host System
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Debugger Wrapper for xtrace to Debug Log # Debugger Wrapper for xtrace to Debug Log
# Globals: # Globals:
@@ -34,22 +36,18 @@ debugger() {
declare -p "${var}" 2>/dev/null declare -p "${var}" 2>/dev/null
done < <(compgen -v | grep -Ev '^(BASH|_).*') done < <(compgen -v | grep -Ev '^(BASH|_).*')
} | sort >| "${VAR_DUMP_VARS_INITIAL}" } | sort >| "${VAR_DUMP_VARS_INITIAL}"
declare -grx VAR_EARLY_DEBUG=true declare -gx VAR_EARLY_DEBUG="true"
### Set a verbose PS4 prompt including timestamp, source, line, exit status, and function name ### Set a verbose PS4 prompt including timestamp, source, line, exit status, and function name
declare -grx PS4='\e[97m+\e[0m\e[96m$(date +%T.%4N)\e[0m\e[97m:\e[0m\e[92m[${BASH_SOURCE[0]}:${LINENO}]\e[0m\e[97m|\e[0m\e[93m${?}\e[0m\e[97m>\e[0m\e[95m${FUNCNAME[0]:-main}()\e[0m \e[97m>>\e[0m ' declare -grx PS4='\e[97m+\e[0m\e[96m$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)\e[0m\e[97m:\e[0m\e[92m[${BASH_SOURCE[0]}:${LINENO}]\e[0m\e[97m|\e[0m\e[93m${?}\e[0m\e[97m>\e[0m\e[95m${FUNCNAME[0]:-main}()\e[0m \e[97m>>\e[0m '
# shellcheck disable=SC2155 # shellcheck disable=SC2155
declare -grx LOG_DEBUG="/tmp/ciss_live_builder_$$_debug.log" declare -grx LOG_DEBUG="/tmp/ciss_live_builder_$$_debug.log"
### Generates empty LOG_DEBUG declare -grx LOG_VAR="/tmp/ciss_live_builder_$$_var.log"
### Generates empty LOG_DEBUG and LOG_VAR
touch "${LOG_DEBUG}" && chmod 0600 "${LOG_DEBUG}" touch "${LOG_DEBUG}" && chmod 0600 "${LOG_DEBUG}"
touch "${LOG_VAR}" && chmod 0600 "${LOG_VAR}"
### Open file descriptor 42 for writing to the debug log ### Open file descriptor 42 for writing to the debug log
exec 42>| "${LOG_DEBUG}" exec 42>| "${LOG_DEBUG}"
### Write Debug Log Header https://www.gnu.org/software/bash/manual/html_node/Bash-Variables ### Write Debug Log Header https://www.gnu.org/software/bash/manual/html_node/Bash-Variables
### Determine the directory of this script, even if sourced.
# shellcheck disable=SC2155
declare script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
### Source the header from the same directory. This ensures we always load lib/lib_debug_header.sh correctly.
. "${script_dir}/lib_debug_header.sh"
# shellcheck disable=SC2119
debug_header "$#" "$*" debug_header "$#" "$*"
### Tell Bash to send xtrace output to FD 42 ### Tell Bash to send xtrace output to FD 42
export BASH_XTRACEFD=42 export BASH_XTRACEFD=42

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Generates Debug Log Header # Generates Debug Log Header
# Globals: # Globals:
@@ -31,26 +33,29 @@ debug_header() {
declare -r arg_counter="$1" declare -r arg_counter="$1"
declare -r arg_string="$2" declare -r arg_string="$2"
{ {
printf "\e[97m+\e[0m\e[92m%s: CISS.debian.live.builder Debug Log \e[0m\n" "$(date +%T.%4N)" printf "\e[97m+\e[0m\e[92m%s: CISS.debian.live.builder Debug Log \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)"
printf "\e[97m+\e[0m\e[92m%s: Version : %s \e[0m\n" "$(date +%T.%4N)" "${VAR_VERSION}" printf "\e[97m+\e[0m\e[92m%s: Git Commit : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${VAR_GIT_REL}"
printf "\e[97m+\e[0m\e[92m%s: Epoch : %s \e[0m\n" "$(date +%T.%4N)" "${EPOCHREALTIME}" printf "\e[97m+\e[0m\e[92m%s: Version : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${VAR_VERSION}"
printf "\e[97m+\e[0m\e[92m%s: Bash MAJ Release : %s \e[0m\n" "$(date +%T.%4N)" "${BASH_VERSINFO[0]}" printf "\e[97m+\e[0m\e[92m%s: Epoch : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${EPOCHREALTIME}"
printf "\e[97m+\e[0m\e[92m%s: Bash MIN Version : %s \e[0m\n" "$(date +%T.%4N)" "${BASH_VERSINFO[1]}" printf "\e[97m+\e[0m\e[92m%s: Bash MAJ Release : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${BASH_VERSINFO[0]}"
printf "\e[97m+\e[0m\e[92m%s: Bash Patch Level : %s \e[0m\n" "$(date +%T.%4N)" "${BASH_VERSINFO[2]}" printf "\e[97m+\e[0m\e[92m%s: Bash MIN Version : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${BASH_VERSINFO[1]}"
printf "\e[97m+\e[0m\e[92m%s: Bash Build Version : %s \e[0m\n" "$(date +%T.%4N)" "${BASH_VERSINFO[3]}" printf "\e[97m+\e[0m\e[92m%s: Bash Patch Level : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${BASH_VERSINFO[2]}"
printf "\e[97m+\e[0m\e[92m%s: Bash Release : %s \e[0m\n" "$(date +%T.%4N)" "${BASH_VERSINFO[4]}" printf "\e[97m+\e[0m\e[92m%s: Bash Build Version : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${BASH_VERSINFO[3]}"
printf "\e[97m+\e[0m\e[92m%s: UID : %s \e[0m\n" "$(date +%T.%4N)" "${UID}" printf "\e[97m+\e[0m\e[92m%s: Bash Release : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${BASH_VERSINFO[4]}"
printf "\e[97m+\e[0m\e[92m%s: EUID : %s \e[0m\n" "$(date +%T.%4N)" "${EUID}" printf "\e[97m+\e[0m\e[92m%s: UID : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${UID}"
printf "\e[97m+\e[0m\e[92m%s: Hostname : %s \e[0m\n" "$(date +%T.%4N)" "${HOSTNAME}" printf "\e[97m+\e[0m\e[92m%s: EUID : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${EUID}"
printf "\e[97m+\e[0m\e[92m%s: Script name : %s \e[0m\n" "$(date +%T.%4N)" "$0" printf "\e[97m+\e[0m\e[92m%s: Hostname : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${HOSTNAME}"
printf "\e[97m+\e[0m\e[92m%s: Argument Counter : %s \e[0m\n" "$(date +%T.%4N)" "${arg_counter}" printf "\e[97m+\e[0m\e[92m%s: Hostsystem : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${VAR_SYSTEM}"
printf "\e[97m+\e[0m\e[92m%s: Argument String Original : %s \e[0m\n" "$(date +%T.%4N)" "${arg_string}" printf "\e[97m+\e[0m\e[92m%s: Script name : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "$0"
printf "\e[97m+\e[0m\e[92m%s: Script PID : %s \e[0m\n" "$(date +%T.%4N)" "$$" printf "\e[97m+\e[0m\e[92m%s: Argument Counter : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${arg_counter}"
printf "\e[97m+\e[0m\e[92m%s: Script Parent PID : %s \e[0m\n" "$(date +%T.%4N)" "${PPID}" printf "\e[97m+\e[0m\e[92m%s: Argument String Original : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${arg_string}"
printf "\e[97m+\e[0m\e[92m%s: Script work DIR : %s \e[0m\n" "$(date +%T.%4N)" "${PWD}" printf "\e[97m+\e[0m\e[92m%s: Script PID : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "$$"
printf "\e[97m+\e[0m\e[92m%s: Shell Options : %s \e[0m\n" "$(date +%T.%4N)" "$-" printf "\e[97m+\e[0m\e[92m%s: Script Parent PID : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${PPID}"
printf "\e[97m+\e[0m\e[92m%s: BASHOPTS : %s \e[0m\n" "$(date +%T.%4N)" "${BASHOPTS}" printf "\e[97m+\e[0m\e[92m%s: Script work DIR : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${PWD}"
printf "\e[97m+\e[0m\e[92m%s: ==== Debug Log Begin ==== : \e[0m\n" "$(date +%T.%4N)" printf "\e[97m+\e[0m\e[92m%s: Shell Options : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "$-"
printf "\e[97m+\e[0m\e[92m%s: BASHOPTS : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${BASHOPTS}"
printf "\e[97m+\e[0m\e[92m%s: SHELLOPTS : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${SHELLOPTS}"
printf "\e[97m+\e[0m\e[92m%s: ==== Debug Log Begin ==== : \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)"
} >&42 } >&42
} }
# 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

36
lib/lib_git_var.sh Normal file
View File

@@ -0,0 +1,36 @@
#!/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.hardened.installer framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
#######################################
# Define Git Repo related Variables.
# Globals:
# VAR_GIT_HEAD
# VAR_GIT_REL
# VAR_GIT_REL_DATE
# VAR_GIT_REL_DATE_TIME
# VAR_GIT_REL_SHORT
# Arguments:
# None
#######################################
check_git() {
# shellcheck disable=SC2155
if git rev-parse --is-inside-work-tree &>/dev/null; then
declare -grx VAR_GIT_REL="$(git log --format='%h %ci' -1 2>/dev/null | awk '{ print $1" "$2" "$3 }')"
declare -grx VAR_GIT_REL_SHORT="${VAR_GIT_REL%% *}"
declare -grx VAR_GIT_REL_DATE_TIME="${VAR_GIT_REL#* }"
declare -grx VAR_GIT_REL_DATE="${VAR_GIT_REL_DATE_TIME% *}"
declare -grx VAR_GIT_HEAD_FULL="$(git rev-parse HEAD)"
fi
}
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

42
lib/lib_guard_sourcing.sh Normal file
View File

@@ -0,0 +1,42 @@
#!/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.hardened.installer framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
#######################################
# Prevent the caller LIB-file from being sourced twice.
# Derive a safe guard-variable name from the caller script filename.
# Globals:
# BASH_SOURCE
# Arguments:
# $1: Explicitly provided Argument: filename of the caller LIB. (Better let the guard_sourcing() determine dynamically.)
# Returns:
# 0: Returns '0' in both cases as they are intended to be successful.
#######################################
guard_sourcing() {
### Determine the caller script (the library being sourced).
declare var_src="${1:-${BASH_SOURCE[1]}}"
### Strip path, keep only filename
declare var_file_name="${var_src##*/}"
### Sanitize to valid var name.
declare var_safe_name="${var_file_name//[^a-zA-Z0-9_]/_}"
### Build guard-variable name.
declare var_guard_var="_${var_safe_name}_LOADED"
### If already loaded, abort sourcing
if [[ -n "${!var_guard_var:-}" ]]; then
return 0
fi
### Mark as loaded (readonly + exported)
declare -grx "${var_guard_var}"=1
return 0
}
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Updates the Live ISO to use root password authentication for local console access. # Updates the Live ISO to use root password authentication for local console access.
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# SSH Hardening Ultra via TCP Wrapper # SSH Hardening Ultra via TCP Wrapper
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Wrapper for accompanying all CISS.debian.hardening features into the Live ISO image. # Wrapper for accompanying all CISS.debian.hardening features into the Live ISO image.
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# IP Notation cleaner for pure IP output only # IP Notation cleaner for pure IP output only
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Wrapper to write a new 'lb config' environment. # Wrapper to write a new 'lb config' environment.
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Wrapper for 'lb config' - set up a build environment or deleting old build artifacts. # Wrapper for 'lb config' - set up a build environment or deleting old build artifacts.
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Wrapper to write a new 'lb config' environment. # Wrapper to write a new 'lb config' environment.
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Notes Textbox # Notes Textbox
# Arguments: # Arguments:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Wrapper for statistic functions of the final build. # Wrapper for statistic functions of the final build.
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Argument Check Wrapper # Argument Check Wrapper
# Arguments: # Arguments:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Print Error Message for Trap on 'ERR' in ${ERROR_LOG} # Print Error Message for Trap on 'ERR' in ${ERROR_LOG}
# Globals: # Globals:
@@ -34,8 +36,9 @@
print_file_err() { print_file_err() {
{ {
printf "❌ CISS.debian.live.builder Script failed. \n" printf "❌ CISS.debian.live.builder Script failed. \n"
printf "❌ Git Commit : %s \n" "${VAR_GIT_REL}"
printf "❌ Version : %s \n" "${VAR_VERSION}" printf "❌ Version : %s \n" "${VAR_VERSION}"
printf "❌ Environment : %s \n" "${VAR_SYSTEM}" printf "❌ Hostsystem : %s \n" "${VAR_SYSTEM}"
printf "❌ Error : %s \n" "${ERRCODE}" printf "❌ Error : %s \n" "${ERRCODE}"
printf "❌ Line : %s \n" "${ERRLINE}" printf "❌ Line : %s \n" "${ERRLINE}"
printf "❌ Script : %s \n" "${ERRSCRT}" printf "❌ Script : %s \n" "${ERRSCRT}"
@@ -48,7 +51,7 @@ print_file_err() {
if "${VAR_EARLY_DEBUG}"; then if "${VAR_EARLY_DEBUG}"; then
printf "❌ Vars Dump saved at : %s \n" "${LOG_VAR}" printf "❌ Vars Dump saved at : %s \n" "${LOG_VAR}"
printf "❌ Debug Log saved at : %s \n" "${LOG_DEBUG}" printf "❌ Debug Log saved at : %s \n" "${LOG_DEBUG}"
printf "❌ cat %s \n" "${LOG_DEBUG}" printf "❌ batcat --pager='less -r' %s \n" "${LOG_DEBUG}"
fi fi
printf "\n" printf "\n"
} >> "${LOG_ERROR}" } >> "${LOG_ERROR}"
@@ -77,8 +80,9 @@ print_file_err() {
####################################### #######################################
print_scr_err() { print_scr_err() {
printf "\e[91m❌ CISS.debian.live.builder Script failed. \e[0m\n" >&2 printf "\e[91m❌ CISS.debian.live.builder Script failed. \e[0m\n" >&2
printf "\e[91m❌ Git Commit : %s \e[0m\n" "${VAR_GIT_REL}" >&2
printf "\e[91m❌ Version : %s \e[0m\n" "${VAR_VERSION}" >&2 printf "\e[91m❌ Version : %s \e[0m\n" "${VAR_VERSION}" >&2
printf "\e[91m❌ Environment : %s \e[0m\n" "${VAR_SYSTEM}" >&2 printf "\e[91m❌ Hostsystem : %s \e[0m\n" "${VAR_SYSTEM}" >&2
printf "\e[91m❌ Error : %s \e[0m\n" "${ERRCODE}" >&2 printf "\e[91m❌ Error : %s \e[0m\n" "${ERRCODE}" >&2
printf "\e[91m❌ Line : %s \e[0m\n" "${ERRLINE}" >&2 printf "\e[91m❌ Line : %s \e[0m\n" "${ERRLINE}" >&2
printf "\e[91m❌ Script : %s \e[0m\n" "${ERRSCRT}" >&2 printf "\e[91m❌ Script : %s \e[0m\n" "${ERRSCRT}" >&2
@@ -89,11 +93,11 @@ print_scr_err() {
printf "\e[91m❌ Arguments Original : %s \e[0m\n" "${ARG_STR_ORG_INPUT}" >&2 printf "\e[91m❌ Arguments Original : %s \e[0m\n" "${ARG_STR_ORG_INPUT}" >&2
printf "\e[91m❌ Arguments Sanitized : %s \e[0m\n" "${VAR_ARG_SANITIZED}" >&2 printf "\e[91m❌ Arguments Sanitized : %s \e[0m\n" "${VAR_ARG_SANITIZED}" >&2
printf "\e[91m❌ Error Log saved at : %s \e[0m\n" "${LOG_ERROR}" >&2 printf "\e[91m❌ Error Log saved at : %s \e[0m\n" "${LOG_ERROR}" >&2
printf "\e[91m❌ cat %s \e[0m\n" "${LOG_ERROR}" >&2 printf "\e[91m❌ batcat --pager='less -r' %s \e[0m\n" "${LOG_ERROR}" >&2
if "${VAR_EARLY_DEBUG}"; then if "${VAR_EARLY_DEBUG}"; then
printf "\e[91m❌ Vars Dump saved at : %s \e[0m\n" "${LOG_VAR}" >&2 printf "\e[91m❌ Vars Dump saved at : %s \e[0m\n" "${LOG_VAR}" >&2
printf "\e[91m❌ Debug Log saved at : %s \e[0m\n" "${LOG_DEBUG}" >&2 printf "\e[91m❌ Debug Log saved at : %s \e[0m\n" "${LOG_DEBUG}" >&2
printf "\e[91m❌ cat %s \e[0m\n" "${LOG_DEBUG}" >&2 printf "\e[91m❌ batcat --pager='less -r' %s \e[0m\n" "${LOG_DEBUG}" >&2
fi fi
printf "\n" printf "\n"
} }
@@ -115,12 +119,12 @@ print_scr_err() {
# $5: ${BASH_COMMAND} # $5: ${BASH_COMMAND}
####################################### #######################################
trap_on_err() { trap_on_err() {
trap - ERR
declare -g ERRCODE="$1" declare -g ERRCODE="$1"
declare -g ERRSCRT="$2" declare -g ERRSCRT="$2"
declare -g ERRLINE="$3" declare -g ERRLINE="$3"
declare -g ERRFUNC="$4" declare -g ERRFUNC="$4"
declare -g ERRCMMD="$5" declare -g ERRCMMD="$5"
trap - ERR
if "${VAR_EARLY_DEBUG}"; then dump_user_vars; fi if "${VAR_EARLY_DEBUG}"; then dump_user_vars; fi
clean_up "${ERRCODE}" clean_up "${ERRCODE}"
if ! $VAR_HANDLER_AUTOBUILD; then clean_screen; fi if ! $VAR_HANDLER_AUTOBUILD; then clean_screen; fi

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Trap function to be called on 'EXIT'. # Trap function to be called on 'EXIT'.
# Globals: # Globals:
@@ -18,20 +20,20 @@
# $1: $? # $1: $?
####################################### #######################################
trap_on_exit() { trap_on_exit() {
declare -r trap_on_exit_code="$1"
trap - EXIT trap - EXIT
if (( trap_on_exit_code == 0 )); then declare -r var_trap_on_exit_code="$1"
if (( var_trap_on_exit_code == 0 )); then
if "${VAR_EARLY_DEBUG}"; then dump_user_vars; fi if "${VAR_EARLY_DEBUG}"; then dump_user_vars; fi
clean_up "${trap_on_exit_code}" clean_up "${var_trap_on_exit_code}"
print_scr_exit "${trap_on_exit_code}" print_scr_exit "${var_trap_on_exit_code}"
exit 0 exit "${var_trap_on_exit_code}"
else else
exit "${trap_on_exit_code}" exit "${var_trap_on_exit_code}"
fi fi
} }
####################################### #######################################
# Print Success Message for Trap on 'EXIT' on 'stdout' # Print Success Message for Trap on 'EXIT' on 'stdout'.
# Globals: # Globals:
# LOG_DEBUG # LOG_DEBUG
# LOG_VAR # LOG_VAR
@@ -40,22 +42,22 @@ trap_on_exit() {
# VAR_HANDLER_BUILD_DIR # VAR_HANDLER_BUILD_DIR
# VAR_SCRIPT_SUCCESS # VAR_SCRIPT_SUCCESS
# Arguments: # Arguments:
# $1: ${trap_on_exit_code} of trap_on_exit() # $1: ${var_trap_on_exit_code} of trap_on_exit()
####################################### #######################################
print_scr_exit() { print_scr_exit() {
declare -r print_scr_exit_code="$1" declare -r var_print_scr_exit_code="$1"
if (( print_scr_exit_code == 0 )); then if (( var_print_scr_exit_code == 0 )); then
if [[ "${VAR_SCRIPT_SUCCESS}" == "true" ]]; then if [[ "${VAR_SCRIPT_SUCCESS}" == "true" ]]; then
printf "\n" printf "\n"
printf "\e[92m✅ CISS.debian.live.builder Script successful. \e[0m\n" printf "\e[92m✅ CISS.debian.live.builder Script successful. \e[0m\n"
printf "\e[92m✅ Aide Initial DB at: %s \e[0m\n" "${VAR_HANDLER_BUILD_DIR}/.integrity/" printf "\e[92m✅ Aide Initial DB at : %s \e[0m\n" "${VAR_HANDLER_BUILD_DIR}/.integrity/"
printf "\e[92m✅ Exited with Status: %s \e[0m\n" "${print_scr_exit_code}" printf "\e[92m✅ Exited with Status : %s \e[0m\n" "${var_print_scr_exit_code}"
printf "\n" printf "\n"
if [[ "${VAR_EARLY_DEBUG}" == "true" ]]; then if [[ "${VAR_EARLY_DEBUG}" == "true" ]]; then
printf "\e[92m✅ Script Runtime : %s \e[0m\n" "${SECONDS}" printf "\e[92m✅ Script Runtime : %s \e[0m\n" "${SECONDS}"
printf "\e[92m✅ Vars Dump saved at: %s \e[0m\n" "${LOG_VAR}" printf "\e[92m✅ Vars Dump saved at : %s \e[0m\n" "${LOG_VAR}"
printf "\e[92m✅ Debug Log saved at: %s \e[0m\n" "${LOG_DEBUG}" printf "\e[92m✅ Debug Log saved at : %s \e[0m\n" "${LOG_DEBUG}"
printf "\e[92m✅ cat %s \e[0m\n" "${LOG_DEBUG}" printf "\e[92m✅ batcat --pager='less -r' %s \e[0m\n" "${LOG_DEBUG}"
printf "\n" printf "\n"
fi fi
printf "\e[95m💷 Please consider donating to my work at: \e[0m\n" printf "\e[95m💷 Please consider donating to my work at: \e[0m\n"

View File

@@ -13,133 +13,129 @@
####################################### #######################################
# Usage Wrapper CISS.debian.live.builder # Usage Wrapper CISS.debian.live.builder
# Globals: # Globals:
# ERR_UNCRITICAL # none
# Arguments: # Arguments:
# $0: Script name # $0: Script name
####################################### #######################################
usage() { usage() {
clear clear
cat << EOF cat << EOF
$(echo -e "\e[92mCISS.debian.live.builder\e[0m") $(echo -e "\e[92mCISS.debian.live.builder\e[0m")
$(echo -e "\e[92mMaster V8.03.644.2025.06.07\e[0m") $(echo -e "\e[92mMaster V8.03.832.2025.06.24\e[0m")
$(echo -e "\e[92mA lightweight Shell Wrapper for building a hardened Debian Bookworm 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")
$(echo -e "\e[97m(p) Centurion Press, 2024 - 2025\e[0m") $(echo -e "\e[97m(p) Centurion Press, 2024 - 2025\e[0m")
$(echo -e "\e[95mhttps://coresecret.eu/\e[0m")
$(echo -e "\e[97mA lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Image.\e[0m")
"${0} <option>", where <option> is one or more of: "${0} <option>", where <option> is one or more of:
--help, -h $(echo -e "\e[97m --help, -h\e[0m")
What you're looking at. What you're looking at.
--autobuild=*, -a=* $(echo -e "\e[97m --autobuild=*, -a=*\e[0m")
Headless mode. Skip the dialog wrapper, provider note screen and interactive kernel Headless mode. Skip the dialog wrapper, provider note screen and interactive kernel
selector dialog. Change '*' to your desired Linux kernel and trim the selector dialog. Change '*' to your desired Linux kernel and trim the
'linux-image-' string to select a specific kernel, e.g. '--autobuild=6.12.22+bpo-amd64'. 'linux-image-' string to select a specific kernel, e.g. '--autobuild=6.12.30+bpo-amd64'.
--architecture <STRING> one of <amd64 | arm64> $(echo -e "\e[97m --architecture <STRING> one of <amd64 | arm64>\e[0m")
A string reflecting the architecture of the Live System. A string reflecting the architecture of the Live System.
MUST be provided. MUST be provided.
--build-directory </path/to/build_directory> $(echo -e "\e[97m --build-directory </path/to/build_directory>\e[0m")
Where the Debian Live Build Image should be generated. Where the Debian Live Build Image should be generated.
MUST be provided. MUST be provided.
--change-splash <STRING> one of <club | hexagon> $(echo -e "\e[97m --change-splash <STRING> one of <club | hexagon>\e[0m")
A string reflecting the GRub Boot Screen Splash you want to use. A string reflecting the GRub Boot Screen Splash you want to use.
If omitted defaults to "./.archive/background/club.png". If omitted defaults to "./.archive/background/club.png".
--cdi (Experimental Feature) $(echo -e "\e[97m --cdi (Experimental Feature)\e[0m")
This option generates a boot menu entry to start the forthcoming This option generates a boot menu entry to start the forthcoming
'CISS.debian.installer', which will be executed after 'CISS.debian.installer', which will be executed after
the system has successfully booted up. the system has successfully booted up.
--contact, -c $(echo -e "\e[97m --contact, -c\e[0m")
Displays contact information of the author. Displays contact information of the author.
--control <INTEGER> $(echo -e "\e[97m --control <INTEGER>\e[0m")
An integer that reflects the version of your Live ISO Image. An integer that reflects the version of your Live ISO Image.
MUST be provided. MUST be provided.
--debug $(echo -e "\e[97m --debug\e[0m")
Enables debug logging for the main program routine. Detailed logging Enables debug logging for the main program routine. Detailed logging
information are written to "/tmp/ciss_live_builder_$$.log" information are written to "/tmp/ciss_live_builder_$$.log"
--dhcp-centurion $(echo -e "\e[97m --dhcp-centurion\e[0m")
If a DHCP lease is provided, the provider's nameserver will be overridden, If a DHCP lease is provided, the provider's nameserver will be overridden,
and only the hardened, privacy-focused Centurion DNS servers will be used: and only the hardened, privacy-focused Centurion DNS servers will be used:
- https://dns01.eddns.eu/ - https://dns01.eddns.eu/
- https://dns02.eddns.de/ - https://dns02.eddns.de/
- https://dns03.eddns.eu/
--jump-host <IP | IP | ... > $(echo -e "\e[97m --jump-host <IP | IP | ... >\e[0m")
Provide up to 10 IPs for /etc/host.allow whitelisting of SSH access. Provide up to 10 IPs for /etc/host.allow whitelisting of SSH access.
Could be either IPv4 and / or IPv6 addresses and / or CCDIR notation. Could be either IPv4 and / or IPv6 addresses and / or CCDIR notation.
If provided, than it MUST be a <SPACE> separated list. If provided, than it MUST be a <SPACE> separated list.
IPv6 addresses MUST be encapsulated with [], e.g., [1234::abcd/64]. IPv6 addresses MUST be encapsulated with [], e.g., [1234::abcd]/64.
--log-statistics-only $(echo -e "\e[97m --log-statistics-only\e[0m")
Provides statistic only after successful building a Provides statistic only after successful building a
CISS.debian.live-ISO. While enabling "--log-statistics-only" CISS.debian.live-ISO. While enabling "--log-statistics-only"
the argument "--build-directory" MUST be provided while the argument "--build-directory" MUST be provided while
all further options MUST be omitted. all further options MUST be omitted.
--provider-netcup-ipv6 $(echo -e "\e[97m --provider-netcup-ipv6\e[0m")
Activates IPv6 support for Netcup Root Server. One unique Activates IPv6 support for Netcup Root Server. One unique
IPv6 address MUST be provided in this case. IPv6 address MUST be provided in this case and MUST be encapsulated
with [], e.g., [1234::abcd].
--renice-priority <PRIORITY> $(echo -e "\e[97m --renice-priority <PRIORITY>\e[0m")
Reset the nice priority value of the script and all its children Reset the nice priority value of the script and all its children
to the desired PRIORITY. MUST be an integer (between "-19" and 19). to the desired <PRIORITY>. MUST be an integer (between "-19" and 19).
Negative (higher) values MUST be enclosed in double quotes '"'. Negative (higher) values MUST be enclosed in double quotes '"'.
--reionice-priority <CLASS> <PRIORITY> $(echo -e "\e[97m --reionice-priority <CLASS> <PRIORITY>\e[0m")
Reset the ionice priority value of the script and all its children Reset the ionice priority value of the script and all its children
to the desired CLASS. MUST be an integer: to the desired <CLASS>. MUST be an integer:
1: realtime 1: realtime
2: best-effort 2: best-effort
3: idle 3: idle
defaults to "2". Defaults to '2'.
PRIORITY MUST be an integer: Whereas <PRIORITY> MUST be an integer as well between:
between 0 (highest) and 7 (lowest) priority. 0: highest priority and
defaults to "4". 7: lowest priority.
Defaults to '4'.
A real-time I/O process can significantly slow down other processes A real-time I/O process can significantly slow down other processes
or even cause them to starve if it continuously requests I/O. or even cause them to starve if it continuously requests I/O.
--root-password-file </path/to/password.txt> $(echo -e "\e[97m --root-password-file </path/to/password.txt>\e[0m")
Password file for 'root', if given, MUST be a string of 20 to 64 characters, Password file for 'root', if given, MUST be a string of 20 to 64 characters,
and MUST NOT contain the special character '"'. and MUST NOT contain the special character '"'.
If the argument is omitted, no further login authentication is required for If the argument is omitted, no further login authentication is required for
the local console. The root password is hashed with an 16 Byte '/dev/random' the local console. The root password is hashed with an 16 Byte '/dev/random'
generated SALT and SHA512 Hashing function and 8,388,608 rounds. Immediately generated SALT and SHA512 Hashing function and 8,388,608 rounds. Immediately
after Hash generation all Variables containing plain password fragments are after Hash generation all Variables containing plain password fragments are
deleted. Password file SHOULD be 0400 and root:root and is deleted without deleted. Password file SHOULD be '0400' and 'root:root' and is deleted without
further prompt after password hash has been successfully generated via: further prompt after password hash has been successfully generated via:
shred -vfzu 5 -f. 'shred -vfzu 5 -f'.
No tracing of any plain text password fragment in any debug log. No tracing of any plain text password fragment in any debug log.
--ssh-port <INTEGER> $(echo -e "\e[97m --ssh-port <INTEGER>\e[0m")
The desired Port SSH should listen to. The desired Port SSH should listen to.
If not provided defaults to Port 22. If not provided defaults to Port 22.
--ssh-pubkey </path/to/.ssh/> $(echo -e "\e[97m --ssh-pubkey </path/to/.ssh/>\e[0m")
Imports the SSH Public Key(s) from the FILE 'authorized_keys' of the Imports the SSH Public Key(s) from the FILE 'authorized_keys' of the
specified PATH into the Live ISO. MUST be provided. specified PATH into the Live ISO. MUST be provided.
--version, -v $(echo -e "\e[97m --version, -v\e[0m")
Displays version of ${0}. Displays version of ${0}.
$(echo -e "\e[93mNOTES:\e[0m") $(echo -e "\e[93m💡 Notes:\e[0m")
- You MUST be 'root' to run this script. 🔵 You MUST be 'root' to run this script.
$(echo -e "\e[92mContact:\e[0m") $(echo -e "\e[95m💷 Please consider donating to my work at:\e[0m")
$(echo -e "\e[95m - https://coresecret.eu/ \e[0m") $(echo -e "\e[95m🌐 https://coresecret.eu/spenden/ \e[0m")
$(echo -e "\e[95m - security@coresecret.eu \e[0m")
$(echo -e "\e[95m - PGP Key 2D98 07F4 1030 1776 597E BDC9 9F54 8853 35A3 C9AD \e[0m")
$(echo -e "\e[95m - https://keys.openpgp.org/vks/v1/by-fingerprint/2D9807F410301776597EBDC99F54885335A3C9AD \e[0m")
EOF EOF
} }

16
meta_sources_debug.sh Normal file
View File

@@ -0,0 +1,16 @@
#!/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
### Sourcing Debug Libs
. ./lib/lib_debug.sh
. ./lib/lib_debug_header.sh
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -21,9 +21,9 @@ fi
cat << 'EOF' >| "${VAR_HANDLER_BUILD_DIR}"/config/includes.chroot/etc/dhcp/dhclient.conf cat << 'EOF' >| "${VAR_HANDLER_BUILD_DIR}"/config/includes.chroot/etc/dhcp/dhclient.conf
# Custom dhclient config to override DHCP DNS # Custom dhclient config to override DHCP DNS
# dns01.eddns.eu, dns02.eddns.de; # dns01.eddns.eu, dns02.eddns.de; dns03.eddns.eu;
supersede domain-name-servers 135.181.207.105, 89.58.62.53; supersede domain-name-servers 135.181.207.105, 89.58.62.53; 138.199.237.109;
EOF EOF

View File

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

21
var/bash.var.sh Normal file
View File

@@ -0,0 +1,21 @@
#!/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
### For all options see https://www.gnu.org/software/bash/manual/bash.html#The-Set-Builtin
set -o errexit # Exit script when a command exits with non-zero status, the same as "set -e".
set -o errtrace # Any traps on ERR are inherited in a subshell environment, the same as "set -E".
set -o functrace # Any traps on DEBUG and RETURN are inherited in a subshell environment, the same as "set -T".
set -o nounset # Exit script on use of an undefined variable, the same as "set -u".
set -o pipefail # Makes pipelines return the exit status of the last command in the pipe that failed.
set -o noclobber # Prevent overwriting, the same as "set -C".
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -10,7 +10,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
declare -grx C_BLA='\e[90m' # For the techno fans. declare -grx C_BLA='\e[90m' # Beautiful black For the techno fans.
declare -grx C_RED='\e[91m' # Bright red. declare -grx C_RED='\e[91m' # Bright red.
declare -grx C_GRE='\e[92m' # Vibrant green. declare -grx C_GRE='\e[92m' # Vibrant green.
declare -grx C_YEL='\e[93m' # Fancy yellow declare -grx C_YEL='\e[93m' # Fancy yellow

25
var/early.var.sh Normal file
View File

@@ -0,0 +1,25 @@
#!/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
### Definition of MUST set early Variables
# shellcheck disable=SC2155
declare -agx ARY_PARAM_ARRAY=("$@")
declare -grx VAR_PARAM_COUNT="$#"
declare -grx VAR_PARAM_STRNG="$*"
declare -grx VAR_CONTACT="security@coresecret.eu"
declare -grx VAR_VERSION="Master V8.03.832.2025.06.24"
declare -grx VAR_SYSTEM="$(uname -a)"
declare -gx VAR_EARLY_DEBUG="false"
declare -gx VAR_HANDLER_AUTOBUILD="false"
umask 0022
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -10,24 +10,13 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
# shellcheck disable=SC2155
declare -gr VAR_SYSTEM="$(uname -a)"
# shellcheck disable=SC2155 # shellcheck disable=SC2155
declare -gr VAR_ISO8601="$(date +%Y_%m_%d_%H_%M_%S)" declare -gr VAR_ISO8601="$(date +%Y_%m_%d_%H_%M_%S)"
# shellcheck disable=SC2155
declare -gr VAR_KERNEL_INF="$(mktemp)" declare -gr VAR_KERNEL_INF="$(mktemp)"
# shellcheck disable=SC2155
declare -gr VAR_KERNEL_TMP="$(mktemp)" declare -gr VAR_KERNEL_TMP="$(mktemp)"
# shellcheck disable=SC2155
declare -gr VAR_KERNEL_SRT="$(mktemp)" declare -gr VAR_KERNEL_SRT="$(mktemp)"
# shellcheck disable=SC2155
declare -gr VAR_NOTES="$(mktemp)" declare -gr VAR_NOTES="$(mktemp)"
if "${VAR_EARLY_DEBUG}"; then
declare -gr LOG_VAR="/tmp/ciss_live_builder_$$_var.log"
touch "${LOG_VAR}" && chmod 0600 "${LOG_VAR}"
fi
declare -gr LOG_ERROR="/tmp/ciss_live_builder_$$_error.log" declare -gr LOG_ERROR="/tmp/ciss_live_builder_$$_error.log"
touch "${LOG_ERROR}" && chmod 0600 "${LOG_ERROR}" touch "${LOG_ERROR}" && chmod 0600 "${LOG_ERROR}"