Compare commits

...

1818 commits

Author SHA1 Message Date
Patrick Schleizer
34440d7cdf
bumped changelog version 2026-01-11 16:40:08 +00:00
Patrick Schleizer
cbd91974b1
typo 2026-01-11 10:51:46 -05:00
Patrick Schleizer
a0fd435751
readme 2026-01-11 07:09:36 -05:00
Patrick Schleizer
6c4e7458a1
bumped changelog version 2026-01-05 10:28:53 +00:00
Patrick Schleizer
74533a7efa
Merge remote-tracking branch 'github-kicksecure/master' 2026-01-05 03:09:53 -05:00
Patrick Schleizer
84408cb1a5
Merge pull request #345 from Nurmagoz/patch-1
debian/control URL fix
2026-01-05 03:05:02 -05:00
Patrick Schleizer
8a132749e0
bumped changelog version 2026-01-01 17:28:25 +00:00
Patrick Schleizer
e2d31a5b81
genmkfile debinstfile 2026-01-01 12:28:03 -05:00
Patrick Schleizer
6e15c683ab
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2026-01-01 12:01:19 -05:00
Nurmagoz
52ef679c2c
debian/control URL fix 2025-12-31 20:51:34 +00:00
Aaron Rainbolt
436308ae4e
Minor comment fixes 2025-12-29 22:30:00 -06:00
Aaron Rainbolt
f8ac896b87
Merge remote-tracking branch 'raja/log_martians' into arraybolt3/trixie-raja-merge 2025-12-29 22:23:34 -06:00
Patrick Schleizer
97640a9b57
bumped changelog version 2025-12-28 06:36:59 +00:00
Patrick Schleizer
c54d6a2258
readme 2025-12-28 01:30:43 -05:00
Patrick Schleizer
7477a6711a
readme 2025-12-28 01:29:26 -05:00
Patrick Schleizer
885358794f
readme 2025-12-28 00:55:20 -05:00
Patrick Schleizer
44837c12bb
genmkfile debinstfile 2025-12-28 00:48:37 -05:00
Patrick Schleizer
7b37965c5c
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-12-28 00:47:49 -05:00
Aaron Rainbolt
dddf79798c
Document why we disable sudo DNS 2025-12-27 19:46:55 -06:00
Aaron Rainbolt
5e45248eb6
genmkfile debinstfile 2025-12-27 19:38:19 -06:00
Aaron Rainbolt
1b07fd2e73
Disable sudo DNS lookups on desktop systems 2025-12-27 19:38:02 -06:00
Patrick Schleizer
d2796afe8e
bumped changelog version 2025-12-19 11:38:31 +00:00
Patrick Schleizer
68c89cced3
comment 2025-12-19 06:30:00 -05:00
Patrick Schleizer
8aef71c254
fix 2025-12-19 06:27:14 -05:00
Patrick Schleizer
55a9755d90
refactoring 2025-12-19 06:26:16 -05:00
Patrick Schleizer
6927a5d1ad
bumped changelog version 2025-12-19 09:56:05 +00:00
Patrick Schleizer
29c1280868
genmkfile debinstfile 2025-12-19 04:55:41 -05:00
Patrick Schleizer
7ed2d25def
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-12-19 03:42:20 -05:00
Aaron Rainbolt
0bf0a73eb4
Add a missing quote mark for panic_on_taint 2025-12-15 20:18:14 -06:00
Aaron Rainbolt
2106ed5aa6
Merge remote-tracking branch 'raja/amd_encrypt_sev' into arraybolt3/trixie-raja-merge 2025-12-15 19:41:36 -06:00
raja-grewal
969d4d8213
Add references for AMD SME 2025-12-16 11:49:21 +11:00
Aaron Rainbolt
b9d4f0aaa5
Add minor clarifications 2025-12-14 14:24:33 -06:00
Aaron Rainbolt
005b66c265
Merge remote-tracking branch 'raja/panic_taint' into arraybolt3/trixie-raja-merge 2025-12-14 14:05:36 -06:00
Aaron Rainbolt
3f097a35f2
Split up a line in README.md 2025-12-14 14:03:33 -06:00
Aaron Rainbolt
e7e6d6d373
Merge remote-tracking branch 'raja/incomplete_cpu_mitigations' into arraybolt3/trixie-raja-merge 2025-12-14 14:01:54 -06:00
raja-grewal
b8f7806267
Update usage of mitigations=auto,nosmt 2025-12-14 12:38:47 +00:00
raja-grewal
eaf0f814bd
Update option to panic_on_taint 2025-12-14 11:18:08 +00:00
Aaron Rainbolt
8e56772c2f
README.md typo fix 2025-12-13 19:22:50 -06:00
Aaron Rainbolt
4d0a126955
Merge remote-tracking branch 'raja/modprobe_refresh' into arraybolt3/trixie-raja-merge 2025-12-13 18:44:03 -06:00
Aaron Rainbolt
39ce591976
Merge remote-tracking branch 'raja/amd_encrypt_sev' into arraybolt3/trixie-raja-merge 2025-12-13 18:27:22 -06:00
raja-grewal
650b923c7a
Update option to panic_on_taint 2025-12-13 04:35:02 +00:00
Patrick Schleizer
b366c5e62a
bumped changelog version 2025-12-12 13:17:09 +00:00
Patrick Schleizer
68de32e43e
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-12-12 04:35:53 -05:00
raja-grewal
8040ba7579
Minor fixes to docs 2025-12-12 02:04:38 +00:00
raja-grewal
fe1cfcd1a0
Update docs on CPU MSRs 2025-12-12 02:03:23 +00:00
raja-grewal
ab2d44677a
Correct script addition 2025-12-12 02:01:20 +00:00
raja-grewal
5684a12d9d
Whitelist 9p module 2025-12-12 01:59:23 +00:00
Aaron Rainbolt
135ee80450
Move kernel.panic=-1 setting to sysctl, allow turning panic-on-oops off with systemctl 2025-12-11 18:47:42 -06:00
raja-grewal
7d90121302
Add reference for AMD SEV 2025-12-11 14:12:18 +00:00
raja-grewal
72f295a3f0
Provide option to enable AMD SEV-SNP 2025-12-11 14:11:47 +00:00
raja-grewal
6a17255307
Provide option to enable AMD SEV-ES 2025-12-11 14:11:26 +00:00
raja-grewal
22b1e3dc92
Merge branch 'master' into panic_taint 2025-12-11 18:15:35 +11:00
raja-grewal
53c4fdbeea
Merge branch 'Kicksecure:master' into modprobe_refresh 2025-12-11 12:52:14 +11:00
Patrick Schleizer
725565c42e
bumped changelog version 2025-12-09 14:06:55 +00:00
Patrick Schleizer
b7b6b6e5fb
output 2025-12-08 09:42:59 -05:00
Patrick Schleizer
8f99672cb2
bumped changelog version 2025-12-05 11:39:12 +00:00
Patrick Schleizer
ac128dd873
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-12-05 06:35:03 -05:00
Aaron Rainbolt
85761a4153
permission-hardener: Fix undo warning logic, minor improvements suggested by ChatGPT Codex 2025-12-04 23:27:18 -06:00
Patrick Schleizer
17dd7af7d1
bumped changelog version 2025-12-03 08:31:22 +00:00
Patrick Schleizer
c44678f92d
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-12-03 03:22:44 -05:00
Aaron Rainbolt
0534a34ed7
Fix block-unsafe-logins when running as non-root, add swaylock to list of safe auth services 2025-12-02 19:06:30 -06:00
Patrick Schleizer
6f9732be98
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-12-02 06:04:07 -05:00
Aaron Rainbolt
b3eb739fe2
Link fix, change some wording 2025-11-30 00:20:21 -06:00
Aaron Rainbolt
5f34b4146e
Merge remote-tracking branch 'raja/docs' into arraybolt3/trixie 2025-11-30 00:12:18 -06:00
Aaron Rainbolt
2c253b1312
Merge remote-tracking branch 'raja/vsyscall32' into arraybolt3/trixie 2025-11-29 21:01:51 -06:00
Aaron Rainbolt
17ab1bb00f
Documentation fix 2025-11-29 20:44:30 -06:00
Aaron Rainbolt
2b2d30afce
Merge remote-tracking branch 'raja/limit_full_force' into arraybolt3/trixie 2025-11-29 20:23:09 -06:00
Aaron Rainbolt
f0d069c796
Minor README.md corrections 2025-11-29 20:15:03 -06:00
Aaron Rainbolt
b73a830b0f
Merge remote-tracking branch 'raja/kpti' into arraybolt3/trixie 2025-11-29 19:59:35 -06:00
Aaron Rainbolt
e54cb007f9
Merge remote-tracking branch 'raja/limit_bdev_writes' into arraybolt3/trixie 2025-11-29 19:54:10 -06:00
Aaron Rainbolt
84e193c44e
Merge remote-tracking branch 'raja/stop_tw_reuse' into arraybolt3/trixie 2025-11-28 14:21:59 -06:00
Aaron Rainbolt
65c45fc3d7
Minor fixes to NMI panic docs 2025-11-28 00:13:45 -06:00
Aaron Rainbolt
37b1d055f1
Merge remote-tracking branch 'raja/panic_nmi' into arraybolt3/trixie 2025-11-28 00:09:43 -06:00
Aaron Rainbolt
7280d8867d
Merge remote-tracking branch 'raja/amd_encrypt_ram' into arraybolt3/trixie 2025-11-27 23:28:53 -06:00
Patrick Schleizer
2089b3a9b8
bumped changelog version 2025-11-24 08:44:10 +00:00
Patrick Schleizer
cbd35502f1
comment 2025-11-24 03:18:25 -05:00
Patrick Schleizer
cac73c3154
minor 2025-11-24 03:17:38 -05:00
Patrick Schleizer
d68988e76c
comments 2025-11-24 03:17:25 -05:00
Patrick Schleizer
c1ca36d758
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-11-24 03:11:19 -05:00
Aaron Rainbolt
a3417e997d
Add pkexec remembered permissions fix for permission-hardener, fix some postinst bugs 2025-11-23 16:27:59 -06:00
Aaron Rainbolt
edda37809f
Remove obsolete migration code for permission-hardener, add initial permission-hardener state installation code 2025-11-23 14:54:02 -06:00
Patrick Schleizer
ec11679514
bumped changelog version 2025-11-23 10:26:13 +00:00
Patrick Schleizer
5c4d3162ab
fix 2025-11-23 05:25:13 -05:00
raja-grewal
30068ec8cd
Correct bitmask 2025-11-22 15:01:47 +11:00
raja-grewal
f75e987337
Relabel some disabled module headings 2025-11-21 13:06:42 +00:00
raja-grewal
79be87ec5f
Move (optional) CPU MSR module disable list 2025-11-21 13:05:13 +00:00
raja-grewal
1a7b0a9122
Disable more file systems 2025-11-21 12:43:05 +00:00
raja-grewal
1865cafe44
Move joydev from blacklist to disable 2025-11-21 12:42:10 +00:00
raja-grewal
28476d3d53
Update docs on GrapheneOS blacklisted modules 2025-11-21 12:40:12 +00:00
raja-grewal
446d3771bf
Update docs on CD-ROM/DVD blacklisting 2025-11-21 12:38:44 +00:00
raja-grewal
3646a2fefe
Move superseded brcm80211 to disabled
Split and replaced by brcmsmac and brcmfmac in kernel 2.6.39
2025-11-21 12:37:57 +00:00
raja-grewal
66ba273d44
Add CPU MSR modules 2025-11-21 12:36:57 +00:00
raja-grewal
e6aa648d54
Update docs on CPU MSR disabling 2025-11-21 12:36:32 +00:00
raja-grewal
59869979bb
Update docs on Vivid disabling 2025-11-21 12:35:51 +00:00
raja-grewal
4597fd16a9
Sort RDNIS disabling and add docs 2025-11-21 12:35:03 +00:00
raja-grewal
5adc007536
Update docs on Intel PMT disabling 2025-11-21 12:33:15 +00:00
raja-grewal
31e3aa0c3a
Update docs on Bluetooth disabling 2025-11-21 12:32:30 +00:00
Patrick Schleizer
9f85a78c99
bumped changelog version 2025-11-19 07:02:14 +00:00
Patrick Schleizer
4e7cfb0d06
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-11-19 01:55:10 -05:00
Aaron Rainbolt
936c799cb5
Don't break passwordless sudo in unrestricted admin mode 2025-11-18 23:53:03 -06:00
raja-grewal
68025d3624
Provide option to panic_on_taint 2025-11-19 01:16:46 +00:00
raja-grewal
ebc011e67b
Typo 2025-11-19 11:35:04 +11:00
raja-grewal
62dc2d4483
Add note about Intel TME 2025-11-18 20:31:46 +11:00
raja-grewal
29176d2ed2
Remove the option to reduce the MCE tolerance level 2025-11-15 06:30:11 +00:00
raja-grewal
9f897c5ccd
Update docs on reducing the MCE tolerance level 2025-11-15 05:48:33 +00:00
raja-grewal
b6fe1a5a6e
Make panic related settings consistent
Ensures the `sysctl` and boot parameters are equivalent in settings and in description. This should prevent future questions regarding having omitted boot parameters that were actually redundant.
2025-11-15 04:51:01 +00:00
raja-grewal
99e993b885
Provide options to enable AMD SME and SEV 2025-11-15 03:16:07 +00:00
Patrick Schleizer
d267cf6761
bumped changelog version 2025-11-14 06:21:34 +00:00
Patrick Schleizer
efa06a1eae
port to package-installed-check 2025-11-14 00:44:50 -05:00
Patrick Schleizer
abf5852eba
bumped changelog version 2025-11-12 06:13:05 +00:00
Patrick Schleizer
3af8916455
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-11-11 23:59:50 -05:00
raja-grewal
d891313d57
Provide options to panic upon receiving NMIs 2025-11-11 11:39:21 +00:00
raja-grewal
0b9b9ffb1e
Improve clarity for panic on OOM 2025-11-11 11:32:47 +00:00
Aaron Rainbolt
3070aa5d1f
Fix passwordless login for sensitive accounts, only deny passwordless privilege escalation 2025-11-10 22:40:15 -06:00
raja-grewal
ab98da957c
Re-set net.ipv4.conf.*.log_martians=1 2025-11-11 04:28:56 +00:00
Patrick Schleizer
fb587f78fd
bumped changelog version 2025-11-10 08:00:06 +00:00
Patrick Schleizer
fc1b865dd7
debugging 2025-11-10 02:21:27 -05:00
Patrick Schleizer
45126cede6
end-of-options 2025-11-10 02:19:29 -05:00
Patrick Schleizer
61637a5ff0
refactoring 2025-11-10 02:15:30 -05:00
Patrick Schleizer
ddb59a3b01
comment 2025-11-10 02:13:48 -05:00
Patrick Schleizer
ae1e2e3b52
output 2025-11-10 02:10:25 -05:00
Patrick Schleizer
f2b7658542
use long option names 2025-11-10 02:09:54 -05:00
Patrick Schleizer
71ca68bd4a
end-of-options 2025-11-10 02:09:00 -05:00
Patrick Schleizer
e9e6c12b03
output 2025-11-10 02:08:04 -05:00
Patrick Schleizer
f5db916bf7
fix 2025-11-10 02:06:55 -05:00
Patrick Schleizer
bb0a23fcc8
chmod +x 2025-11-10 02:05:47 -05:00
Patrick Schleizer
39a6ce002e
genmkfile debinstfile 2025-11-10 02:05:03 -05:00
Patrick Schleizer
94de949a47
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-11-10 02:04:15 -05:00
raja-grewal
5ac02d2d52
Set net.ipv4.tcp_tw_reuse=0 2025-11-10 06:13:35 +00:00
raja-grewal
b89aaea61e
Add docs on logging martian packets 2025-11-10 06:03:33 +00:00
Aaron Rainbolt
5fbd42bbec
Add kill-vboxdrmclient-on-shutdown.service 2025-11-09 18:38:54 -06:00
Aaron Rainbolt
9d86379f56
Prevent non-sysmaint logins in sysmaint mode and unsafe passwordless logins in user mode 2025-11-09 17:50:28 -06:00
raja-grewal
a3830db09e
Update docs relating to panic on OOM 2025-11-09 13:42:31 +00:00
raja-grewal
0aa0b67df6
Merge branch 'master' into docs 2025-11-10 00:20:48 +11:00
Patrick Schleizer
0939883f0b
bumped changelog version 2025-11-09 10:47:45 +00:00
Patrick Schleizer
0391411885
revert Force immediate kernel panic on OOM.
https://github.com/Kicksecure/security-misc/issues/324#issuecomment-3507949741
2025-11-09 05:47:00 -05:00
Patrick Schleizer
26b96ce280
bumped changelog version 2025-11-09 08:12:42 +00:00
Patrick Schleizer
1ef974300a
readme 2025-11-08 04:00:47 -05:00
Patrick Schleizer
48ce12eba3
bumped changelog version 2025-11-08 07:44:43 +00:00
Patrick Schleizer
69419357e1
genmkfile debinstfile 2025-11-08 02:42:25 -05:00
Patrick Schleizer
d50e6afc8f
sanity test 2025-11-08 01:34:32 -05:00
Patrick Schleizer
1267960842
comments 2025-11-08 01:32:45 -05:00
Patrick Schleizer
1e48886c7e
long option name 2025-11-08 01:31:02 -05:00
Patrick Schleizer
d6c949c791
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-11-08 01:29:48 -05:00
Aaron Rainbolt
fa32ba6c4f
Suppress usbguard startup unless a USB controller is visible to lspci 2025-11-07 17:09:34 -06:00
raja-grewal
635c216d4e
Update docs on CPU mitigations 2025-11-05 01:44:36 +00:00
raja-grewal
a46f678c7f
Update docs on latent entropy 2025-11-05 00:05:17 +00:00
raja-grewal
37b493826e
Spit distrusting entropy settings for clarity 2025-11-05 00:03:54 +00:00
raja-grewal
019a0cf72c
Update docs on entropy 2025-11-05 00:03:19 +00:00
raja-grewal
4c88b91141
Merge branch 'Kicksecure:master' into docs 2025-11-05 10:10:10 +11:00
raja-grewal
e43d4d7f71
Set bdev_allow_write_mounted=0 2025-11-03 05:46:07 +00:00
raja-grewal
53d90b1128
Update docs on ssbd=force-on 2025-11-03 04:32:49 +00:00
raja-grewal
322584db33
Update docs on pti=on 2025-11-03 04:31:59 +00:00
raja-grewal
5e87c9bea4
Set kpti=1 2025-11-03 04:30:58 +00:00
raja-grewal
3fdfebc464
Set proc_mem.force_override=ptrace 2025-11-03 00:48:49 +00:00
Patrick Schleizer
5b97e7bd27
bumped changelog version 2025-11-02 11:41:51 +00:00
Patrick Schleizer
58d5f738e6
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-11-02 06:08:46 -05:00
Patrick Schleizer
5121f80f28
comment 2025-11-02 06:00:24 -05:00
Patrick Schleizer
29685938bd
move usbguard reject rules to the top 2025-11-02 05:57:52 -05:00
raja-grewal
c5f91eb33a
Add another method to disable 32-bit legacy vsyscalls 2025-11-02 06:15:06 +00:00
raja-grewal
d175d1be52
Add doc on entropy related failure on AMD Zen 5 CPUs 2025-11-02 15:54:34 +11:00
Aaron Rainbolt
7beb19b64a
Update README.md with info about flatpak auth hardening 2025-11-01 22:06:44 -05:00
Patrick Schleizer
5a6730450a
bumped changelog version 2025-11-01 10:13:50 +00:00
Patrick Schleizer
7de05e88f5
fix 2025-11-01 06:13:37 -04:00
Patrick Schleizer
fe8b7fda3d
chmod +x 2025-11-01 06:08:20 -04:00
Patrick Schleizer
ad0053d937
bumped changelog version 2025-11-01 09:41:23 +00:00
Patrick Schleizer
94918eeefb
lintian 2025-11-01 05:24:31 -04:00
Patrick Schleizer
6cc5eebe22
bumped changelog version 2025-11-01 09:18:12 +00:00
Patrick Schleizer
81a279ee1f
genmkfile debinstfile 2025-11-01 05:10:05 -04:00
Patrick Schleizer
e24eee361d
remove unicode 2025-11-01 04:10:17 -04:00
Patrick Schleizer
53d3809891
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-11-01 04:02:46 -04:00
Patrick Schleizer
dcccad9266
no longer depend on sudo 2025-11-01 03:58:33 -04:00
Patrick Schleizer
cfaa953373
output 2025-11-01 03:42:33 -04:00
Aaron Rainbolt
8b766fc3ad
Lock down flatpak software management 2025-10-31 15:23:12 -05:00
Patrick Schleizer
948c96afe9
bumped changelog version 2025-10-31 14:38:30 +00:00
Patrick Schleizer
aae472d9cf
Revert "Move apparmor-info, apparmor-watch to security-misc, enable systemd-journald audit transport"
This reverts commit d1e148eba7.
2025-10-31 10:24:31 -04:00
Patrick Schleizer
3b2092ee76
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-10-31 10:19:08 -04:00
Aaron Rainbolt
d1e148eba7
Move apparmor-info, apparmor-watch to security-misc, enable systemd-journald audit transport 2025-10-30 23:05:19 -05:00
Patrick Schleizer
b168c37e84
bumped changelog version 2025-10-27 11:48:10 +00:00
Patrick Schleizer
c9d48ef7fd
readme 2025-10-27 07:07:25 -04:00
Patrick Schleizer
2dda826e02
bumped changelog version 2025-10-26 12:30:29 +00:00
Patrick Schleizer
cb70f19837
more robust, standardized kernel_cmdline variable detection 2025-10-26 08:06:26 -04:00
Patrick Schleizer
53db631964
bumped changelog version 2025-10-23 06:03:26 +00:00
Patrick Schleizer
f2b33b1ad5
update 2025-10-23 01:08:38 -04:00
Patrick Schleizer
1f093f8175
do not start usbguard-notifier if /sys/bus/usb does not exist 2025-10-22 00:37:36 -04:00
raja-grewal
8f78269949
Add docs on slab_debug 2025-10-20 05:36:54 +00:00
Patrick Schleizer
7969ffd4a5
bumped changelog version 2025-10-19 08:43:36 +00:00
Patrick Schleizer
f555c48c51
fix USBGuard-notifier accept / reject buttons
https://forums.kicksecure.com/t/usbguard-what-should-we-allow-or-disallow-by-default/1248/49
2025-10-19 04:42:24 -04:00
raja-grewal
9f7480e20a
Make terminology consistent 2025-10-19 01:41:58 +00:00
raja-grewal
f2c3eba4f0
Merge branch 'Kicksecure:master' into docs 2025-10-19 12:23:13 +11:00
Patrick Schleizer
929421bd25
bumped changelog version 2025-10-18 09:19:07 +00:00
Patrick Schleizer
f5b7aab87e
update 2025-10-18 05:18:55 -04:00
Patrick Schleizer
806eec423a
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-10-18 04:44:41 -04:00
Aaron Rainbolt
70fbbc230c
Set USBGuard settings to permit USB hubs and Qubes USB passthrough 2025-10-17 15:49:42 -05:00
raja-grewal
11d9b94038
Add docs on entropy 2025-10-17 01:01:28 +00:00
raja-grewal
708e1358df
Add docs relating extra_latent_entropy 2025-10-17 00:48:57 +00:00
Aaron Rainbolt
3d5e659b78
Remove trailing spaces 2025-10-15 19:02:48 -05:00
Aaron Rainbolt
29639fe69e
Merge remote-tracking branch 'raja/bad_ipv6_ra' into arraybolt3/trixie 2025-10-15 19:01:08 -05:00
Aaron Rainbolt
026d55ac41
Typo fixes 2025-10-15 18:30:52 -05:00
Aaron Rainbolt
35fce26476
Merge remote-tracking branch 'raja/stop_ptrace' into arraybolt3/trixie 2025-10-15 18:18:33 -05:00
Aaron Rainbolt
4f63af4200
Allow listing USB devices via usbguard 2025-10-15 17:53:26 -05:00
raja-grewal
f690b58870
Add docs relating to panic on OOM 2025-10-13 02:08:44 +00:00
raja-grewal
9db63d9777
README: Update KSSP compliance status 2025-10-13 01:01:14 +00:00
raja-grewal
2304174171
Insert empty new line 2025-10-12 02:32:45 +00:00
raja-grewal
7161430a60
Seperate ptrace() disabling into own file 2025-10-12 02:27:48 +00:00
Patrick Schleizer
6cc1c27fb3
bumped changelog version 2025-10-10 12:08:28 +00:00
Patrick Schleizer
4d9c3dc357
minor 2025-10-10 08:08:10 -04:00
Patrick Schleizer
968de33c65
Force immediate kernel panic on OOM.
This is to avoid security features such as the screen locker, kloak, emerg-shutdown
from being arbitrarily terminated when the system starts running out of memory.

https://forums.whonix.org/t/screen-locker-in-security-can-we-disable-these-at-least-4-backdoors/8128/14

https://github.com/Kicksecure/security-misc/issues/324

`vm.panic_on_oom=2`

implements https://github.com/Kicksecure/security-misc/issues/324
2025-10-10 08:03:03 -04:00
Patrick Schleizer
98f27c3b2e
comment 2025-10-10 06:53:04 -04:00
Patrick Schleizer
28a88c7091
comment 2025-10-10 06:52:13 -04:00
Patrick Schleizer
f4a87e7748
Merge remote-tracking branch 'github-kicksecure/master' 2025-10-10 06:51:31 -04:00
Patrick Schleizer
6cf8a623fe
Merge pull request #325 from raja-grewal/hash_pointers
Docs detailing future improvements to `slab_debug`
2025-10-10 06:50:46 -04:00
raja-grewal
e89c7ae025
Update docs on slab_debug for future improvements 2025-10-08 02:39:20 +00:00
Patrick Schleizer
685070bd02
bumped changelog version 2025-10-07 08:40:32 +00:00
Patrick Schleizer
ba6ec919f0
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-10-07 04:34:51 -04:00
Aaron Rainbolt
718772ea78
Remove unsafe sanitizer compiler flags from emerg-shutdown 2025-10-06 15:03:31 -05:00
raja-grewal
0c8f2f1b44
Add docs about the risks associated with IPv6 RAs 2025-10-02 07:05:00 +00:00
raja-grewal
4340bf50b7
Warnings about using mitigations=auto,nosmt 2025-09-29 15:46:06 +10:00
Patrick Schleizer
dd961b8427
bumped changelog version 2025-09-28 21:09:46 +00:00
Patrick Schleizer
e6ba4dad46
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-09-28 17:00:24 -04:00
Aaron Rainbolt
60f8153f64
Fix emerg-shutdown gcc build, remove AddressSanitizer from hardening options since it is incompatible with static builds 2025-09-28 15:05:21 -05:00
Aaron Rainbolt
7e016b5632
Allow users in the qubes group to access USBGuard IPC 2025-09-28 14:11:59 -05:00
raja-grewal
194b8fce4e
Disable the usage of ptrace() by all processes 2025-09-28 03:20:24 +00:00
Patrick Schleizer
22c9863493
bumped changelog version 2025-09-26 08:40:20 +00:00
Patrick Schleizer
08199dfe94
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-09-26 04:31:02 -04:00
Aaron Rainbolt
58cc6731f2
Additional hardening on emerg-shutdown 2025-09-26 00:13:59 -05:00
raja-grewal
78492e0e56
README: Do not rely on mitigations=auto 2025-09-25 15:35:34 +10:00
raja-grewal
b9deefed61
Incompleteness of mitigations=auto,nosmt 2025-09-25 15:34:54 +10:00
Patrick Schleizer
590aaec73d
bumped changelog version 2025-09-24 14:32:35 +00:00
Patrick Schleizer
2536880394
Merge remote-tracking branch 'github-kicksecure/master' 2025-09-24 10:32:12 -04:00
Patrick Schleizer
17ee63aca4
Merge pull request #319 from raja-grewal/release_notice
Notice on public releases
2025-09-24 10:31:31 -04:00
raja-grewal
d31f63fb10
README: Notice on public releases 2025-09-23 05:47:45 +00:00
Patrick Schleizer
275eecc4f8
bumped changelog version 2025-09-22 17:25:48 +00:00
Patrick Schleizer
c45a4ffdd2
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-09-22 13:04:33 -04:00
Aaron Rainbolt
2a39d5997c
security-misc split string changes 2025-09-21 16:06:11 -05:00
Patrick Schleizer
5738bb6104
bumped changelog version 2025-09-19 18:43:36 +00:00
Patrick Schleizer
9acdfc741b
description 2025-09-19 14:42:35 -04:00
Patrick Schleizer
62ea7e5041
security-misc -> security-misc-shared package migration
https://github.com/Kicksecure/security-misc/issues/187
2025-09-19 14:41:05 -04:00
Patrick Schleizer
02d0ba49bb
bumped changelog version 2025-09-19 18:10:09 +00:00
Patrick Schleizer
0c7bee33a7
comment 2025-09-19 14:01:16 -04:00
Patrick Schleizer
3583004796
bumped changelog version 2025-09-19 16:18:37 +00:00
Patrick Schleizer
67b1cb319d
Replaces: security-misc
https://github.com/Kicksecure/security-misc/issues/187
2025-09-19 12:05:29 -04:00
Patrick Schleizer
4bd08f8c81
wrap-and-sort 2025-09-19 12:05:03 -04:00
Patrick Schleizer
068750543a
update link 2025-09-19 11:59:22 -04:00
Patrick Schleizer
ca90feb8d5
security-misc-server placeholder
https://github.com/Kicksecure/security-misc/issues/187
2025-09-19 11:54:04 -04:00
Patrick Schleizer
4eb9ec15e1
packaging
https://github.com/Kicksecure/security-misc/issues/187
2025-09-19 11:51:14 -04:00
Patrick Schleizer
c2594a022e
rename
https://github.com/Kicksecure/security-misc/issues/187
2025-09-19 11:29:55 -04:00
Patrick Schleizer
41ba668d23
rename
https://github.com/Kicksecure/security-misc/issues/187
2025-09-19 11:23:10 -04:00
Patrick Schleizer
1b194f9fd6
adjust lintian overrides file
https://github.com/Kicksecure/security-misc/issues/187
2025-09-19 10:59:23 -04:00
Patrick Schleizer
80562557ef
make install files executable
https://github.com/Kicksecure/security-misc/issues/187
2025-09-19 10:53:25 -04:00
Patrick Schleizer
c99ea95410
genmkfile debinstfile 2025-09-19 10:49:17 -04:00
Patrick Schleizer
13e926207c
packaging
https://github.com/Kicksecure/security-misc/issues/187
2025-09-19 10:30:42 -04:00
Patrick Schleizer
55a8ec685d
packaging split
https://github.com/Kicksecure/security-misc/issues/187
2025-09-18 10:53:21 -04:00
Patrick Schleizer
b4a7d84bf5
genmkfile debinstfile 2025-09-18 10:53:10 -04:00
Patrick Schleizer
43ed739479
genmkfile debinstfile 2025-09-18 10:38:50 -04:00
Patrick Schleizer
ea878c351f
genmkfile debinstfile 2025-09-18 10:27:48 -04:00
Patrick Schleizer
06c045f70f
genmkfile debdistfile 2025-09-18 10:00:33 -04:00
Patrick Schleizer
f70550d015
Split the security-misc into security-misc-shared, security-misc-desktop and security-misc-server: rename files
https://github.com/Kicksecure/security-misc/issues/187
2025-09-17 14:49:28 -04:00
Patrick Schleizer
2de10d5b7b
Merge remote-tracking branch 'github-kicksecure/master' 2025-09-17 13:32:44 -04:00
Patrick Schleizer
24424bcbc0
Merge pull request #318 from raja-grewal/vmscape
Enable `vmscape=force`
2025-09-17 13:31:27 -04:00
Patrick Schleizer
2d3b4ee124
Merge pull request #317 from raja-grewal/srso_docs
Update SRSO docs
2025-09-17 13:27:13 -04:00
Patrick Schleizer
ad367c0bbc
bumped changelog version 2025-09-13 08:33:02 +00:00
Patrick Schleizer
95eeb579a6
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-09-13 04:04:10 -04:00
raja-grewal
21c605e27e
Enable vmscape=force 2025-09-13 03:41:59 +00:00
Aaron Rainbolt
90b6486ffe
Allow users in the sudo group to use usbguard-notifier 2025-09-12 18:08:00 -05:00
raja-grewal
7b32e9339e
Update SRSO docs 2025-09-12 23:10:34 +10:00
Patrick Schleizer
d262db2e6c
bumped changelog version 2025-09-02 15:25:49 +00:00
Patrick Schleizer
75306a3f96
bumped changelog version 2025-08-30 14:19:31 +00:00
Patrick Schleizer
ac6bc65e3c
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-08-30 08:01:26 -04:00
Aaron Rainbolt
2319bd9164
Allow USB devices that are connected at USBGuard start time 2025-08-28 17:34:41 -05:00
Aaron Rainbolt
85fd8ea52b
Enable USB video and audio devices, reject USB RNDIS devices 2025-08-28 16:42:16 -05:00
Aaron Rainbolt
b95598b6f7
Disable RNDIS due to unfixable security issues 2025-08-28 16:18:14 -05:00
Patrick Schleizer
78b66ba159
bumped changelog version 2025-08-27 19:31:06 +00:00
Patrick Schleizer
28d695fd2d
fix 2025-08-27 04:29:48 -04:00
Patrick Schleizer
0a61107b5a
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-08-27 04:28:25 -04:00
Aaron Rainbolt
94ebb5c84c
Merge branch 'master' into arraybolt3/trixie 2025-08-26 19:20:41 -05:00
Patrick Schleizer
ef458ce0d3
bumped changelog version 2025-08-26 09:16:15 +00:00
Aaron Rainbolt
893faa9822
Remove initramfs-tools support 2025-08-23 22:53:13 -05:00
Aaron Rainbolt
cd44a7e136
Disable memlockd service by default, fix systemd path 2025-08-22 16:00:25 -05:00
Aaron Rainbolt
28f44d2e1d
Disable emerg-shutdown and ensure-shutdown on Qubes OS 2025-08-22 15:50:28 -05:00
Aaron Rainbolt
53e930b4cc
Merge branch 'master' into arraybolt3/trixie 2025-08-21 20:09:48 -05:00
Aaron Rainbolt
df8a323d03
Fix XDG handling, replace Xfce with LXQt where appropriate, make USBGuard configuration work 2025-08-21 18:39:28 -05:00
Patrick Schleizer
5898a6457a
typo 2025-08-21 06:45:04 -04:00
Patrick Schleizer
f713dceff4
Merge remote-tracking branch 'github-kicksecure/master' 2025-08-21 06:44:35 -04:00
Patrick Schleizer
8cdbbf8292
Merge pull request #313 from raja-grewal/panic_limits
Upgrade `sysctl` settings and docs on kernel panics
2025-08-21 06:43:07 -04:00
Patrick Schleizer
2baf5cfc0b
Merge pull request #314 from raja-grewal/trixie_docs
Update documentation
2025-08-21 06:42:28 -04:00
Patrick Schleizer
f6f4fd77e5
Merge remote-tracking branch 'github-kicksecure/master' 2025-08-21 06:40:39 -04:00
Patrick Schleizer
7f211209f7
Merge pull request #311 from nrz-21/master
Set soft limit for core dumps to 0
2025-08-21 06:40:11 -04:00
Patrick Schleizer
19b7e4b4d0
newline 2025-08-21 06:39:56 -04:00
Patrick Schleizer
3229dd8967
Merge branch 'master' into master 2025-08-21 06:39:13 -04:00
Patrick Schleizer
81d437fe3e
fix 2025-08-20 21:40:39 -04:00
raja-grewal
e48897cc44
Merge branch 'master' into panic_limits 2025-08-21 10:27:44 +10:00
raja-grewal
add054933b
Update docs on instant reboot when kernel panic 2025-08-21 00:24:28 +00:00
Patrick Schleizer
c2d5bf38f5
comment 2025-08-20 10:44:10 -04:00
Patrick Schleizer
812f05f847
comments 2025-08-20 10:11:49 -04:00
Patrick Schleizer
2b876c74a3
readme 2025-08-20 10:09:10 -04:00
Patrick Schleizer
0e4664daa0
cleanup 2025-08-20 10:07:58 -04:00
Patrick Schleizer
31fd316e72
comments 2025-08-20 09:48:20 -04:00
Patrick Schleizer
5d67277c9f
comments 2025-08-20 09:46:43 -04:00
Patrick Schleizer
f77c71dd15
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 2025-08-20 09:44:37 -04:00
Patrick Schleizer
e15bdd2de5
bumped Standards-Version 2025-08-20 06:57:29 -04:00
Patrick Schleizer
312586307b
readme 2025-08-20 06:25:35 -04:00
raja-grewal
a471069378
Remove link 2025-08-19 11:03:05 +10:00
raja-grewal
c0ad577793
Update docs on oops boot parameter 2025-08-19 11:01:06 +10:00
raja-grewal
45fcd163d1
Add reference on conntrack helpers 2025-08-18 20:23:50 +10:00
Aaron Rainbolt
37c0bc0c5d
Merge remote-tracking branch 'raja/block_32bit' into arraybolt3/trixie 2025-08-17 14:02:01 -05:00
Aaron Rainbolt
b5a36e02f1
Merge remote-tracking branch 'raja/panic_limits' into arraybolt3/trixie 2025-08-17 13:52:01 -05:00
Aaron Rainbolt
210aa97650
Merge remote-tracking branch 'raja/trixie_docs' into arraybolt3/trixie 2025-08-17 13:50:25 -05:00
raja-grewal
f175d1961e
Enable ia32_emulation=0 2025-08-17 07:08:08 +00:00
raja-grewal
3de9cd5646
Remove whitespace 2025-08-17 07:06:55 +00:00
raja-grewal
e06b78a522
Temporarily revert IA32 doc updates 2025-08-17 07:05:32 +00:00
raja-grewal
6df3e3cde8
Update kernel panic service description 2025-08-17 06:32:11 +00:00
raja-grewal
247015bcc6
Set sysctl kernel.panic=-1 2025-08-17 06:27:44 +00:00
Aaron Rainbolt
7a8dfa528c
Merge remote-tracking branch 'raja/trixie_docs' into arraybolt3/trixie 2025-08-16 21:10:19 -05:00
nexus$
8dcd3493f8
Update 30_security-misc.conf 2025-08-16 09:39:42 +00:00
raja-grewal
f1de0da69b
Clarify description on panics on oopses and warns 2025-08-16 04:01:12 +00:00
raja-grewal
c33f7d04e2
Remove duplicate comment 2025-08-16 03:32:48 +00:00
raja-grewal
1f75426f07
Clarify docs for disabling 32-bit x86 support 2025-08-16 02:20:00 +00:00
Aaron Rainbolt
cba16879ef
Polish USBGuard configuration 2025-08-15 17:16:42 -05:00
Aaron Rainbolt
b4086b8e77
Merge remote-tracking branch 'monsieuremre/patch-3' into arraybolt3/trixie 2025-08-15 16:57:34 -05:00
Aaron Rainbolt
66ec5bda58
Remove obsolete Thunderbird configuration hardening 2025-08-15 16:51:07 -05:00
Aaron Rainbolt
94668b2e93
Set hard and soft limits on core file size at the same time 2025-08-15 16:47:41 -05:00
Aaron Rainbolt
e2c65a2a6f
Merge remote-tracking branch 'nrz/master' into arraybolt3/trixie 2025-08-15 16:45:18 -05:00
Aaron Rainbolt
65afc31ba7
Merge branch 'kcfi' into arraybolt3/trixie 2025-08-15 16:31:50 -05:00
Aaron Rainbolt
a2a9e8440b
Merge branch 'trixie_docs' into arraybolt3/trixie 2025-08-15 16:06:35 -05:00
raja-grewal
00c660d40d
Typo 2025-08-15 11:29:27 +10:00
raja-grewal
fce86dccb6
Typo 2025-08-13 10:44:40 +10:00
Aaron Rainbolt
c33ea7be6d
Move security-misc/apt-get-update* to helper-scripts 2025-08-10 15:23:48 -05:00
Aaron Rainbolt
51d5ba29df
Merge branch 'master' into arraybolt3/trixie 2025-08-10 14:09:41 -05:00
Patrick Schleizer
c7bdca32c0
bumped changelog version 2025-08-10 06:34:30 +00:00
Patrick Schleizer
3629f2c3a5
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/emerg-shutdown' 2025-08-10 02:25:48 -04:00
Aaron Rainbolt
7aa38245de
Merge branch 'arraybolt3/emerg-shutdown' into arraybolt3/trixie 2025-08-09 23:31:55 -05:00
Aaron Rainbolt
c59a3b233b
Fix unexpected shutdowns when booting Kicksecure from optical media 2025-08-09 23:29:42 -05:00
Aaron Rainbolt
4930703b8c
Merge branch 'master' into arraybolt3/trixie 2025-08-09 21:30:45 -05:00
Patrick Schleizer
5dc251c5da
bumped changelog version 2025-08-09 09:45:35 +00:00
Patrick Schleizer
046c932898
disable emerg-shutdown.service:
Disabled due to bug: breaks ISO Live Mode Calamares installer
2025-08-09 05:40:11 -04:00
Aaron Rainbolt
2ada07cf66
Add SSH hardening config 2025-08-07 22:23:03 -05:00
Patrick Schleizer
0cc0a83100
bumped changelog version 2025-08-07 07:08:19 +00:00
Patrick Schleizer
505a2b7d79
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/emerg-shutdown' 2025-08-07 03:08:02 -04:00
Aaron Rainbolt
5f2425ba6f
Merge branch 'arraybolt3/emerg-shutdown' into arraybolt3/trixie 2025-08-06 20:21:01 -05:00
Aaron Rainbolt
3a77abe5c9
Port hardening options from kloak to emerg-shutdown, fix new compiler warnings 2025-08-06 20:11:02 -05:00
Aaron Rainbolt
0c1af00aae
Implement paranoid mode in emerg-shutdown 2025-08-06 19:33:38 -05:00
Aaron Rainbolt
29480df770
Improve emerg-shutdown usage documentation 2025-08-06 19:25:19 -05:00
Aaron Rainbolt
2a3bc39eba
Use Ctrl+Alt+End as the default panic key rather than Ctrl+Alt+Delete 2025-08-06 19:10:37 -05:00
Aaron Rainbolt
44e7d3059a
Integrate emerg-shutdown into the initramfs 2025-08-06 19:10:14 -05:00
Patrick Schleizer
4294165362
bumped changelog version 2025-08-06 08:27:15 +00:00
Patrick Schleizer
784ff8af36
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/emerg-shutdown' 2025-08-06 04:26:37 -04:00
raja-grewal
4166d6d1e6
Update docs on recovery restrictions 2025-08-06 15:53:49 +10:00
Aaron Rainbolt
86f44063eb
Port to Trixie. 2025-08-05 22:58:06 -05:00
raja-grewal
498551536c
Update docs 2025-08-06 03:12:06 +00:00
raja-grewal
45d20dd972
Upgrade sysctls and docs on kernel panics 2025-08-06 02:35:15 +00:00
raja-grewal
1f7525722e
Enable cfi=kcfi 2025-08-06 01:48:47 +00:00
Aaron Rainbolt
5a17e67c0a
Fix local-fs.target dependency in emerg-shutdown.service 2025-08-05 20:14:07 -05:00
Patrick Schleizer
c2690efcac
bumped changelog version 2025-08-04 09:27:11 +00:00
Patrick Schleizer
166bc257b0
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/emerg-shutdown' 2025-08-04 05:26:55 -04:00
Aaron Rainbolt
63f2909341
Fix emerg-shutdown and ensure-shutdown libexec scripts, start emerg-shutdown and ensure-shutdown earlier 2025-08-03 15:00:14 -05:00
Patrick Schleizer
d1bca0204f
bumped changelog version 2025-08-03 11:33:03 +00:00
Patrick Schleizer
92bcd824e4
also parse /usr/local/etc 2025-08-03 07:17:25 -04:00
Patrick Schleizer
4da810c8fa
comment 2025-08-03 07:16:00 -04:00
Patrick Schleizer
b9416fa77a
validate configuration file 2025-08-03 07:15:41 -04:00
Patrick Schleizer
4ba029471e
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/emerg-shutdown' 2025-08-03 07:04:20 -04:00
nexus$
28ce706441
Set soft limit for core dumps to 0 2025-08-01 15:03:26 +00:00
Aaron Rainbolt
1a60da71ed
emerg-shutdown: Add shutdown timeout for preventing stuck shutdowns, briefly document feature set and usage 2025-07-29 21:16:51 -05:00
Aaron Rainbolt
e42078e90d
emerg-shutdown: fix the hang-on-shutdown bug, add autodetection of new keyboards, shutdown key configuration, and instant shutdown option 2025-07-28 20:43:54 -05:00
Aaron Rainbolt
a1d1c56033
Merge branch 'master' into arraybolt3/emerg-shutdown 2025-07-27 21:43:43 -05:00
Patrick Schleizer
c1e76aa52c
bumped changelog version 2025-07-21 10:00:25 +00:00
Patrick Schleizer
36114e29a2
Merge remote-tracking branch 'github-kicksecure/master' 2025-07-21 06:00:11 -04:00
Patrick Schleizer
f851886ffd
Merge pull request #310 from raja-grewal/its
Enable `indirect_target_selection=force`
2025-07-21 05:58:44 -04:00
Aaron Rainbolt
5889d134a2
emerg-shutdow: Improve recvmsg handling, call reboot syscall directly 2025-07-20 14:14:09 -05:00
raja-grewal
6f9763f525
Enable indirect_target_selection=force 2025-07-19 05:19:27 +00:00
Aaron Rainbolt
b745c8ddae
emerg-shutdown: Enable actual shutdown code, fix infinite loop when started too early 2025-07-15 00:02:02 -05:00
Aaron Rainbolt
e387086de4
Allow specifying alternative keys in panic key combo, fix optical disk eject handling 2025-07-15 00:01:50 -05:00
Aaron Rainbolt
dfb6f143f0
Add panic key handling to emergency shutdown utility 2025-07-13 20:53:29 -05:00
Aaron Rainbolt
2a7071055f
Merge branch 'master' into arraybolt3/emerg-shutdown 2025-07-13 15:21:34 -05:00
Patrick Schleizer
e3ce9c38c5
bumped changelog version 2025-07-02 20:52:17 +00:00
Patrick Schleizer
b06fb54280
Merge remote-tracking branch 'github-kicksecure/master' 2025-07-02 13:47:12 -04:00
Patrick Schleizer
468cf40e2a
Merge pull request #306 from raja-grewal/erst
Set `erst_disable`
2025-07-02 13:45:28 -04:00
Patrick Schleizer
865a052bf4
Merge pull request #309 from RebornRider/patch-1
remove  TemporaryTimeout=0 in Bluetooth config
2025-07-02 13:44:17 -04:00
raja-grewal
bb208fb134
Merge branch 'Kicksecure:master' into erst 2025-07-02 11:35:50 +10:00
raja-grewal
4314b1e85b
Add comment 2025-07-01 13:36:39 +10:00
Kevin Agwaze
e3c4519179
remove misleading TemporaryTimeout=0 in Bluetooth config 2025-06-16 10:35:16 +01:00
Patrick Schleizer
115b6f6aa2
bumped changelog version 2025-06-14 11:51:44 +00:00
Patrick Schleizer
4639d1aab5
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/approx' 2025-06-13 15:09:52 -04:00
Aaron Rainbolt
109c013467
Add comment related to approx package caching proxy 2025-06-12 01:08:34 -05:00
raja-grewal
72613203b9
Add reference 2025-06-06 13:07:52 +00:00
raja-grewal
dd0b55cc45
Add reference 2025-06-03 12:32:17 +10:00
Patrick Schleizer
5159de6343
bumped changelog version 2025-05-28 13:48:11 +00:00
Patrick Schleizer
3e102df765
fix 2025-05-28 08:37:03 -04:00
Patrick Schleizer
d5edc243ac
bumped changelog version 2025-05-28 12:12:00 +00:00
Patrick Schleizer
eda1d0aef6
Merge remote-tracking branch 'github-kicksecure/master' 2025-05-28 07:22:16 -04:00
Patrick Schleizer
5a10ad031d
Merge pull request #307 from maybebyte/ssh-agent-to-allowlist
fix(permission-hardener): ssh-agent gets 2755 perms
2025-05-28 07:21:31 -04:00
Ashlen
3559bc86b7
fix(permission-hardener): ssh-agent gets 2755 perms
Change from exactwhitelist to matchwhitelist. Discussion revealed that
there's a good reason to leave setgid in here, which is essentially
defense-in-depth (sometimes users may want to revert Kicksecure's
default of kernel.yama.ptrace_scope=2, e.g. to debug a program, and
Kicksecure should not be less secure than vanilla Debian in that
situation).
2025-05-27 15:32:41 -06:00
maybebyte
c59b2e4bc5
Merge branch 'Kicksecure:master' into ssh-agent-to-allowlist 2025-05-27 20:33:07 +00:00
Patrick Schleizer
e966774862
bumped changelog version 2025-05-27 19:41:25 +00:00
maybebyte
017ee29eb3
Merge branch 'Kicksecure:master' into ssh-agent-to-allowlist 2025-05-27 18:25:47 +00:00
Patrick Schleizer
5195977be4
protect against grep pipefail 2025-05-27 11:57:21 -04:00
Patrick Schleizer
abb2207313
bumped changelog version 2025-05-27 15:51:50 +00:00
Patrick Schleizer
45016146f7
Merge remote-tracking branch 'github-kicksecure/master' 2025-05-27 11:03:23 -04:00
Patrick Schleizer
395169fbce
Merge pull request #308 from maybebyte/permission-hardener-speedboost
perf(permission-hardener): optimize string match
2025-05-27 10:58:50 -04:00
raja-grewal
1c35303204
Merge branch 'Kicksecure:master' into erst 2025-05-23 20:20:19 +10:00
Patrick Schleizer
ace45d7c95
bumped changelog version 2025-05-21 22:06:02 +00:00
Patrick Schleizer
142ea21189
fix 2025-05-21 12:42:16 -04:00
Patrick Schleizer
a969fa350e
fix 2025-05-21 12:40:27 -04:00
Patrick Schleizer
f023651c98
nounset 2025-05-21 12:35:37 -04:00
Patrick Schleizer
f086787464
fix 2025-05-21 12:35:23 -04:00
Patrick Schleizer
d7643954d1
minor 2025-05-21 12:33:50 -04:00
Patrick Schleizer
aa905fc887
further validation of output of faillock 2025-05-21 12:32:16 -04:00
Patrick Schleizer
92d3a36a0f
fix 2025-05-21 12:29:01 -04:00
Patrick Schleizer
2c1abb23e0
output 2025-05-21 12:26:46 -04:00
Patrick Schleizer
0801b96ae7
output 2025-05-21 12:25:49 -04:00
Patrick Schleizer
ef8515ba82
improve error handling 2025-05-21 12:23:45 -04:00
Patrick Schleizer
784867e24b
fix 2025-05-21 12:21:45 -04:00
Patrick Schleizer
0eea681ce8
bumped changelog version 2025-05-21 15:52:16 +00:00
Patrick Schleizer
e1bae1c68a
fix 2025-05-21 11:50:59 -04:00
Patrick Schleizer
bd01a68305
bumped changelog version 2025-05-21 13:58:18 +00:00
Patrick Schleizer
14cf205579
fix 2025-05-21 08:36:16 -04:00
Patrick Schleizer
ff6bc5d5b6
bumped changelog version 2025-05-21 11:23:39 +00:00
Patrick Schleizer
353b6e83c5
test that wc is functional
https://github.com/Kicksecure/security-misc/pull/305#issuecomment-2892378246
2025-05-21 07:20:13 -04:00
Patrick Schleizer
5930e27052
pam-info: improve error handling
https://github.com/Kicksecure/security-misc/pull/305#issuecomment-2892378246
2025-05-21 07:05:25 -04:00
Patrick Schleizer
5c981e0891
pam-info: fix, consistently write errors and warnings to stderr 2025-05-21 06:55:09 -04:00
Ashlen
e14b81b15e
perf(permission-hardener): optimize string match
Replace subprocess grep calls with bash substring matching in
check_nosuid_whitelist function. This eliminates ~10k unneeded
subprocess spawns that were causing significant performance
degradation.

In testing, it improves overall script execution speed by an
order of magnitude:

Before patch:
$ sudo hyperfine -- './permission-hardener enable'
Benchmark 1: ./permission-hardener enable
  Time (mean ± σ):     11.906 s ±  0.974 s    [User: 3.639 s, System: 8.728 s]
  Range (min … max):   10.430 s … 14.090 s    10 runs

After patch:
$ sudo hyperfine -- './permission-hardener enable'
Benchmark 1: ./permission-hardener enable
  Time (mean ± σ):     802.8 ms ± 178.5 ms    [User: 283.0 ms, System: 471.9 ms]
  Range (min … max):   639.4 ms … 1092.3 ms    10 runs
2025-05-20 21:34:03 -06:00
Ashlen
7a079c3de8
fix(permission-hardener): add exactwhitelist here
Without this, the permissions for ssh-agent won't be changed properly.
2025-05-20 18:41:48 -06:00
Ashlen
94dc9da4ab
fix(permission-hardener): ssh-agent gets 755 perms
Replace the commented-out matchwhitelist entry for ssh-agent with an
explicit permission entry (755) for /usr/bin/ssh-agent.

When ssh-agent's matchwhitelist entry was commented out in commit
7a5f8b87af, permission-hardener began resetting it to restrictive
defaults (744), preventing non-root users from executing ssh-agent. This
broke split SSH functionality in Qubes OS for me because I was using
Kicksecure in the vault qube, and ssh-agent runs under a non-root user in
that configuration (see https://forum.qubes-os.org/t/split-ssh/19060).

As noted in the comment, Debian installs with 2755 permissions as a way
to mitigate ptrace attacks, but this rationale doesn't apply due to
kernel.yama.ptrace_scope=2 being set in Kicksecure.
2025-05-20 18:04:46 -06:00
Patrick Schleizer
19d7e1af5d
bumped changelog version 2025-05-20 11:40:27 +00:00
Patrick Schleizer
405880e63b
handle case of non-existence of /proc/cmdline 2025-05-18 06:44:42 -04:00
Patrick Schleizer
88235cc97b
refactoring 2025-05-18 06:44:04 -04:00
Patrick Schleizer
601ea77b00
end-of-options 2025-05-18 06:42:39 -04:00
Patrick Schleizer
d8feca1276
printf 2025-05-18 06:41:41 -04:00
Patrick Schleizer
7f2ba0980d
refactoring 2025-05-18 06:40:50 -04:00
Patrick Schleizer
4d1f8c44d2
Merge remote-tracking branch 'github-kicksecure/master' 2025-05-18 06:36:08 -04:00
Patrick Schleizer
e478750814
Merge pull request #305 from DMHalford/pam-info-failed_login_counter-fix
Prevent erroneous "Login blocked after [negative number] attempts" errors
2025-05-18 06:35:23 -04:00
raja-grewal
35fa32e4ed
Reword 2025-05-17 15:06:49 +10:00
raja-grewal
a1bde21ccb
Set erst_disable 2025-05-17 04:41:06 +00:00
DMHalford
91a76db66b
Prevent erroneous "Login blocked after [negative number] attempts" errors
For root, faillock appears to always* return an empty string (i.e. no table headers are present), yielding a zero-initialized pam_faillock_output_count and thus resulting in the calculation of a negative failed_login_counter value.

This can cause erroneous errors of the form "ERROR: Login blocked after [negative number] attempts" during sudo-ing and screen unlocking.

This commit modifies the initialization of failed_login_counter such that it cannot be negative and prevents the display of these incorrect warnings.

* Only rudimentary local tests were conducted
2025-05-15 15:42:50 -04:00
DMHalford
6c3be9ced0
Prevent erroneous "Login blocked after [negative number] attempts" errors
For root, faillock appears to always* return an empty string (i.e. no table headers are present), yielding a zero-initialized pam_faillock_output_count and thus resulting in the calculation of a negative failed_login_counter value.

This can cause erroneous errors of the form "ERROR: Login blocked after [negative number] attempts" during sudo-ing and screen unlocking.

This commit modifies the initialization of failed_login_counter such that it cannot be negative and prevents the display of these incorrect warnings.

* Only rudimentary tests were conducted
2025-05-15 15:06:10 -04:00
Aaron Rainbolt
f3d46ee562
Add emergency shutdown feature, triggered by root device removal 2025-05-09 18:46:41 -05:00
Patrick Schleizer
341dce33fb
bumped changelog version 2025-04-25 09:54:23 +00:00
Patrick Schleizer
06e1e44b00
comments 2025-04-25 05:51:21 -04:00
Patrick Schleizer
ba1012ca87
bumped changelog version 2025-04-25 08:19:35 +00:00
Patrick Schleizer
a8f6132bec
output 2025-04-25 03:11:39 -04:00
Patrick Schleizer
1d14a9f324
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/fix-pkexec-umask' 2025-04-25 02:59:09 -04:00
Aaron Rainbolt
612f5f92fd
Fix umask for pkexec-run commands 2025-04-24 20:01:35 -05:00
Patrick Schleizer
e154d0af6d
bumped changelog version 2025-04-21 10:21:54 +00:00
Patrick Schleizer
4bf0e3a636
comments 2025-04-21 04:57:07 -04:00
Patrick Schleizer
502f5953c7
comments 2025-04-21 04:55:19 -04:00
Patrick Schleizer
abb0c83619
comments 2025-04-21 04:54:06 -04:00
Patrick Schleizer
efa2967fca
comments 2025-04-21 04:53:04 -04:00
Patrick Schleizer
dc7e857904
bumped changelog version 2025-04-19 17:33:56 +00:00
Patrick Schleizer
9948ae114d
fix 2025-04-19 13:24:17 -04:00
Patrick Schleizer
4aca622706
fix 2025-04-19 13:23:26 -04:00
Patrick Schleizer
701f4a0e88
output 2025-04-19 13:20:04 -04:00
Patrick Schleizer
a670c0d873
comment 2025-04-19 13:18:23 -04:00
Patrick Schleizer
4799f3ce02
make /usr/libexec/security-misc/apt-get-update more reliable 2025-04-19 13:17:28 -04:00
Patrick Schleizer
c4f0e1d16f
refactoring 2025-04-19 12:57:14 -04:00
Patrick Schleizer
81634930fa
refactoring 2025-04-19 12:55:32 -04:00
Patrick Schleizer
90330a1ec9
refactoring 2025-04-19 12:49:18 -04:00
Patrick Schleizer
ce2c9a21a3
/usr/libexec/security-misc/apt-get-update: use /run/helper-scripts folder for pid file instead of $TMP
to avoid permission issues
2025-04-19 12:48:19 -04:00
Patrick Schleizer
96ff7c8dc6
refactoring 2025-04-19 12:45:06 -04:00
Patrick Schleizer
5a37790e6b
cleanup 2025-04-19 12:43:15 -04:00
Patrick Schleizer
7512aa6757
bumped changelog version 2025-04-15 20:59:37 +00:00
Patrick Schleizer
e0e2a9b61c
Merge remote-tracking branch 'github-kicksecure/master' 2025-04-15 15:27:10 -04:00
Patrick Schleizer
9f2836d2ba
Merge pull request #304 from raja-grewal/stop_pstore
Disable PStore
2025-04-15 15:17:25 -04:00
Patrick Schleizer
5e88dfe809
bumped changelog version 2025-04-10 11:38:17 +00:00
Patrick Schleizer
c0a18c5a71
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/rename-boot-modes' 2025-04-10 06:07:55 -04:00
Aaron Rainbolt
74ca63d12c
Mass-change "PERSISTENCE mode USERNAME" to "PERSISTENCE Mode - USERNAME Session" 2025-04-09 21:01:41 -05:00
raja-grewal
aa0ffff427
README.md: Revert error 2025-04-10 11:49:45 +10:00
Patrick Schleizer
da9dd3c3f1
bumped changelog version 2025-04-09 15:16:00 +00:00
Patrick Schleizer
163d51f32a
newline at the end 2025-04-09 09:47:52 -04:00
Patrick Schleizer
4d2b2e6546
bumped changelog version 2025-04-08 14:08:24 +00:00
Patrick Schleizer
39f4f5b607
comments 2025-04-08 06:53:08 -04:00
Patrick Schleizer
173606891a
output 2025-04-08 06:48:29 -04:00
raja-grewal
f0d17c7e41
README: Fix a few links 2025-03-16 03:31:24 +00:00
raja-grewal
df2fc2cf6b
Set efi_pstore.pstore_disable=1 2025-03-16 03:30:04 +00:00
raja-grewal
f643ebc2f9
Disable pstore processing by systemd-pstore service 2025-03-16 03:28:39 +00:00
Patrick Schleizer
d927fe238c
bumped changelog version 2025-03-03 11:00:38 +00:00
Patrick Schleizer
cd0ba94ac5
no longer disable vivid kernel module by default,
because it breaks Qubes Video Companion

Thanks to @marmarek for the bug report!

https://forums.whonix.org/t/testing-qubes-video-companion-on-whonix/21393

fixes https://github.com/Kicksecure/security-misc/issues/298
2025-03-03 05:57:59 -05:00
Patrick Schleizer
3e7d1b4e23
bumped changelog version 2025-02-09 23:04:36 +00:00
Patrick Schleizer
0615e6e995
Merge remote-tracking branch 'github-kicksecure/master' 2025-02-09 18:01:43 -05:00
Patrick Schleizer
4d62ee3ab3
Merge pull request #297 from raja-grewal/warn_path
Update docs on kernel panics
2025-02-09 18:00:59 -05:00
raja-grewal
ce4b57d1cb
Update docs on kernel panics 2025-02-03 00:31:45 +00:00
Patrick Schleizer
2a4a228b15
bumped changelog version 2025-01-31 19:38:42 +00:00
Patrick Schleizer
041caf286b
update pkg_installed function 2025-01-31 14:33:54 -05:00
Patrick Schleizer
ac1493fcfc
comment 2025-01-31 14:33:17 -05:00
Patrick Schleizer
c0f2f11014
bumped changelog version 2025-01-30 12:58:48 +00:00
Patrick Schleizer
9f5e522b83
LC_ALL=C 2025-01-30 07:53:04 -05:00
Patrick Schleizer
7c150d116d
LANG=C str_replace: no longer requires LANG=C, therefore removed 2025-01-30 07:45:08 -05:00
Patrick Schleizer
6aaf708217
bumped changelog version 2025-01-29 14:36:41 +00:00
Patrick Schleizer
10508cb580
Merge remote-tracking branch 'github-kicksecure/master' 2025-01-29 09:36:28 -05:00
Patrick Schleizer
b9dee26331
Merge pull request #296 from raja-grewal/cpu_details
Hardware-related Documentation
2025-01-29 09:35:50 -05:00
Patrick Schleizer
6b4fa1ef00
bumped changelog version 2025-01-23 16:28:58 +00:00
Patrick Schleizer
b10f5489a3
copyright 2025-01-23 11:12:26 -05:00
Patrick Schleizer
3c18734db3
bumped changelog version 2025-01-22 14:11:21 +00:00
Patrick Schleizer
f90ffacac3
bump permission hardner migration code version 2025-01-22 09:09:56 -05:00
Patrick Schleizer
3a056c9d9c
bump permission hardner migration code version 2025-01-22 09:05:50 -05:00
Patrick Schleizer
d5ad29a732
add /usr/lib/polkit-1/polkit-agent-helper-1 to permission hardener hardcoded statoverride file 2025-01-22 09:04:44 -05:00
Patrick Schleizer
c8a2483cf6
bumped changelog version 2025-01-22 13:52:29 +00:00
Patrick Schleizer
80bd314436
add .whonix files to hardcoded files 2025-01-22 08:25:14 -05:00
Patrick Schleizer
9b012bdeee
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/permission-hardener-symlink-fix' 2025-01-22 08:23:49 -05:00
Patrick Schleizer
507130a1cc
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/permission-hardener-diag' 2025-01-22 08:21:39 -05:00
Aaron Rainbolt
42f34f5a4c
Don't handle files with multiple hardlinks 2025-01-21 21:49:03 -06:00
Aaron Rainbolt
5e60416c86
Make permission-hardener always apply changes to real files, not symlinks 2025-01-21 21:05:03 -06:00
Aaron Rainbolt
ed767e00b0
Add some local variable declarations 2025-01-21 16:41:30 -06:00
raja-grewal
4b1e530674
README.md: List CPU mitigations 2025-01-21 12:39:06 +00:00
raja-grewal
15d13a8571
Add info on DBX updates via the UEFI Revocation List 2025-01-21 12:36:04 +00:00
Aaron Rainbolt
a97620a2e4
Add print-diagnostics command to permission-hardener 2025-01-20 22:43:55 -06:00
Patrick Schleizer
f1b6bff30b
bumped changelog version 2025-01-20 11:35:08 +00:00
Patrick Schleizer
df9d058ed9
usrmerge 2025-01-20 06:28:16 -05:00
Patrick Schleizer
8ff5f3b221
bumped changelog version 2025-01-20 10:11:43 +00:00
Patrick Schleizer
4e0d5a196c
delete comment only configuration file (moved to user-sysmaint-split) 2025-01-20 04:30:26 -05:00
Patrick Schleizer
1b4d1edfc3
comments 2025-01-20 04:29:42 -05:00
Patrick Schleizer
51c7010e8f
bumped changelog version 2025-01-17 13:35:28 +00:00
Patrick Schleizer
876d596a07
comment 2025-01-17 07:55:54 -05:00
Patrick Schleizer
c9e2f82bd0
Merge remote-tracking branch 'ArrayBolt3/master' 2025-01-17 07:53:59 -05:00
Aaron Rainbolt
bf73f1f2b5
Avoid impossible-to-satisfy dependency on helper-scripts, improve string handling robustness in postinst 2025-01-15 19:11:01 -06:00
Patrick Schleizer
597186972e
bumped changelog version 2025-01-15 15:02:44 +00:00
Patrick Schleizer
ca25716410
improve permission hardener migration code 2025-01-15 09:44:48 -05:00
Patrick Schleizer
2dfd30a44a
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/more-permission-hardener' 2025-01-15 09:33:57 -05:00
Aaron Rainbolt
328f747179
Restore permission-hardener's notice about how to compare old and new states 2025-01-14 20:35:28 -06:00
Aaron Rainbolt
c6f09748f3
Handle de-corruption of new_mode a bit better 2025-01-14 20:27:53 -06:00
Aaron Rainbolt
a0f81958df
De-corrupt the new_mode permission-hardener statoverride database too 2025-01-14 19:25:15 -06:00
Aaron Rainbolt
396372c129
Avoid scanning unnecessary packages for modified permission-hardener config 2025-01-14 18:56:48 -06:00
Patrick Schleizer
a84d3ba732
bumped changelog version 2025-01-14 14:32:13 +00:00
Patrick Schleizer
709036c79f
debconf-updatepo 2025-01-14 09:31:58 -05:00
Patrick Schleizer
659c7037c6
bumped changelog version 2025-01-14 14:30:58 +00:00
Patrick Schleizer
86d3db15bf
output 2025-01-14 09:30:46 -05:00
Patrick Schleizer
876c0b6187
output 2025-01-14 09:29:35 -05:00
Patrick Schleizer
c46178dee4
output 2025-01-14 09:27:37 -05:00
Patrick Schleizer
f3c07a2451
update link 2025-01-14 09:24:06 -05:00
Patrick Schleizer
bbc4ad7c2a
bumped changelog version 2025-01-14 14:16:45 +00:00
Patrick Schleizer
9bb92e91a8
debhelper 2025-01-14 09:16:25 -05:00
Patrick Schleizer
95dd8f419f
bumped changelog version 2025-01-14 14:07:50 +00:00
Patrick Schleizer
0a2f06b456
use pre.bsh 2025-01-14 09:07:32 -05:00
Patrick Schleizer
6a4f9c1bd8
bumped changelog version 2025-01-14 14:06:50 +00:00
Patrick Schleizer
e60183ec07
output 2025-01-14 09:06:41 -05:00
Patrick Schleizer
a812961bea
verbose 2025-01-14 09:06:12 -05:00
Patrick Schleizer
0e4dfc59dd
bumped changelog version 2025-01-14 13:53:49 +00:00
Patrick Schleizer
cdf179f127
fix 2025-01-14 08:53:38 -05:00
Patrick Schleizer
41cd09933a
bumped changelog version 2025-01-14 09:26:05 +00:00
Patrick Schleizer
eec2e2c8ee
comment 2025-01-14 04:13:39 -05:00
Patrick Schleizer
6d282226ef
comment 2025-01-14 04:12:12 -05:00
Patrick Schleizer
466308e4f9
permission hardener: disable SUID for chrome-sandbox 2025-01-14 04:09:57 -05:00
Patrick Schleizer
7a5f8b87af
permission hardener: disable SUID for ssh-agent, ssh-keysign, /lib/openssh/*
This might break SSH host-based authentication.
2025-01-14 04:06:44 -05:00
Patrick Schleizer
d89ffcde30
comment 2025-01-14 04:04:09 -05:00
Patrick Schleizer
9f1759ba0e
comment 2025-01-14 03:56:55 -05:00
Patrick Schleizer
0ac85ea9f5
comment 2025-01-14 03:54:35 -05:00
Patrick Schleizer
fce6a5f830
comment 2025-01-14 03:51:43 -05:00
Patrick Schleizer
1e99404813
comment 2025-01-14 03:50:16 -05:00
Patrick Schleizer
b198591537
comment 2025-01-14 03:49:42 -05:00
Patrick Schleizer
7d44db2cb2
usrmerge 2025-01-14 03:49:15 -05:00
Patrick Schleizer
7e7632a553
bumped changelog version 2025-01-14 08:24:05 +00:00
Patrick Schleizer
420cb3f86f
refactoring 2025-01-14 03:19:21 -05:00
Patrick Schleizer
b7e7b2767e
refactoring 2025-01-14 03:18:17 -05:00
Patrick Schleizer
b2a1a0ec9f
refactoring 2025-01-14 03:17:00 -05:00
Patrick Schleizer
69ae2d9ea0
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/permission-hardener-migrate' 2025-01-14 03:15:45 -05:00
Aaron Rainbolt
de9ebabd46
Fix minor migration bugs, don't run the migration code on new image builds 2025-01-13 22:16:02 -06:00
Aaron Rainbolt
a9e87e9d30
Prevent installation failures when installing non-interactively 2025-01-12 21:13:43 -06:00
Aaron Rainbolt
5570d3e5b9
Add a forgotten set -e 2025-01-12 20:40:41 -06:00
Aaron Rainbolt
07786de039
Enable smooth migration from permission-hardener-v1 to permission-hardener-v2 2025-01-12 19:34:41 -06:00
Patrick Schleizer
de1f31e3df
bumped changelog version 2025-01-12 11:47:18 +00:00
Patrick Schleizer
b0baa8baa5
add link 2025-01-12 05:38:35 -05:00
Patrick Schleizer
d6a7cd3e0d
formatting.
use chapter to make allow for deep linking
2025-01-12 05:36:16 -05:00
Patrick Schleizer
485d9abd1d
bumped changelog version 2025-01-10 15:34:21 +00:00
Patrick Schleizer
c17485baa1
Merge remote-tracking branch 'github-kicksecure/master' 2025-01-10 10:32:26 -05:00
Patrick Schleizer
e9ef3602dd
Merge pull request #292 from raja-grewal/cpu_table
Add link to tabular comparison of CPU mitigations
2025-01-10 10:30:34 -05:00
Patrick Schleizer
1b33e83529
Merge pull request #291 from raja-grewal/drop_gratuitous_arp
Drop gratuitous ARP packets
2025-01-10 10:29:30 -05:00
Patrick Schleizer
486757bfae
Merge pull request #290 from raja-grewal/arp_ignore
Respond to ARP requests only if the target IP address is on-link
2025-01-10 10:29:12 -05:00
Patrick Schleizer
17ff249150
Merge pull request #289 from raja-grewal/arp_filter
Enable ARP filtering
2025-01-10 10:28:48 -05:00
Patrick Schleizer
27d19ba568
Merge pull request #288 from raja-grewal/shared_media
Deny sending and receiving shared media redirects
2025-01-10 10:28:05 -05:00
Patrick Schleizer
482960d056
permission-hardener: move to new state folder /var/lib/permission-hardener-v2 without migration
https://github.com/Kicksecure/security-misc/pull/294
2025-01-10 10:21:12 -05:00
raja-grewal
cf435a8fa8
README.md: Note importance of microcode updates 2025-01-10 13:22:21 +11:00
Patrick Schleizer
3a31cc99b3
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/usrmerge' 2025-01-09 09:30:58 -05:00
raja-grewal
538b312349
Add comment about microcode updates 2025-01-09 15:28:56 +11:00
raja-grewal
1f8eee4720
Add missing sentence full stop 2025-01-08 18:36:00 +11:00
raja-grewal
5e3785d76e
README.md: Remove double space 2025-01-08 18:35:52 +11:00
Aaron Rainbolt
5941195e96
Don't worry about files under /bin anymore, Bookworm uses a merged /usr directory 2025-01-07 14:10:46 -06:00
Patrick Schleizer
c4cfb8597d
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/permission-hardener-refactor' 2025-01-06 08:43:54 -05:00
Patrick Schleizer
c6be621968
bumped changelog version 2025-01-06 10:31:40 +00:00
Patrick Schleizer
6e0787957b
increase priority of pam wheel so it is checked even before faillock
in case of attemtping to use `su` without being a member of the required group `sudo`, it's useful to abort the PAM stack as early as possible to avoid needlessly propmting for a password to later
be rejected tu to lack of group membership
2025-01-06 05:29:40 -05:00
Patrick Schleizer
d4767b7520
fix: apply PAM wheal only to su PAM service 2025-01-06 04:24:44 -05:00
Aaron Rainbolt
93ebf176c5
Make the main field count check in permission-hardener a bit more elegant 2025-01-02 20:42:06 -05:00
Aaron Rainbolt
895c0f541f
Merge branch 'master' into arraybolt3/permission-hardener-refactor 2025-01-01 15:04:01 -06:00
Patrick Schleizer
40b23cfad4
bumped changelog version 2024-12-31 18:42:01 +00:00
Patrick Schleizer
33114f771a
copyright 2024-12-31 13:26:21 -05:00
Patrick Schleizer
bb24bff296
bumped changelog version 2024-12-31 14:09:34 +00:00
Patrick Schleizer
0640964c35
readme 2024-12-31 06:14:29 -05:00
Aaron Rainbolt
717e6fcfbe
Post-review improvements to permission-hardener 2024-12-30 21:34:23 -06:00
Aaron Rainbolt
dbcb612517
Polish permission-hardener refactor 2024-12-26 00:43:26 -06:00
Patrick Schleizer
397b476a82
bumped changelog version 2024-12-26 04:12:02 +00:00
Patrick Schleizer
66f8c18c65
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/sysmaint' 2024-12-25 22:43:04 -05:00
Aaron Rainbolt
83d3867959
Refactor permission-hardener to be more idempotent 2024-12-25 16:53:55 -06:00
Aaron Rainbolt
6602fb102d
Adjust pam-info messaging for sysmaint mode 2024-12-24 20:52:34 -06:00
Patrick Schleizer
aa82202e70
bumped changelog version 2024-12-24 05:16:22 +00:00
Patrick Schleizer
27d015d58e
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/sysmaint' 2024-12-24 00:08:58 -05:00
Aaron Rainbolt
2f3a2bce77
Add warning about using non-sysmaint accounts in sysmaint mode 2024-12-20 11:04:22 -06:00
Patrick Schleizer
3c73c0cd3a
bumped changelog version 2024-12-20 06:01:27 +00:00
Patrick Schleizer
a4c76c617a
syntax fix 2024-12-20 01:01:13 -05:00
Patrick Schleizer
b40bc0a2c9
bumped changelog version 2024-12-20 05:58:24 +00:00
Patrick Schleizer
b21c394ea5
Trigger permission hardener when new configuration files are being installed. 2024-12-20 00:56:20 -05:00
Patrick Schleizer
cd027b86e7
bumped changelog version 2024-12-20 05:48:48 +00:00
Patrick Schleizer
ad6e1f5ad4
move from /etc/permission-hardener.d to /usr/lib/permission-hardener.d 2024-12-20 00:41:06 -05:00
Patrick Schleizer
a2c1e8c218
clean up old files in /etc/permission-hardener.d
because will be moved to `/usr/lib/permission-hardener.d`
2024-12-20 00:39:51 -05:00
Patrick Schleizer
6de5d2d076
permission hardener: also parse /usr/lib/permission-hardener.d/*.conf folder 2024-12-20 00:37:44 -05:00
Patrick Schleizer
721b100fb6
bumped changelog version 2024-12-19 10:58:50 +00:00
raja-grewal
642b4eeedc
Add link to tabular comparison of CPU mitigations 2024-12-19 21:57:25 +11:00
Patrick Schleizer
175b442d5b
use long option name 2024-12-19 05:56:50 -05:00
Patrick Schleizer
c99021bb0c
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/sysmaint' 2024-12-19 05:56:01 -05:00
raja-grewal
2e6e1701a0
Set net.ipv4.conf.*.drop_gratuitous_arp=1 2024-12-19 10:35:08 +00:00
raja-grewal
c37f4efadf
Set net.ipv4.conf.*.arp_ignore=2 2024-12-19 10:33:49 +00:00
raja-grewal
af1d06973b
Set net.ipv4.conf.*.arp_filter=1 2024-12-19 10:31:43 +00:00
raja-grewal
750367a906
Set net.ipv4.conf.*.shared_media=0 2024-12-19 10:29:56 +00:00
Patrick Schleizer
95b535764c
bumped changelog version 2024-12-19 09:43:26 +00:00
Patrick Schleizer
daf0a0900b
fix apt-get-update for non-English locale
https://forums.kicksecure.com/t/systemcheck-reports-warning-debian-package-update-check-result-apt-get-reports-that-packages-can-be-updated-but-system-is-already-fully-upgraded/785
2024-12-19 04:39:34 -05:00
Patrick Schleizer
e9a5b14a0d
bumped changelog version 2024-12-19 06:57:42 +00:00
Patrick Schleizer
3135a03e21
Merge remote-tracking branch 'github-kicksecure/master' 2024-12-19 00:34:56 -05:00
Patrick Schleizer
c7f7196471
Merge pull request #287 from raja-grewal/patch
Refactor and add two CPU mitigations
2024-12-19 00:31:25 -05:00
Patrick Schleizer
f0c611d9ed
comment 2024-12-19 00:18:25 -05:00
Patrick Schleizer
4f681be774
Merge remote-tracking branch 'github-kicksecure/master' 2024-12-19 00:17:44 -05:00
Patrick Schleizer
e5b67e044b
Merge pull request #279 from raja-grewal/arp
Provide network-related hardening options via `sysctl`'s
2024-12-19 00:15:02 -05:00
Patrick Schleizer
4cf5757575
Merge pull request #282 from ArrayBolt3/arraybolt3/umask
Enable umask hardening
2024-12-19 00:08:56 -05:00
Aaron Rainbolt
9d69cd1912
Add sysmaint account lock detection 2024-12-18 21:34:37 -06:00
raja-grewal
3749f8ff09
Update presentation on user namespaces 2024-12-18 03:36:09 +00:00
raja-grewal
0dff2cd28f
Minor additions 2024-12-18 03:32:35 +00:00
raja-grewal
3e96fdd9cc
Enable kvm.mitigate_smt_rsb=1 2024-12-17 11:44:11 +00:00
raja-grewal
45355aabdc
Enable kvm-intel.vmentry_l1d_flush=always 2024-12-17 11:42:52 +00:00
raja-grewal
defba1f245
Refactor CPU mitigations 2024-12-17 11:42:03 +00:00
raja-grewal
943c421889
Minor refactoring 2024-12-17 11:40:38 +00:00
raja-grewal
ca3a73ac13
Typo 2024-12-17 11:37:10 +00:00
Aaron Rainbolt
4c3ca68453
Disable unnecessary sudoers exceptions 2024-12-16 02:56:52 -05:00
Patrick Schleizer
9d06341c91
Merge pull request #285 from Kicksecure/permission-hardener-mount
Permission Hardener: treat mount same as umount
2024-12-14 15:18:56 -05:00
raja-grewal
c116796854
arp_ignore: Add reference to 2024-12-10 Mullvad VPN audit details 2024-12-12 06:36:47 +00:00
Patrick Schleizer
a9dd592a8b
bumped changelog version 2024-12-10 19:19:10 +00:00
Patrick Schleizer
58722324ec
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/no-recovery-mode' 2024-12-10 14:18:50 -05:00
Patrick Schleizer
518224b8cf
bumped changelog version 2024-12-10 19:17:10 +00:00
Aaron Rainbolt
439fa7f3be
Harden/disable recovery mode options 2024-12-08 03:42:54 -06:00
Patrick Schleizer
7902311c57
do not create /etc/sysctl.d/30-lkrg-virtualbox.conf if LKRG is not installed 2024-12-07 04:54:47 -05:00
Patrick Schleizer
1ce37d42cd
. 2024-12-07 04:50:40 -05:00
Patrick Schleizer
5b88e92e5c
permission hardner: treat mount the same way we treat umount
Thanks to @the-moog for the bug report!

fixes https://github.com/Kicksecure/security-misc/issues/284
2024-12-06 09:48:58 -05:00
Patrick Schleizer
93b51819d4
permission hardener mount chmod change from 745 to 755
https://github.com/Kicksecure/security-misc/issues/284
2024-12-06 09:47:08 -05:00
Aaron Rainbolt
1708a03e1e
Enable umask hardening 2024-11-28 15:39:59 -06:00
Patrick Schleizer
59299a6639
bumped changelog version 2024-11-25 21:07:42 +00:00
Patrick Schleizer
98d7c245ee
"|| exit 1" no longer required thanks to errexit 2024-11-25 15:57:30 -05:00
Patrick Schleizer
f9b5d7d3f4
use strict shell options 2024-11-25 15:48:01 -05:00
Patrick Schleizer
d32cb8c95b
use TMP, sponge, refactoring 2024-11-25 15:44:00 -05:00
Patrick Schleizer
62a551cfe3
Merge remote-tracking branch 'ArrayBolt3/arraybolt3/sudoers' 2024-11-25 15:38:01 -05:00
Aaron Rainbolt
d7475e252a
Make apt-get-update able to be terminated securely 2024-11-21 20:03:42 -06:00
Patrick Schleizer
af43472d0c
bumped changelog version 2024-11-14 22:24:50 +00:00
Patrick Schleizer
c7e9460b2a
output 2024-11-14 16:31:12 -05:00
Patrick Schleizer
31804e30ec
bumped changelog version 2024-11-14 20:46:26 +00:00
Patrick Schleizer
ef95b3f9a5
Revert "fix panic-on-oops.service"
This reverts commit 862d23cb10.
2024-11-14 14:41:14 -05:00
raja-grewal
412b371e85
Merge branch 'Kicksecure:master' into arp 2024-11-13 16:47:57 +11:00
raja-grewal
141b84c40d
Provide option to deny sending and receiving shared media redirects 2024-11-13 05:42:56 +00:00
raja-grewal
18aec201bf
Provide option to harden response to ARP requests 2024-11-13 05:41:25 +00:00
raja-grewal
a25d4f8df8
Provide option to enable ARP filtering 2024-11-13 05:40:21 +00:00
raja-grewal
c2aae73ce1
Add reference and move text 2024-11-13 05:38:03 +00:00
Patrick Schleizer
57e1edde23
bumped changelog version 2024-11-12 09:11:57 +00:00
Patrick Schleizer
7987a3914d
deleted no longer used and out-commented /etc/sudoers.d/xfce-security-misc leftover 2024-11-12 02:29:42 -05:00
Patrick Schleizer
8c2e8e6979
deleted no longer used and out-commented etc/sudoers.d/pkexec-security-misc leftover 2024-11-12 01:41:12 -05:00
Patrick Schleizer
65fc0419a8
bumped changelog version 2024-11-11 11:07:57 +00:00
Patrick Schleizer
50161f5d79
moved /etc/dkms/framework.conf.d/30_security-misc.conf (renamed) to usability-misc 2024-11-11 05:48:11 -05:00
Patrick Schleizer
7c06e22c7d
deleted /usr/bin/pkexec.security-misc
This was not used anymore for anything. In the past, we used to `config-package-dev` `replace` `/usr/bin/pkexec` with `/usr/bin/pkexec.security-misc` for the purpose of:

> Redirect calls for pkexec to lxqt-sudo because pkexec is incompatible with hidepid.

* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=860040
* https://forums.whonix.org/t/cannot-use-pkexec/8129

This was a worthwhile effort, interesting approach but ultimately a dead-end.
2024-11-11 05:43:25 -05:00
Patrick Schleizer
ef05b1a160
disable legacy matroxfb_base framebuffer driver
fix typo matroxfb_bases -> matroxfb_base

Thanks to @ArrayBolt3 for the bug report!
2024-11-11 05:40:41 -05:00
Patrick Schleizer
862d23cb10
fix panic-on-oops.service
remove `After=multi-user.target` because already using `WantedBy=multi-user.target`

Thanks to @ArrayBolt3 for the bug report!
2024-11-11 05:36:41 -05:00
Patrick Schleizer
29ae5f5980
fix optional opt-in harden-module-loading.service
by making `/usr/libexec/security-misc/disable-kernel-module-loading` executable

Thanks to @ArrayBolt3 for the bug report!
2024-11-11 05:28:31 -05:00
Patrick Schleizer
4c649577f0
bumped changelog version 2024-11-10 11:52:42 +00:00
Patrick Schleizer
29b1f1ec5f
Merge remote-tracking branch 'github-kicksecure/master' 2024-11-10 06:32:30 -05:00
Patrick Schleizer
5bd0a277bf
fix permission-hardener issue "Removing capabilities failed. File: '/bin/ping'"
no longer user end-of-options marker (`--`) for `setcap`
since setcap does not support it

Fixes https://github.com/QubesOS/qubes-issues/issues/9569

https://forums.whonix.org/t/permission-hardener-error/20719
2024-11-10 06:29:17 -05:00
Patrick Schleizer
238f32e81d
Merge pull request #280 from raja-grewal/ssbd
Enable `ssbd=force-on`
2024-11-08 07:39:40 -05:00
raja-grewal
8107782fa5
Enable ssbd=force-on 2024-11-08 15:36:04 +11:00
raja-grewal
a1d1f97955
Provide option to drop gratuitous ARP packets 2024-11-08 03:58:23 +00:00
Patrick Schleizer
3af2684134
bumped changelog version 2024-10-30 09:43:05 +00:00
Patrick Schleizer
71c58442ca
minor 2024-10-28 05:10:19 -04:00
Patrick Schleizer
cfe19e31d8
shell options 2024-10-28 05:09:53 -04:00
Patrick Schleizer
0d50615658
local 2024-10-28 05:07:00 -04:00
Patrick Schleizer
ef0eb5f7a0
refactoring 2024-10-28 05:06:26 -04:00
Patrick Schleizer
fdd1f4b7f8
refactoring 2024-10-28 05:06:05 -04:00
Patrick Schleizer
d00235897d
hide-hardware-info: also parse /usr/local/etc/hide-hardware-info.d/*.conf 2024-10-28 05:03:59 -04:00
Patrick Schleizer
6c2e808b9f
refactoring 2024-10-28 05:03:20 -04:00
Patrick Schleizer
b44e507900
bumped changelog version 2024-10-23 09:56:05 +00:00
Patrick Schleizer
566cda5e4b
output 2024-10-21 05:47:38 -04:00
Patrick Schleizer
5991a23049
comment 2024-10-21 05:47:25 -04:00
Patrick Schleizer
fd34baff8f
Merge remote-tracking branch 'ArrayBolt3/master' 2024-10-21 05:43:53 -04:00
Aaron Rainbolt
690e8dd826
Avoid faillock lock/tally reset on reboot or timeout 2024-10-19 23:52:51 -05:00
Patrick Schleizer
b6433309fd
use end-of-options 2024-10-18 12:45:02 -04:00
Patrick Schleizer
0cfcdf4f89
bumped changelog version 2024-10-16 10:57:20 +00:00
Patrick Schleizer
0adb9b7c06
Merge remote-tracking branch 'github-kicksecure/master' 2024-10-16 06:31:09 -04:00
Patrick Schleizer
e50ad807c0
Merge pull request #276 from raja-grewal/KSPP_header
Clarify KSPP compliance header
2024-10-16 06:29:25 -04:00
raja-grewal
eb72163d57
README.md: Make line lengths consistent 2024-10-14 03:01:15 +00:00
raja-grewal
a9f238fe04
README.md: Split optional setting to new line 2024-10-14 02:57:31 +00:00
raja-grewal
09fe46adc9
Clarify KSPP compliance header for the undocumented case 2024-10-14 02:54:30 +00:00
Patrick Schleizer
263335f74e
bumped changelog version 2024-10-08 11:24:56 +00:00
Patrick Schleizer
9169611645
Merge remote-tracking branch 'github-kicksecure/master' 2024-10-08 05:54:50 -04:00
Patrick Schleizer
8227a3dde2
Merge pull request #273 from raja-grewal/text_2
Documentation update 2
2024-10-08 05:53:48 -04:00
raja-grewal
0c0774f6c0
Merge branch 'master' into text_2 2024-10-06 10:48:52 +00:00
raja-grewal
dc470cac1d
Remmove deprecated link 2024-10-06 10:46:05 +00:00
Patrick Schleizer
8a2d432ffe
bumped changelog version 2024-10-03 07:22:23 +00:00
Patrick Schleizer
0e3ffa3f11
no longer set kernel.unprivileged_userns_clone=0
because it breaks too much

fixes https://github.com/Kicksecure/security-misc/issues/274
2024-10-03 02:58:58 -04:00
Patrick Schleizer
f401d94d5e
expand documentation on kernel.unprivileged_userns_clone=0 sysctl
https://github.com/Kicksecure/security-misc/issues/274
2024-10-03 02:44:06 -04:00
raja-grewal
ac1378743c
Consistent formatting 2024-09-30 16:56:18 +10:00
raja-grewal
eae38e72f3
README.md: Show the current max_map_count 2024-09-26 13:10:36 +00:00
raja-grewal
f3b50a23c9
Add reference on unprivileged_userns_restriction 2024-09-26 13:10:01 +00:00
raja-grewal
39d063d494
Add KSPP=no definition 2024-09-26 13:09:21 +00:00
Patrick Schleizer
5572eb897a
bumped changelog version 2024-09-25 01:03:42 +00:00
Patrick Schleizer
e04f9cd4c1
Merge remote-tracking branch 'github-kicksecure/master' 2024-09-24 20:16:06 -04:00
Patrick Schleizer
65aa910503
Merge pull request #272 from raja-grewal/text
Documentation update
2024-09-24 20:15:03 -04:00
raja-grewal
870ff88605
Comment on Flatpak requiring unprivileged user namespaces 2024-09-25 10:01:45 +10:00
raja-grewal
769767a96a
Update mmap ASLR docs 2024-09-25 09:54:49 +10:00
Patrick Schleizer
18d426f521
bumped changelog version 2024-09-14 02:56:09 +00:00
Patrick Schleizer
3280dbd5d5
Fix VirtualBox audio device ICH AC97.
no longer `blacklist snd_intel8x0`

Breaks VirtualBox audio device ICH AC97, which is unfortunately still required by some users.
https://www.kicksecure.com/wiki/Dev/audio

Fixes https://github.com/Kicksecure/security-misc/issues/271
2024-09-13 22:52:47 -04:00
Patrick Schleizer
1bc694fa12
bumped changelog version 2024-09-08 17:41:30 +00:00
Patrick Schleizer
01908d505a
readme 2024-09-05 07:00:11 -04:00
Patrick Schleizer
e914028be7
add KSPP compliance status to readme based on comment by @raja-grewal
https://github.com/Kicksecure/security-misc/issues/256#issuecomment-2330376651
2024-09-05 06:03:05 -04:00
Patrick Schleizer
40fb14c654
bumped changelog version 2024-09-04 14:13:15 +00:00
Patrick Schleizer
5a255d4831
Merge remote-tracking branch 'github-kicksecure/master' 2024-09-04 10:12:34 -04:00
Patrick Schleizer
563a898013
Merge pull request #265 from raja-grewal/mmap_min_addr
Set `sysctl vm.mmap_min_addr=65536`
2024-09-04 10:11:48 -04:00
Patrick Schleizer
d618f9f35b
Merge remote-tracking branch 'github-kicksecure/master' 2024-09-04 10:07:50 -04:00
Patrick Schleizer
175945ec9a
Merge pull request #268 from raja-grewal/panic_on_warn
Enable `panic_on_warn=1`
2024-09-04 10:05:47 -04:00
Patrick Schleizer
b0a8544182
Merge pull request #270 from raja-grewal/typo
Small typo
2024-09-04 10:04:45 -04:00
raja-grewal
7393ba1591
Typo 2024-09-04 23:23:24 +10:00
Patrick Schleizer
59374ce902
bumped changelog version 2024-08-29 09:49:51 +00:00
Patrick Schleizer
7e2838ec07
Merge remote-tracking branch 'github-kicksecure/master' 2024-08-29 05:06:07 -04:00
Patrick Schleizer
0762794ff6
Merge pull request #269 from raja-grewal/tidy
Minor correction
2024-08-29 04:46:26 -04:00
Raja Grewal
6294729c8e
Follow-up on f70fe308a9 2024-08-29 15:34:24 +10:00
Raja Grewal
3101035a3f
Enable panic_on_warn=1 2024-08-29 01:57:32 +10:00
Patrick Schleizer
9c918eb431
bumped changelog version 2024-08-28 11:01:37 +00:00
Patrick Schleizer
f70fe308a9
no longer set sysctl fs.binfmt_misc.status=0 /
no longer disallow registering interpreters for miscellaneous binary formats

causing file/folder permissions issue `d????????? ? ? ? ?            ? .`

Firefox no longer starting (probably not not a Firefox issue)

https://github.com/Kicksecure/security-misc/issues/267
2024-08-28 06:49:50 -04:00
Patrick Schleizer
463aa58f28
Merge remote-tracking branch 'github-kicksecure/master' 2024-08-28 06:42:49 -04:00
Patrick Schleizer
328840c933
Merge pull request #264 from raja-grewal/kspp_compliance
Add KSPP compliance notices to corresponding parameters and `sysctls`
2024-08-28 06:38:57 -04:00
Raja Grewal
9e91c98cc9
Add details on BPF hardening and split the sysctls 2024-08-26 12:40:04 +10:00
Raja Grewal
2c356e8b0e
Add KSPP notice definitions 2024-08-26 11:34:12 +10:00
Raja Grewal
2841d789be
README: Update 2024-08-26 11:21:26 +10:00
Raja Grewal
ac6602ac35
Add detail on disabling user namespaces breaking UPower 2024-08-26 11:19:20 +10:00
raja-grewal
9dbd200be4
Merge branch 'Kicksecure:master' into kspp_compliance 2024-08-26 11:08:21 +10:00
Patrick Schleizer
cf824ddb24
bumped changelog version 2024-08-25 15:34:55 +00:00
Patrick Schleizer
500568e322
Merge remote-tracking branch 'github-kicksecure/master' 2024-08-25 11:01:58 -04:00
Patrick Schleizer
73900b59db
Merge pull request #263 from raja-grewal/max_user_namespaces
Provide option to disable user namespaces
2024-08-25 11:00:51 -04:00
Patrick Schleizer
43d13b70f1
Merge remote-tracking branch 'raja/syntax' 2024-08-25 10:55:52 -04:00
Patrick Schleizer
835376418d
Merge remote-tracking branch 'raja/mod' 2024-08-25 10:48:25 -04:00
Patrick Schleizer
ae85fd5b4c
bumped changelog version 2024-08-25 14:33:40 +00:00
Raja Grewal
433b15f985
README.md: Organise sysctls 2024-08-25 09:56:53 -04:00
Raja Grewal
af87a84b4f
README.md: Organise kernel boot parameters 2024-08-25 09:56:24 -04:00
Raja Grewal
32de5e7c49
Add details on oopses and warnings 2024-08-25 12:57:22 +10:00
Raja Grewal
e4909b5e28
Add details on kernel panics 2024-08-25 12:47:04 +10:00
Raja Grewal
342caf82b2
README.md: Organise kernel boot parameters 2024-08-21 12:52:48 +10:00
Raja Grewal
b87a18d405
README.md: Organise sysctls 2024-08-21 12:51:51 +10:00
Raja Grewal
18ed77ecc9
Refactor modprobe.d to minimise potential future merge conflicts 2024-08-21 12:50:14 +10:00
Raja Grewal
56b28e3826
Typo 2024-08-19 11:50:08 +10:00
Raja Grewal
e61027a40e
Set sysctl vm.mmap_min_addr=65536 2024-08-19 11:32:20 +10:00
Raja Grewal
94dab1b7c5
Partial compliance with the KSPP on kernel panics 2024-08-19 10:53:05 +10:00
Raja Grewal
683110e7f0
Correction 2024-08-19 01:34:14 +10:00
Raja Grewal
1f51d4eeb2
Add details on user namespaces 2024-08-18 13:53:11 +10:00
Raja Grewal
248e094b8e
Include KSPP compliance notices 2024-08-17 01:06:21 +10:00
Raja Grewal
759aee8150
Provide option to disable user namespaces 2024-08-16 22:54:57 +10:00
Raja Grewal
fae586c3c5
Patch bug in existing rp_filter sysctl 2024-08-16 19:23:48 +10:00
Patrick Schleizer
e962153f84
bumped changelog version 2024-08-16 08:38:12 +00:00
Patrick Schleizer
40b12f5a2a
Merge remote-tracking branch 'github-kicksecure/master' 2024-08-16 04:30:29 -04:00
Patrick Schleizer
305467c652
Merge pull request #245 from raja-grewal/blacklist_to_disable
Update `/etc/modprobe.d/*`
2024-08-16 04:25:43 -04:00
Patrick Schleizer
12296c68dc
Merge remote-tracking branch 'github-kicksecure/master' 2024-08-16 04:22:43 -04:00
Patrick Schleizer
036bcea4e6
Merge pull request #262 from raja-grewal/docs
Miscellaneous updates to presentation
2024-08-16 04:20:32 -04:00
raja-grewal
81bf7a8f90
Merge branch 'Kicksecure:master' into docs 2024-08-16 16:57:01 +10:00
Patrick Schleizer
ef60c5b153
Merge pull request #249 from raja-grewal/binfmt_misc
Disallow registering interpreters for miscellaneous binary formats
2024-08-16 02:43:57 -04:00
Raja Grewal
cea8e75378
Consistent formating 2024-08-16 14:55:22 +10:00
Raja Grewal
84376d23fc
Add details on ASLR and move to user space section 2024-08-16 13:39:11 +10:00
Raja Grewal
a132980023
Update README.md 2024-08-16 13:24:25 +10:00
Raja Grewal
9212a4e937
Typos 2024-08-16 13:12:07 +10:00
Raja Grewal
23a77d4973
Simplify syntax of some network-related sysctl's 2024-08-16 12:46:51 +10:00
Raja Grewal
e3a3207a44
Clarify DMA hardening 2024-08-16 12:41:36 +10:00
raja-grewal
be9308e490
Merge branch 'Kicksecure:master' into docs 2024-08-16 11:45:43 +10:00
Patrick Schleizer
4bc12b07b4
bumped changelog version 2024-08-15 17:51:18 +00:00
Patrick Schleizer
9e61e37c17
Merge remote-tracking branch 'github-kicksecure/master' 2024-08-15 13:47:33 -04:00
Patrick Schleizer
dfd1c97168
Merge pull request #248 from raja-grewal/secure_redirects
Re-enable (default) `secure_redirects` for ICMP redirect messages
2024-08-15 13:46:30 -04:00
Raja Grewal
b552b92401
Add references on fs.binfmt_misc.status 2024-08-15 11:54:21 +10:00
Raja Grewal
326d82a9be
Revert "Provide optional sysctl fs.binfmt_misc.status=0"
This reverts commit debd7a7b7a.
2024-08-15 11:46:56 +10:00
Raja Grewal
73db68dbf9
Add details on KFENCE 2024-08-09 14:27:30 +10:00
Raja Grewal
f8fa89b245
Add details on tcp_timestamps 2024-08-09 14:21:59 +10:00
Raja Grewal
3456f1c1d7
Minor consistency update in README.md 2024-08-09 13:39:25 +10:00
Raja Grewal
15c638acad
Add reference on RDRAND 2024-08-09 13:36:47 +10:00
Raja Grewal
077bc48a26
Add reference on rp_filter 2024-08-09 13:35:33 +10:00
Raja Grewal
d8bcec881f
Add some notices for future Debian 13 rebase 2024-08-09 13:33:32 +10:00
Raja Grewal
0b0683499a
Consistent line length formatting 2024-08-09 13:30:39 +10:00
Raja Grewal
e5a38fc856
Typo 2024-08-09 13:30:15 +10:00
Raja Grewal
a5373afc55
Details on disabled fbdev kernel modules 2024-08-07 14:44:14 +10:00
Raja Grewal
e98dc8c4f8
Update notifications for disabled kernel modules 2024-08-07 14:14:47 +10:00
Raja Grewal
50fa721fd5
Update docs regarding Intel module disabling 2024-08-07 14:01:49 +10:00
Raja Grewal
ec3038c7bc
Clarify secure_redirects 2024-08-07 13:48:53 +10:00
Raja Grewal
debd7a7b7a
Provide optional sysctl fs.binfmt_misc.status=0 2024-08-07 13:33:44 +10:00
Patrick Schleizer
89e816dda6
bumped changelog version 2024-08-06 14:01:39 +00:00
Patrick Schleizer
967f9e257b
Merge remote-tracking branch 'github-kicksecure/master' 2024-08-06 09:57:56 -04:00
Patrick Schleizer
a25aaf900a
Merge pull request #260 from raja-grewal/vdso32
Enable `vdso32=0`
2024-08-06 09:55:20 -04:00
Patrick Schleizer
6bc039a430
Merge pull request #259 from raja-grewal/kfence
Enable `kfence.sample_interval=100`
2024-08-06 09:52:56 -04:00
Patrick Schleizer
ce60d5615f
Merge pull request #258 from raja-grewal/legacy_tiocsti
Enable `dev.tty.legacy_tiocsti=0`
2024-08-06 09:48:08 -04:00
Patrick Schleizer
b0278428a7
Merge pull request #257 from raja-grewal/slab_debug
Enable `slab_debug=FZ`
2024-08-06 09:39:04 -04:00
Raja Grewal
8559079312
Enable vdso32=0 2024-08-05 15:10:02 +10:00
Raja Grewal
d102ec1997
Enable kfence.sample_interval=100 2024-08-05 15:07:56 +10:00
Raja Grewal
c0d140f221
Enable dev.tty.legacy_tiocsti=0 2024-08-05 15:06:34 +10:00
Raja Grewal
aa34d86598
Enable slab_debug=FZ 2024-08-05 14:27:17 +10:00
Raja Grewal
4f7f820160
Add reference 2024-08-05 14:16:33 +10:00
Patrick Schleizer
fa9091869d
Merge remote-tracking branch 'github-kicksecure/master' 2024-08-04 16:20:36 -04:00
Patrick Schleizer
725118c575
Merge pull request #243 from raja-grewal/namespaces
Restrict unprivileged user namespaces
2024-08-04 16:19:52 -04:00
Patrick Schleizer
06f0c27128
Merge remote-tracking branch 'github-kicksecure/master' 2024-08-04 16:15:01 -04:00
Patrick Schleizer
6d97408a6d
Merge pull request #255 from raja-grewal/SLUB
Restore option to enable `slub_debug=FZ`
2024-08-04 16:11:46 -04:00
Patrick Schleizer
8abc5ae8f0
Merge remote-tracking branch 'github-kicksecure/master' 2024-08-04 16:09:52 -04:00
Patrick Schleizer
eab66dad09
Merge pull request #254 from raja-grewal/patch
Updates to kernel and `sysctl` hardening
2024-08-04 16:08:32 -04:00
Raja Grewal
6f14d68cdc
Update legacy name slub_debug -> slab_debug 2024-08-03 15:12:15 +10:00
Raja Grewal
22b6cee80c
Add details about slub_debug 2024-08-03 15:11:14 +10:00
Raja Grewal
b77d1a2b98
Revert "Remove the optional slub_debug parameter since it is no longer recommended"
This reverts commit 48e1ac4163.
2024-08-03 14:49:48 +10:00
Raja Grewal
ca2179bb6a
Provide the option to disable legacy TIOCSTI operation 2024-08-03 00:25:49 +10:00
Raja Grewal
52aeacb4da
Provide option to disable 32 bit vDSO mappings 2024-08-03 00:13:38 +10:00
Raja Grewal
9099ecce8a
Provide option to enable the kernel Electric-Fence 2024-08-03 00:12:50 +10:00
Raja Grewal
f6a16258a1
Add references to KSPP 2024-08-03 00:11:06 +10:00
Raja Grewal
e53d24fc48
Add missing GRUB command lines for disabled boot parameters 2024-08-03 00:09:42 +10:00
Patrick Schleizer
de6f3ea74a
bumped changelog version 2024-07-28 20:50:22 +00:00
Patrick Schleizer
d036094089
Merge remote-tracking branch 'github-kicksecure/master' 2024-07-28 15:44:40 -04:00
Patrick Schleizer
0f86fbd8ce
Merge pull request #242 from raja-grewal/ptrace
Disable the usage of `ptrace()` by all processes
2024-07-28 15:43:54 -04:00
Raja Grewal
9cabaa1bd1
Typo 2024-07-28 22:04:30 +10:00
Raja Grewal
d2d024ebe9
Typo 2024-07-28 22:03:33 +10:00
Raja Grewal
9fbee9fc82
Clarify 2024-07-28 21:57:25 +10:00
Patrick Schleizer
e60ce50d30
bumped changelog version 2024-07-27 16:13:35 +00:00
Patrick Schleizer
e86b2e7f8f
output 2024-07-27 12:13:18 -04:00
Raja Grewal
1445457626
Show details regarding secure_redirects (again) 2024-07-27 14:00:30 +10:00
Raja Grewal
73979d4342
Link to ptrace() discussion 2024-07-27 13:28:59 +10:00
Raja Grewal
1c9f33f906
Revert "Disable the usage of ptrace() by all processes"
This reverts commit b04828f858.
2024-07-27 13:24:08 +10:00
Patrick Schleizer
330cf14eab
bumped changelog version 2024-07-26 15:40:24 +00:00
Patrick Schleizer
62bb4bc626
Merge remote-tracking branch 'github-kicksecure/master' 2024-07-26 11:10:25 -04:00
Patrick Schleizer
886f6095db
Merge pull request #250 from raja-grewal/Panik-Kalm
Add details on "oopes" and kernel panics
2024-07-26 11:08:30 -04:00
Patrick Schleizer
7969e86071
Merge remote-tracking branch 'github-kicksecure/master' 2024-07-26 11:06:13 -04:00
Patrick Schleizer
0318f577ab
Merge pull request #246 from raja-grewal/cfi
Provide the option to change the default CFI implementation in the future
2024-07-26 11:04:29 -04:00
Patrick Schleizer
e2ae93a957
port to safe_echo 2024-07-26 10:30:45 -04:00
Patrick Schleizer
8ec23ed712
echo does not support end-of-options 2024-07-26 10:28:57 -04:00
Patrick Schleizer
6096ed1109
comment 2024-07-26 10:26:43 -04:00
Patrick Schleizer
ac41d1cfff
comment 2024-07-26 10:25:59 -04:00
Patrick Schleizer
3b033ceba2
shellcheck 2024-07-26 10:17:24 -04:00
Patrick Schleizer
04d9ca1ebe
use find with safe_echo_nonewline 2024-07-26 10:16:20 -04:00
raja-grewal
20454fb811
Merge branch 'Kicksecure:master' into blacklist_to_disable 2024-07-27 00:09:30 +10:00
Patrick Schleizer
6bbf176e3b
consider end-of-options for find 2024-07-26 09:33:45 -04:00
Patrick Schleizer
794f6a25fa
comment 2024-07-26 09:08:29 -04:00
Patrick Schleizer
7e0f1a8701
dpkg-statoverride can actually handle '--file-name'. 2024-07-26 09:08:04 -04:00
Patrick Schleizer
ee037c01a1
Skip file names starting with '--',
because this would be interpreted by dpkg-statoverride as an option.
2024-07-26 08:58:44 -04:00
Patrick Schleizer
82d401a7de
sanity test 2024-07-26 08:52:42 -04:00
Patrick Schleizer
0e661bc688
output 2024-07-26 08:49:14 -04:00
Patrick Schleizer
d144f68d1a
output 2024-07-26 08:46:08 -04:00
Patrick Schleizer
05504b9ab2
minor 2024-07-26 08:40:10 -04:00
Patrick Schleizer
d96c0633d4
more use of end of options 2024-07-26 08:39:11 -04:00
Patrick Schleizer
8e40c10c31
comment 2024-07-26 08:31:17 -04:00
Patrick Schleizer
f2c9c2f5d1
output 2024-07-26 08:26:16 -04:00
Patrick Schleizer
2b40ea75e9
cleanup 2024-07-26 08:24:23 -04:00
Patrick Schleizer
6f0551b944
refactoring 2024-07-26 08:23:54 -04:00
Patrick Schleizer
aac450f808
refactoring 2024-07-26 08:22:04 -04:00
Patrick Schleizer
30f46790a4
use end of options whenever possible 2024-07-26 08:21:21 -04:00
Patrick Schleizer
95722d6d79
use long option name 2024-07-26 08:13:33 -04:00
Patrick Schleizer
19f131c742
code simplification
https://github.com/Kicksecure/security-misc/pull/251
2024-07-26 08:07:08 -04:00
Patrick Schleizer
9694cf0cd1
output 2024-07-26 07:43:59 -04:00
Patrick Schleizer
bdfe764f9d
Merge remote-tracking branch 'ben-grande/stat-dedup' 2024-07-26 07:19:05 -04:00
Patrick Schleizer
9f135231cc
no longer disable Intel ME related kernel modules
because that might break firmware updates

This reverts commit 64f8b2eb58.

https://github.com/Kicksecure/security-misc/issues/239
2024-07-26 06:43:14 -04:00
Patrick Schleizer
f616da7c06
bumped changelog version 2024-07-26 09:40:59 +00:00
Raja Grewal
4397de0138
Update description of cfi=kcfi kerenel parameter 2024-07-26 11:30:46 +10:00
Ben Grande
652a06c8e9
Only print SUID or SGID values when set 2024-07-25 12:37:21 +02:00
Ben Grande
3b8a3f9b83
Unduplicate stat call 2024-07-25 12:20:16 +02:00
Raja Grewal
28b25bda3f
Partial inclusion of GrapheneOS infrastructure blacklist 2024-07-25 15:51:32 +10:00
Raja Grewal
ed3336694c
Provide the option to immediately reboot on a kernel panics 2024-07-25 10:28:27 +10:00
Raja Grewal
3926b91dcf
Add documentation on sysctl kernel.panic_on_oops=1 2024-07-25 10:26:23 +10:00
Raja Grewal
f699eb02a2
Set sysctl fs.binfmt_misc.status=0 2024-07-25 10:11:33 +10:00
Patrick Schleizer
9231f05891
todo 2024-07-24 13:31:49 -04:00
Patrick Schleizer
4cc1289e89
output 2024-07-24 13:30:30 -04:00
Patrick Schleizer
10c73b326f
fix delimiter parsing 2024-07-24 12:07:26 -04:00
Patrick Schleizer
a16dd8474b
sanity test 2024-07-24 11:50:30 -04:00
Patrick Schleizer
cc2b335ee6
cleanup 2024-07-24 11:48:32 -04:00
Patrick Schleizer
6cadc70a96
output 2024-07-24 11:47:52 -04:00
Patrick Schleizer
cda0d26af7
cannot use NULL inside a bash variable
use custom delimiter instead
2024-07-24 11:45:13 -04:00
Patrick Schleizer
4a5312b3a9
output 2024-07-24 11:27:51 -04:00
Patrick Schleizer
3bf1f26c0b
downgrade warning of non-existing folders to info
to avoid all users by default getting a warning for expected non-existing folders
2024-07-24 11:20:26 -04:00
Patrick Schleizer
151ca659a9
output 2024-07-24 11:19:15 -04:00
Patrick Schleizer
c9fd2ceb61
downgrade warning of non-existing files to info
to avoid all users by default getting a warning for expected non-existing files
2024-07-24 11:13:35 -04:00
Patrick Schleizer
721392901b
remove duplicate test 2024-07-24 11:12:39 -04:00
Patrick Schleizer
9712b5b4e3
output 2024-07-24 11:12:18 -04:00
Patrick Schleizer
00911df5c1
modify call of stat to use NUL delimiter
for more robust string parsing
2024-07-24 11:10:56 -04:00
Patrick Schleizer
d536683511
local clean_output_prefix clean_output 2024-07-24 11:03:28 -04:00
Patrick Schleizer
a6e517736b
local stat_output 2024-07-24 11:02:25 -04:00
Patrick Schleizer
ced02fb9e0
add sanity test for file_name output from stat 2024-07-24 11:01:24 -04:00
Patrick Schleizer
b9dfe70a01
check first if file_name is empty 2024-07-24 10:58:05 -04:00
Patrick Schleizer
1cbda79981
check first if array is empty before parsing further 2024-07-24 10:57:13 -04:00
Patrick Schleizer
a077ae54ea
modify call of stat to use NUL delimiter
for more robust string parsing
2024-07-24 10:56:08 -04:00
Raja Grewal
1135d34ab3
Reword description of cfi=kcfi kerenel parameter 2024-07-24 23:33:36 +10:00
Patrick Schleizer
7200e9bd8c
output 2024-07-24 09:15:02 -04:00
Patrick Schleizer
1b6161c2dc
Merge remote-tracking branch 'ben-grande/fuzz' 2024-07-24 09:13:48 -04:00
Raja Grewal
88c88187f2
Re-enable (default) secure_redirects for ICMP redirect messages 2024-07-24 17:26:50 +10:00
Ben Grande
8be21b6eff
Handle newlines in file names 2024-07-23 19:36:12 +02:00
Ben Grande
aa99de68d3
Log output with defined levels 2024-07-23 18:50:16 +02:00
Ben Grande
06fbcdac1d
Prettify log messages 2024-07-23 09:55:02 +02:00
Raja Grewal
fb494c2ba5
Update docs relating to the cfi=kcfi kernel parameter 2024-07-23 13:12:13 +10:00
Ben Grande
7ee1ea2cc7
Unify functions that evaluate commands 2024-07-22 17:06:07 +02:00
Ben Grande
9c3566f524
Delimit file names with null terminator 2024-07-22 16:56:42 +02:00
Raja Grewal
d6fc71dba7
Add option to switch (back) to using kCFI in the future 2024-07-22 17:26:00 +10:00
raja-grewal
f582e54343
Merge branch 'Kicksecure:master' into blacklist_to_disable 2024-07-22 15:12:00 +10:00
Patrick Schleizer
d2563ed923
bumped changelog version 2024-07-21 10:40:14 +00:00
Patrick Schleizer
64f8b2eb58
Revert "no longer disable Intel ME related kernel modules"
This reverts commit 6157e328f4.

https://www.kicksecure.com/wiki/Out-of-band_Management_Technology#Intel_ME_Kernel_Modules

https://github.com/Kicksecure/security-misc/issues/239
2024-07-21 06:36:22 -04:00
monsieuremre
4cae74d610
Update 30_security-misc.conf 2024-07-21 11:19:32 +02:00
Patrick Schleizer
04fb00572f
bumped changelog version 2024-07-20 17:02:05 +00:00
Patrick Schleizer
f0a478c7c9
permission hardener: allow postfix
postqueue matchwhitelist
postdrop matchwhitelist
2024-07-20 12:57:56 -04:00
Raja Grewal
a189956adc
Typo 2024-07-20 20:11:09 +10:00
Raja Grewal
3c720a0715
Disable some legacy drivers
These were all previously blacklisted for over 2 years.
2024-07-20 15:03:21 +10:00
Raja Grewal
c4965ed838
Disable legacy framebuffer drivers
These were all previously blacklisted for over 2 years.
2024-07-20 14:55:10 +10:00
Patrick Schleizer
9f53a0182b
undo io_uring related changes
as these should be done in a separate pull request (if apprpriate)

https://github.com/Kicksecure/security-misc/pull/244#issuecomment-2238889062
2024-07-19 07:20:59 -04:00
Patrick Schleizer
8791aecb38
Merge remote-tracking branch 'raja/fixes' 2024-07-19 07:19:09 -04:00
Raja Grewal
06894d1c98
Typo 2024-07-19 18:30:42 +10:00
Patrick Schleizer
2d11436432
bumped changelog version 2024-07-18 18:05:07 +00:00
Patrick Schleizer
cac5bbad99
comment 2024-07-18 14:04:00 -04:00
Patrick Schleizer
a5eed00eba
cleanup comments 2024-07-18 14:02:38 -04:00
Patrick Schleizer
21efacf1b1
cleanup duplicate comments which are already in /etc/dkms/framework.conf 2024-07-18 14:00:28 -04:00
Patrick Schleizer
61628c2baf
bumped changelog version 2024-07-18 14:11:35 +00:00
Patrick Schleizer
05cf438199
no comments / copyright allowed in .displace-extension 2024-07-18 10:11:03 -04:00
Patrick Schleizer
2ccc95f6d4
bumped changelog version 2024-07-18 14:05:23 +00:00
Raja Grewal
95286df502
Update README.md regarding secure ICMP redirects 2024-07-18 15:28:31 +10:00
Raja Grewal
13cc1f0986
Clarify (future) disabling of io_uring 2024-07-18 12:25:00 +10:00
Raja Grewal
9e6facda70
Update module disabling presentation 2024-07-18 12:21:37 +10:00
Raja Grewal
faa9181a6c
Typos 2024-07-18 12:19:27 +10:00
Raja Grewal
6d211faf59
Restrict unprivileged user namespaces 2024-07-18 11:04:54 +10:00
Raja Grewal
b04828f858
Disable the usage of ptrace() by all processes 2024-07-18 11:01:41 +10:00
Patrick Schleizer
d454f36c63
spelling 2024-07-17 11:52:29 -04:00
Patrick Schleizer
f4da582aa3
spelling 2024-07-17 11:44:17 -04:00
Patrick Schleizer
9e976474d5
spelling 2024-07-17 11:40:51 -04:00
Patrick Schleizer
b569fc02a4
spelling 2024-07-17 11:38:53 -04:00
Patrick Schleizer
a2e26f441b
spelling 2024-07-17 11:04:03 -04:00
Patrick Schleizer
c8be4ac83c
comment 2024-07-17 10:56:14 -04:00
Patrick Schleizer
24cd70a014
spelling 2024-07-17 10:55:12 -04:00
Patrick Schleizer
5cec685cf9
spelling 2024-07-17 10:49:21 -04:00
Patrick Schleizer
821a416fe3
spelling 2024-07-17 10:43:16 -04:00
Patrick Schleizer
9a387f95e9
Merge remote-tracking branch 'raja/miscellaneous' 2024-07-17 10:32:26 -04:00
Patrick Schleizer
fd41acdc72
Merge remote-tracking branch 'raja/fack_off' 2024-07-17 10:27:31 -04:00
Raja Grewal
4afe257a42
minor 2024-07-18 00:14:13 +10:00
Raja Grewal
d0a59617f6
Add missing Copyright (C) statements 2024-07-18 00:13:30 +10:00
Raja Grewal
8f3896c3da
Upgrade hyperlinks to HTTPS 2024-07-17 23:44:37 +10:00
Raja Grewal
1087387b36
Remove obsolete #net.ipv4.tcp_fack=0 2024-07-17 23:35:25 +10:00
Patrick Schleizer
0da22c2031
minor 2024-07-17 09:07:31 -04:00
Patrick Schleizer
c336b266f6
Merge remote-tracking branch 'github-kicksecure/master' 2024-07-17 09:06:44 -04:00
Patrick Schleizer
df80385289
Merge pull request #237 from raja-grewal/intel_pmt
Disable some Intel PMT kernel modules
2024-07-17 09:04:18 -04:00
Patrick Schleizer
afe3c25a49
update readme
https://github.com/Kicksecure/security-misc/issues/239
2024-07-17 08:58:00 -04:00
Patrick Schleizer
f7772fb85a
minor 2024-07-17 08:57:35 -04:00
Patrick Schleizer
6157e328f4
no longer disable Intel ME related kernel modules
https://github.com/Kicksecure/security-misc/issues/239
2024-07-17 08:52:11 -04:00
Patrick Schleizer
daee8b900b
Merge remote-tracking branch 'github-kicksecure/master' 2024-07-17 08:47:55 -04:00
Patrick Schleizer
a4ba6e485d
Merge pull request #236 from raja-grewal/intel_me
Disable more Intel ME kernel modules
2024-07-17 08:46:27 -04:00
Patrick Schleizer
954ff1be41
Merge remote-tracking branch 'github-kicksecure/master' 2024-07-17 08:42:52 -04:00
Patrick Schleizer
9a75135633
Merge pull request #238 from raja-grewal/uvcvideo_2
Minor additions to `30_security-misc_disable.conf`
2024-07-17 08:41:43 -04:00
Patrick Schleizer
d29a616142
minor 2024-07-17 08:39:20 -04:00
Patrick Schleizer
a2802f352f
Merge remote-tracking branch 'raja/kargs' 2024-07-17 08:38:23 -04:00
Patrick Schleizer
0b873b765e
minor 2024-07-17 08:05:27 -04:00
Patrick Schleizer
070bb46a08
Merge remote-tracking branch 'raja/sysctl' 2024-07-17 08:02:45 -04:00
Patrick Schleizer
6d6e5473f2
minor 2024-07-17 08:00:24 -04:00
Patrick Schleizer
cf5f0edbb8
Merge remote-tracking branch 'raja/sysctl' 2024-07-17 07:59:35 -04:00
Raja Grewal
25fd532ce6
Update README.md relating to sysctl's 2024-07-17 21:56:40 +10:00
Raja Grewal
39fd125eb0
Provide explanation on the disabling of IPv6 Privacy Extensions 2024-07-17 21:44:44 +10:00
Raja Grewal
a3408990ab
Uncomment disabling of already disabled ATM modules 2024-07-17 15:03:39 +10:00
Raja Grewal
693b47e623
Clarify ICMP redirect acceptance and sending 2024-07-17 14:58:30 +10:00
Raja Grewal
81a3715c7c
Add info regarding the downsides of disabling SMT 2024-07-17 13:32:08 +10:00
Raja Grewal
abafb1945c
Add Intel ME references 2024-07-17 13:26:03 +10:00
Raja Grewal
f317aaebab
Disable two network modules
These were previously blacklisted for two years in 61ef9bd59f.
2024-07-17 01:09:02 +10:00
Raja Grewal
d69fe88091
Provide option to disable uvcvideo driver 2024-07-17 01:08:01 +10:00
Raja Grewal
49594ccb22
Partially revert f4d652fa7b 2024-07-17 00:49:25 +10:00
Raja Grewal
824d9b82e5
Uncomment redundant disabling of TCP FACK` 2024-07-17 00:36:18 +10:00
Raja Grewal
d1119c38b6
Apply changes from code review 2024-07-17 00:31:23 +10:00
Patrick Schleizer
fe5c840b79
bumped changelog version 2024-07-15 21:18:55 +00:00
Patrick Schleizer
6e63fc8985
Merge remote-tracking branch 'ben-grande/fuzz' 2024-07-15 17:14:25 -04:00
Patrick Schleizer
fe0846c8c2
fix
https://github.com/Kicksecure/security-misc/pull/234#discussion_r1678065395
2024-07-15 12:30:38 -04:00
Patrick Schleizer
94df2e3d24
further discussion required
https://github.com/Kicksecure/security-misc/pull/234#issuecomment-2228909249
2024-07-15 12:29:52 -04:00
Patrick Schleizer
41f0b53dd6
Merge remote-tracking branch 'raja/kernel_modules' 2024-07-15 12:28:03 -04:00
Raja Grewal
73f6d4b26f
Fix transcription error 2024-07-16 01:03:41 +10:00
Raja Grewal
724435e56e
Disable some Intel Platform Monitoring Technology Telemetry (PMT) modules 2024-07-15 22:38:43 +10:00
Raja Grewal
61941da375
Create disabled-intelpmt-by-security-misc 2024-07-15 22:38:09 +10:00
Raja Grewal
22ba7a7c39
Disable more Intel Management Engine (ME) modules 2024-07-15 22:21:20 +10:00
Raja Grewal
9300c208e2
Fix script 2024-07-15 21:36:25 +10:00
Raja Grewal
f2db11269e
Fix script 2024-07-15 21:18:32 +10:00
Raja Grewal
382f1e9ec0
Fix error 2024-07-15 21:13:25 +10:00
Raja Grewal
a8bc1144c3
Updated wording of error files for disabled modules 2024-07-15 21:10:13 +10:00
Raja Grewal
fda3832eaf
Replace bash file presented for disabling of miscellaneous modules 2024-07-15 21:08:45 +10:00
Raja Grewal
8219a1e257
Update README.md relating to disabled miscellaneous modules 2024-07-15 21:02:10 +10:00
Raja Grewal
cb2fb95b81
Disable more miscellaneous drivers 2024-07-15 21:01:36 +10:00
Raja Grewal
c52b1a3fd2
Create disabled-miscellaneous-by-security-misc 2024-07-15 20:58:45 +10:00
Raja Grewal
96aa63267a
Disable more Thunderbolt modules 2024-07-15 20:57:14 +10:00
Raja Grewal
51f7776bc8
Disable more network protocols/drivers 2024-07-15 20:56:12 +10:00
Raja Grewal
9e40ff0551
Disable more network file systems 2024-07-15 20:54:18 +10:00
Raja Grewal
82c5a93f7c
Disable another GPS module 2024-07-15 20:53:07 +10:00
Raja Grewal
99b0ce7948
Disable more file systems 2024-07-15 20:47:56 +10:00
Raja Grewal
4476a477a7
Provide option to disable more Bluetooth modules 2024-07-15 20:47:07 +10:00
Raja Grewal
e0696d02a2
Update security-misc.maintscript
Due to previous splitting IN b02230a783.
2024-07-15 20:46:04 +10:00
Raja Grewal
b2657bc61f
Improve docs 2024-07-15 15:05:00 +10:00
Raja Grewal
1c2afc1f25
Update presentation of the kernel.printk sysctl 2024-07-15 15:01:48 +10:00
Raja Grewal
c8385d82fb
Clarify instructions for increasing log verbosity 2024-07-15 14:57:40 +10:00
Raja Grewal
d229e8b04d
Fix link 2024-07-15 14:50:29 +10:00
Raja Grewal
fbfdb0fa99
Update security-misc.maintscript relating to grub 2024-07-15 14:40:03 +10:00
Raja Grewal
f4d652fa7b
Update presentation of quiet loglevel=0 2024-07-15 14:39:12 +10:00
Raja Grewal
69c8e84927
Fix typos 2024-07-15 14:38:21 +10:00
Raja Grewal
48e1ac4163
Remove the optional slub_debug parameter since it is no longer recommended 2024-07-15 02:04:25 +10:00
Raja Grewal
99038c7a06
Add option to disable support for x86 processes and syscalls in the future 2024-07-15 02:02:01 +10:00
Raja Grewal
f550fbe07c
Add option to disable the entire IPv6 stack functionality 2024-07-15 01:59:04 +10:00
Raja Grewal
a33d4cd099
Refactor existing kernel parameters for clarity 2024-07-15 01:56:25 +10:00
Raja Grewal
acd60e45d8
Add comment about enabling core dump files 2024-07-14 20:07:31 +10:00
Raja Grewal
5cf9afc215
Include optional sysctl's in README.md 2024-07-14 17:05:49 +10:00
Raja Grewal
2b9e174c9d
Remove empty lines 2024-07-14 16:22:52 +10:00
Raja Grewal
dd1741c4a1
Some documentation additions and fixes 2024-07-14 13:40:53 +10:00
Raja Grewal
565597c9a2
Minor documentation changes and fixes 2024-07-14 01:21:24 +10:00
Patrick Schleizer
5ba5a85ad0
bumped changelog version 2024-07-13 15:01:16 +00:00
Patrick Schleizer
ad860063ab
Merge remote-tracking branch 'raja/modprobe' 2024-07-13 10:55:45 -04:00
Raja Grewal
9f58266546
Move nf_conntrack_helper disabling into separate file 2024-07-13 23:32:01 +10:00
Raja Grewal
8f2ec75f81
Clarify README.mmd relating to module disabling 2024-07-13 23:30:55 +10:00
Raja Grewal
98580bb39a
Update modprobe presentation 2024-07-13 23:29:52 +10:00
Raja Grewal
2de3a79599
Refactor existing sysctl for clarity 2024-07-13 22:41:40 +10:00
Patrick Schleizer
f34b9d7c45
Merge remote-tracking branch 'raja/modules' 2024-07-13 06:14:43 -04:00
Raja Grewal
5f10cc8bcf
Update README.md relating to modprobe 2024-07-12 16:22:10 +10:00
Raja Grewal
41a3bf92fb
Sort 30_security-misc_disable.conf 2024-07-12 16:21:41 +10:00
Raja Grewal
f31dc8aebc
Fix error in error script 2024-07-12 16:21:03 +10:00
Raja Grewal
b02230a783
Split modprobe into blacklisted and disabled configurations 2024-07-12 02:42:37 +10:00
Raja Grewal
fc792ff232
Alphabetically sort existing modprobe 2024-07-12 02:29:36 +10:00
Raja Grewal
fe20f3240e
Refactor existing modprobe for clarity 2024-07-12 02:28:48 +10:00
Raja Grewal
275a4ffc11
Remove redundant disabled modules 2024-07-12 02:27:56 +10:00
Ben Grande
b7796a5334
Unify method to find SUID files 2024-07-11 11:04:22 +02:00
Patrick Schleizer
05c1711b16
bumped changelog version 2024-06-11 12:56:56 +00:00
Patrick Schleizer
e48115588c
Merge remote-tracking branch 'github-kicksecure/master' 2024-06-11 07:25:47 -04:00
Patrick Schleizer
cad8d85755
Merge pull request #227 from 3uryd1ce/fix-pam.d-path
fix(etc): delete typo in /etc/apparmor.d tunables
2024-06-11 07:25:07 -04:00
Ashlen
e198447866 fix(etc): delete typo in /etc/apparmor.d tunables
/etc/pam.d was present twice in a row ("/etc/pam.d//etc/pam.d") in this
file: /etc/apparmor.d/tunables/home.d/security-misc.
2024-06-08 22:17:05 -06:00
Patrick Schleizer
b316352ede
bumped changelog version 2024-06-01 18:13:08 +00:00
Patrick Schleizer
c815304026
readme 2024-06-01 14:12:57 -04:00
Patrick Schleizer
641e98e577
bumped changelog version 2024-06-01 17:35:04 +00:00
Patrick Schleizer
e0cd9579d6
remove duplicate fsckobjects = true from /etc/gitconfig 2024-06-01 13:32:13 -04:00
Patrick Schleizer
bbe64a0b79
bumped changelog version 2024-05-28 12:04:53 +00:00
Patrick Schleizer
ae24a97d4d
Merge remote-tracking branch 'github-kicksecure/master' 2024-05-28 08:02:21 -04:00
Patrick Schleizer
a735857852
Merge pull request #226 from Kicksecure/gitconfig
add `/etc/gitconfig` by default for better `git` security
2024-05-28 07:55:31 -04:00
Patrick Schleizer
4efa293f3b
add /etc/gitconfig by default for better git security
```
[core]
	symlinks = false

[transfer]
	fsckobjects = true
	fsckobjects = true
[fetch]
	fsckobjects = true
	fsckobjects = true
[receive]
	fsckobjects = true
	fsckobjects = true
```

+ additional suggestions as comments

fixes https://github.com/Kicksecure/security-misc/issues/225
2024-05-28 07:51:06 -04:00
Patrick Schleizer
bfca98ea89
bumped changelog version 2024-05-18 20:45:12 +00:00
Patrick Schleizer
eb82884fb2
Merge remote-tracking branch 'github-kicksecure/master' 2024-05-18 16:42:41 -04:00
Patrick Schleizer
12e006ef9c
Merge pull request #222 from raja-grewal/text
Update Readme and Copyright
2024-05-18 16:30:07 -04:00
raja-grewal
2f716050d1
Update README.md 2024-05-12 01:06:34 +00:00
Raja Grewal
1bb843ec38
Update Copyright (C) to 2024 2024-05-11 13:18:36 +10:00
Raja Grewal
dddac1dc40
Update README.md 2024-05-11 13:15:42 +10:00
Patrick Schleizer
5867b1b014
bumped changelog version 2024-05-10 11:20:36 +00:00
Patrick Schleizer
9b589bc311
comment 2024-05-10 06:49:34 -04:00
Patrick Schleizer
8d01fc2d35
chmod +x 2024-05-10 06:48:26 -04:00
Patrick Schleizer
8a28c1bc38
Merge remote-tracking branch 'github-kicksecure/master' 2024-05-10 06:48:04 -04:00
Patrick Schleizer
0f1119f326
Merge pull request #221 from raja-grewal/firewire
Disable Firewire Module
2024-05-10 06:45:57 -04:00
Patrick Schleizer
547757f451
Merge pull request #220 from raja-grewal/block_gps
Block Several GPS-related Modules
2024-05-10 06:45:34 -04:00
Patrick Schleizer
7b9fe44a20
Merge pull request #219 from raja-grewal/logging_martians
Revert Logging of Martians
2024-05-10 06:43:43 -04:00
Patrick Schleizer
62ea4dc176
Merge pull request #218 from raja-grewal/secure_cpu
More CPU Mitigations and Additional References
2024-05-10 06:43:15 -04:00
raja-grewal
677f75ae8e
Disable firewire-net module 2024-05-09 02:34:02 +00:00
raja-grewal
06f13bb766
Disable GPS modules like GNSS 2024-05-09 02:28:53 +00:00
raja-grewal
f3800a4e2b
Create disabled-gps-by-security-misc 2024-05-09 02:25:46 +00:00
raja-grewal
132b41ae73
Revert logging of martians 2024-05-09 02:16:50 +00:00
raja-grewal
4694268b8f
Remove a word 2024-05-05 12:52:51 +00:00
raja-grewal
8f7768ce96
Add vendor links 2024-05-05 12:50:39 +00:00
raja-grewal
0c031a29d3
RFDS mitigation on Intel Atom CPUs (including E-cores) 2024-05-01 13:55:09 +10:00
raja-grewal
1122b3402c
GDS mitigation for CPUs 2024-05-01 13:50:42 +10:00
raja-grewal
c002bd62e8
Clarify use of mitigations=auto 2024-05-01 13:49:34 +10:00
raja-grewal
d89d7e8ef8
Add reference for RETBleed 2024-05-01 13:49:00 +10:00
raja-grewal
015dcc4212
Add reference for SSB 2024-05-01 13:48:13 +10:00
raja-grewal
de4f4be947
Merge spectre mitigations 2024-05-01 13:47:40 +10:00
raja-grewal
965c8641fd
Update BHI mitigation reference 2024-05-01 13:47:02 +10:00
Patrick Schleizer
a9886a3119
bumped changelog version 2024-04-12 06:56:39 +00:00
Patrick Schleizer
5cbdf3c126
Merge remote-tracking branch 'github-kicksecure/master' 2024-04-12 02:54:17 -04:00
Patrick Schleizer
ab8b6da484
Merge pull request #216 from raja-grewal/spectre_bhi
BHI mitigation on Intel CPUs
2024-04-12 02:53:08 -04:00
raja-grewal
493576836c
BHI mitigation on Intel CPUs 2024-04-12 00:17:06 +10:00
Patrick Schleizer
7fba04d148
bumped changelog version 2024-04-01 06:56:45 +00:00
Patrick Schleizer
7dba3fb7be
no longer disable MSR by default
fixes https://github.com/Kicksecure/security-misc/issues/215
2024-04-01 02:56:27 -04:00
Patrick Schleizer
d9ac01ba5c
bumped changelog version 2024-03-18 15:10:10 +00:00
Patrick Schleizer
ecaa024f22
lower debugging 2024-03-18 11:01:56 -04:00
Patrick Schleizer
357ea5deab
bumped changelog version 2024-03-11 15:07:50 +00:00
Patrick Schleizer
0a018bdebc
Merge remote-tracking branch 'github-kicksecure/master' 2024-03-11 10:13:57 -04:00
Patrick Schleizer
0b81316300
Merge pull request #211 from wryMitts/patch-1
Create proc group on install
2024-03-11 10:12:46 -04:00
wryMitts
03ed546cd8
Create proc group on install
Fixes https://github.com/Kicksecure/security-misc/issues/210
2024-03-10 16:55:10 -04:00
Patrick Schleizer
57fc487e5e
bumped changelog version 2024-03-10 13:19:26 +00:00
Patrick Schleizer
a5206bde33
proc-hidepid.service add gid=proc
This allows users that are a member of the `proc` group to be excluded from `hidepid` protections.

https://github.com/Kicksecure/security-misc/issues/208
2024-03-10 08:44:53 -04:00
Patrick Schleizer
0f0d9ca2a4
bumped changelog version 2024-03-04 11:48:30 +00:00
Patrick Schleizer
6b76373395
fix panic-on-oops started every 10s in Qubes-Whonix
by changing from a /etc/profile.d etc. related mechanism to start to a systemd unit file based approach

Thanks to @marmarek for the bug report!

https://forums.whonix.org/t/panic-on-oops-started-every-10s/19450
2024-03-04 06:44:26 -05:00
Patrick Schleizer
af6c6971a7
comment 2024-03-04 06:33:51 -05:00
Patrick Schleizer
e013070e0b
newline 2024-03-04 06:33:21 -05:00
Patrick Schleizer
a5cc1774f2
bumped changelog version 2024-02-26 13:32:44 +00:00
Patrick Schleizer
808e72f24b
use long options
https://github.com/Kicksecure/security-misc/issues/172
2024-02-26 08:11:26 -05:00
Patrick Schleizer
2d1d1b246f
improve output
https://github.com/Kicksecure/security-misc/issues/172
2024-02-26 08:07:29 -05:00
Patrick Schleizer
d8f5376c4f
improve output
https://github.com/Kicksecure/security-misc/issues/172
2024-02-26 07:58:06 -05:00
Patrick Schleizer
cf84762a3a
improve output
https://github.com/Kicksecure/security-misc/issues/172
2024-02-26 07:52:41 -05:00
Patrick Schleizer
f2958bbfa5
comment 2024-02-26 07:49:30 -05:00
Patrick Schleizer
bc8f9edc31
Merge remote-tracking branch 'github-kicksecure/master' 2024-02-26 07:48:19 -05:00
Patrick Schleizer
b23d167342
Merge pull request #204 from DanWin/sysfs-mount
Make /sys hardening optional and allow access to /sys/fs to make polkit work
2024-02-26 07:46:02 -05:00
Patrick Schleizer
02d6f67741
bumped changelog version 2024-02-22 20:08:17 +00:00
Patrick Schleizer
d13d1aa7ec
comments 2024-02-22 15:07:53 -05:00
Patrick Schleizer
a1f898e3b3
bumped changelog version 2024-02-22 19:58:01 +00:00
Patrick Schleizer
c3dd178b19
output 2024-02-22 14:57:50 -05:00
Daniel Winzen
ef44ecea44
Add option to disabe /sys hardening 2024-02-22 17:27:46 +01:00
Daniel Winzen
3bc1765dbb
Allow access to /sys/fs for polkit 2024-02-22 17:27:45 +01:00
Patrick Schleizer
6b73e6c2a9
bumped changelog version 2024-02-22 16:07:16 +00:00
Patrick Schleizer
37a7abdf0c
ConditionKernelCommandLine=!remountsecure=0 2024-02-22 11:07:01 -05:00
Patrick Schleizer
eb3e0b9292
bumped changelog version 2024-02-22 14:52:55 +00:00
Patrick Schleizer
c0924321b8
fix systemd unit ExecStart 2024-02-22 09:52:36 -05:00
Patrick Schleizer
d148a769b7
bumped changelog version 2024-02-22 14:50:05 +00:00
Patrick Schleizer
6d7cf3c12a
output 2024-02-22 09:49:48 -05:00
Patrick Schleizer
f7831db197
do not exit non-zero if folder does not exist 2024-02-22 09:17:41 -05:00
Patrick Schleizer
5bdd7b8475
output 2024-02-22 09:14:52 -05:00
Patrick Schleizer
44a15cd97d
mount --make-private
https://github.com/Kicksecure/security-misc/issues/172
2024-02-22 09:13:56 -05:00
Patrick Schleizer
c0f98b05b6
comment
https://github.com/Kicksecure/security-misc/pull/202
2024-02-22 06:03:59 -05:00
Patrick Schleizer
1e1613aa93
allow /opt exec as usually optional binaries are placed there such as firefox
https://github.com/Kicksecure/security-misc/pull/202
2024-02-22 06:02:28 -05:00
Patrick Schleizer
7c7b4b24b4
fix home_noexec_maybe -> most_noexec_maybe
https://github.com/Kicksecure/security-misc/pull/202
2024-02-22 06:02:00 -05:00
Patrick Schleizer
38783faf60
add more bind mounts of mount options hardening
as suggested in https://github.com/Kicksecure/security-misc/pull/202
2024-02-22 05:58:53 -05:00
Patrick Schleizer
ad9d913902
bumped changelog version 2024-02-03 18:28:27 +00:00
Patrick Schleizer
02090da08c
Merge remote-tracking branch 'github-kicksecure/master' 2024-02-03 12:51:07 -05:00
Patrick Schleizer
ba13657d89
Merge pull request #197 from raja-grewal/mitigations
Additional Explicit CPU Mitigations
2024-02-03 12:50:28 -05:00
raja-grewal
b16c99ab62
Remove hardcoded spec_rstack_overflow setting 2024-01-29 13:39:40 +00:00
raja-grewal
139b10a9aa
Control RAS overflow mitigation on AMD Zen CPUs 2024-01-29 12:59:13 +00:00
raja-grewal
6c54e35027
Enable mitigations for RETBleed vulnerability and disable SMT 2024-01-29 12:58:51 +00:00
raja-grewal
4509a5fc95
Enable known mitigations for CPU vulnerabilities and disable SMT 2024-01-29 12:58:14 +00:00
raja-grewal
4231155efa
Add reference for kernel parameters 2024-01-29 12:57:48 +00:00
Patrick Schleizer
8037ce52f9
bumped changelog version 2024-01-25 13:59:29 +00:00
Patrick Schleizer
185bfe7497
use interest-noawait instead of interest-await
fixes https://github.com/Kicksecure/security-misc/issues/196
2024-01-25 06:54:36 -05:00
Patrick Schleizer
64e41b113c
bumped changelog version 2024-01-18 14:10:51 +00:00
Patrick Schleizer
1855fa08b1
readme 2024-01-18 08:54:39 -05:00
Patrick Schleizer
f0e2a82b55
bumped changelog version 2024-01-17 19:18:25 +00:00
Patrick Schleizer
314e5b490c
use wildcards
instead of outdated, incomplete list

https://github.com/Kicksecure/security-misc/issues/160
2024-01-17 14:03:09 -05:00
Patrick Schleizer
08619d6a73
minor RPM updates
https://github.com/Kicksecure/security-misc/issues/160
2024-01-17 13:59:36 -05:00
Patrick Schleizer
3048e0ac76
usrmerge
https://github.com/Kicksecure/security-misc/issues/190
2024-01-17 13:54:07 -05:00
Patrick Schleizer
5a6cd4c2ab
remove now empty /bin from copying since it is empty after usrmerge
https://github.com/Kicksecure/security-misc/issues/190
2024-01-17 13:51:30 -05:00
Patrick Schleizer
071b984a1e
sort -d
https://github.com/Kicksecure/security-misc/issues/190
2024-01-17 13:49:05 -05:00
Patrick Schleizer
011e55e3e5
remove duplicates after usrmerge
https://github.com/Kicksecure/security-misc/issues/190
2024-01-17 13:45:17 -05:00
Patrick Schleizer
0efee2f50f
usrmerge
fixes https://github.com/Kicksecure/security-misc/issues/190
2024-01-17 13:39:56 -05:00
Patrick Schleizer
18a06935e0
run permission hardener when new packages are install files to /usr or /opt
(basically anywhere)

fixes https://github.com/Kicksecure/security-misc/issues/189
2024-01-17 13:23:20 -05:00
Patrick Schleizer
66e6371221
bumped changelog version 2024-01-16 14:26:34 +00:00
Patrick Schleizer
0d78ecaee3
README 2024-01-16 09:26:21 -05:00
Patrick Schleizer
3ba8fe586e
update permission-hardener.service
Which is now only an additional opt-in systemd unit,
because permission-hardener is run by default at security-misc
package installation time.

https://github.com/Kicksecure/security-misc/pull/181
2024-01-16 09:23:54 -05:00
Patrick Schleizer
186f6015da
bumped changelog version 2024-01-16 14:14:18 +00:00
Patrick Schleizer
6aa55698ab
delete legacy folder /etc/permission-hardening.d if empty
https://github.com/Kicksecure/security-misc/pull/181
2024-01-16 09:10:59 -05:00
Patrick Schleizer
9cafd78fe2
rm_conffile /etc/permission-hardening.d
https://github.com/Kicksecure/security-misc/pull/181
2024-01-16 09:05:09 -05:00
Patrick Schleizer
fa53848b5c
bumped changelog version 2024-01-16 13:58:55 +00:00
Patrick Schleizer
4f7973bc56
comment 2024-01-16 08:56:26 -05:00
Patrick Schleizer
ed7c09fc46
permission-hardening -> permission-hardener migration
mv --verbose /var/lib/permission-hardening /var/lib/permission-hardener

https://github.com/Kicksecure/security-misc/pull/181
2024-01-16 08:45:13 -05:00
Patrick Schleizer
a90cd43631
fix postinst for new permission-hardener
https://github.com/Kicksecure/security-misc/pull/181
2024-01-16 08:32:52 -05:00
Patrick Schleizer
862bf6b5ab
Merge remote-tracking branch 'ben-grande/clean' 2024-01-16 08:19:28 -05:00
Patrick Schleizer
dc8d9eece3
bumped changelog version 2024-01-09 05:52:49 +00:00
Patrick Schleizer
1199871d7b
undo IPv6 privacy due to potential server issues
https://github.com/Kicksecure/security-misc/issues/184
2024-01-07 06:37:34 -05:00
Patrick Schleizer
128bb01b35
undo IPv6 privacy due to potential server issues
https://github.com/Kicksecure/security-misc/issues/184
2024-01-07 06:36:25 -05:00
Patrick Schleizer
df0f9d3267
README 2024-01-06 09:19:57 -05:00
Patrick Schleizer
86f91e3030
revert umask 027 by default
because broken because this also happens for root while it should not

https://github.com/Kicksecure/security-misc/issues/185
2024-01-06 09:11:54 -05:00
Patrick Schleizer
3f1304403f
disable MAC randomization in Network Manager (NM) because it breaks VirtualBox DHCP
https://github.com/Kicksecure/security-misc/issues/184
2024-01-06 08:15:31 -05:00
Patrick Schleizer
e8f8dcd0fb
bumped changelog version 2024-01-04 02:03:26 +00:00
Patrick Schleizer
70a86fa994
Merge remote-tracking branch 'github-kicksecure/master' 2024-01-03 05:12:48 -05:00
Patrick Schleizer
71060f1f53
Merge pull request #182 from raja-grewal/io_uring
Clarify validity of disabling io_uring
2024-01-03 05:00:41 -05:00
Raja Grewal
74afcc9c63
Clarify validity of disabling io_uring 2024-01-03 17:52:23 +11:00
Ben Grande
bc02c72018
Fix unbound variable
- Run messages preceded by INFO;
- Comment unknown unused variables;
- Remove unnecessary variables; and
- Deal with unbound variable due to subshell by writing to a file;
2024-01-02 17:08:45 +01:00
Patrick Schleizer
db0503e71d
bumped changelog version 2024-01-02 14:55:13 +00:00
Ben Grande
abf72c2ee4
Rename file permission hardening script
Hardener as the script is the agent that is hardening the file
permissions.
2024-01-02 13:34:29 +01:00
Ben Grande
f138cf0f78
Refactor permission-hardener
- Organize comments from default configuration;
- Apply and undo changes from a single file controlled by parameters;
- Arrays should be evaluated as arrays and not normal variables;
- Quote variables;
- Brackets around variables;
- Standardize test cases to "test" command;
- Test against empty or non-empty variables with "-z" and "-n";
- Show a usage message when necessary;
- Require root to run the script with informative message;
- Permit the user to see the help message without running as root;
- Do not create root directories without passing root check;
- Use long options for "set" command;
2024-01-02 12:17:16 +01:00
Patrick Schleizer
a94f2a3f46
Merge remote-tracking branch 'github-kicksecure/master' 2024-01-02 05:30:49 -05:00
Patrick Schleizer
8daf97ab01
Merge pull request #178 from raja-grewal/io_uring
Disable asynchronous I/O
2024-01-02 05:29:35 -05:00
Patrick Schleizer
94c0e26a08
bumped changelog version 2023-12-29 20:15:50 +00:00
Patrick Schleizer
5b36599c0c
/dev/, /dev/shm, /tmp
https://github.com/Kicksecure/security-misc/issues/157#issuecomment-1869073716
2023-12-29 14:57:38 -05:00
Patrick Schleizer
e15596e7af
bumped changelog version 2023-12-25 16:28:10 +00:00
Patrick Schleizer
f64a869bfd
readme 2023-12-25 11:03:22 -05:00
Patrick Schleizer
c86c83cef7
formatting
https://github.com/Kicksecure/security-misc/issues/157
2023-12-25 10:31:58 -05:00
Patrick Schleizer
971ff687b1
do not mount /dev/cdrom by default
https://github.com/Kicksecure/security-misc/issues/157
2023-12-25 10:30:35 -05:00
Patrick Schleizer
9fce67fcd9
remove superfluous, broken remount mount option
https://github.com/Kicksecure/security-misc/issues/157
2023-12-25 10:28:47 -05:00
Patrick Schleizer
40fd8cb608
no nofail mount option to avoid breaking the boot of a system
unit testing belongs elsewhere

https://github.com/Kicksecure/security-misc/issues/157
2023-12-25 09:51:09 -05:00
Patrick Schleizer
4aa645f29f
comment
https://github.com/Kicksecure/security-misc/issues/157
2023-12-25 09:46:33 -05:00
Patrick Schleizer
2b7aeedb4a
mount /dev/cdrom to /mnt/cdrom (instead of /mnt/cdrom0) and
nodev,nosuid,noexec

as per:
https://www.debian.org/doc/manuals/securing-debian-manual/ch04s10.en.html

https://github.com/Kicksecure/security-misc/issues/157
2023-12-25 09:44:51 -05:00
Patrick Schleizer
0d9e9780da
formatting
https://github.com/Kicksecure/security-misc/issues/157
2023-12-25 09:37:14 -05:00
Patrick Schleizer
00f9ab4394
/dev devtmpfs
https://github.com/Kicksecure/security-misc/issues/157
2023-12-25 09:36:05 -05:00
Patrick Schleizer
55709b3aa0
/tmp tmpfs
https://github.com/Kicksecure/security-misc/issues/157
2023-12-25 09:30:57 -05:00
Patrick Schleizer
b0dd967611
usrmerge
https://github.com/Kicksecure/security-misc/issues/157
2023-12-25 09:28:08 -05:00
Patrick Schleizer
269fada14a
combine bind lines
https://github.com/Kicksecure/security-misc/issues/157
2023-12-25 09:25:14 -05:00
Patrick Schleizer
0810c1ce3c
fix bluetooth in readme
fixes https://github.com/Kicksecure/security-misc/issues/180
2023-12-25 09:10:31 -05:00
Patrick Schleizer
37b4ab15a8
readme 2023-12-25 09:04:10 -05:00
Patrick Schleizer
79f398d219
formatting 2023-12-25 08:45:20 -05:00
Patrick Schleizer
c90ada3c39
pandoc -f markdown -t markdown --wrap=auto --columns=80 README.md -o README.md 2023-12-25 08:37:23 -05:00
Patrick Schleizer
34bf297bd1
formatting 2023-12-25 08:32:34 -05:00
Patrick Schleizer
d5fc9f6201
improve bluetooth in readme
as suggested by @monsieuremre

https://github.com/Kicksecure/security-misc/issues/180
2023-12-25 08:26:03 -05:00
Patrick Schleizer
7fa597deca
bumped changelog version 2023-12-22 16:31:58 +00:00
Patrick Schleizer
f70a034da2
exclude hardened malloc from SUID disabler
fixes https://github.com/Kicksecure/security-misc/issues/179
2023-12-22 08:31:58 -05:00
Raja Grewal
f055fe5da2
Disable asynchronous I/O
io_uring creation is disabled for all processes. io_uring_setup always fails with -EPERM. Existing io_uring instances can still be used.
2023-12-15 08:33:36 +00:00
Patrick Schleizer
99f2edd4f6
bumped changelog version 2023-12-12 16:51:21 +00:00
Patrick Schleizer
039de1dc9b
add hardened fstab /usr/share/doc/security-misc/fstab-vm
to the documentation folder as an example

not directly used by security-misc

will later be used by Kicksecure VM build process

https://github.com/Kicksecure/security-misc/issues/157
2023-12-12 11:50:11 -05:00
Patrick Schleizer
dcaafa6c8b
bumped changelog version 2023-12-04 17:06:45 +00:00
Patrick Schleizer
5a73817a95
move to /usr/lib/issue.d/20_security-misc.issue
https://github.com/Kicksecure/security-misc/pull/167
2023-12-04 11:38:49 -05:00
Patrick Schleizer
dfaea492c7
remove etc/issue.net.d/20_security-misc
since not mentioned on debian.org
2023-12-04 11:37:02 -05:00
Patrick Schleizer
69c895af09
Merge remote-tracking branch 'github-kicksecure/master' 2023-12-04 11:27:53 -05:00
Patrick Schleizer
36850f89fb
Merge pull request #167 from monsieuremre/patch-4
Non-Identifiable and Generic Issue Banners that include the Recommended Keywords
2023-12-04 11:27:16 -05:00
Patrick Schleizer
c9ea7a4dca
use amd_iommu=force_isolation instead of amd_iommu=force_enable
because we set `iommu=force` already anyhow

fixes https://github.com/Kicksecure/security-misc/issues/175
2023-12-04 11:02:55 -05:00
Patrick Schleizer
e83c1d7ed6
Merge remote-tracking branch 'github-kicksecure/master' 2023-12-04 11:01:02 -05:00
Patrick Schleizer
befd21e0c0
Merge pull request #176 from monsieuremre/patch-1
Iommu Kernel Parameters
2023-12-04 11:00:29 -05:00
Patrick Schleizer
c4e21ca5f4
added development philosophy
https://github.com/Kicksecure/security-misc/issues/154
2023-12-04 10:58:16 -05:00
Patrick Schleizer
feab1432f9
clarify scope
https://github.com/Kicksecure/security-misc/issues/154
2023-12-04 10:48:27 -05:00
Patrick Schleizer
dc04040cb3
typo 2023-12-04 10:36:48 -05:00
Patrick Schleizer
2634dbff2b
shuffle 2023-12-04 10:36:21 -05:00
monsieuremre
f2ad8383cf
fix 2023-12-03 19:51:38 +00:00
monsieuremre
dd15823a97
undo superfluousness 2023-12-03 19:50:07 +00:00
monsieuremre
83e13bb62d
Update 40_enable_iommu.cfg 2023-12-03 19:42:34 +00:00
monsieuremre
0d7af9707f
Update 20_security-misc 2023-12-03 19:31:12 +00:00
monsieuremre
04d27a10b0
Update 20_security-misc 2023-12-03 19:30:55 +00:00
monsieuremre
7963f811e1
Merge branch 'Kicksecure:master' into patch-4 2023-12-03 19:30:22 +00:00
Patrick Schleizer
82bd9138de
bumped changelog version 2023-11-20 13:13:10 +00:00
Patrick Schleizer
c2b3ff5243
moved libpam-tmpdir dependency to kicksecure-meta-packages
https://github.com/Kicksecure/security-misc/pull/147
2023-11-20 04:40:28 -05:00
monsieuremre
c8b9f5a917
net 2023-11-18 10:03:19 +00:00
monsieuremre
3b614f3753
20_security-misc 2023-11-18 10:02:16 +00:00
monsieuremre
7c8b9b2946
30_security-misc.conf 2023-11-17 17:14:01 +00:00
monsieuremre
7d31e17fc5
usbguard 2023-11-17 17:02:41 +00:00
Patrick Schleizer
4e4df5dd7c
bumped changelog version 2023-11-11 22:29:57 +00:00
Patrick Schleizer
a51674410c
fix 2023-11-11 17:29:37 -05:00
Patrick Schleizer
8d58077d68
bumped changelog version 2023-11-11 20:22:34 +00:00
Patrick Schleizer
5b85a0b34d
license 2023-11-11 14:46:35 -05:00
Patrick Schleizer
7757080519
change license to AGPL-3+
https://forums.whonix.org/t/license-change-to-agplv3/17455
2023-11-11 13:41:28 -05:00
Patrick Schleizer
20f804f19c
bumped changelog version 2023-11-06 17:28:21 -05:00
Patrick Schleizer
a1e00be0e0
update link 2023-11-06 16:58:23 -05:00
Patrick Schleizer
5bb357cac0
spice-client-glib-usb-acl-helper matchwhitelist 2023-11-06 16:55:00 -05:00
Patrick Schleizer
7309445ee5
comment 2023-11-06 16:52:27 -05:00
Patrick Schleizer
f09d97fc9e
whitelist VirtualBox 2023-11-06 16:50:19 -05:00
Patrick Schleizer
64c8c7a8d5
whitelist SSH 2023-11-06 16:47:31 -05:00
Patrick Schleizer
9682b51d54
whitelist virtualbox 2023-11-06 16:44:36 -05:00
Patrick Schleizer
a40b9bc095
comments 2023-11-06 16:40:22 -05:00
Patrick Schleizer
2c1a3da433
VirtualBoxVM matchwhitelist 2023-11-06 16:38:50 -05:00
Patrick Schleizer
4e96ffaabb
chrome-sandbox matchwhitelist 2023-11-06 16:37:19 -05:00
Patrick Schleizer
df5f3e8056
output 2023-11-06 16:36:22 -05:00
Patrick Schleizer
72f6e6bb9c
output 2023-11-06 16:28:23 -05:00
Patrick Schleizer
3bc831a1f7
lintian 2023-11-06 16:27:29 -05:00
Patrick Schleizer
fd1f38b2eb
remount-secure systemd unit
https://github.com/Kicksecure/security-misc/pull/152
2023-11-06 16:22:42 -05:00
Patrick Schleizer
79f9c1fb3a
add sysinit-post.target
https://github.com/Kicksecure/security-misc/pull/152
2023-11-06 15:48:09 -05:00
Patrick Schleizer
2de5ab4120
clarify scope of application specific hardening
fixes https://github.com/Kicksecure/security-misc/issues/154
2023-11-06 13:47:30 -05:00
Patrick Schleizer
5a96616b39
bumped changelog version 2023-11-05 21:13:14 -05:00
Patrick Schleizer
ad079ac5cc
readme
https://github.com/Kicksecure/security-misc/pull/152
2023-11-05 20:55:55 -05:00
Patrick Schleizer
be023c7722
readme
https://github.com/Kicksecure/security-misc/issues/159
2023-11-05 20:54:43 -05:00
Patrick Schleizer
e1f413c1ee
disable harden-module-loading.service for now
due to issues

https://github.com/Kicksecure/security-misc/issues/159
2023-11-05 20:53:26 -05:00
Patrick Schleizer
f2ea1abc9b
comment 2023-11-05 20:53:03 -05:00
Patrick Schleizer
95d1cfb4a0
Revert "remove no longer required remount-service systemd unit"
This reverts commit 479ab61a1d.

https://github.com/Kicksecure/security-misc/pull/152
2023-11-05 20:49:36 -05:00
Patrick Schleizer
24b4d59ce4
bumped changelog version 2023-11-05 20:14:33 -05:00
Patrick Schleizer
4482f1841c
newline 2023-11-05 20:13:14 -05:00
Patrick Schleizer
c5167c8f0d
fix systemd unit
https://github.com/Kicksecure/security-misc/issues/159
2023-11-05 20:12:03 -05:00
Patrick Schleizer
2571bbf315
duplicate 2023-11-05 18:42:25 -05:00
Patrick Schleizer
aa17087883
update path 2023-11-05 18:42:08 -05:00
Patrick Schleizer
d203e539aa
bumped changelog version 2023-11-05 18:17:59 -05:00
Patrick Schleizer
4ebab940c7
description too long, fixed 2023-11-05 17:56:35 -05:00
Patrick Schleizer
ad010ef5b4
debugging 2023-11-05 17:52:44 -05:00
Patrick Schleizer
826e76d037
bumped changelog version 2023-11-05 17:43:33 -05:00
Patrick Schleizer
3130a39d8c
set -e 2023-11-05 17:43:07 -05:00
Patrick Schleizer
18a2d814cc
Merge remote-tracking branch 'github-kicksecure/master' 2023-11-05 17:42:28 -05:00
Patrick Schleizer
36f3c30440
Merge pull request #148 from monsieuremre/module-loading-hardening
Harden the loading of new modules to the kernel after install
2023-11-05 17:41:56 -05:00
Patrick Schleizer
4fda9d2e84
bumped changelog version 2023-11-05 16:46:18 -05:00
Patrick Schleizer
4219347f0a
fix permission-hardener config parsing issue 2023-11-05 16:43:44 -05:00
Patrick Schleizer
e72f79236b
refactoring 2023-11-05 16:41:41 -05:00
Patrick Schleizer
dea0d9a78a
fix permission-hardener config parsing issue 2023-11-05 16:40:49 -05:00
Patrick Schleizer
017ae18ad7
fix permission-hardener config parsing issue 2023-11-05 16:39:10 -05:00
Patrick Schleizer
65e3c14643
fix permission-hardener config parsing issue 2023-11-05 16:35:11 -05:00
Patrick Schleizer
40e536a9be
bumped changelog version 2023-11-05 16:04:03 -05:00
Patrick Schleizer
51decff2fd
exclude qfile-unpacker from permission hardener 2023-11-05 16:03:36 -05:00
Patrick Schleizer
52b6e92e00
bumped changelog version 2023-11-05 15:58:21 -05:00
Patrick Schleizer
1900c1ab07
pam exclude from permission-hardener 2023-11-05 15:57:49 -05:00
Patrick Schleizer
76e3a3c5f9
bumped changelog version 2023-11-05 15:29:38 -05:00
Patrick Schleizer
d4494fd3c3
disable remount-secure dracut modules
pending new systemd based implementation

https://github.com/Kicksecure/security-misc/pull/152
2023-11-05 15:27:09 -05:00
Patrick Schleizer
949c163370
bumped changelog version 2023-11-05 15:14:43 -05:00
Patrick Schleizer
4a19fbae0b
move permission-hardening to /usr/bin to make it more easily accessible 2023-11-05 15:13:01 -05:00
Patrick Schleizer
c75f80b29f
lower verbosity of permission hardener
fixes https://github.com/Kicksecure/security-misc/issues/158
2023-11-05 15:09:29 -05:00
Patrick Schleizer
0544657123
bumped changelog version 2023-11-05 14:56:06 -05:00
Patrick Schleizer
42be631023
readme 2023-11-05 14:54:05 -05:00
Patrick Schleizer
55ba5d4832
renamed: usr/lib/NetworkManager/conf.d/99_ipv6-privacy.conf -> usr/lib/NetworkManager/conf.d/80_ipv6-privacy.conf
renamed:    usr/lib/NetworkManager/conf.d/99_randomize-mac.conf -> usr/lib/NetworkManager/conf.d/80_randomize-mac.conf
renamed:    usr/lib/systemd/networkd.conf.d/99_ipv6-privacy-extensions.conf -> usr/lib/systemd/networkd.conf.d/80_ipv6-privacy-extensions.conf
2023-11-05 14:51:31 -05:00
Patrick Schleizer
eab5d7d4ec
cleanup 2023-11-05 14:50:13 -05:00
Patrick Schleizer
811d1cd0dd
Merge remote-tracking branch 'github-kicksecure/master' 2023-11-05 14:49:43 -05:00
Patrick Schleizer
5a75bcfb19
Merge pull request #145 from monsieuremre/wifi-and-bluetooth
Wifi and Bluetooth Patch | Security and Privacy
2023-11-05 14:49:00 -05:00
Patrick Schleizer
93437952b4
readme 2023-11-05 14:41:01 -05:00
Patrick Schleizer
f32b543887
Merge remote-tracking branch 'github-kicksecure/master' 2023-11-05 14:38:20 -05:00
Patrick Schleizer
4946f85d43
Merge pull request #146 from monsieuremre/thunderbird
Thunderbird Hardening
2023-11-05 14:37:47 -05:00
Patrick Schleizer
56b90eecbf
Merge remote-tracking branch 'github-kicksecure/master' 2023-11-05 14:35:23 -05:00
Patrick Schleizer
817ca116f6
Merge pull request #153 from monsieuremre/readme
Updated Readme
2023-11-05 14:34:13 -05:00
Patrick Schleizer
3178677584
Merge remote-tracking branch 'github-kicksecure/master' 2023-11-05 14:32:21 -05:00
Patrick Schleizer
d9b5d770cf
Merge pull request #150 from monsieuremre/sysreq
Disable SysRq by default
2023-11-05 14:31:26 -05:00
Patrick Schleizer
dcead44cc6
output 2023-11-05 11:32:46 -05:00
Patrick Schleizer
f6bf69b41f
update link 2023-11-05 11:31:09 -05:00
monsieuremre
2e64d89b04
undo unnecessary manual activation 2023-11-04 21:18:45 +00:00
monsieuremre
19eceaa810
more fix 2023-11-04 20:56:46 +00:00
monsieuremre
a187d23c41
big fix 2023-11-04 20:56:08 +00:00
monsieuremre
fbd9e5d017
README.md 2023-11-04 14:33:35 +00:00
Patrick Schleizer
97054b2b10
revert enabling kernel module signature enforcement
due to issues

https://forums.whonix.org/t/enforce-kernel-module-software-signature-verification-module-signing-disallow-kernel-module-loading-by-default/7880/63

https://github.com/dell/dkms/issues/359
2023-11-03 15:55:17 -04:00
Patrick Schleizer
978e3e4abd
readme 2023-11-03 14:53:40 -04:00
Patrick Schleizer
0242c04dc2
port to DKMS drop-in folder
undisplace /etc/dkms/framework.conf.security-misc
moved to /etc/dkms/framework.conf.d/30_security-misc.conf
2023-11-03 14:51:14 -04:00
Patrick Schleizer
d1b5a3ffd5
/usr/sbin/pam-tmpdir-helper exactwhitelist
https://github.com/Kicksecure/security-misc/pull/147
2023-11-03 12:55:34 -04:00
Patrick Schleizer
48adb44c6f
bumped changelog version 2023-11-03 12:17:24 -04:00
Patrick Schleizer
b6d53f698d
Revert "allow loading unsigned modules due to issues"
This reverts commit 661bcd8603.
2023-11-03 12:17:00 -04:00
Patrick Schleizer
04b210ee88
bumped changelog version 2023-11-03 12:10:48 -04:00
Patrick Schleizer
5e73f78ed9
Merge remote-tracking branch 'github-kicksecure/master' 2023-11-03 12:10:33 -04:00
Patrick Schleizer
8e66a41778
Merge pull request #147 from monsieuremre/PAM-tmp-files-hardening
Depend on libpam-tmpdir for very solid extra security
2023-11-03 12:10:00 -04:00
Patrick Schleizer
7dc99d54c0
fix 2023-11-03 12:09:39 -04:00
Patrick Schleizer
2a602e78d6
Merge branch 'master' into PAM-tmp-files-hardening 2023-11-03 12:08:50 -04:00
Patrick Schleizer
ceffd2b3ee
bumped changelog version 2023-11-03 12:06:43 -04:00
Patrick Schleizer
cdd66ee376
wrap-and-sort 2023-11-03 10:48:46 -04:00
Patrick Schleizer
c33a3d9aad
readme 2023-11-03 10:44:48 -04:00
Patrick Schleizer
d71ac03d96
comment 2023-11-03 10:36:15 -04:00
Patrick Schleizer
8326aecdb4
bumped changelog version 2023-11-03 10:33:02 -04:00
Patrick Schleizer
b85d48eb83
do not change default umask for root
since this causes permission issues in `/etc/`

https://github.com/Kicksecure/security-misc/pull/151
2023-11-03 10:31:59 -04:00
Patrick Schleizer
07540db90d
Revert "Revert "set default umask to 027""
This reverts commit f8913ceb2e.
2023-11-03 09:45:12 -04:00
Patrick Schleizer
f8913ceb2e
Revert "set default umask to 027"
This reverts commit cd216095eb.
2023-11-03 09:43:44 -04:00
Patrick Schleizer
43bd789c30
bumped changelog version 2023-11-03 09:28:08 -04:00
Patrick Schleizer
cd216095eb
set default umask to 027
using package libpam-umask

https://www.debian.org/doc/manuals/securing-debian-manual/ch04s11.en.html#id-1.5.14.19

https://github.com/Kicksecure/security-misc/pull/151
2023-11-03 09:12:24 -04:00
monsieuremre
ac224b270a
disable sysrq 2023-11-02 13:01:55 +00:00
monsieuremre
07882f61a8
enable service on install
not sure if this would be the right way to do it
2023-11-02 10:44:19 +00:00
monsieuremre
9f063584c1
disable-kernel-module-loading 2023-11-02 10:28:41 +00:00
monsieuremre
3e604618a8
harden-module-loading.service 2023-11-02 10:24:35 +00:00
monsieuremre
3ee4be652b
depend on libpam-tmpdir 2023-11-02 09:36:58 +00:00
monsieuremre
1abac794b5
very secure and private defaults 2023-11-02 09:15:20 +00:00
monsieuremre
5a583ca48c
typo in file name 2023-11-02 08:30:26 +00:00
monsieuremre
229032d691
Rename etc/systemd/networkd.conf.d/99_ipv6-privacy-extensions.conf to usr/lib/systemd/networkd.conf.d/99_ipv6-privacy-extensions.conf 2023-11-01 17:54:05 +00:00
monsieuremre
1049298e7b
Update and rename etc/NetworkManager/conf.d/99_randomize-mac.conf to usr/lib/NetworkManager/conf.d/99_randomize-mac.conf 2023-11-01 17:52:40 +00:00
monsieuremre
76e684cc0a
Update and rename etc/NetworkManager/conf.d/99_ipv6-privacy.conf to usr/lib/NetworkManager/conf.d/99_ipv6-privacy.conf 2023-11-01 17:51:27 +00:00
Patrick Schleizer
a768f1f1eb
bumped changelog version 2023-11-01 12:26:21 -04:00
Patrick Schleizer
bb14a05852
Merge remote-tracking branch 'github-kicksecure/master' 2023-11-01 11:11:54 -04:00
Patrick Schleizer
44906e8f39
Merge pull request #142 from monsieuremre/patch-5
ssh config
2023-11-01 11:11:27 -04:00
Patrick Schleizer
5ed2a5ce4a
bumped changelog version 2023-11-01 11:10:36 -04:00
Patrick Schleizer
bb1161986b
Merge remote-tracking branch 'github-kicksecure/master' 2023-11-01 10:31:04 -04:00
Patrick Schleizer
b7cddd6e55
Merge pull request #143 from monsieuremre/patch-6
new lines 990-security-misc.conf
2023-11-01 10:30:26 -04:00
monsieuremre
fc8e201e84
rename 2023-10-27 14:49:24 +00:00
monsieuremre
90a88225a4
security-misc.maintscript 2023-10-27 14:38:31 +00:00
monsieuremre
13b4ddbb62
30_security-misc.conf 2023-10-27 14:34:21 +00:00
monsieuremre
b298d152fc
30_security-misc.conf 2023-10-27 14:32:08 +00:00
monsieuremre
3d4b04fddc
99_ipv6-privacy.conf 2023-10-27 12:35:39 +00:00
monsieuremre
e90f62eaab
99_randomize_mac.conf 2023-10-27 12:34:15 +00:00
monsieuremre
604d839537
99_ipv6-privacy-extensions.conf 2023-10-27 12:30:26 +00:00
monsieuremre
c975c3c0ff
new lines 990-security-misc.conf
added new recommended hardening settings with comments
2023-10-27 11:07:53 +00:00
monsieuremre
f2c23a2831
ssh config 2023-10-27 10:53:45 +00:00
Patrick Schleizer
7d576842fb
bumped changelog version 2023-10-26 20:08:41 -04:00
Patrick Schleizer
7cff267002
remove duplicates 2023-10-26 19:31:14 -04:00
Patrick Schleizer
928cdb81d4
Merge remote-tracking branch 'github-kicksecure/master' 2023-10-26 19:29:55 -04:00
Patrick Schleizer
39fed058f4
Merge pull request #140 from monsieuremre/patch-3
New lines in default permission config
2023-10-26 19:27:41 -04:00
Patrick Schleizer
a330a9fd75
refactor permission-lockdown 2023-10-26 19:20:21 -04:00
Patrick Schleizer
8bf5ff82be
Merge remote-tracking branch 'github-kicksecure/master' 2023-10-26 19:15:04 -04:00
Patrick Schleizer
92a6ecc40a
Merge pull request #141 from monsieuremre/patch-4
New permission-lockdown
2023-10-26 19:13:34 -04:00
Patrick Schleizer
1123d23114
remount-secure: disable debugging to save space in initrd 2023-10-26 18:45:07 -04:00
monsieuremre
91c445244c
actually we do it once indeed 2023-10-26 19:41:07 +00:00
monsieuremre
88f396264c
avoiding /etc/passwd 2023-10-26 19:35:59 +00:00
monsieuremre
b5ba03247a
readability 2023-10-26 19:31:25 +00:00
monsieuremre
f487752ba1
not limiting ourselves. we do not do this not just once. 2023-10-26 19:30:58 +00:00
monsieuremre
88cd5a905d
strip unnecessary 2023-10-26 19:25:24 +00:00
monsieuremre
d9f10c221a
new permission-lockdown 2023-10-26 18:17:50 +00:00
monsieuremre
99355c6169
new lines 30_default.conf 2023-10-26 17:45:28 +00:00
Patrick Schleizer
ca9603af17
bumped changelog version 2023-10-26 12:23:48 -04:00
Patrick Schleizer
5f4222c1c3
enable SUID Disabler and Permission Hardener by default
https://www.kicksecure.com/wiki/SUID_Disabler_and_Permission_Hardener

https://forums.whonix.org/t/suid-disabler-and-permission-hardener/7706
2023-10-26 12:20:48 -04:00
Patrick Schleizer
e5d989af5a
comment 2023-10-26 12:04:13 -04:00
Patrick Schleizer
8557e0963e
bumped changelog version 2023-10-25 17:55:37 -04:00
Patrick Schleizer
b7e2d49f5f
comment 2023-10-25 17:41:05 -04:00
Patrick Schleizer
5d71217e59
Merge remote-tracking branch 'github-kicksecure/master' 2023-10-25 17:40:13 -04:00
Patrick Schleizer
6a22351d29
renamed: usr/lib/sysctl.d/30_security-misc.conf -> usr/lib/sysctl.d/990-security-misc.conf 2023-10-25 17:30:07 -04:00
Patrick Schleizer
b7c52800f4
renamed: etc/sysctl.d/30_security-misc.conf -> usr/lib/sysctl.d/30_security-misc.conf
renamed:    etc/sysctl.d/30_security-misc_kexec-disable.conf -> usr/lib/sysctl.d/30_security-misc_kexec-disable.conf
renamed:    etc/sysctl.d/30_silent-kernel-printk.conf -> usr/lib/sysctl.d/30_silent-kernel-printk.conf
2023-10-25 17:28:43 -04:00
Patrick Schleizer
a2f811aff0
Merge pull request #135 from monsieuremre/kernel-fix
Kernel hardening fix
2023-10-25 17:26:46 -04:00
monsieuremre
ee6716e178
security-misc.maintscript 2023-10-24 20:43:10 +00:00
Patrick Schleizer
3317332cb4
bumped changelog version 2023-10-24 05:51:11 -04:00
Patrick Schleizer
42c802cd1e
Merge remote-tracking branch 'github-kicksecure/master' 2023-10-24 05:30:15 -04:00
Patrick Schleizer
5320c11f3f
Merge pull request #134 from monsieuremre/patch-1
Fix double mount issue for /var/log and /var/tmp
2023-10-24 05:22:33 -04:00
monsieuremre
1f489719ef
rename 2023-10-23 16:38:58 +00:00
monsieuremre
9dda6f69a7
more rename 2023-10-23 16:38:40 +00:00
monsieuremre
89381fe7ab
rename 2023-10-23 16:38:23 +00:00
monsieuremre
f0857fd560
Fix double mount issue for /var/log and /var/tmp
Mounting var with bind and mounting a subdirectory causes /var/tmp and /var/log bind mounted twice each. can be checked with lsblk. When we bind mount var only after having mounted the subdirectories, everything is mounted only one.
2023-10-23 15:33:05 +00:00
Patrick Schleizer
f3b40f12cb
bumped changelog version 2023-10-22 19:23:22 -04:00
Patrick Schleizer
d2e8a6dad3
debugging 2023-10-22 19:21:51 -04:00
Patrick Schleizer
e7aafd64d4
refactoring 2023-10-22 19:16:12 -04:00
Patrick Schleizer
ee15f749bb
bumped changelog version 2023-10-22 16:54:58 -04:00
Patrick Schleizer
d521662d04
comment 2023-10-22 16:49:36 -04:00
Patrick Schleizer
0e80acf38d
fix 2023-10-22 16:45:10 -04:00
Patrick Schleizer
a1c3b87fce
bumped changelog version 2023-10-22 16:29:08 -04:00
Patrick Schleizer
f6d1346e2b
fix 2023-10-22 16:22:08 -04:00
Patrick Schleizer
9a649ddd09
bumped changelog version 2023-10-22 16:16:40 -04:00
Patrick Schleizer
11382881b5
comments 2023-10-22 16:12:26 -04:00
Patrick Schleizer
5182d7502b
improve remount-secure 2023-10-22 16:08:21 -04:00
Patrick Schleizer
555d83792d
bumped changelog version 2023-10-22 15:44:47 -04:00
Patrick Schleizer
a88c0a3ad2
fix 2023-10-22 15:44:30 -04:00
Patrick Schleizer
316282952f
bumped changelog version 2023-10-22 15:40:59 -04:00
Patrick Schleizer
a7629b98cf
fix 2023-10-22 15:40:49 -04:00
Patrick Schleizer
7112eac3be
output 2023-10-22 15:37:21 -04:00
Patrick Schleizer
f80b5fe376
fix 2023-10-22 15:36:16 -04:00
Patrick Schleizer
ce0babce21
comment 2023-10-22 15:35:03 -04:00
Patrick Schleizer
fa0804b7ae
bumped changelog version 2023-10-22 15:33:21 -04:00
Patrick Schleizer
70cbe4daaa
fix 2023-10-22 15:33:11 -04:00
Patrick Schleizer
36f2acb93f
bumped changelog version 2023-10-22 15:28:04 -04:00
Patrick Schleizer
9b9e9ce1c0
fix 2023-10-22 15:27:01 -04:00
Patrick Schleizer
3731716a49
fix 2023-10-22 15:14:22 -04:00
Patrick Schleizer
eec87a0508
fix 2023-10-22 15:11:26 -04:00
Patrick Schleizer
f3286cf440
fix 2023-10-22 15:10:21 -04:00
Patrick Schleizer
eb90d38d8c
fix 2023-10-22 15:05:33 -04:00
Patrick Schleizer
f440209738
bumped changelog version 2023-10-22 14:46:42 -04:00
Patrick Schleizer
7f03c2b137
fix 2023-10-22 14:45:45 -04:00
Patrick Schleizer
c85db586ca
improve 2023-10-22 14:44:58 -04:00
Patrick Schleizer
7c0ea4324a
fix 2023-10-22 14:39:52 -04:00
Patrick Schleizer
b29b626b41
bumped changelog version 2023-10-22 14:30:28 -04:00
Patrick Schleizer
6198ae317c
fix 2023-10-22 14:29:02 -04:00
Patrick Schleizer
245fad0986
fix 2023-10-22 14:00:06 -04:00
Patrick Schleizer
619f1705e1
output 2023-10-22 13:58:55 -04:00
Patrick Schleizer
52fa7db087
output 2023-10-22 13:57:38 -04:00
Patrick Schleizer
8a592c2e37
fix remountsecure kernel parameter logic 2023-10-22 13:56:17 -04:00
Patrick Schleizer
3c183294cd
bumped changelog version 2023-10-22 13:31:55 -04:00
Patrick Schleizer
e689f38ad0
todo 2023-10-22 13:31:44 -04:00
Patrick Schleizer
6675a2e931
fix 2023-10-22 13:30:50 -04:00
Patrick Schleizer
4288e10554
fix, rework remount-secure kernel parameters parsing 2023-10-22 13:25:31 -04:00
Patrick Schleizer
b0181af099
fix 2023-10-22 13:12:25 -04:00
Patrick Schleizer
28cb53341d
remount-secure dracut module: improve output 2023-10-22 13:11:44 -04:00
Patrick Schleizer
f70f36e6cf
bumped changelog version 2023-10-22 12:55:41 -04:00
Patrick Schleizer
479ab61a1d
remove no longer required remount-service systemd unit 2023-10-22 12:55:20 -04:00
Patrick Schleizer
84ca0ac8a0
improve remount-secure 2023-10-22 12:54:25 -04:00
Patrick Schleizer
1696c37251
bumped changelog version 2023-10-22 11:28:18 -04:00
Patrick Schleizer
e7d30955e8
debugging 2023-10-22 11:28:08 -04:00
Patrick Schleizer
975a017dec
bumped changelog version 2023-10-22 11:13:05 -04:00
Patrick Schleizer
8eb4607a0e
improve 2023-10-22 11:12:54 -04:00
Patrick Schleizer
f1da0ce746
fix 2023-10-22 11:11:10 -04:00
Patrick Schleizer
26826e8398
fix 2023-10-22 11:06:34 -04:00
Patrick Schleizer
a423b85f81
bumped changelog version 2023-10-22 10:50:30 -04:00
Patrick Schleizer
233fa4625b
output 2023-10-22 10:49:53 -04:00
Patrick Schleizer
3ebe8cf4de
refactoring 2023-10-22 10:41:42 -04:00
Patrick Schleizer
24d2e26397
no longer reproducible 2023-10-22 10:40:19 -04:00
Patrick Schleizer
fcba70df2e
refactoring 2023-10-22 10:38:48 -04:00
Patrick Schleizer
a05bd3dd0e
/home last because most likely to fail 2023-10-22 10:37:02 -04:00
Patrick Schleizer
41077c94fb
improve remount-secure 2023-10-22 10:32:24 -04:00
Patrick Schleizer
ef69e512bd
refactoring 2023-10-22 10:25:57 -04:00
Patrick Schleizer
d5cb7ecec9
use findmnt 2023-10-22 10:22:21 -04:00
Patrick Schleizer
1120d0652d
bumped changelog version 2023-10-22 10:16:53 -04:00
Patrick Schleizer
45ce0ff74d
debugging 2023-10-22 10:16:43 -04:00
Patrick Schleizer
b81a991731
fix 2023-10-22 10:15:11 -04:00
Patrick Schleizer
292a5c3a8a
fix 2023-10-22 10:11:31 -04:00
Patrick Schleizer
bb57b1a289
fix 2023-10-22 10:10:51 -04:00
Patrick Schleizer
4f6f45fb39
bumped changelog version 2023-10-22 10:01:54 -04:00
Patrick Schleizer
181a642479
root check 2023-10-22 10:01:38 -04:00
Patrick Schleizer
84fd41931c
/var/run -> /run 2023-10-22 09:44:17 -04:00
Patrick Schleizer
33d97a2560
improve output of remount-secure dracut module 2023-10-22 09:39:54 -04:00
Patrick Schleizer
c409e3221e
implement remount-secure 2023-10-22 09:36:03 -04:00
Patrick Schleizer
f472ce690a
comments 2023-10-22 08:57:35 -04:00
Patrick Schleizer
90f2b5e11c
code simplification 2023-10-22 08:51:37 -04:00
Patrick Schleizer
167683ce76
code simplification 2023-10-22 08:50:57 -04:00
Patrick Schleizer
05e9accf64
bumped changelog version 2023-10-22 08:12:30 -04:00
Patrick Schleizer
e065f85c88
add remount-secure dracut module 2023-10-22 08:10:48 -04:00
Patrick Schleizer
f0ee470ecd
comment 2023-10-22 07:51:05 -04:00
Patrick Schleizer
e257f2a380
remount-secure:
no longer use /usr/libexec/helper-scripts/pre.bsh as not simple with dracut
2023-10-22 07:50:14 -04:00
Patrick Schleizer
27b3ba8bdf
bumped changelog version 2023-10-22 07:06:00 -04:00
Patrick Schleizer
ed11c68ac6
move remount-secure to /usr/bin/remount-secure to make it easier to manually run 2023-10-22 06:51:52 -04:00
Patrick Schleizer
6f4bf57ff2
remount-secure: add support for --force; output 2023-10-22 06:48:56 -04:00
Patrick Schleizer
6dec5cb1d6
debugging 2023-10-22 06:32:19 -04:00
Patrick Schleizer
bc768aa196
output 2023-10-22 06:31:57 -04:00
Patrick Schleizer
c069c73109
refactoring 2023-10-22 06:29:38 -04:00
Patrick Schleizer
abc3592734
remount-secure: stricter error handling 2023-10-22 06:23:48 -04:00
Patrick Schleizer
59a5fea25d
documentation 2023-10-22 05:41:56 -04:00
Patrick Schleizer
ac63b0eb3d
remove duplicate 2023-10-22 05:41:11 -04:00
Patrick Schleizer
ef3f157573
bumped changelog version 2023-10-21 14:19:24 -04:00
Patrick Schleizer
ae2c1c5a7a
fix xession environment variable 2023-10-21 14:18:50 -04:00
Patrick Schleizer
43375fa1f4
bumped changelog version 2023-10-21 12:34:59 -04:00
Patrick Schleizer
d543825d85
comments 2023-10-21 12:24:59 -04:00
Patrick Schleizer
dd43ab634d
bumped changelog version 2023-10-13 15:22:58 -04:00
Patrick Schleizer
645ee814e4
fix 2023-10-13 15:22:48 -04:00
Patrick Schleizer
13a4f37e50
bumped changelog version 2023-10-12 12:51:37 -04:00
Patrick Schleizer
2d45241084
avoid duplicate environment variables 2023-10-12 11:37:01 -04:00
Patrick Schleizer
e96e6aa38e
bumped changelog version 2023-10-12 10:43:40 -04:00
Patrick Schleizer
fa820e8978
refactoring environment variables loading mechanism 2023-10-12 10:40:27 -04:00
Patrick Schleizer
358e4226f1
bumped changelog version 2023-07-17 11:48:35 -04:00
Patrick Schleizer
81ad786dfc
Kicksecure 2023-07-17 11:19:07 -04:00
Patrick Schleizer
ab56b7ca0c
Kicksecure 2023-07-17 11:10:05 -04:00
Patrick Schleizer
29aaf13c13
bumped changelog version 2023-06-23 08:18:12 +00:00
Patrick Schleizer
8a6baea990
comment 2023-06-22 16:16:15 +00:00
Patrick Schleizer
609c8c0697
bumped changelog version 2023-06-21 09:36:44 +00:00
Patrick Schleizer
94a326ec7f
bookworm 2023-06-21 09:11:31 +00:00
Patrick Schleizer
b610cdcbcd
bumped changelog version 2023-06-16 11:09:02 +00:00
Patrick Schleizer
0c56d3d9d2
readme 2023-06-16 10:49:05 +00:00
Patrick Schleizer
63599a09d7
bumped changelog version 2023-06-14 09:59:20 +00:00
Patrick Schleizer
25760f7024
bookworm 2023-06-13 08:34:41 +00:00
Patrick Schleizer
be990188f5
bumped changelog version 2023-06-12 18:01:55 +00:00
Patrick Schleizer
07b3ce0bcd
Standards-Version: 4.6.1.0 2023-06-12 16:22:32 +00:00
Patrick Schleizer
4e28ace103
bumped changelog version 2023-05-15 17:31:59 +00:00
Patrick Schleizer
b11a336b4f
Merge remote-tracking branch 'github-kicksecure/master' 2023-05-15 16:58:11 +00:00
Patrick Schleizer
b0b73db3c8
Merge pull request #126 from raja-grewal/Comment
Update comments
2023-05-15 12:57:46 -04:00
Raja Grewal
cf003dfad8
Update comments 2023-05-16 02:11:44 +10:00
Patrick Schleizer
c921d4e915
bumped changelog version 2023-05-15 11:56:30 +00:00
Patrick Schleizer
39676395f8
Merge remote-tracking branch 'github-kicksecure/master' 2023-05-15 11:34:57 +00:00
Patrick Schleizer
1f38fcfefa
Merge pull request #125 from JeremyRand/typo
mmap-rnd-bits: Fix typo in error message
2023-05-15 07:34:16 -04:00
Patrick Schleizer
d66a9bac55
Merge pull request #124 from JeremyRand/doc-aslr
README: Document mmap-rnd-bits
2023-05-15 07:34:00 -04:00
Jeremy Rand
6ab400c9d9
mmap-rnd-bits: Fix typo in error message 2023-05-09 10:55:31 +00:00
Jeremy Rand
9d23717b6d
README: Document mmap-rnd-bits 2023-05-08 13:45:18 +00:00
Patrick Schleizer
6511dac1d4
bumped changelog version 2023-05-06 12:00:12 +00:00
Patrick Schleizer
0c10b3f038
output 2023-05-06 11:59:59 +00:00
Patrick Schleizer
a815c9b986
bumped changelog version 2023-05-06 11:54:31 +00:00
Patrick Schleizer
5d4d04a2eb
output 2023-05-06 11:54:00 +00:00
Patrick Schleizer
2d465c6249
refactoring 2023-05-06 11:51:25 +00:00
Patrick Schleizer
b756314eb8
bumped changelog version 2023-05-05 15:09:32 +00:00
Patrick Schleizer
014a28ba07
comment 2023-05-05 15:04:21 +00:00
Patrick Schleizer
ec01c1a996
minor mmap-rnd-bits improvements 2023-05-05 15:02:31 +00:00
Patrick Schleizer
3dc406f138
minor 2023-05-05 15:01:22 +00:00
Patrick Schleizer
40e940ec58
minor mmap-rnd-bits improvements 2023-05-05 14:54:24 +00:00
Patrick Schleizer
f4fd0f9012
minor mmap-rnd-bits improvements 2023-05-05 14:53:07 +00:00
Patrick Schleizer
a8e4121bef
minor mmap-rnd-bits improvements 2023-05-05 14:52:07 +00:00
Patrick Schleizer
9184e6bb92
fix 2023-05-05 14:51:19 +00:00
Patrick Schleizer
89168ef40c
minor mmap-rnd-bits improvements 2023-05-05 14:49:56 +00:00
Patrick Schleizer
d6d79e96c9
minor mmap-rnd-bits improvements 2023-05-05 14:44:29 +00:00
Patrick Schleizer
15d0ee1008
Merge remote-tracking branch 'github-kicksecure/master' 2023-05-05 14:37:34 +00:00
Patrick Schleizer
2d40bbc8fe
Merge pull request #120 from JeremyRand/aslr-ppc64le
vm.mmap_rnd_bits: Fix ppc64le
2023-05-05 10:14:43 -04:00
Jeremy Rand
48a68ba237
mmap-rnd-bits: Handle unwritable /etc/sysctl.d/ 2023-04-24 23:07:40 +00:00
Jeremy Rand
434cfb427f
mmap-rnd-bits: Check that configs are valid integers 2023-04-24 23:07:40 +00:00
Jeremy Rand
76ca8a27f9
mmap-rnd-bits: Handle missing kernel config file 2023-04-24 23:07:40 +00:00
Jeremy Rand
2cf105700a
postinst: Don't fail if mmap-rnd-bits fails 2023-04-24 23:07:40 +00:00
Jeremy Rand
61f63255ac
vm.mmap_rnd_bits: Fix ppc64le
Probably fixes a bunch of other non-x86_64 arches too.
2023-04-24 23:07:39 +00:00
Patrick Schleizer
5c6db28881
Merge pull request #122 from raja-grewal/tcp
Remove outdated comment about SACK, DSACK, and FACK
2023-03-31 04:52:55 -04:00
Patrick Schleizer
8a34d6c067
Merge pull request #121 from raja-grewal/copyright
Update Copyright
2023-03-31 04:52:18 -04:00
Raja Grewal
ed5f8be9eb
Remove outdated comment about SACK, DSACK, and FACK 2023-03-30 19:17:43 +11:00
Raja Grewal
7a4212dd76
Update copyright 2023-03-30 17:08:47 +11:00
Patrick Schleizer
1137e6c910
bumped changelog version 2023-01-30 05:58:47 -05:00
Patrick Schleizer
8c3204a5e4
comment 2023-01-25 15:20:30 -05:00
Patrick Schleizer
65c29f493b
move kexec disabling to dedicated file /etc/sysctl.d/30_security-misc_kexec-disable.conf
so ram-wipe can `config-package-dev` `hide` this config file
2023-01-25 15:13:19 -05:00
Patrick Schleizer
56c7c57b3a
bumped changelog version 2023-01-24 07:09:40 -05:00
Patrick Schleizer
b87d9eb865
lintian 2023-01-24 07:08:13 -05:00
Patrick Schleizer
a482008650
bumped changelog version 2023-01-24 07:05:53 -05:00
Patrick Schleizer
7bda2ad3e8
move ram-wipe scripts to dedicated ram-wipe package 2023-01-24 06:34:17 -05:00
Patrick Schleizer
11d0bb2c00
bumped changelog version 2023-01-09 07:05:18 -05:00
Patrick Schleizer
c506652187
fix 2023-01-09 07:05:06 -05:00
Patrick Schleizer
b3d85f115c
bumped changelog version 2023-01-09 07:02:01 -05:00
Patrick Schleizer
6faa050dd8
migrate ram-wipe to dedicated package 2023-01-09 06:54:04 -05:00
Patrick Schleizer
ad5d0d4b12
disable kexec (revert enabling kexec)
remove kexec-utils for ram-wipe since moved to its own package
2023-01-09 06:37:45 -05:00
Patrick Schleizer
87c4e77c01
migrate to ram-wipe package 2023-01-09 06:23:00 -05:00
Patrick Schleizer
3867acf723
bumped changelog version 2023-01-09 05:34:48 -05:00
Patrick Schleizer
d769099db1
use warn instead of info for now
because dracut does not show info messages when kernel parameter quiet is set
2023-01-09 05:34:07 -05:00
Patrick Schleizer
7fa6946694
bumped changelog version 2023-01-08 07:17:02 -05:00
Patrick Schleizer
f3b84e15be
refactoring 2023-01-08 07:16:18 -05:00
Patrick Schleizer
96d6ca7ae0
improve kernel and initrd file detection 2023-01-08 07:09:09 -05:00
Patrick Schleizer
8367b27a0d
output 2023-01-08 07:08:18 -05:00
Patrick Schleizer
da0fc9f5bd
improve kernel and initrd file detection 2023-01-08 07:07:43 -05:00
Patrick Schleizer
5b11eecaec
refactoring 2023-01-08 06:45:10 -05:00
Patrick Schleizer
e81dd6cd25
bumped changelog version 2023-01-07 18:13:57 -05:00
Patrick Schleizer
938b87d26c
comment 2023-01-07 18:06:10 -05:00
Patrick Schleizer
0b1310a219
output 2023-01-07 18:05:47 -05:00
Patrick Schleizer
2fd302f580
output 2023-01-07 18:02:21 -05:00
Patrick Schleizer
921bc3e867
bumped changelog version 2023-01-07 17:49:24 -05:00
Patrick Schleizer
080abe574b
output 2023-01-07 17:48:21 -05:00
Patrick Schleizer
5689c07f97
comment 2023-01-07 17:37:46 -05:00
Patrick Schleizer
8e2db269b0
cleanup 2023-01-07 17:36:51 -05:00
Patrick Schleizer
a07af63155
output 2023-01-07 17:35:56 -05:00
Patrick Schleizer
1d22ebde08
bumped changelog version 2023-01-07 17:23:35 -05:00
Patrick Schleizer
539156c0da
drop_caches 2023-01-07 17:23:25 -05:00
Patrick Schleizer
02f44459ad
DRACUT_QUIET=no 2023-01-07 17:22:45 -05:00
Patrick Schleizer
abbaea582d
bumped changelog version 2023-01-07 17:16:23 -05:00
Patrick Schleizer
ab89d0e06e
cleanup 2023-01-07 16:59:00 -05:00
Patrick Schleizer
2e833b40a1
prevent "wait: pid 55 is not a child of this shell" 2023-01-07 16:43:09 -05:00
Patrick Schleizer
3777ecba85
comment 2023-01-07 16:34:19 -05:00
Patrick Schleizer
e0ded5e69d
comment 2023-01-07 16:34:04 -05:00
Patrick Schleizer
996c6af2d8
lower debugging 2023-01-07 16:31:23 -05:00
Patrick Schleizer
4fca8f4225
comment 2023-01-07 16:28:11 -05:00
Patrick Schleizer
fa579cad89
bumped changelog version 2023-01-07 16:20:48 -05:00
Patrick Schleizer
c9107bb044
debugging 2023-01-07 16:11:48 -05:00
Patrick Schleizer
b7bb24f984
description 2023-01-07 16:09:11 -05:00
Patrick Schleizer
2bd9cc5bc1
output 2023-01-07 16:08:12 -05:00
Patrick Schleizer
2456fed361
output 2023-01-07 16:00:42 -05:00
Patrick Schleizer
c0b5fea680
protect against wipe RAM reboot loop 2023-01-07 15:59:52 -05:00
Patrick Schleizer
c1b87d250c
bumped changelog version 2023-01-07 15:37:47 -05:00
Patrick Schleizer
91aedb234a
output 2023-01-07 15:36:36 -05:00
Patrick Schleizer
368ad8e636
cleanup 2023-01-07 15:36:05 -05:00
Patrick Schleizer
d8bf40f7a2
refactoring 2023-01-07 15:35:45 -05:00
Patrick Schleizer
166a6863a1
output 2023-01-07 15:35:15 -05:00
Patrick Schleizer
20596488be
long options 2023-01-07 15:34:20 -05:00
Patrick Schleizer
1e19c2cbad
Depends: kexec-tools
required for cold boot attack defense second RAM wipe after reboot
2023-01-07 15:32:25 -05:00
Patrick Schleizer
b0630f58c1
debugging 2023-01-07 15:24:05 -05:00
Patrick Schleizer
dde01f3663
long options 2023-01-07 15:23:23 -05:00
Patrick Schleizer
6e0926eece
long options 2023-01-07 15:22:58 -05:00
Patrick Schleizer
51a5f68c76
refactoring 2023-01-07 15:22:25 -05:00
Patrick Schleizer
83800fcb4f
--no-legend 2023-01-07 15:18:58 -05:00
Patrick Schleizer
822cf64618
output 2023-01-07 15:13:36 -05:00
Patrick Schleizer
bb2f0a3c44
minor 2023-01-07 15:12:15 -05:00
Patrick Schleizer
c3a822af0e
test if readable 2023-01-07 15:09:25 -05:00
Patrick Schleizer
227871c12c
output 2023-01-07 15:07:34 -05:00
Patrick Schleizer
c09f4da192
code simplification 2023-01-07 15:06:56 -05:00
Patrick Schleizer
01fee8a7b4
refactoring 2023-01-07 15:06:31 -05:00
Patrick Schleizer
f675f8da0d
quotes 2023-01-07 15:05:58 -05:00
Patrick Schleizer
d0daf75db3
quotes 2023-01-07 15:05:24 -05:00
Patrick Schleizer
8bcf7e3c23
minor 2023-01-07 15:04:57 -05:00
Patrick Schleizer
2cc3c6c59c
lower debugging 2023-01-07 15:04:42 -05:00
Patrick Schleizer
10932bb5d8
minor 2023-01-07 15:04:23 -05:00
Patrick Schleizer
c88e95ce33
output 2023-01-07 15:04:07 -05:00
Patrick Schleizer
06034d2e4f
fix 2023-01-07 15:03:06 -05:00
Patrick Schleizer
059ebb212d
comment 2023-01-07 14:35:30 -05:00
Patrick Schleizer
c0304ec029
minor 2023-01-07 14:35:09 -05:00
Patrick Schleizer
d5271d6250
bumped changelog version 2023-01-07 14:31:40 -05:00
Patrick Schleizer
d31c17ea04
fix 2023-01-07 14:31:14 -05:00
Patrick Schleizer
41d116aa2f
lintian 2023-01-07 14:30:12 -05:00
Patrick Schleizer
e83ba18553
minor 2023-01-07 14:29:12 -05:00
Patrick Schleizer
53ab93d8f6
bumped changelog version 2023-01-07 14:27:42 -05:00
Patrick Schleizer
bb121e52bb
chmod +x 2023-01-07 14:27:22 -05:00
Patrick Schleizer
42ab341a58
bumped changelog version 2023-01-07 12:57:36 -05:00
Patrick Schleizer
d37b19fb6b
comment 2023-01-07 12:55:05 -05:00
Patrick Schleizer
0367250dc7
comment 2023-01-07 12:54:35 -05:00
Patrick Schleizer
c1df2fd601
comment 2023-01-07 12:52:14 -05:00
Patrick Schleizer
c2b20603fd
output 2023-01-07 12:49:18 -05:00
Patrick Schleizer
999a82ed94
output 2023-01-07 12:46:21 -05:00
Patrick Schleizer
2860560edb
minor 2023-01-07 12:43:07 -05:00
Patrick Schleizer
450ff378b0
Merge remote-tracking branch 'friedy10/master' 2023-01-07 12:38:14 -05:00
Friedrich Doku
b8e82fffca Get rid of /dev/kmsg 2023-01-07 11:31:02 -05:00
Friedrich Doku
78a4fad667 Change echo to info. Included more reliable way of getting initrd and kernel. Allow user custom kexec 2023-01-07 11:14:31 -05:00
Friedrich Doku
8da3b9c40c fix last line 2023-01-06 21:40:17 -05:00
Friedrich Doku
7cf51a1b43 Checking job queue instead of dbus 2023-01-06 21:32:57 -05:00
Friedrich Doku
4b7053a635
Update wipe-ram.sh 2023-01-06 13:53:28 -05:00
Friedrich Doku
779ad24b57
Update wipe-ram-needshutdown.sh 2023-01-06 13:53:18 -05:00
Friedrich Doku
d45ba826bc
Update module-setup.sh 2023-01-06 13:53:10 -05:00
Friedrich Doku
b3d4314a06
Update wipe-ram.sh 2023-01-06 13:52:51 -05:00
Friedrich Doku
3387725017
Update wipe-ram-needshutdown.sh 2023-01-06 13:52:42 -05:00
Friedrich Doku
ec68ee6ded
Update module-setup.sh 2023-01-06 13:52:32 -05:00
Friedrich Doku
014d10b977
Update cold-boot-attack-defense-kexec-prepare.service 2023-01-06 13:52:09 -05:00
Friedrich Doku
62dcdcf764
Update cold-boot-attack-defense-kexec-prepare 2023-01-06 13:51:45 -05:00
Friedrich Doku
f463750920
Update cold-boot-attack-defense-kexec-prepare.service 2023-01-06 13:48:22 -05:00
Friedrich Doku
14abfbfccd
Update cold-boot-attack-defense-kexec-prepare 2023-01-06 13:48:03 -05:00
Friedrich Doku
37a5264696
Update wipe-ram.sh 2023-01-06 13:47:34 -05:00
Friedrich Doku
7ac45acd0f
Update wipe-ram-needshutdown.sh 2023-01-06 13:47:23 -05:00
Friedrich Doku
114a37fcd3
Update module-setup.sh 2023-01-06 13:47:14 -05:00
Friedrich Doku
1eeb32b7b9
Update wipe-ram.sh 2023-01-06 13:47:01 -05:00
Friedrich Doku
c5accc5ad1
Update wipe-ram-needshutdown.sh 2023-01-06 13:46:51 -05:00
Friedrich Doku
f9ebc3cfa8
Update module-setup.sh 2023-01-06 13:46:40 -05:00
Friedrich Doku
28687092ef
Update cold-boot-attack-defense-kexec-prepare 2023-01-06 12:52:36 -05:00
Friedrich Doku
d67d3c1d7d
Update wipe-ram.sh 2023-01-06 12:51:18 -05:00
Friedrich Doku
7fa64d6842
Update wipe-ram-needshutdown.sh 2023-01-06 12:50:58 -05:00
Friedrich Doku
14c7239681
Update module-setup.sh 2023-01-06 12:50:42 -05:00
Friedrich Doku
73913ea5af Added checks 2023-01-06 12:49:34 -05:00
Friedrich Doku
a7015f4ddf added files 2023-01-06 10:50:34 -05:00
Patrick Schleizer
929f49f333
bumped changelog version 2022-12-18 14:37:51 -05:00
Patrick Schleizer
75beb52bd5
Merge remote-tracking branch 'github-kicksecure/master' 2022-12-18 06:24:41 -05:00
Patrick Schleizer
58b622f0fe
Merge pull request #114 from raja-grewal/framebuffer
Add some framebuffer drivers into blacklist
2022-12-18 06:23:26 -05:00
Raja Grewal
f81714be50
Merge branch 'Kicksecure:master' into framebuffer 2022-12-13 05:14:56 +00:00
Raja Grewal
d67845fea8
Typo 2022-12-13 16:11:24 +11:00
Patrick Schleizer
98f753d8ff
bumped changelog version 2022-11-24 07:21:58 -05:00
Patrick Schleizer
6d7a782624
fix 2022-11-24 07:21:46 -05:00
Patrick Schleizer
421f03ae9e
fix 2022-11-24 07:20:56 -05:00
Patrick Schleizer
ad1e722879
bumped changelog version 2022-11-24 07:00:33 -05:00
Patrick Schleizer
a806c782d7
fix 2022-11-24 07:00:23 -05:00
Patrick Schleizer
4601e106c4
bumped changelog version 2022-11-24 06:49:26 -05:00
Patrick Schleizer
39b35ef9ac
fix 2022-11-24 06:49:15 -05:00
Patrick Schleizer
73963a9e68
bumped changelog version 2022-11-24 06:31:37 -05:00
Patrick Schleizer
d05c101721
debugging 2022-11-24 06:31:24 -05:00
Patrick Schleizer
36454c2dbf
debugging 2022-11-24 06:25:47 -05:00
Patrick Schleizer
e06b173a1b
debugging 2022-11-24 06:24:14 -05:00
Patrick Schleizer
97722d1926
bumped changelog version 2022-11-24 06:14:15 -05:00
Patrick Schleizer
497b5b4544
fix 2022-11-24 06:14:04 -05:00
Raja Grewal
6f695902fb
Add comment about legacy Apple fiesystems 2022-11-23 23:53:40 +11:00
Patrick Schleizer
d7222b5678
bumped changelog version 2022-11-22 06:03:13 -05:00
Patrick Schleizer
e5255a630a
pam-info: support non-root environments (such as during graphical display manager login and xscreensaver) 2022-11-22 05:57:30 -05:00
Patrick Schleizer
d419898ee4
bumped changelog version 2022-11-17 10:15:36 -05:00
Patrick Schleizer
09e6af5c08
pam-info refactoring 2022-11-16 02:01:23 -05:00
Patrick Schleizer
caf0099064
pam-info refactoring 2022-11-16 02:00:32 -05:00
Patrick Schleizer
487f63bb01
comment 2022-11-16 01:56:01 -05:00
Patrick Schleizer
f59f959a8d
pam-info fix 2022-11-16 01:55:14 -05:00
Patrick Schleizer
ae113442a1
pam-info refactoring 2022-11-16 01:49:45 -05:00
Patrick Schleizer
bb6b509d06
pam-info refactoring 2022-11-16 01:44:21 -05:00
Patrick Schleizer
e5d7ab7082
comment 2022-11-15 12:44:12 -05:00
Patrick Schleizer
23b936b573
also support /usr/local/etc/pam-info-debug 2022-11-15 12:31:14 -05:00
Patrick Schleizer
95487346db
pam-info: create debug log file ~/pam-info-debug.txt
when file /etc/pam-info-debug exists
2022-11-15 12:29:41 -05:00
Patrick Schleizer
2872c2ab52
comments 2022-11-15 12:00:59 -05:00
Patrick Schleizer
6033de7815
debugging 2022-11-15 11:58:50 -05:00
Raja Grewal
daa30d4e78
Include several framebuffer drivers into blacklist
These were previously commented out to test for compatibility issues.
2022-11-09 20:43:59 +11:00
Patrick Schleizer
2319458e9f
bumped changelog version 2022-08-24 18:28:39 -04:00
Patrick Schleizer
cdfc175953
Merge remote-tracking branch 'github-kicksecure/master' 2022-08-22 06:09:30 -04:00
Patrick Schleizer
ae4d4989b0
Merge pull request #113 from raja-grewal/master
Comment out machine check exception
2022-08-22 06:09:40 -04:00
Raja Grewal
d500205f55
Update README.md 2022-08-21 23:03:13 +10:00
Raja Grewal
92669dba18
Comment out machine check exception 2022-08-21 23:02:44 +10:00
Patrick Schleizer
ff8451469a
bumped changelog version 2022-08-13 11:40:04 -04:00
Patrick Schleizer
272a33fe2c
addgroup -> adduser fix 2022-08-13 11:35:25 -04:00
Patrick Schleizer
7d5246693c
bumped changelog version 2022-08-12 07:52:26 -04:00
Patrick Schleizer
82da4ed18f
comments 2022-07-28 09:56:24 -04:00
Patrick Schleizer
a6bee1493d
cold-boot-attack-defense wait longer to make messages readable by user 2022-07-28 09:55:12 -04:00
Patrick Schleizer
1095949523
bumped changelog version 2022-07-26 10:00:53 -04:00
Patrick Schleizer
053142cdb5
fix 2022-07-26 10:00:21 -04:00
Patrick Schleizer
73f6523e09
bumped changelog version 2022-07-23 08:07:37 -04:00
Patrick Schleizer
0c5b1e9f57
undo "force kernel to panic on "oopses"
because implemented differently already

https://forums.whonix.org/t/set-oops-panic-kernel-parameter-or-kernel-panic-on-oops-1-sysctl-for-better-security/7713
2022-07-23 07:49:56 -04:00
Patrick Schleizer
c1c04b4619
Merge remote-tracking branch 'github-kicksecure/master' 2022-07-23 07:43:19 -04:00
Patrick Schleizer
bfe6b88839
Merge pull request #111 from raja-grewal/harden
Increased kernel hardening at boot
2022-07-23 07:27:24 -04:00
Raja Grewal
ca764d8de0
force kernel to panic on "oopses" 2022-07-20 04:06:35 +10:00
Raja Grewal
1660aaa6dd
update details around disabling SMT 2022-07-19 03:38:41 +10:00
Raja Grewal
bfd78a2c06
update SRBDS mitigation 2022-07-19 03:16:08 +10:00
Raja Grewal
c3ebb9160f
CPU mitigation - MMIO Stale Data 2022-07-19 02:33:16 +10:00
Raja Grewal
59e90ff122
CPU mitigation - L1D FLushing 2022-07-19 02:32:41 +10:00
Raja Grewal
8531fbf99d
CPU mitigation - SRBDS 2022-07-19 02:30:49 +10:00
Raja Grewal
73f1e23332
shuffle and rewording 2022-07-19 02:29:46 +10:00
Raja Grewal
39314b2912
Merge branch 'harden' of https://github.com/raja-grewal/security-misc into harden 2022-07-19 00:49:08 +10:00
Raja Grewal
bb831d57bc
delete repeated commands 2022-07-19 00:38:32 +10:00
Raja Grewal
c77a2a78bc
enforce default net.ipv6.icmp_ignore_bogus_error_responses 2022-07-19 00:37:31 +10:00
Raja Grewal
c4a1094760
Merge branch 'Kicksecure:master' into harden 2022-07-18 13:36:23 +00:00
Patrick Schleizer
465775c9dc
bumped changelog version 2022-07-16 08:00:16 -04:00
Patrick Schleizer
1fafb5f53b
Merge remote-tracking branch 'github-kicksecure/master' 2022-07-15 08:09:16 -04:00
Patrick Schleizer
27aa5231e2
Merge pull request #112 from raja-grewal/blacklist
Corrected kernel module disabling
2022-07-15 08:06:08 -04:00
Raja Grewal
a72bbb1883
Corrected kerenl module disabling 2022-07-13 23:42:13 +10:00
Patrick Schleizer
24d6a93eac
bumped changelog version 2022-07-13 08:28:34 -04:00
Raja Grewal
2b237039cf
Update README.md 2022-07-13 22:25:53 +10:00
Patrick Schleizer
8f31e5d1d1
Merge remote-tracking branch 'github-kicksecure/master' 2022-07-13 07:26:58 -04:00
Patrick Schleizer
c410890a8a
Merge pull request #110 from raja-grewal/master
Incorporated Ubuntu’s kernel module blacklists and more verbose errors
2022-07-13 07:24:12 -04:00
Raja Grewal
4e93b4d37e
Revert "enforce defualt net.ipv4.ip_forward"
This reverts commit 57b5b2145c.
2022-07-13 21:10:39 +10:00
Raja Grewal
a47922ad28
enforce of IOMMU TLB invalidation 2022-07-13 04:47:07 +10:00
Raja Grewal
33df16af80
disables random.trust_bootloader 2022-07-13 04:37:03 +10:00
Raja Grewal
d0779a96fc
add reference 2022-07-13 04:36:34 +10:00
Raja Grewal
74858d257b
enable randomize_kstack_offset 2022-07-13 04:34:35 +10:00
Raja Grewal
f572332108
disable slub_debug 2022-07-13 04:32:03 +10:00
Raja Grewal
57b5b2145c
enforce defualt net.ipv4.ip_forward 2022-07-13 04:30:43 +10:00
Raja Grewal
79156262c9
enforce default net.ipv4.icmp_ignore_bogus_error_responses 2022-07-13 04:29:42 +10:00
Raja Grewal
dabcaf22e1
enforce default kernel.randomize_va_space 2022-07-13 04:28:03 +10:00
Raja Grewal
fe0cc10890
Updated README.md 2022-07-12 17:18:47 +10:00
Raja Grewal
48089e5ba4
More verbose kernel module blocking error logs 2022-07-12 17:02:12 +10:00
Raja Grewal
40ec791774
Updated comments 2022-07-12 16:58:16 +10:00
Raja Grewal
ef1ef9917d
Blacklist automatic loading of CD-ROM modules 2022-07-10 04:53:25 +10:00
Raja Grewal
61ef9bd59f
Incorporated Ubuntu’s kernel module blacklists 2022-07-10 04:52:00 +10:00
Patrick Schleizer
6aa9a9472f
bumped changelog version 2022-07-09 11:42:24 -04:00
Patrick Schleizer
3b844eaab2
output 2022-07-09 11:42:11 -04:00
Patrick Schleizer
73d2c9d921
output 2022-07-09 11:40:15 -04:00
Patrick Schleizer
adfdac6dea
output 2022-07-09 11:40:01 -04:00
Patrick Schleizer
1df2cfd1ad
comment 2022-07-09 11:38:37 -04:00
Patrick Schleizer
fede41e6e0
fix 2022-07-09 11:38:04 -04:00
Patrick Schleizer
52c46e4706
Merge remote-tracking branch 'github-kicksecure/master' 2022-07-09 11:37:41 -04:00
Patrick Schleizer
dc41a58102
Merge pull request #108 from Krish-sysadmin/master
Continue for loop if unable to change one directory's permission
2022-07-09 11:37:57 -04:00
Patrick Schleizer
1b8500cc22
bumped changelog version 2022-07-07 17:41:13 -04:00
Patrick Schleizer
277749f27b
genmkfile debinstfile 2022-07-07 15:49:08 -04:00
Patrick Schleizer
eb8535fe87
renamed: usr/bin/disabled-by-security-misc -> bin/disabled-by-security-misc 2022-07-07 15:48:39 -04:00
Patrick Schleizer
26b2c9727f
not blacklist CD-ROM / DVD yet
https://forums.whonix.org/t/blacklist-more-kernel-modules-to-reduce-attack-surface/7989/31
2022-07-07 15:39:40 -04:00
Patrick Schleizer
d5c1650341
shuffle 2022-07-07 15:28:09 -04:00
Patrick Schleizer
ca19d78d48
shuffle 2022-07-07 15:27:15 -04:00
Patrick Schleizer
d018bdaf73
Merge remote-tracking branch 'raja-gerwal/master' 2022-07-07 15:26:08 -04:00
Raja Grewal
780dc8eec9
replace /bin/false -> /bin/disabled-by-security-misc 2022-07-08 04:11:25 +10:00
Raja Grewal
fa2e30f512
Updated descriptions of disabled modules 2022-07-08 03:04:37 +10:00
Raja Grewal
da389d6682
Revert "replace /bin/false -> /bin/true"
This reverts commit f0511635a9.
2022-07-08 02:12:04 +10:00
raja-grewal
28381e81d4
Update README.md 2022-07-07 09:28:30 +00:00
raja-grewal
f0511635a9
replace /bin/false -> /bin/true 2022-07-07 09:27:53 +00:00
raja-grewal
18d67dbc53
Blacklist more modules 2022-07-07 09:26:55 +00:00
Patrick Schleizer
1b287a6430
bumped changelog version 2022-07-05 11:16:33 -04:00
Patrick Schleizer
92ff868ece
readme 2022-07-05 11:05:36 -04:00
Patrick Schleizer
b8ba608535
readme 2022-07-05 10:57:28 -04:00
Patrick Schleizer
949edf3e17
readme 2022-07-05 10:48:58 -04:00
Patrick Schleizer
1c0e071948
comments 2022-07-05 10:45:55 -04:00
Patrick Schleizer
5d47f5f74c
comments 2022-07-05 10:45:09 -04:00
Patrick Schleizer
435c689cf9
comments 2022-07-05 10:44:28 -04:00
Patrick Schleizer
c20d588d78
comments 2022-07-05 10:42:37 -04:00
Patrick Schleizer
8f03ce049a
readme 2022-07-05 10:41:55 -04:00
Patrick Schleizer
b342ce930e
add /etc/default/grub.d/40_cold_boot_attack_defense.cfg 2022-07-05 10:28:22 -04:00
Krish-sysadmin
e5f8004a94
Update hide-hardware-info 2022-07-05 03:37:40 +02:00
Patrick Schleizer
69af8be7b8
drop_caches before and after sdmem 2022-07-02 19:10:55 -04:00
Patrick Schleizer
67bdd58bf2
sync 2022-07-02 19:07:06 -04:00
Patrick Schleizer
01b82bf0f0
bumped changelog version 2022-07-02 18:30:06 -04:00
Patrick Schleizer
973f117aa6
wipe RAM at shutdown: Ensure any remaining disk cache is erased by Linux' memory poisoning
by running:
`echo 3 > /proc/sys/vm/drop_caches`

Inspired by Tails:
https://gitlab.tails.boum.org/tails/tails/-/blob/master/config/chroot_local-includes/usr/local/lib/initramfs-pre-shutdown-hook
2022-07-02 18:12:36 -04:00
Patrick Schleizer
e783ddc71e
bumped changelog version 2022-07-02 17:37:16 -04:00
Patrick Schleizer
95187bd357
fix 2022-07-02 17:21:33 -04:00
Patrick Schleizer
3bd87d019f
bumped changelog version 2022-07-02 16:03:52 -04:00
Patrick Schleizer
148a050468
fix 2022-07-02 16:03:45 -04:00
Patrick Schleizer
82e7863d5b
improvement 2022-07-02 16:02:28 -04:00
Patrick Schleizer
aebca1b3dc
bumped changelog version 2022-07-02 15:52:08 -04:00
Patrick Schleizer
1144b39e5e
debugging 2022-07-02 15:50:59 -04:00
Patrick Schleizer
c29b21c08a
output 2022-07-02 15:45:19 -04:00
Patrick Schleizer
ed8ce9a7d0
bumped changelog version 2022-07-02 15:32:51 -04:00
Patrick Schleizer
d34fe21963
fix 2022-07-02 15:32:42 -04:00
Patrick Schleizer
7a448e01a1
bumped changelog version 2022-07-02 14:27:04 -04:00
Patrick Schleizer
32fdcf522b
- introduce wiperam=skip kernel parameter to skip wipe ram
- introduce `wiperam=force` kernel parameter to force wipe ram inside VMs
2022-06-30 14:47:45 -04:00
Patrick Schleizer
036f518ddc
improvement 2022-06-30 13:56:29 -04:00
Patrick Schleizer
0e2fae2b69
skip ram wipe inside VMs
https://forums.whonix.org/t/is-ram-wipe-possible-inside-whonix-cold-boot-attack-defense/5596/40
2022-06-30 13:50:18 -04:00
Patrick Schleizer
e06405c7be
undo 2022-06-29 16:56:16 -04:00
Patrick Schleizer
1b97d9cb76
fix 2022-06-29 16:30:31 -04:00
Patrick Schleizer
26be74bfe5
bumped changelog version 2022-06-29 16:25:07 -04:00
Patrick Schleizer
92c543e71f
output 2022-06-29 16:24:52 -04:00
Patrick Schleizer
d4161b2748
output 2022-06-29 16:23:42 -04:00
Patrick Schleizer
1ce7b27297
improvement 2022-06-29 16:23:12 -04:00
Patrick Schleizer
aae4fdcffd
bumped changelog version 2022-06-29 16:06:33 -04:00
Patrick Schleizer
8b584c570a
lintian 2022-06-29 16:06:22 -04:00
Patrick Schleizer
a1f752ad00
bumped changelog version 2022-06-29 16:03:58 -04:00
Patrick Schleizer
f5e0c1742a
credits 2022-06-29 16:02:05 -04:00
Patrick Schleizer
42e24f3c24
update file names 2022-06-29 15:54:49 -04:00
Patrick Schleizer
52aaac9b6d
rename 2022-06-29 15:53:52 -04:00
Patrick Schleizer
619bb3cf4d
rename 2022-06-29 15:53:24 -04:00
Patrick Schleizer
2a8504cf1b
move 2022-06-29 15:51:14 -04:00
Patrick Schleizer
af8b211c23
improvements 2022-06-29 15:50:20 -04:00
Patrick Schleizer
0b0cda8f8f
bumped changelog version 2022-06-29 15:24:40 -04:00
Patrick Schleizer
e9cd5d934b
copyright 2022-06-29 15:24:27 -04:00
Patrick Schleizer
1c51d15649
lintian 2022-06-29 15:23:53 -04:00
Patrick Schleizer
4b0cd53fee
bumped changelog version 2022-06-29 15:22:41 -04:00
Patrick Schleizer
9ab81d4581
do not power off too fast so wipe ram messages can be read 2022-06-29 15:22:00 -04:00
Patrick Schleizer
19439033de
copyright 2022-06-29 15:19:56 -04:00
Patrick Schleizer
fc202ede16
delete no longer required usr/lib/dracut/modules.d/40sdmem-security-misc/README.md 2022-06-29 15:18:28 -04:00
Patrick Schleizer
6d3a08a936
improvements 2022-06-29 15:17:40 -04:00
Patrick Schleizer
87e5f49f8d
bumped changelog version 2022-06-29 14:18:02 -04:00
Patrick Schleizer
6eba53767f
lintian 2022-06-29 14:17:52 -04:00
Patrick Schleizer
81c15e88af
bumped changelog version 2022-06-29 14:15:48 -04:00
Patrick Schleizer
8a072437cc
ram wipe on shutdown: fix, added need_shutdown hook
Otherwise dracut does not run on shutdown.

Without `need_shutdown` file `/run/initramfs/.need_shutdown` does not get created.
And without that file `/usr/lib/dracut/dracut-initramfs-restore`,
which itself is started by `/lib/systemd/system/dracut-shutdown.service` does nothing.
2022-06-29 14:13:30 -04:00
Patrick Schleizer
4d937f551f
bumped changelog version 2022-06-29 13:03:35 -04:00
Patrick Schleizer
924077e04c
verbose 2022-06-29 13:02:53 -04:00
Patrick Schleizer
db301dfd7f
comment 2022-06-29 13:02:39 -04:00
Patrick Schleizer
73d2ada0de
comment 2022-06-29 13:02:01 -04:00
Patrick Schleizer
67eaf8c916
comments 2022-06-29 11:40:38 -04:00
Patrick Schleizer
72908d6b0d
comments 2022-06-29 11:34:55 -04:00
Patrick Schleizer
43ea4dbb83
bumped changelog version 2022-06-29 11:18:59 -04:00
Patrick Schleizer
295811a88f
improvements 2022-06-29 11:14:52 -04:00
Patrick Schleizer
e5d85d69ef
bumped changelog version 2022-06-29 10:02:18 -04:00
Patrick Schleizer
af8ff65f84
comment 2022-06-29 10:01:51 -04:00
Patrick Schleizer
cfae7de6a8
lintian 2022-06-29 09:58:37 -04:00
Patrick Schleizer
83519a58c7
bumped changelog version 2022-06-29 09:54:27 -04:00
Patrick Schleizer
024d52a67e
improve usr/lib/dracut/modules.d/40sdmem-security-misc/module-setup.sh 2022-06-29 09:52:53 -04:00
Patrick Schleizer
29253004b6
minor 2022-06-29 09:38:18 -04:00
Patrick Schleizer
6f19af1542
add shebang /bin/sh
to fix lintian warning
security-misc: executable-not-elf-or-script usr/lib/dracut/modules.d/40sdmem-security-misc/wipe.sh
2022-06-29 09:35:08 -04:00
Patrick Schleizer
38cdf2722b
- Wipe LUKS Disk Encryption Key for Root Disk from RAM during Shutdown to defeat Cold Boot Attacks
- Confirm in console output if encrypted mounts (root disk) is unmounted. (Because that is a pre-condition for wiping the LUKS full disk encryption key from RAM.)

Thanks to @friedy10!

https://github.com/friedy10/dracut/tree/master/modules.d/40sdmem

https://forums.whonix.org/t/is-ram-wipe-possible-inside-whonix-cold-boot-attack-defense/5596
2022-06-29 09:32:55 -04:00
Patrick Schleizer
adca1ebdf6
bumped changelog version 2022-06-08 11:05:07 -04:00
Patrick Schleizer
d7dd188651
remove unicode 2022-06-08 09:27:02 -04:00
Patrick Schleizer
55d16e1602
remove unicode 2022-06-08 09:04:03 -04:00
Patrick Schleizer
fcaec49675
Merge remote-tracking branch 'github-kicksecure/master' 2022-06-08 08:20:24 -04:00
Patrick Schleizer
995e4ba7fa
Merge pull request #104 from ntninja/patch-1
Fix issues found with permission-hardening on my system
2022-06-08 08:19:03 -04:00
Patrick Schleizer
5c43197f10
minor 2022-06-08 08:11:28 -04:00
Kuri Schlarb
6e8f584d88
permission-hardening: Keep pam_unix.so password checking helper SetGID shadow 2022-06-08 05:29:42 +00:00
Kuri Schlarb
2bdda9d0a0
permssion-hardening: Do not skip config file lines without trailing newline (ancient bash bug) 2022-06-07 08:18:05 +00:00
Kuri Schlarb
3910e4ee15
permission-hardening: Keep passwd executable but non-SetUID 2022-06-07 08:11:51 +00:00
Kuri Schlarb
9fd8e1c9b0
permission-hardening: Fix issue with pipelining failures causing incorrect user/group lookup results 2022-06-07 08:03:56 +00:00
Patrick Schleizer
616fe857f7
bumped changelog version 2022-05-25 06:07:17 -04:00
Patrick Schleizer
7e2efe0155
readme 2022-05-20 15:27:10 -04:00
Patrick Schleizer
2d37e3a1af
copyright 2022-05-20 14:46:38 -04:00
Patrick Schleizer
78a9956b73
Merge remote-tracking branch 'github-kicksecure/master' 2022-05-19 19:41:33 -04:00
Patrick Schleizer
7651308787
Merge pull request #103 from 0xC0ncord/bugfix/selinuxfs_restrictions
hide-hardware-info: re-enable restrictions on sysfs when using SELinux
2022-05-19 19:39:42 -04:00
Patrick Schleizer
4a3ed17160
readme 2022-05-19 17:25:58 -04:00
Patrick Schleizer
bb0307290b
update link 2022-04-16 14:18:35 -04:00
Patrick Schleizer
2677db34ba
readme 2022-04-10 12:40:16 -04:00
0xC0ncord
93efa506da hide-hardware-info: disable selinux whitelist by default 2022-03-17 11:41:57 -04:00
Patrick Schleizer
0051a6935a
bumped changelog version 2022-02-10 14:06:54 -05:00
Patrick Schleizer
b0a0004a85
output 2022-02-10 13:47:10 -05:00
Patrick Schleizer
4f6f588fb5
fix, skip deletion of system.map files on read-only filesystems
This is required for Qubes /lib/modules read-only implementation at time of writing.

Thanks to @marmarek for the bug report!

https://forums.whonix.org/t/remove-system-map-cannot-work-lib-modules-is-mounted-read-only/13324
2022-02-10 13:44:55 -05:00
Patrick Schleizer
356232677a
readme 2021-11-09 14:32:33 -05:00
0xC0ncord
4172232eb7 hide-hardware-info: make indentation consistent 2021-10-10 16:03:40 -04:00
0xC0ncord
060d7d890a hide-hardware-info: re-enable restrictions on sysfs when using SELinux
When using SELinux, restrict the parts of sysfs explicitly to ensure
restrictions are working as expected.
2021-10-10 16:03:07 -04:00
Patrick Schleizer
96026a5e90
bumped changelog version 2021-09-14 14:18:52 -04:00
Patrick Schleizer
c72567dbd2
fix 2021-09-14 14:18:44 -04:00
Patrick Schleizer
03276fbec5
bumped changelog version 2021-09-12 11:57:20 -04:00
Patrick Schleizer
d62bbaab82
fix, unduplicate kernel command line 2021-09-12 11:40:58 -04:00
Patrick Schleizer
fb0540650c
readme 2021-09-11 16:33:14 -04:00
Patrick Schleizer
64e9f0016a
bumped changelog version 2021-09-09 12:35:37 -04:00
Patrick Schleizer
bd31b4085c
remove Debian buster support in /etc/default/grub.d 2021-09-09 12:16:18 -04:00
Patrick Schleizer
d16d9a5455
bumped changelog version 2021-09-06 09:46:20 -04:00
Patrick Schleizer
ac0c492663
do not set kernel parameter quiet loglevel=0 for recovery boot option
for easier debugging
2021-09-06 08:22:55 -04:00
Patrick Schleizer
49902b8c56
move grub quiet to separate config file /etc/default/grub.d/41_quiet.cfg 2021-09-06 08:19:41 -04:00
Patrick Schleizer
bb3a3178f1
bumped changelog version 2021-09-06 04:55:23 -04:00
Patrick Schleizer
f5b0e4b5b8
debugging 2021-09-06 04:55:16 -04:00
231 changed files with 24195 additions and 3569 deletions

709
COPYING
View file

@ -1,73 +1,668 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Files: *
Copyright: 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
License: GPL-3+-with-additional-terms-1
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Copyright: 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
License: AGPL-3+
License: AGPL-3+
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Preamble
.
On Debian systems, the full text of the GNU General Public
License version 3 can be found in the file
`/usr/share/common-licenses/GPL-3'.
The GNU Affero General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.
.
ADDITIONAL TERMS APPLICABLE per GNU GPL version 3 section 7
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.
.
1. Replacement of Section 15. Section 15 of the GPL shall be deleted in its
entirety and replaced with the following:
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
.
15. Disclaimer of Warranty.
Developers that use our General Public Licenses protect your rights
with two steps: (1) assert copyright on the software, and (2) offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.
.
THE PROGRAM IS PROVIDED WITHOUT ANY WARRANTIES, WHETHER EXPRESSED OR IMPLIED,
INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, TITLE AND MERCHANTABILITY. THE PROGRAM IS BEING
DELIVERED OR MADE AVAILABLE 'AS IS', 'WITH ALL FAULTS' AND WITHOUT WARRANTY OR
REPRESENTATION. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate. Many developers of free software are heartened and
encouraged by the resulting cooperation. However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.
.
The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community. It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server. Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.
.
An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals. This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.
.
The precise terms and conditions for copying, distribution and
modification follow.
.
TERMS AND CONDITIONS
.
0. Definitions.
.
"This License" refers to version 3 of the GNU Affero General Public License.
.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
.
A "covered work" means either the unmodified Program or a work based
on the Program.
.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
.
1. Source Code.
.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
.
The Corresponding Source for a work in source code form is that
same work.
.
2. Basic Permissions.
.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
.
4. Conveying Verbatim Copies.
.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
.
5. Conveying Modified Source Versions.
.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
.
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
.
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
.
6. Conveying Non-Source Forms.
.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
.
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
.
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
.
7. Additional Terms.
.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
.
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
.
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
.
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
.
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
.
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
.
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
.
8. Termination.
.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
.
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
.
9. Acceptance Not Required for Having Copies.
.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
.
10. Automatic Licensing of Downstream Recipients.
.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
.
11. Patents.
.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
.
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
.
12. No Surrender of Others' Freedom.
.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
.
13. Remote Network Interaction; Use with the GNU General Public License.
.
Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software. This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.
.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the work with which it is combined will remain governed by version
3 of the GNU General Public License.
.
14. Revised Versions of this License.
.
The Free Software Foundation may publish revised and/or new versions of
the GNU Affero General Public License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU Affero General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU Affero General Public License, you may choose any version ever published
by the Free Software Foundation.
.
If the Program specifies that a proxy can decide which future
versions of the GNU Affero General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
.
15. Disclaimer of Warranty.
.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
.
2. Replacement of Section 16. Section 16 of the GPL shall be deleted in its
entirety and replaced with the following:
16. Limitation of Liability.
.
16. LIMITATION OF LIABILITY.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
.
UNDER NO CIRCUMSTANCES SHALL ANY COPYRIGHT HOLDER OR ITS AFFILIATES, OR ANY
OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE
LIABLE TO YOU, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, FOR ANY
DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, CONSEQUENTIAL OR PUNITIVE DAMAGES ARISING FROM, OUT OF OR IN
CONNECTION WITH THE USE OR INABILITY TO USE THE PROGRAM OR OTHER DEALINGS WITH
THE PROGRAM(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), WHETHER OR NOT ANY COPYRIGHT HOLDER
OR SUCH OTHER PARTY RECEIVES NOTICE OF ANY SUCH DAMAGES AND WHETHER OR NOT SUCH
DAMAGES COULD HAVE BEEN FORESEEN.
17. Interpretation of Sections 15 and 16.
.
3. LEGAL NOTICES; NO TRADEMARK LICENSE; ORIGIN. You must reproduce faithfully
all trademark, copyright and other proprietary and legal notices on any copies
of the Program or any other required author attributions. This license does not
grant you rights to use any copyright holder or any other party's name, logo, or
trademarks. Neither the name of the copyright holder or its affiliates, or any
other party who modifies and/or conveys the Program may be used to endorse or
promote products derived from this software without specific prior written
permission. The origin of the Program must not be misrepresented; you must not
claim that you wrote the original Program. Altered source versions must be
plainly marked as such, and must not be misrepresented as being the original
Program.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
.
4. INDEMNIFICATION. IF YOU CONVEY A COVERED WORK AND AGREE WITH ANY RECIPIENT
OF THAT COVERED WORK THAT YOU WILL ASSUME ANY LIABILITY FOR THAT COVERED WORK,
YOU HEREBY AGREE TO INDEMNIFY, DEFEND AND HOLD HARMLESS THE OTHER LICENSORS AND
AUTHORS OF THAT COVERED WORK FOR ANY DAMAGES, DEMANDS, CLAIMS, LOSSES, CAUSES OF
ACTION, LAWSUITS, JUDGMENTS EXPENSES (INCLUDING WITHOUT LIMITATION REASONABLE
ATTORNEYS' FEES AND EXPENSES) OR ANY OTHER LIABILITY ARISING FROM, RELATED TO OR
IN CONNECTION WITH YOUR ASSUMPTIONS OF LIABILITY.
END OF TERMS AND CONDITIONS
.
How to Apply These Terms to Your New Programs
.
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
.
Also add information on how to contact you by electronic and paper mail.
.
If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU AGPL, see
<https://www.gnu.org/licenses/>.

674
GPLv3
View file

@ -1,674 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

993
README.md

File diff suppressed because it is too large Load diff

View file

@ -1,33 +1,36 @@
# Enhances Miscellaneous Security Settings #
https://github.com/Whonix/security-misc/blob/master/README.md
https://github.com/Kicksecure/security-misc/blob/master/README.md
https://www.whonix.org/wiki/Security-misc
https://www.kicksecure.com/wiki/Security-misc
Package security-misc-desktop and/or security-misc-server may also be useful.
Discussion:
Happening primarily in Whonix forums.
https://forums.whonix.org/t/kernel-hardening/7296
https://forums.whonix.org/t/kernel-hardening-security-misc/7296
## How to install `security-misc` using apt-get ##
1\. Download Whonix's Signing Key.
1\. Download the APT Signing Key.
```
wget https://www.whonix.org/patrick.asc
wget https://www.kicksecure.com/keys/derivative.asc
```
Users can [check Whonix Signing Key](https://www.whonix.org/wiki/Whonix_Signing_Key) for better security.
Users can [check the Signing Key](https://www.kicksecure.com/wiki/Signing_Key) for better security.
2\. Add Whonix's signing key.
2\. Add the APT Signing Key.
```
sudo apt-key --keyring /etc/apt/trusted.gpg.d/derivative.gpg add ~/patrick.asc
sudo cp ~/derivative.asc /usr/share/keyrings/derivative.asc
```
3\. Add Whonix's APT repository.
3\. Add the derivative repository.
```
echo "deb https://deb.whonix.org bullseye main contrib non-free" | sudo tee /etc/apt/sources.list.d/derivative.list
echo "deb [signed-by=/usr/share/keyrings/derivative.asc] https://deb.kicksecure.com trixie main contrib non-free" | sudo tee /etc/apt/sources.list.d/derivative.list
```
4\. Update your package lists.
@ -50,16 +53,18 @@ Can be build using standard Debian package build tools such as:
dpkg-buildpackage -b
```
See instructions. (Replace `generic-package` with the actual name of this package `security-misc`.)
See instructions.
* **A)** [easy](https://www.whonix.org/wiki/Dev/Build_Documentation/generic-package/easy), _OR_
* **B)** [including verifying software signatures](https://www.whonix.org/wiki/Dev/Build_Documentation/generic-package)
NOTE: Replace `generic-package` with the actual name of this package `security-misc`.
* **A)** [easy](https://www.kicksecure.com/wiki/Dev/Build_Documentation/generic-package/easy), _OR_
* **B)** [including verifying software signatures](https://www.kicksecure.com/wiki/Dev/Build_Documentation/generic-package)
## Contact ##
* [Free Forum Support](https://forums.whonix.org)
* [Professional Support](https://www.whonix.org/wiki/Professional_Support)
* [Free Forum Support](https://forums.kicksecure.com)
* [Premium Support](https://www.kicksecure.com/wiki/Premium_Support)
## Donate ##
`security-misc` requires [donations](https://www.whonix.org/wiki/Donate) to stay alive!
`security-misc` requires [donations](https://www.kicksecure.com/wiki/Donate) to stay alive!

File diff suppressed because it is too large Load diff

1734
debian/changelog vendored

File diff suppressed because it is too large Load diff

79
debian/control vendored
View file

@ -1,28 +1,79 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@kicksecure.com>
## See the file COPYING for copying conditions.
Source: security-misc
Section: misc
Priority: optional
Maintainer: Patrick Schleizer <adrelanos@whonix.org>
Build-Depends: debhelper (>= 13), debhelper-compat (= 13), config-package-dev, dh-apparmor
Homepage: https://github.com/Whonix/security-misc
Vcs-Browser: https://github.com/Whonix/security-misc
Vcs-Git: https://github.com/Whonix/security-misc.git
Standards-Version: 4.5.1
Maintainer: Patrick Schleizer <adrelanos@kicksecure.com>
Build-Depends: debhelper (>= 13),
debhelper-compat (= 13),
dh-apparmor,
dh-exec,
config-package-dev,
po-debconf
Homepage: https://www.kicksecure.com/wiki/Security-misc
Vcs-Browser: https://github.com/Kicksecure/security-misc
Vcs-Git: https://github.com/Kicksecure/security-misc.git
Standards-Version: 4.7.2
Rules-Requires-Root: no
Package: security-misc
## 'Package: security-misc-shared' Comments
##
## 'Conflicts: security-misc' is needed.
## > dpkg-divert: error: 'diversion of /etc/securetty to /etc/securetty.security-misc-orig by security-misc-shared' clashes with 'diversion of /etc/securetty to /etc/securetty.security-misc-orig by security-misc'
##
## 'Provides: security-misc' is useful.
## sudo dpkg -i /home/user/derivative-binary/genmkfile-packages-result/security-misc-shared_47.7-1_all.deb
## > dpkg: considering removing security-misc in favour of security-misc-shared ...
## > dpkg: no, cannot proceed with removal of security-misc (--auto-deconfigure will help):
## > systemcheck depends on security-misc
## > security-misc is to be removed
Package: security-misc-shared
Architecture: all
Depends: python3, libglib2.0-bin, libpam-runtime, sudo, adduser, libcap2-bin,
apparmor-profile-dist, helper-scripts, libpam-modules-bin, ${misc:Depends}
Replaces: tcp-timestamps-disable, anon-gpg-tweaks, swappiness-lowest
Depends: adduser,
apparmor-profile-dist,
build-essential,
dmsetup,
helper-scripts,
libcap2-bin,
libglib2.0-bin,
libpam-modules-bin,
libpam-runtime,
libpam-umask,
memlockd,
python3,
secure-delete,
${misc:Depends}
Replaces: anon-gpg-tweaks,
security-misc,
swappiness-lowest,
tcp-timestamps-disable
Conflicts: security-misc
Provides: security-misc
Description: Enhances Miscellaneous Security Settings
https://github.com/Whonix/security-misc/blob/master/README.md
https://github.com/Kicksecure/security-misc/blob/master/README.md
.
https://www.whonix.org/wiki/Security-misc
https://www.kicksecure.com/wiki/Security-misc
.
Package security-misc-desktop and/or security-misc-server may also be useful.
.
Discussion:
.
Happening primarily in Whonix forums.
https://forums.whonix.org/t/kernel-hardening/7296
https://forums.whonix.org/t/kernel-hardening-security-misc/7296
Package: security-misc-desktop
Architecture: all
Depends: security-misc-shared, ${misc:Depends}
Description: Security improvements for desktops
For desktops.
.
(Or servers running a desktop?)
Package: security-misc-server
Architecture: all
Depends: security-misc-shared, ${misc:Depends}
Description: Security improvements for servers
For servers.
.
(Or desktops running a server?)

709
debian/copyright vendored
View file

@ -1,73 +1,668 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Files: *
Copyright: 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
License: GPL-3+-with-additional-terms-1
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Copyright: 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
License: AGPL-3+
License: AGPL-3+
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Preamble
.
On Debian systems, the full text of the GNU General Public
License version 3 can be found in the file
`/usr/share/common-licenses/GPL-3'.
The GNU Affero General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.
.
ADDITIONAL TERMS APPLICABLE per GNU GPL version 3 section 7
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.
.
1. Replacement of Section 15. Section 15 of the GPL shall be deleted in its
entirety and replaced with the following:
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
.
15. Disclaimer of Warranty.
Developers that use our General Public Licenses protect your rights
with two steps: (1) assert copyright on the software, and (2) offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.
.
THE PROGRAM IS PROVIDED WITHOUT ANY WARRANTIES, WHETHER EXPRESSED OR IMPLIED,
INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, TITLE AND MERCHANTABILITY. THE PROGRAM IS BEING
DELIVERED OR MADE AVAILABLE 'AS IS', 'WITH ALL FAULTS' AND WITHOUT WARRANTY OR
REPRESENTATION. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate. Many developers of free software are heartened and
encouraged by the resulting cooperation. However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.
.
The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community. It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server. Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.
.
An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals. This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.
.
The precise terms and conditions for copying, distribution and
modification follow.
.
TERMS AND CONDITIONS
.
0. Definitions.
.
"This License" refers to version 3 of the GNU Affero General Public License.
.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
.
A "covered work" means either the unmodified Program or a work based
on the Program.
.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
.
1. Source Code.
.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
.
The Corresponding Source for a work in source code form is that
same work.
.
2. Basic Permissions.
.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
.
4. Conveying Verbatim Copies.
.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
.
5. Conveying Modified Source Versions.
.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
.
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
.
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
.
6. Conveying Non-Source Forms.
.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
.
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
.
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
.
7. Additional Terms.
.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
.
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
.
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
.
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
.
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
.
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
.
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
.
8. Termination.
.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
.
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
.
9. Acceptance Not Required for Having Copies.
.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
.
10. Automatic Licensing of Downstream Recipients.
.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
.
11. Patents.
.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
.
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
.
12. No Surrender of Others' Freedom.
.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
.
13. Remote Network Interaction; Use with the GNU General Public License.
.
Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software. This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.
.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the work with which it is combined will remain governed by version
3 of the GNU General Public License.
.
14. Revised Versions of this License.
.
The Free Software Foundation may publish revised and/or new versions of
the GNU Affero General Public License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU Affero General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU Affero General Public License, you may choose any version ever published
by the Free Software Foundation.
.
If the Program specifies that a proxy can decide which future
versions of the GNU Affero General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
.
15. Disclaimer of Warranty.
.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
.
2. Replacement of Section 16. Section 16 of the GPL shall be deleted in its
entirety and replaced with the following:
16. Limitation of Liability.
.
16. LIMITATION OF LIABILITY.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
.
UNDER NO CIRCUMSTANCES SHALL ANY COPYRIGHT HOLDER OR ITS AFFILIATES, OR ANY
OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE
LIABLE TO YOU, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, FOR ANY
DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, CONSEQUENTIAL OR PUNITIVE DAMAGES ARISING FROM, OUT OF OR IN
CONNECTION WITH THE USE OR INABILITY TO USE THE PROGRAM OR OTHER DEALINGS WITH
THE PROGRAM(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), WHETHER OR NOT ANY COPYRIGHT HOLDER
OR SUCH OTHER PARTY RECEIVES NOTICE OF ANY SUCH DAMAGES AND WHETHER OR NOT SUCH
DAMAGES COULD HAVE BEEN FORESEEN.
17. Interpretation of Sections 15 and 16.
.
3. LEGAL NOTICES; NO TRADEMARK LICENSE; ORIGIN. You must reproduce faithfully
all trademark, copyright and other proprietary and legal notices on any copies
of the Program or any other required author attributions. This license does not
grant you rights to use any copyright holder or any other party's name, logo, or
trademarks. Neither the name of the copyright holder or its affiliates, or any
other party who modifies and/or conveys the Program may be used to endorse or
promote products derived from this software without specific prior written
permission. The origin of the Program must not be misrepresented; you must not
claim that you wrote the original Program. Altered source versions must be
plainly marked as such, and must not be misrepresented as being the original
Program.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
.
4. INDEMNIFICATION. IF YOU CONVEY A COVERED WORK AND AGREE WITH ANY RECIPIENT
OF THAT COVERED WORK THAT YOU WILL ASSUME ANY LIABILITY FOR THAT COVERED WORK,
YOU HEREBY AGREE TO INDEMNIFY, DEFEND AND HOLD HARMLESS THE OTHER LICENSORS AND
AUTHORS OF THAT COVERED WORK FOR ANY DAMAGES, DEMANDS, CLAIMS, LOSSES, CAUSES OF
ACTION, LAWSUITS, JUDGMENTS EXPENSES (INCLUDING WITHOUT LIMITATION REASONABLE
ATTORNEYS' FEES AND EXPENSES) OR ANY OTHER LIABILITY ARISING FROM, RELATED TO OR
IN CONNECTION WITH YOUR ASSUMPTIONS OF LIABILITY.
END OF TERMS AND CONDITIONS
.
How to Apply These Terms to Your New Programs
.
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
.
Also add information on how to contact you by electronic and paper mail.
.
If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU AGPL, see
<https://www.gnu.org/licenses/>.

View file

@ -1,7 +1,7 @@
#!/bin/bash
## Copyright (C) 2021 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## Copyright (C) 2021 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## https://forums.whonix.org/t/blacklist-more-kernel-modules-to-reduce-attack-surface/7989/24
genmkfile_lintian_post_opts+=" --suppress-tags obsolete-command-in-modprobe.d-file"
genmkfile_lintian_post_opts+=" --suppress-tags obsolete-command-in-modprobe.d-file --suppress-tags no-complete-debconf-translation"

1
debian/po/POTFILES.in vendored Normal file
View file

@ -0,0 +1 @@
[type: gettext/rfc822deb] security-misc-shared.templates

36
debian/po/templates.pot vendored Normal file
View file

@ -0,0 +1,36 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the security-misc-shared package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: security-misc-shared\n"
"Report-Msgid-Bugs-To: security-misc-shared@packages.debian.org\n"
"POT-Creation-Date: 2025-01-14 09:31-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#. Type: note
#. Description
#: ../security-misc-shared.templates:1001
msgid "Manual intervention may be required for permission-hardener update"
msgstr ""
#. Type: note
#. Description
#: ../security-misc-shared.templates:1001
msgid ""
"No need to panic. Nothing is broken. A rare condition has been encountered. "
"permission-hardener is being updated to fix a minor bug that caused "
"corruption in the permission-hardener state file. If you installed your own "
"custom permission-hardener configuration, some manual intervention may be "
"required. See: https://www.kicksecure.com/wiki/"
"SUID_Disabler_and_Permission_Hardener#fixing_state_files"
msgstr ""

2
debian/rules vendored
View file

@ -1,6 +1,6 @@
#!/usr/bin/make -f
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
#export DH_VERBOSE=1

12
debian/security-misc-desktop.install vendored Executable file
View file

@ -0,0 +1,12 @@
#!/usr/bin/dh-exec
## Copyright (C) 2020 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## This file was generated using 'genmkfile debinstfile'.
etc/bluetooth/30_security-misc.conf#security-misc-desktop => /etc/bluetooth/30_security-misc.conf
etc/sudoers.d/security-misc-desktop#security-misc-desktop => /etc/sudoers.d/security-misc-desktop
usr/lib/NetworkManager/conf.d/80_ipv6-privacy.conf#security-misc-desktop => /usr/lib/NetworkManager/conf.d/80_ipv6-privacy.conf
usr/lib/NetworkManager/conf.d/80_randomize-mac.conf#security-misc-desktop => /usr/lib/NetworkManager/conf.d/80_randomize-mac.conf
usr/lib/systemd/networkd.conf.d/80_ipv6-privacy-extensions.conf#security-misc-desktop => /usr/lib/systemd/networkd.conf.d/80_ipv6-privacy-extensions.conf

8
debian/security-misc-server.install vendored Executable file
View file

@ -0,0 +1,8 @@
#!/usr/bin/dh-exec
## Copyright (C) 2020 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## This file was generated using 'genmkfile debinstfile'.
usr/libexec/security-misc/placeholder#security-misc-server => /usr/libexec/security-misc/placeholder

190
debian/security-misc-shared.config vendored Executable file
View file

@ -0,0 +1,190 @@
#!/bin/bash
## Copyright (C) 2025 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then
source /usr/libexec/helper-scripts/pre.bsh
fi
source /usr/share/debconf/confmodule
set -e
## Not set by DPKG for '.config' script.
DPKG_MAINTSCRIPT_PACKAGE="security-misc-shared"
DPKG_MAINTSCRIPT_NAME="config"
true "
#####################################################################
## INFO: BEGIN: $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $*
#####################################################################
"
## NOTE: Code duplication.
## Copied from: helper-scripts /usr/libexec/helper-scripts/package_installed_check.sh
##
## '.config' scripts are run very early. Even 'Pre-Depends: helper-scripts' would be insufficient.
## Therefore the code is duplicated here.
pkg_installed() {
local package_name dpkg_query_output
local requested_action status error_state
package_name="$1"
## Cannot use '&>' because it is a bashism.
dpkg_query_output="$(dpkg-query --show --showformat='${Status}' "$package_name" 2>/dev/null)" || true
## dpkg_query_output Examples:
## install ok half-configured
## install ok installed
requested_action=$(printf '%s' "$dpkg_query_output" | awk '{print $1}')
status=$(printf '%s' "$dpkg_query_output" | awk '{print $2}')
error_state=$(printf '%s' "$dpkg_query_output" | awk '{print $3}')
if [ "$requested_action" = 'install' ]; then
true "$0: INFO: $package_name is installed, ok."
return 0
fi
true "$0: INFO: $package_name is not installed, ok."
return 1
}
check_migrate_permission_hardener_state() {
local pkg_list modified_pkg_data_str custom_hardening_arr config_file
## If folder /var/lib/permission-hardener (version 1) does not exist, this migration is unneeded.
if [ ! -d '/var/lib/permission-hardener' ]; then
return 0
fi
local orig_hardening_arr custom_hardening_arr config_file custom_config_file
if [ -f "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_2" ]; then
return 0
fi
mkdir --parents '/var/lib/security-misc/do_once'
orig_hardening_arr=(
'/usr/lib/permission-hardener.d/25_default_passwd.conf'
'/usr/lib/permission-hardener.d/25_default_sudo.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_bubblewrap.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_chromium.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_dbus.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_firejail.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_fuse.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_hardened_malloc.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_mount.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_pam.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_passwd.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_policykit.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_postfix.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_qubes.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_selinux.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_spice.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_ssh.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_sudo.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_unix_chkpwd.conf'
'/usr/lib/permission-hardener.d/25_default_whitelist_virtualbox.conf'
'/usr/lib/permission-hardener.d/20_user-sysmaint-split.conf'
'/usr/lib/permission-hardener.d/30_ping.conf'
'/usr/lib/permission-hardener.d/30_default.conf'
'/etc/permission-hardener.d/25_default_passwd.conf'
'/etc/permission-hardener.d/25_default_sudo.conf'
'/etc/permission-hardener.d/25_default_whitelist_bubblewrap.conf'
'/etc/permission-hardener.d/25_default_whitelist_chromium.conf'
'/etc/permission-hardener.d/25_default_whitelist_dbus.conf'
'/etc/permission-hardener.d/25_default_whitelist_firejail.conf'
'/etc/permission-hardener.d/25_default_whitelist_fuse.conf'
'/etc/permission-hardener.d/25_default_whitelist_hardened_malloc.conf'
'/etc/permission-hardener.d/25_default_whitelist_mount.conf'
'/etc/permission-hardener.d/25_default_whitelist_pam.conf'
'/etc/permission-hardener.d/25_default_whitelist_passwd.conf'
'/etc/permission-hardener.d/25_default_whitelist_policykit.conf'
'/etc/permission-hardener.d/25_default_whitelist_postfix.conf'
'/etc/permission-hardener.d/25_default_whitelist_qubes.conf'
'/etc/permission-hardener.d/25_default_whitelist_selinux.conf'
'/etc/permission-hardener.d/25_default_whitelist_spice.conf'
'/etc/permission-hardener.d/25_default_whitelist_ssh.conf'
'/etc/permission-hardener.d/25_default_whitelist_sudo.conf'
'/etc/permission-hardener.d/25_default_whitelist_unix_chkpwd.conf'
'/etc/permission-hardener.d/25_default_whitelist_virtualbox.conf'
'/etc/permission-hardener.d/20_user-sysmaint-split.conf'
'/etc/permission-hardener.d/30_ping.conf'
'/etc/permission-hardener.d/30_default.conf'
)
pkg_list=( "security-misc-shared" )
if pkg_installed user-sysmaint-split ; then
pkg_list+=( "user-sysmaint-split" )
fi
if pkg_installed anon-apps-config ; then
pkg_list+=( "anon-apps-config" )
fi
## This will exit non-zero if some of the packages don't exist, but we
## don't care. The packages that *are* installed will still be scanned.
modified_pkg_data_str="$(dpkg --verify "${pkg_list[@]}")" || true
## Example modified_pkg_data_str:
#modified_pkg_data_str='missing /usr/lib/permission-hardener.d/20_user-sysmaint-split.conf'
readarray -t custom_hardening_arr < <(awk '/permission-hardener.d/{ print $NF }' <<< "${modified_pkg_data_str}")
## If the above `dpkg --verify` command doesn't return any permission-hardener
## related lines, the array will contain no meaningful info, just a single
## blank element at the start. Set the array to be explicitly empty in
## this scenario.
if [ -z "${custom_hardening_arr[0]}" ]; then
custom_hardening_arr=()
fi
for config_file in \
/usr/lib/permission-hardener.d/*.conf \
/etc/permission-hardener.d/*.conf \
/usr/local/etc/permission-hardener.d/*.conf \
/etc/permission-hardening.d/*.conf \
/usr/local/etc/permission-hardening.d/*.conf
do
# shellcheck disable=SC2076
if ! [[ " ${orig_hardening_arr[*]} " =~ " ${config_file} " ]]; then
if [ -f "${config_file}" ]; then
custom_hardening_arr+=( "${config_file}" )
fi
fi
done
if [ "${#custom_hardening_arr[@]}" != '0' ]; then
for custom_config_file in "${custom_hardening_arr[@]}"; do
if ! test -e "${custom_config_file}" ; then
echo "$0: INFO: Possible missing configuration file found: '${custom_config_file}'"
else
echo "$0: INFO: Possible custom configuration file found: '${custom_config_file}'"
fi
done
## db_input will return code 30 if the message won't be displayed, which
## causes a non-interactive install to error out if you don't use || true
db_input critical security-misc-shared/alert-on-permission-hardener-v2-upgrade || true
## db_go can return code 30 too in some instances, we don't care here
# shellcheck disable=SC2119
db_go || true
fi
touch "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_2"
}
check_migrate_permission_hardener_state
true "INFO: debhelper beginning here."
#DEBHELPER#
true "INFO: Done with debhelper."
true "
#####################################################################
## INFO: END : $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $*
#####################################################################
"
## Explicitly "exit 0", so eventually trapped errors can be ignored.
exit 0

7
debian/security-misc-shared.displace vendored Normal file
View file

@ -0,0 +1,7 @@
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
/etc/securetty.security-misc
/etc/security/faillock.conf.security-misc
/etc/usbguard/usbguard-daemon.conf.security-misc
/usr/share/polkit-1/actions/org.freedesktop.Flatpak.policy.security-misc

View file

@ -0,0 +1,6 @@
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
/apps/nautilus/preview_sound never
/apps/nautilus/show_icon_text never
/apps/nautilus/show-image-thumbnails never

6
debian/security-misc-shared.hide vendored Normal file
View file

@ -0,0 +1,6 @@
## Copyright (C) 2025 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Allows users in the 'sudo' group to install Flatpak software without
## authorization. Breaks user/sysmaint separation, thus disabled.
/usr/share/polkit-1/rules.d/org.freedesktop.Flatpak.rules

144
debian/security-misc-shared.install vendored Executable file
View file

@ -0,0 +1,144 @@
#!/usr/bin/dh-exec
## Copyright (C) 2020 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## This file was generated using 'genmkfile debinstfile'.
etc/apparmor.d/tunables/home.d/security-misc#security-misc-shared => /etc/apparmor.d/tunables/home.d/security-misc
etc/apt/apt.conf.d/40error-on-any#security-misc-shared => /etc/apt/apt.conf.d/40error-on-any
etc/apt/apt.conf.d/40sandbox#security-misc-shared => /etc/apt/apt.conf.d/40sandbox
etc/default/grub.d/40_cpu_mitigations.cfg#security-misc-shared => /etc/default/grub.d/40_cpu_mitigations.cfg
etc/default/grub.d/40_kernel_hardening.cfg#security-misc-shared => /etc/default/grub.d/40_kernel_hardening.cfg
etc/default/grub.d/40_remount_secure.cfg#security-misc-shared => /etc/default/grub.d/40_remount_secure.cfg
etc/default/grub.d/40_signed_modules.cfg#security-misc-shared => /etc/default/grub.d/40_signed_modules.cfg
etc/default/grub.d/41_quiet_boot.cfg#security-misc-shared => /etc/default/grub.d/41_quiet_boot.cfg
etc/default/grub.d/41_recovery_restrict.cfg#security-misc-shared => /etc/default/grub.d/41_recovery_restrict.cfg
etc/dracut.conf.d/30-security-misc.conf#security-misc-shared => /etc/dracut.conf.d/30-security-misc.conf
etc/gitconfig#security-misc-shared => /etc/gitconfig
etc/hide-hardware-info.d/30_default.conf#security-misc-shared => /etc/hide-hardware-info.d/30_default.conf
etc/kernel/postinst.d/30_remove-system-map#security-misc-shared => /etc/kernel/postinst.d/30_remove-system-map
etc/modprobe.d/30_security-misc_blacklist.conf#security-misc-shared => /etc/modprobe.d/30_security-misc_blacklist.conf
etc/modprobe.d/30_security-misc_conntrack.conf#security-misc-shared => /etc/modprobe.d/30_security-misc_conntrack.conf
etc/modprobe.d/30_security-misc_disable.conf#security-misc-shared => /etc/modprobe.d/30_security-misc_disable.conf
etc/profile.d/30_security-misc.sh#security-misc-shared => /etc/profile.d/30_security-misc.sh
etc/securetty.security-misc#security-misc-shared => /etc/securetty.security-misc
etc/security-misc/emerg-shutdown/30_security_misc.conf#security-misc-shared => /etc/security-misc/emerg-shutdown/30_security_misc.conf
etc/security/access-security-misc.conf#security-misc-shared => /etc/security/access-security-misc.conf
etc/security/faillock.conf.security-misc#security-misc-shared => /etc/security/faillock.conf.security-misc
etc/security/limits.d/30_security-misc.conf#security-misc-shared => /etc/security/limits.d/30_security-misc.conf
etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml#security-misc-shared => /etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
etc/skel/.gnupg/gpg.conf#security-misc-shared => /etc/skel/.gnupg/gpg.conf
etc/ssh/ssh_config.d/30_security-misc.conf#security-misc-shared => /etc/ssh/ssh_config.d/30_security-misc.conf
etc/ssh/sshd_config.d/30_security-misc.conf#security-misc-shared => /etc/ssh/sshd_config.d/30_security-misc.conf
etc/sudoers.d/security-misc#security-misc-shared => /etc/sudoers.d/security-misc
etc/systemd/system/emergency.service.d/override.conf#security-misc-shared => /etc/systemd/system/emergency.service.d/override.conf
etc/systemd/system/rescue.service.d/override.conf#security-misc-shared => /etc/systemd/system/rescue.service.d/override.conf
etc/usbguard/IPCAccessControl.d/:qubes#security-misc-shared => /etc/usbguard/IPCAccessControl.d/:qubes
etc/usbguard/IPCAccessControl.d/:sudo#security-misc-shared => /etc/usbguard/IPCAccessControl.d/:sudo
etc/usbguard/rules.d/30_security-misc.conf#security-misc-shared => /etc/usbguard/rules.d/30_security-misc.conf
etc/usbguard/usbguard-daemon.conf.security-misc#security-misc-shared => /etc/usbguard/usbguard-daemon.conf.security-misc
usr/bin/disabled-bluetooth-by-security-misc#security-misc-shared => /usr/bin/disabled-bluetooth-by-security-misc
usr/bin/disabled-cdrom-by-security-misc#security-misc-shared => /usr/bin/disabled-cdrom-by-security-misc
usr/bin/disabled-cpumsr-by-security-misc#security-misc-shared => /usr/bin/disabled-cpumsr-by-security-misc
usr/bin/disabled-filesys-by-security-misc#security-misc-shared => /usr/bin/disabled-filesys-by-security-misc
usr/bin/disabled-firewire-by-security-misc#security-misc-shared => /usr/bin/disabled-firewire-by-security-misc
usr/bin/disabled-framebuffer-by-security-misc#security-misc-shared => /usr/bin/disabled-framebuffer-by-security-misc
usr/bin/disabled-gps-by-security-misc#security-misc-shared => /usr/bin/disabled-gps-by-security-misc
usr/bin/disabled-intelme-by-security-misc#security-misc-shared => /usr/bin/disabled-intelme-by-security-misc
usr/bin/disabled-intelpmt-by-security-misc#security-misc-shared => /usr/bin/disabled-intelpmt-by-security-misc
usr/bin/disabled-miscellaneous-by-security-misc#security-misc-shared => /usr/bin/disabled-miscellaneous-by-security-misc
usr/bin/disabled-netfilesys-by-security-misc#security-misc-shared => /usr/bin/disabled-netfilesys-by-security-misc
usr/bin/disabled-network-by-security-misc#security-misc-shared => /usr/bin/disabled-network-by-security-misc
usr/bin/disabled-thunderbolt-by-security-misc#security-misc-shared => /usr/bin/disabled-thunderbolt-by-security-misc
usr/bin/permission-hardener#security-misc-shared => /usr/bin/permission-hardener
usr/bin/remount-secure#security-misc-shared => /usr/bin/remount-secure
usr/lib/dracut/modules.d-disabled/20remount-secure/module-setup.sh#security-misc-shared => /usr/lib/dracut/modules.d-disabled/20remount-secure/module-setup.sh
usr/lib/dracut/modules.d-disabled/20remount-secure/remount-secure.sh#security-misc-shared => /usr/lib/dracut/modules.d-disabled/20remount-secure/remount-secure.sh
usr/lib/dracut/modules.d/99emerg-shutdown/module-setup.sh#security-misc-shared => /usr/lib/dracut/modules.d/99emerg-shutdown/module-setup.sh
usr/lib/issue.d/20_security-misc.issue#security-misc-shared => /usr/lib/issue.d/20_security-misc.issue
usr/lib/modules-load.d/30_security-misc.conf#security-misc-shared => /usr/lib/modules-load.d/30_security-misc.conf
usr/lib/permission-hardener.d/25_default_whitelist_bubblewrap.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_bubblewrap.conf
usr/lib/permission-hardener.d/25_default_whitelist_chromium.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_chromium.conf
usr/lib/permission-hardener.d/25_default_whitelist_dbus.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_dbus.conf
usr/lib/permission-hardener.d/25_default_whitelist_firejail.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_firejail.conf
usr/lib/permission-hardener.d/25_default_whitelist_fuse.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_fuse.conf
usr/lib/permission-hardener.d/25_default_whitelist_hardened_malloc.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_hardened_malloc.conf
usr/lib/permission-hardener.d/25_default_whitelist_mount.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_mount.conf
usr/lib/permission-hardener.d/25_default_whitelist_pam.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_pam.conf
usr/lib/permission-hardener.d/25_default_whitelist_passwd.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_passwd.conf
usr/lib/permission-hardener.d/25_default_whitelist_policykit.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_policykit.conf
usr/lib/permission-hardener.d/25_default_whitelist_postfix.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_postfix.conf
usr/lib/permission-hardener.d/25_default_whitelist_qubes.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_qubes.conf
usr/lib/permission-hardener.d/25_default_whitelist_selinux.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_selinux.conf
usr/lib/permission-hardener.d/25_default_whitelist_spice.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_spice.conf
usr/lib/permission-hardener.d/25_default_whitelist_ssh.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_ssh.conf
usr/lib/permission-hardener.d/25_default_whitelist_sudo.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_sudo.conf
usr/lib/permission-hardener.d/25_default_whitelist_unix_chkpwd.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_unix_chkpwd.conf
usr/lib/permission-hardener.d/25_default_whitelist_virtualbox.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_virtualbox.conf
usr/lib/permission-hardener.d/30_default.conf#security-misc-shared => /usr/lib/permission-hardener.d/30_default.conf
usr/lib/sysctl.d/30_security-misc_kexec-disable.conf#security-misc-shared => /usr/lib/sysctl.d/30_security-misc_kexec-disable.conf
usr/lib/sysctl.d/30_security-misc_ptrace-disable.conf#security-misc-shared => /usr/lib/sysctl.d/30_security-misc_ptrace-disable.conf
usr/lib/sysctl.d/30_silent-kernel-printk.conf#security-misc-shared => /usr/lib/sysctl.d/30_silent-kernel-printk.conf
usr/lib/sysctl.d/990-security-misc.conf#security-misc-shared => /usr/lib/sysctl.d/990-security-misc.conf
usr/lib/systemd/coredump.conf.d/30_security-misc.conf#security-misc-shared => /usr/lib/systemd/coredump.conf.d/30_security-misc.conf
usr/lib/systemd/pstore.conf.d/30_security-misc.conf#security-misc-shared => /usr/lib/systemd/pstore.conf.d/30_security-misc.conf
usr/lib/systemd/system-preset/50-security-misc.preset#security-misc-shared => /usr/lib/systemd/system-preset/50-security-misc.preset
usr/lib/systemd/system/block-shutdown.service#security-misc-shared => /usr/lib/systemd/system/block-shutdown.service
usr/lib/systemd/system/emerg-shutdown.service#security-misc-shared => /usr/lib/systemd/system/emerg-shutdown.service
usr/lib/systemd/system/ensure-shutdown-trigger.service#security-misc-shared => /usr/lib/systemd/system/ensure-shutdown-trigger.service
usr/lib/systemd/system/ensure-shutdown.service#security-misc-shared => /usr/lib/systemd/system/ensure-shutdown.service
usr/lib/systemd/system/harden-module-loading.service#security-misc-shared => /usr/lib/systemd/system/harden-module-loading.service
usr/lib/systemd/system/haveged.service.d/30_security-misc.conf#security-misc-shared => /usr/lib/systemd/system/haveged.service.d/30_security-misc.conf
usr/lib/systemd/system/hide-hardware-info.service#security-misc-shared => /usr/lib/systemd/system/hide-hardware-info.service
usr/lib/systemd/system/kill-vboxdrmclient-on-shutdown.service#security-misc-shared => /usr/lib/systemd/system/kill-vboxdrmclient-on-shutdown.service
usr/lib/systemd/system/panic-on-oops.service#security-misc-shared => /usr/lib/systemd/system/panic-on-oops.service
usr/lib/systemd/system/permission-hardener.service#security-misc-shared => /usr/lib/systemd/system/permission-hardener.service
usr/lib/systemd/system/proc-hidepid.service#security-misc-shared => /usr/lib/systemd/system/proc-hidepid.service
usr/lib/systemd/system/remount-secure.service#security-misc-shared => /usr/lib/systemd/system/remount-secure.service
usr/lib/systemd/system/remove-system-map.service#security-misc-shared => /usr/lib/systemd/system/remove-system-map.service
usr/lib/systemd/system/sysinit-post.target#security-misc-shared => /usr/lib/systemd/system/sysinit-post.target
usr/lib/systemd/system/usbguard.service.d/30_security-misc.conf#security-misc-shared => /usr/lib/systemd/system/usbguard.service.d/30_security-misc.conf
usr/lib/systemd/system/user@.service.d/sysfs.conf#security-misc-shared => /usr/lib/systemd/system/user@.service.d/sysfs.conf
usr/lib/systemd/user/usbguard-notifier.service.d/30_security-misc.conf#security-misc-shared => /usr/lib/systemd/user/usbguard-notifier.service.d/30_security-misc.conf
usr/lib/udev/rules.d/95-emerg-shutdown.rules#security-misc-shared => /usr/lib/udev/rules.d/95-emerg-shutdown.rules
usr/libexec/security-misc/askpass#security-misc-shared => /usr/libexec/security-misc/askpass
usr/libexec/security-misc/block-unsafe-logins#security-misc-shared => /usr/libexec/security-misc/block-unsafe-logins
usr/libexec/security-misc/check-for-usb-controller#security-misc-shared => /usr/libexec/security-misc/check-for-usb-controller
usr/libexec/security-misc/disable-kernel-module-loading#security-misc-shared => /usr/libexec/security-misc/disable-kernel-module-loading
usr/libexec/security-misc/echo-path#security-misc-shared => /usr/libexec/security-misc/echo-path
usr/libexec/security-misc/emerg-shutdown#security-misc-shared => /usr/libexec/security-misc/emerg-shutdown
usr/libexec/security-misc/ensure-shutdown#security-misc-shared => /usr/libexec/security-misc/ensure-shutdown
usr/libexec/security-misc/hide-hardware-info#security-misc-shared => /usr/libexec/security-misc/hide-hardware-info
usr/libexec/security-misc/kill-vboxdrmclient-on-shutdown#security-misc-shared => /usr/libexec/security-misc/kill-vboxdrmclient-on-shutdown
usr/libexec/security-misc/mmap-rnd-bits#security-misc-shared => /usr/libexec/security-misc/mmap-rnd-bits
usr/libexec/security-misc/pam-abort-on-locked-password#security-misc-shared => /usr/libexec/security-misc/pam-abort-on-locked-password
usr/libexec/security-misc/pam-info#security-misc-shared => /usr/libexec/security-misc/pam-info
usr/libexec/security-misc/pam_faillock_not_if_x#security-misc-shared => /usr/libexec/security-misc/pam_faillock_not_if_x
usr/libexec/security-misc/pam_only_if_login#security-misc-shared => /usr/libexec/security-misc/pam_only_if_login
usr/libexec/security-misc/pam_only_if_su#security-misc-shared => /usr/libexec/security-misc/pam_only_if_su
usr/libexec/security-misc/panic-on-oops#security-misc-shared => /usr/libexec/security-misc/panic-on-oops
usr/libexec/security-misc/permission-lockdown#security-misc-shared => /usr/libexec/security-misc/permission-lockdown
usr/libexec/security-misc/remove-system.map#security-misc-shared => /usr/libexec/security-misc/remove-system.map
usr/libexec/security-misc/virusforget#security-misc-shared => /usr/libexec/security-misc/virusforget
usr/share/doc/security-misc/fstab-vm#security-misc-shared => /usr/share/doc/security-misc/fstab-vm
usr/share/glib-2.0/schemas/30_security-misc.gschema.override#security-misc-shared => /usr/share/glib-2.0/schemas/30_security-misc.gschema.override
usr/share/lintian/overrides/security-misc-shared#security-misc-shared => /usr/share/lintian/overrides/security-misc-shared
usr/share/pam-configs/block-unsafe-logins-security-misc#security-misc-shared => /usr/share/pam-configs/block-unsafe-logins-security-misc
usr/share/pam-configs/console-lockdown-security-misc#security-misc-shared => /usr/share/pam-configs/console-lockdown-security-misc
usr/share/pam-configs/faillock-preauth-security-misc#security-misc-shared => /usr/share/pam-configs/faillock-preauth-security-misc
usr/share/pam-configs/mkhomedir-security-misc#security-misc-shared => /usr/share/pam-configs/mkhomedir-security-misc
usr/share/pam-configs/pam-abort-on-locked-password-security-misc#security-misc-shared => /usr/share/pam-configs/pam-abort-on-locked-password-security-misc
usr/share/pam-configs/umask-security-misc#security-misc-shared => /usr/share/pam-configs/umask-security-misc
usr/share/pam-configs/unix-faillock-security-misc#security-misc-shared => /usr/share/pam-configs/unix-faillock-security-misc
usr/share/pam-configs/wheel-security-misc#security-misc-shared => /usr/share/pam-configs/wheel-security-misc
usr/share/polkit-1/actions/org.freedesktop.Flatpak.policy.security-misc#security-misc-shared => /usr/share/polkit-1/actions/org.freedesktop.Flatpak.policy.security-misc
usr/share/security-misc/dolphinrc#security-misc-shared => /usr/share/security-misc/dolphinrc
usr/share/security-misc/emerg-shutdown-initramfs.service#security-misc-shared => /usr/share/security-misc/emerg-shutdown-initramfs.service
usr/share/security-misc/lkrg/30-lkrg-virtualbox.conf#security-misc-shared => /usr/share/security-misc/lkrg/30-lkrg-virtualbox.conf
usr/share/security-misc/lkrg/lkrg-virtualbox#security-misc-shared => /usr/share/security-misc/lkrg/lkrg-virtualbox
usr/share/security-misc/permission-hardener-existing-mode-legacy-hardcoded#security-misc-shared => /usr/share/security-misc/permission-hardener-existing-mode-legacy-hardcoded
usr/share/security-misc/permission-hardener-new-mode-legacy-hardcoded#security-misc-shared => /usr/share/security-misc/permission-hardener-new-mode-legacy-hardcoded
usr/share/security-misc/security-misc-memlockd.cfg#security-misc-shared => /usr/share/security-misc/security-misc-memlockd.cfg
usr/src/security-misc/emerg-shutdown.c#security-misc-shared => /usr/src/security-misc/emerg-shutdown.c
var/cache/security-misc/state-files/placeholder#security-misc-shared => /var/cache/security-misc/state-files/placeholder

5
debian/security-misc-shared.links vendored Normal file
View file

@ -0,0 +1,5 @@
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
/etc/profile.d/30_security-misc.sh /etc/zprofile.d/30_security-misc.zsh
/etc/profile.d/30_security-misc.sh /etc/X11/Xsession.d/30_security-misc

111
debian/security-misc-shared.maintscript vendored Normal file
View file

@ -0,0 +1,111 @@
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
rm_conffile /etc/sudoers.d/umask-security-misc
## https://forums.whonix.org/t/sysrq-magic-sysrq-key/8079
rm_conffile /etc/sysctl.d/sysrq.conf
## https://github.com/Kicksecure/security-misc/pull/45
rm_conffile /etc/apparmor.d/usr.lib.security-misc.pam_tally2-info
rm_conffile /etc/apparmor.d/usr.lib.security-misc.permission-lockdown
## merged into 3 files /usr/lib/sysctl.d/30_security-misc_kexec-disable.conf, /usr/lib/sysctl.d/30_silent-kernel-printk.conf, and /usr/lib/sysctl.d/990-security-misc.conf
rm_conffile /etc/sysctl.d/fs_protected.conf
rm_conffile /etc/sysctl.d/kptr_restrict.conf
rm_conffile /etc/sysctl.d/suid_dumpable.conf
rm_conffile /etc/sysctl.d/harden_bpf.conf
rm_conffile /etc/sysctl.d/ptrace_scope.conf
rm_conffile /etc/sysctl.d/tcp_timestamps.conf
rm_conffile /etc/sysctl.d/mmap_aslr.conf
rm_conffile /etc/sysctl.d/dmesg_restrict.conf
rm_conffile /etc/sysctl.d/coredumps.conf
rm_conffile /etc/sysctl.d/kexec.conf
rm_conffile /etc/sysctl.d/tcp_hardening.conf
rm_conffile /etc/sysctl.d/tcp_sack.conf
## merged into 3 files /etc/modprobe.d/30_security-misc_blacklist.conf, 30_security-misc_conntrack.conf, and /etc/modprobe.d/30_security-misc_disable.conf
rm_conffile /etc/modprobe.d/uncommon-network-protocols.conf
rm_conffile /etc/modprobe.d/blacklist-bluetooth.conf
rm_conffile /etc/modprobe.d/vivid.conf
rm_conffile /etc/modprobe.d/blacklist-dma.conf
rm_conffile /etc/modprobe.d/msr.conf
rm_conffile /etc/modprobe.d/30_nf_conntrack_helper_disable.conf
rm_conffile /etc/modprobe.d/30_security-misc.conf
## renamed to /etc/security/limits.d/30_security-misc.conf
rm_conffile /etc/security/limits.d/disable-coredumps.conf
## moved to separate package ram-wipe
rm_conffile /etc/default/grub.d/40_cold_boot_attack_defense.cfg
rm_conffile /etc/X11/Xsession.d/50panic_on_oops
rm_conffile /etc/X11/Xsession.d/50security-misc
## moved to /usr/lib/sysctl.d
rm_conffile /etc/sysctl.d/30_security-misc.conf
rm_conffile /etc/sysctl.d/30_silent-kernel-printk.conf
rm_conffile /etc/sysctl.d/30_security-misc_kexec-disable.conf
## moved to /etc/permission-hardener.d
rm_conffile /etc/permission-hardening.d/25_default_passwd.conf
rm_conffile /etc/permission-hardening.d/25_default_sudo.conf
rm_conffile /etc/permission-hardening.d/25_default_whitelist_bubblewrap.conf
rm_conffile /etc/permission-hardening.d/25_default_whitelist_chromium.conf
rm_conffile /etc/permission-hardening.d/25_default_whitelist_dbus.conf
rm_conffile /etc/permission-hardening.d/25_default_whitelist_firejail.conf
rm_conffile /etc/permission-hardening.d/25_default_whitelist_fuse.conf
rm_conffile /etc/permission-hardening.d/25_default_whitelist_hardened_malloc.conf
rm_conffile /etc/permission-hardening.d/25_default_whitelist_mount.conf
rm_conffile /etc/permission-hardening.d/25_default_whitelist_pam.conf
rm_conffile /etc/permission-hardening.d/25_default_whitelist_policykit.conf
rm_conffile /etc/permission-hardening.d/25_default_whitelist_qubes.conf
rm_conffile /etc/permission-hardening.d/25_default_whitelist_selinux.conf
rm_conffile /etc/permission-hardening.d/25_default_whitelist_spice.conf
rm_conffile /etc/permission-hardening.d/25_default_whitelist_ssh.conf
rm_conffile /etc/permission-hardening.d/25_default_whitelist_sudo.conf
rm_conffile /etc/permission-hardening.d/25_default_whitelist_unix_chkpwd.conf
rm_conffile /etc/permission-hardening.d/25_default_whitelist_virtualbox.conf
rm_conffile /etc/permission-hardening.d/30_default.conf
## moved to /usr/lib/permission-hardener.d
rm_conffile /etc/permission-hardener.d/25_default_passwd.conf
rm_conffile /etc/permission-hardener.d/25_default_sudo.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_bubblewrap.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_chromium.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_dbus.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_firejail.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_fuse.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_hardened_malloc.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_mount.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_pam.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_policykit.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_postfix.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_qubes.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_selinux.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_spice.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_ssh.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_sudo.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_unix_chkpwd.conf
rm_conffile /etc/permission-hardener.d/25_default_whitelist_virtualbox.conf
rm_conffile /etc/permission-hardener.d/30_default.conf
## merged into 1 file /etc/default/grub.d/40_kernel_hardening.cfg
rm_conffile /etc/default/grub.d/40_distrust_bootloader.cfg
rm_conffile /etc/default/grub.d/40_distrust_cpu.cfg
rm_conffile /etc/default/grub.d/40_enable_iommu.cfg
## renamed to /etc/default/grub.d/40_remount_secure.cfg
rm_conffile /etc/default/grub.d/40_remmount-secure.cfg
## renamed to /etc/default/grub.d/40_signed_modules.cfg
rm_conffile /etc/default/grub.d/40_only_allow_signed_modules.cfg
## renamed to /etc/default/grub.d/41_quiet_boot.cfg
rm_conffile /etc/default/grub.d/41_quiet.cfg
## moved to usability-misc
rm_conffile /etc/dkms/framework.conf.d/30_security-misc.conf
## renamed to reflect the fact that this uses a whitelist
rm_conffile /usr/lib/permission-hardener.d/25_default_passwd.conf

212
debian/security-misc-shared.postinst vendored Executable file
View file

@ -0,0 +1,212 @@
#!/bin/bash
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then
source /usr/libexec/helper-scripts/pre.bsh
fi
## Required since this package uses debconf - this is mandatory even though
## the postinst itself does not use debconf commands.
source /usr/share/debconf/confmodule
set -e
true "
#####################################################################
## INFO: BEGIN: $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $*
#####################################################################
"
permission_hardening_legacy_config_folder() {
if ! test -d /etc/permission-hardening.d ; then
return 0
fi
rmdir --verbose --ignore-fail-on-non-empty /etc/permission-hardening.d || true
}
permission_hardening() {
echo "Running SUID Disabler and Permission Hardener... See also:"
echo "https://www.kicksecure.com/wiki/SUID_Disabler_and_Permission_Hardener"
echo "$0: INFO: running: permission-hardener enable"
if ! permission-hardener enable ; then
echo "$0: ERROR: Permission hardening failed." >&2
return 0
fi
echo "$0: INFO: Permission hardening success."
}
fix_pkexec_remembered_permissions() {
if [ -f "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_1" ]; then
return 0
fi
mkdir --parents '/var/lib/security-misc/do_once'
if ! [ -f "/var/lib/permission-hardener-v2/existing_mode/statoverride" ]; then
## 'statoverride' file does not exist yet. Therefore no need to fix it using 'str_replace'.
touch "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_1"
return 0
fi
## The existing_mode database may incorrectly list the original permissions
## of pkexec as '755'. They should be '4755'. Fix this with str_replace. If
## this issue is not present, str_replace will do nothing.
str_replace 'root root 755 /usr/bin/pkexec' \
'root root 4755 /usr/bin/pkexec' \
/var/lib/permission-hardener-v2/existing_mode/statoverride
touch "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_1"
}
install_permission_hardener_base_state() {
local state_str
if [ -f "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_1" ]; then
return 0
fi
mkdir --parents '/var/lib/security-misc/do_once'
if [ -f "/var/lib/permission-hardener-v2/existing_mode/statoverride" ]; then
## 'statoverride' file already exists. Therefore no need to pre-populate it.
touch "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_1"
return 0
fi
mkdir --parents -- '/var/lib/permission-hardener-v2/existing_mode'
state_str="root root 644 /etc/passwd-
root root 755 /etc/cron.monthly
root root 755 /etc/sudoers.d
root shadow 2755 /usr/bin/expiry
root root 4755 /usr/bin/umount
root root 4755 /usr/bin/gpasswd
root root 755 /usr/lib/modules
root root 644 /etc/issue.net
root root 644 /etc/group-
root root 4755 /usr/bin/newgrp
root root 755 /etc/cron.weekly
root root 4755 /usr/lib/polkit-1/polkit-agent-helper-1
root root 644 /etc/hosts.deny
root root 4755 /usr/bin/newgidmap
root root 644 /etc/issue.kicksecure
root root 4755 /usr/bin/pkexec
root root 4755 /usr/bin/su
root root 644 /etc/hosts.allow
root root 700 /root
root root 755 /etc/cron.daily
root root 644 /etc/motd
root root 4755 /usr/bin/newuidmap
root root 755 /boot
root root 755 /home
root shadow 2755 /usr/bin/chage
root root 4755 /usr/lib/openssh/ssh-keysign
root root 4755 /usr/bin/ntfs-3g
root root 4755 /usr/bin/chsh
root root 644 /etc/motd.kicksecure
root root 755 /usr/bin/su-to-root
root root 4755 /usr/bin/passwd
root root 4755 /usr/bin/chfn
root root 644 /etc/group
root root 4755 /usr/bin/sudo
root root 644 /etc/passwd
root root 755 /usr/src
root root 4755 /usr/bin/mount
root root 644 /etc/issue
root root 755 /etc/cron.d"
printf '%s\n' "$state_str" | tee /var/lib/permission-hardener-v2/existing_mode/statoverride
touch "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_1"
}
case "$1" in
configure)
if [ -d /etc/skel/.gnupg ]; then
## Lintian warns against use of chmod --recursive.
chmod 700 /etc/skel/.gnupg
fi
## /usr/share/glib-2.0/schemas/30_security-misc.gschema.override
glib-compile-schemas /usr/share/glib-2.0/schemas || true
## state dir for PAM 'faillock'
mkdir -p /var/lib/security-misc/faillock
## Fix pkexec remembered permissions if necessary.
fix_pkexec_remembered_permissions
## Pre-populate permission-hardener state on first postinst run.
## Necessary because the first permission-hardener run may occur
## before all permissions are set properly by package postinst
## scripts. In particular, pkexec is not SUID-root until after its
## postinst runs.
install_permission_hardener_base_state
## Fix usbguard config permissions, this seemingly can't be done
## during the unpack stage
usbguard_config_file_list=(
'/etc/usbguard/rules.d/30_security-misc.conf'
'/etc/usbguard/usbguard-daemon.conf.security-misc'
'/etc/usbguard/IPCAccessControl.d/:sudo'
'/etc/usbguard/IPCAccessControl.d/:qubes'
)
for usbguard_config_file in "${usbguard_config_file_list[@]}"; do
if test -f "${usbguard_config_file}"; then
chmod 0600 "${usbguard_config_file}"
fi
done
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
triggered)
echo "INFO: triggered $DPKG_MAINTSCRIPT_PACKAGE: '$DPKG_MAINTSCRIPT_PACKAGE' $DPKG_MAINTSCRIPT_PACKAGE DPKG_MAINTSCRIPT_NAME: '$DPKG_MAINTSCRIPT_NAME' $\*: '$*' 2: '$2'"
/usr/share/security-misc/lkrg/lkrg-virtualbox || true
/usr/libexec/security-misc/mmap-rnd-bits || true
permission_hardening
exit 0
;;
*)
echo "$DPKG_MAINTSCRIPT_NAME called with unknown argument \`$1'" >&2
exit 1
;;
esac
pam-auth-update --package
/usr/libexec/security-misc/permission-lockdown
permission_hardening
## https://phabricator.whonix.org/T377
## Debian has no update-grub trigger yet:
## https://bugs.debian.org/481542
if command -v update-grub >/dev/null 2>&1; then
update-grub || \
echo "$DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME ERROR: Running \
'update-grub' failed with exit code $?. $DPKG_MAINTSCRIPT_PACKAGE is most \
likely only the trigger, not the cause. Unless you know this is not an issue, \
you should fix running 'update-grub', otherwise your system might no longer \
boot." >&2
fi
/usr/libexec/security-misc/mmap-rnd-bits || true
true "INFO: debhelper beginning here."
#DEBHELPER#
true "INFO: Done with debhelper."
permission_hardening_legacy_config_folder
true "
#####################################################################
## INFO: END : $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $*
#####################################################################
"
## Explicitly "exit 0", so eventually trapped errors can be ignored.
exit 0

4
debian/security-misc.postrm → debian/security-misc-shared.postrm vendored Normal file → Executable file
View file

@ -1,6 +1,6 @@
#!/bin/bash
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then
@ -18,6 +18,8 @@ true "
## https://forums.whonix.org/t/is-security-misc-suitable-for-hardening-bridges-and-relays/8299/11
pam-auth-update --package --remove "$DPKG_MAINTSCRIPT_PACKAGE"
rm -f /etc/sysctl.d/30_security-misc_aslr-mmap.conf
true "INFO: debhelper beginning here."
#DEBHELPER#

40
debian/security-misc.preinst → debian/security-misc-shared.preinst vendored Normal file → Executable file
View file

@ -1,6 +1,6 @@
#!/bin/bash
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then
@ -20,9 +20,20 @@ user_groups_modifications() {
addgroup --system sysfs
addgroup --system cpuinfo
## /usr/lib/systemd/system/proc-hidepid.service
addgroup --system proc
## Avoid 'debian/control' file 'Depends:' 'sudo'.
##
## Could use '/usr/libexec/helper-scripts/user_create.bsh' in preinst? Looks more complex. Avoided.
## group 'sudo' is not a system group.
#addgroup --system sudo
## Function 'is_group' is complex. Hence, use '2>/dev/null || true'.
addgroup sudo 2>/dev/null || true
## group 'sudo' membership required to use 'su'
## /usr/share/pam-configs/wheel-security-misc
addgroup root sudo
adduser root sudo
## Useful to create groups in preinst rather than postinst.
## Otherwise if a user saw an error message such as this:
@ -44,15 +55,15 @@ user_groups_modifications() {
## an "empty" /etc/securetty.
## In case a system administrator edits /etc/securetty, there is no need to
## block for this to be still blocked by console lockdown. See also:
## https://www.whonix.org/wiki/Root#Root_Login
addgroup root console
## https://www.kicksecure.com/wiki/Root#Root_Login
adduser root console
}
output_skip_checks() {
echo "security-misc '$0' INFO: Allow installation of security-misc anyway." >&2
echo "security-misc '$0' INFO: (technical reason: $@)" >&2
echo "security-misc '$0' INFO: If this is a chroot this is probably OK." >&2
echo "security-misc '$0' INFO: Otherwise you might not be able to login." >&2
echo "security-misc-shared '$0' INFO: Allow installation of security-misc-shared anyway." >&2
echo "security-misc-shared '$0' INFO: (technical reason: $@)" >&2
echo "security-misc-shared '$0' INFO: If this is a chroot this is probably OK." >&2
echo "security-misc-shared '$0' INFO: Otherwise you might not be able to login." >&2
}
sudo_users_check () {
@ -93,14 +104,15 @@ sudo_users_check () {
## Prevent users from locking themselves out.
## https://forums.whonix.org/t/is-security-misc-suitable-for-hardening-bridges-and-relays/8299/4
echo "$0: ERROR: No user is a member of group 'sudo'. Installation aborted." >&2
echo "$0: ERROR: No account is a member of group 'sudo'. Installation aborted." >&2
echo "$0: ERROR: You probably want to run:" >&2
echo "$0: NOTE: Replace account 'user' with your actual Linux user account name." >&2
echo "" >&2
echo "sudo adduser user sudo" >&2
echo "sudo adduser user console" >&2
echo "" >&2
echo "$0: ERROR: See also installation instructions:" >&2
echo "https://www.whonix.org/wiki/security-misc#install" >&2
echo "https://www.kicksecure.com/wiki/security-misc#install" >&2
if [ "$SECURITY_MISC_INSTALL" = "force" ]; then
output_skip_checks "Environment variable SECURITY_MISC_INSTALL is set to 'force'."
@ -142,7 +154,7 @@ console_users_check() {
for user_with_console in $console_users $console_unrestricted_users ; do
if [ "$user_with_console" = "root" ]; then
## root login is also restricted.
## Therefore user "root" being member of group "console" is
## Therefore account "root" being member of group "console" is
## considered insufficient.
continue
fi
@ -159,7 +171,7 @@ console_users_check() {
return 0
fi
echo "$0: ERROR: No user is a member of group 'console'. Installation aborted." >&2
echo "$0: ERROR: No account is a member of group 'console'. Installation aborted." >&2
echo "$0: ERROR: You probably want to run:" >&2
echo "" >&2
echo "sudo adduser user console" >&2
@ -209,11 +221,11 @@ legacy() {
user_to_be_created=user
if ! id "$user_to_be_created" &>/dev/null ; then
true "INFO: user '$user_to_be_created' does not exist. Skipping addgroup console and pam-auth-update."
true "INFO: Account '$user_to_be_created' does not exist. Skipping adding account '$user_to_be_created' to group 'console' and also skipping 'pam-auth-update --enable console-lockdown-security-misc'."
return 0
fi
addgroup "$user_to_be_created" console
adduser "$user_to_be_created" console
pam-auth-update --enable console-lockdown-security-misc

2
debian/security-misc.prerm → debian/security-misc-shared.prerm vendored Normal file → Executable file
View file

@ -1,6 +1,6 @@
#!/bin/bash
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then

9
debian/security-misc-shared.templates vendored Normal file
View file

@ -0,0 +1,9 @@
Template: security-misc-shared/alert-on-permission-hardener-v2-upgrade
Type: note
_Description: Manual intervention may be required for permission-hardener update
No need to panic. Nothing is broken. A rare condition has been encountered.
permission-hardener is being updated to fix a minor bug that caused
corruption in the permission-hardener state file. If you installed your own
custom permission-hardener configuration, some manual intervention may be
required. See:
https://www.kicksecure.com/wiki/SUID_Disabler_and_Permission_Hardener#fixing_state_files

16
debian/security-misc-shared.triggers vendored Normal file
View file

@ -0,0 +1,16 @@
## Copyright (C) 2024 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## use noawait
## https://github.com/Kicksecure/security-misc/issues/196
## Trigger permission hardener when new binaries are being installed.
interest-noawait /usr
interest-noawait /opt
## Trigger permission hardener when new configuration files are being installed.
interest-noawait /usr/lib/permission-hardener.d
interest-noawait /etc/permission-hardener.d
interest-noawait /usr/local/etc/permission-hardener.d
interest-noawait /etc/permission-hardening.d
interest-noawait /usr/local/etc/permission-hardening.d

View file

@ -0,0 +1,6 @@
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
/etc/login.defs.security-misc
/usr/bin/pkexec.security-misc
/etc/dkms/framework.conf.security-misc

View file

@ -1,6 +0,0 @@
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
/etc/securetty.security-misc
/etc/security/faillock.conf.security-misc
/etc/dkms/framework.conf.security-misc

View file

@ -1,3 +0,0 @@
/apps/nautilus/preview_sound never
/apps/nautilus/show_icon_text never
/apps/nautilus/show-image-thumbnails never

View file

@ -1,9 +0,0 @@
## Copyright (C) 2020 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## This file was generated using genmkfile 'make debinstfile'.
etc/*
lib/*
usr/*
var/*

View file

@ -1,39 +0,0 @@
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
rm_conffile /etc/sudoers.d/umask-security-misc
## https://forums.whonix.org/t/allow-loading-signed-kernel-modules-by-default-disallow-kernel-module-loading-by-default/7880/23
rm_conffile /etc/default/grub.d/40_only_allow_signed_modules.cfg
## https://forums.whonix.org/t/sysrq-magic-sysrq-key/8079
rm_conffile /etc/sysctl.d/sysrq.conf
## https://github.com/Whonix/security-misc/pull/45
rm_conffile /etc/apparmor.d/usr.lib.security-misc.pam_tally2-info
rm_conffile /etc/apparmor.d/usr.lib.security-misc.permission-lockdown
## merged into 1 file /etc/sysctl.d/30_security-misc.conf
rm_conffile /etc/sysctl.d/fs_protected.conf
rm_conffile /etc/sysctl.d/kptr_restrict.conf
rm_conffile /etc/sysctl.d/suid_dumpable.conf
rm_conffile /etc/sysctl.d/harden_bpf.conf
rm_conffile /etc/sysctl.d/ptrace_scope.conf
rm_conffile /etc/sysctl.d/tcp_timestamps.conf
rm_conffile /etc/sysctl.d/mmap_aslr.conf
rm_conffile /etc/sysctl.d/dmesg_restrict.conf
rm_conffile /etc/sysctl.d/coredumps.conf
rm_conffile /etc/sysctl.d/kexec.conf
rm_conffile /etc/sysctl.d/tcp_hardening.conf
rm_conffile /etc/sysctl.d/tcp_sack.conf
## merged into 1 file /etc/modprobe.d/30_security-misc.conf
rm_conffile /etc/modprobe.d/uncommon-network-protocols.conf
rm_conffile /etc/modprobe.d/blacklist-bluetooth.conf
rm_conffile /etc/modprobe.d/vivid.conf
rm_conffile /etc/modprobe.d/blacklist-dma.conf
rm_conffile /etc/modprobe.d/msr.conf
rm_conffile /etc/modprobe.d/30_nf_conntrack_helper_disable.conf
## renamed to /etc/security/limits.d/30_security-misc.conf
rm_conffile /etc/security/limits.d/disable-coredumps.conf

View file

@ -1,73 +0,0 @@
#!/bin/bash
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then
source /usr/libexec/helper-scripts/pre.bsh
fi
set -e
true "
#####################################################################
## INFO: BEGIN: $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $@
#####################################################################
"
case "$1" in
configure)
if [ -d /etc/skel/.gnupg ]; then
## Lintian warns against use of chmod --recursive.
chmod 700 /etc/skel/.gnupg
fi
## /usr/share/glib-2.0/schemas/30_security-misc.gschema.override
glib-compile-schemas /usr/share/glib-2.0/schemas || true
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
triggered)
echo "INFO: triggered $DPKG_MAINTSCRIPT_PACKAGE: '$DPKG_MAINTSCRIPT_PACKAGE' $DPKG_MAINTSCRIPT_PACKAGE DPKG_MAINTSCRIPT_NAME: '$DPKG_MAINTSCRIPT_NAME' $\@: '$@' 2: '$2'"
/usr/share/security-misc/lkrg/lkrg-virtualbox || true
exit 0
;;
*)
echo "$DPKG_MAINTSCRIPT_NAME called with unknown argument \`$1'" >&2
exit 1
;;
esac
pam-auth-update --package
/usr/libexec/security-misc/permission-lockdown
## https://phabricator.whonix.org/T377
## Debian has no update-grub trigger yet:
## https://bugs.debian.org/481542
if command -v update-grub >/dev/null 2>&1; then
update-grub || \
echo "$DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME ERROR: Running \
'update-grub' failed with exit code $?. $DPKG_MAINTSCRIPT_PACKAGE is most \
likely only the trigger, not the cause. Unless you know this is not an issue, \
you should fix running 'update-grub', otherwise your system might no longer \
boot." >&2
fi
true "INFO: debhelper beginning here."
#DEBHELPER#
true "INFO: Done with debhelper."
true "
#####################################################################
## INFO: END : $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $@
#####################################################################
"
## Explicitly "exit 0", so eventually trapped errors can be ignored.
exit 0

View file

@ -1,15 +0,0 @@
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
#### meta start
#### project Whonix
#### category security
#### description
## Activate initramfs hook that sets the sysctl values before init is executed.
activate-noawait update-initramfs
## LKRG /usr/share/security-misc/lkrg/lkrg-virtualbox
interest-noawait /usr/bin/vboxmanage
#### meta end

View file

@ -1,5 +0,0 @@
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
/etc/login.defs.security-misc
/usr/bin/pkexec.security-misc

View file

@ -1,2 +1,2 @@
## https://phabricator.whonix.org/T277
debian-watch-does-not-check-gpg-signature
debian-watch-does-not-check-openpgp-signature

4
debian/watch vendored
View file

@ -1,6 +1,6 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
version=4
opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/security-misc-$1\.tar\.gz/ \
https://github.com/Whonix/security-misc/tags .*/v?(\d\S+)\.tar\.gz
https://github.com/Kicksecure/security-misc/tags .*/v?(\d\S+)\.tar\.gz

View file

@ -1,8 +0,0 @@
#!/bin/sh
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
if [ -x /usr/libexec/security-misc/panic-on-oops ]; then
sudo --non-interactive /usr/libexec/security-misc/panic-on-oops
fi

View file

@ -1,9 +0,0 @@
#!/bin/sh
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
if [ -z "$XDG_CONFIG_DIRS" ]; then
XDG_CONFIG_DIRS=/etc/xdg
fi
export XDG_CONFIG_DIRS=/usr/share/security-misc/:$XDG_CONFIG_DIRS

View file

@ -1,7 +1,7 @@
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
alias /etc/pam.d/common-session -> /etc/pam.d//etc/pam.d/common-session.security-misc,
alias /etc/pam.d/common-session -> /etc/pam.d/common-session.security-misc,
alias /etc/pam.d/common-session-noninteractive -> /etc/pam.d/common-session-noninteractive.security-misc,
alias /etc/login.defs -> /etc/login.defs.security-misc,
alias /etc/securetty -> /etc/securetty.security-misc,

View file

@ -1,4 +1,4 @@
## Copyright (C) 2021 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## Copyright (C) 2021 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Make "sudo apt-get update" exit non-zero for transient failures.

View file

@ -1,4 +1,4 @@
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## https://forums.whonix.org/t/apt-seccomp-bpf-sandboxing/7702

View file

@ -0,0 +1,28 @@
## Copyright (C) 2023 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
[General]
# How long to stay in pairable mode before going back to non-discoverable
# The value is in seconds. Default is 0.
# 0 = disable timer, i.e. stay pairable forever
PairableTimeout = 30
# How long to stay in discoverable mode before going back to non-discoverable
# The value is in seconds. Default is 180, i.e. 3 minutes.
# 0 = disable timer, i.e. stay discoverable forever
DiscoverableTimeout = 30
# Maximum number of controllers allowed to be exposed to the system.
# Default=0 (unlimited)
MaxControllers=1
[Policy]
# AutoEnable defines option to enable all controllers when they are found.
# This includes adapters present on start as well as adapters that are plugged
# in later on. Defaults to 'true'.
AutoEnable=false
# network/on: A device will only accept advertising packets from peer
# devices that contain private addresses. It may not be compatible with some
# legacy devices since it requires the use of RPA(s) all the time.
Privacy=network/on

View file

@ -1,42 +0,0 @@
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Enables all mitigations for CPU vulnerabilities.
##
## https://forums.whonix.org/t/should-all-kernel-patches-for-cpu-bugs-be-unconditionally-enabled-vs-performance-vs-applicability/7647
## Enable all mitigations for Spectre Variant 2.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/spectre.html
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX spectre_v2=on"
## Disable Speculative Store Bypass.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX spec_store_bypass_disable=on"
## Disable TSX, enable all mitigations for the TSX Async Abort
## vulnerability and disable SMT.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/tsx_async_abort.html
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX tsx=off tsx_async_abort=full,nosmt"
## Enable all mitigations for the MDS vulnerability and disable
## SMT.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mds=full,nosmt"
## Enable all mitigations for the L1TF vulnerability and disable SMT
## and L1D flush runtime control.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX l1tf=full,force"
## Force disable SMT as it has caused numerous CPU vulnerabilities.
##
## https://forums.whonix.org/t/should-all-kernel-patches-for-cpu-bugs-be-unconditionally-enabled-vs-performance-vs-applicability/7647/17
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX nosmt=force"
## Mark all huge pages in the EPT as non-executable to mitigate iTLB multihit.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/multihit.html#mitigation-control-on-the-kernel-command-line-and-kvm-module-parameter
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kvm.nx_huge_pages=force"

View file

@ -0,0 +1,231 @@
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Definitions:
## KSPP=yes: compliant with recommendations by the KSPP
## KSPP=partial: partially compliant with recommendations by the KSPP
## KSPP=no: not (currently) compliant with recommendations by the KSPP
## If there is no explicit KSPP compliance notice, the setting is not mentioned by the KSPP.
## Enable known mitigations for CPU vulnerabilities.
## Note, the mitigations for SSB and Retbleed are not currently mentioned in the first link.
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/index.html
## https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
## https://forums.whonix.org/t/should-all-kernel-patches-for-cpu-bugs-be-unconditionally-enabled-vs-performance-vs-applicability/7647
## Check for potential updates directly from AMD and Intel.
## https://www.amd.com/en/resources/product-security.html
## https://www.intel.com/content/www/us/en/developer/topic-technology/software-security-guidance/advisory-guidance.html
## https://www.intel.com/content/www/us/en/developer/topic-technology/software-security-guidance/disclosure-documentation.html
## Tabular comparison between the utility and functionality of various mitigations.
## https://forums.whonix.org/t/kernel-hardening-security-misc/7296/587
## For complete protection, users must install the latest relevant security microcode update.
## BIOS/UEFI updates should only be obtained directly from OEMs and/or motherboard manufacturers.
## Note that incorrectly performing system BIOS/UEFI updates can potentially lead to serious functionality issues.
## The parameters below only provide (partial) protection at both the kernel and user space level.
## If using Secure Boot, users must also ensure the Secure Boot Forbidden Signature Database (DBX) is up to date.
## The UEFI Revocation List contains signatures of now revoked firmware and software used in booting systems.
## If using compatible hardware, the database can be updated directly in user space using fwupd.
## Note that incorrectly performing DBX updates can potentially lead to serious functionality issues.
## https://github.com/microsoft/secureboot_objects
## https://uefi.org/revocationlistfile
## https://github.com/fwupd/fwupd
## Enable a subset of known default mitigations for some CPU vulnerabilities and disable SMT.
## Note that this redundant parameter simply applies each mitigation at the already applied default settings.
## The default values are not always the strictest and so we reapply each below to their highest setting.
## We retain it here for completeness as many other distributions heavily rely on this for many CPU mitigations.
##
## https://github.com/Kicksecure/security-misc/issues/199#issuecomment-3327391859
## https://github.com/secureblue/secureblue/issues/1405
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/attack_vector_controls.html
##
## KSPP=yes
## KSPP sets the kernel parameters.
##
## WARNING: Do not rely on this parameter, it is presented here only for educational purposes.
## WARNING: Parameters are applied consecutively and so do not ever move this setting down.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mitigations=auto,nosmt"
## Disable SMT as it has been the cause of and amplified numerous CPU exploits.
## The only full mitigation of cross-HT attacks is to disable SMT.
## Disabling will significantly decrease system performance on multi-threaded tasks.
## Note, this setting will prevent re-enabling SMT via the sysfs interface.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/core-scheduling.html
## https://forums.whonix.org/t/should-all-kernel-patches-for-cpu-bugs-be-unconditionally-enabled-vs-performance-vs-applicability/7647/17
## https://github.com/anthraxx/linux-hardened/issues/37#issuecomment-619597365
##
## KSPP=yes
## KSPP sets the kernel parameter.
##
## To re-enable SMT:
## - Remove "nosmt=force".
## - Remove all occurrences of ",nosmt" in this file (note the comma ",").
## - Downgrade "l1tf=full,force" protection to "l1tf=flush".
## - Regenerate the dracut initramfs and then reboot system.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX nosmt=force"
## Spectre Side Channels (BTI and BHI):
## Unconditionally enable mitigation for Spectre Variant 2 (branch target injection).
## Enable mitigation for the Intel branch history injection vulnerability.
## Currently affects both AMD and Intel CPUs.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/spectre.html
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX spectre_v2=on"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX spectre_bhi=on"
## Meltdown:
## Mitigate Spectre Variant 3 using kernel page table isolation (PTI).
## Force enable PTI of user and kernel address spaces on all cores.
## Mitigations for X86_64 CPUs are done in /etc/default/grub.d/40_kernel_hardening.cfg using "pti=on".
## Currently affects ARM64 CPUs.
##
## https://en.wikipedia.org/wiki/Meltdown_(security_vulnerability)
## https://en.wikipedia.org/wiki/Kernel_page-table_isolation
##
## KSPP=yes
## KSPP sets CONFIG_UNMAP_KERNEL_AT_EL0=y.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kpti=1"
## Speculative Store Bypass (SSB):
## Mitigate Spectre Variant 4 by disabling speculative store bypass system-wide.
## Unconditionally enable the mitigation for both kernel and userspace.
## Currently affects AMD, ARM64, and Intel CPUs.
##
## https://en.wikipedia.org/wiki/Speculative_Store_Bypass
## https://www.suse.com/support/kb/doc/?id=000019189
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX spec_store_bypass_disable=on"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX ssbd=force-on"
## L1 Terminal Fault (L1TF):
## Mitigate the vulnerability by disabling L1D flush runtime control and SMT.
## If L1D flushing is conditional, mitigate the vulnerability for certain KVM hypervisor configurations.
## Currently affects Intel CPUs.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX l1tf=full,force"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kvm-intel.vmentry_l1d_flush=always"
## Microarchitectural Data Sampling (MDS):
## Mitigate the vulnerability by clearing the CPU buffer cache and disabling SMT.
## Currently affects Intel CPUs.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mds=full,nosmt"
## TSX Asynchronous Abort (TAA):
## Mitigate the vulnerability by disabling TSX.
## If TSX is enabled, clear CPU buffer rings on transitions and disable SMT.
## Currently affects Intel CPUs.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/tsx_async_abort.html
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX tsx=off"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX tsx_async_abort=full,nosmt"
## iTLB Multihit:
## Mitigate the vulnerability by marking all huge pages in the EPT as non-executable.
## Currently affects Intel CPUs.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/multihit.html
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kvm.nx_huge_pages=force"
## Special Register Buffer Data Sampling (SRBDS):
## Mitigation of the vulnerability is only possible via microcode update from Intel.
## Currently affects Intel CPUs.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/special-register-buffer-data-sampling.html
## https://access.redhat.com/solutions/5142691
## L1D Flushing:
## Mitigate leaks from the L1D cache on context switches by enabling the prctl() interface.
## Currently affects Intel CPUs.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1d_flush.html
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX l1d_flush=on"
## Processor MMIO Stale Data:
## Mitigate the vulnerabilities by appropriately clearing the CPU buffer and disabling SMT.
## Currently affects Intel CPUs.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/processor_mmio_stale_data.html
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mmio_stale_data=full,nosmt"
## Arbitrary Speculative Code Execution with Return Instructions (Retbleed):
## Mitigate the vulnerability through CPU-dependent implementation and disable SMT.
## Currently affects both AMD Zen 1-2 and Intel CPUs.
##
## https://en.wikipedia.org/wiki/Retbleed
## https://comsec.ethz.ch/research/microarch/retbleed/
## https://www.suse.com/support/kb/doc/?id=000020693
## https://access.redhat.com/solutions/retbleed
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX retbleed=auto,nosmt"
## Cross-Thread Return Address Predictions:
## Mitigate the vulnerability for certain KVM hypervisor configurations.
## Currently affects AMD Zen 1-2 CPUs.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/cross-thread-rsb.html
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kvm.mitigate_smt_rsb=1"
## Speculative Return Stack Overflow (SRSO):
## Mitigate the vulnerability by ensuring all RET instructions speculate to a controlled location.
## Currently affects AMD Zen 1-4 CPUs.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/srso.html
##
## The default kernel setting will be utilized until provided sufficient evidence to modify.
## Using "spec_rstack_overflow=ibpb" may provide superior protection to the default software-based approach.
## The use of hardware barriers may be more effective while possibly incurring a greater performance loss.
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX spec_rstack_overflow=safe-ret"
## Gather Data Sampling (GDS):
## Mitigate the vulnerability either via microcode update or by disabling AVX.
## Note, without a suitable microcode update, this will entirely disable use of the AVX instructions set.
## Currently affects Intel CPUs.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/gather_data_sampling.html
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX gather_data_sampling=force"
## Register File Data Sampling (RFDS):
## Mitigate the vulnerability by appropriately clearing the CPU buffer.
## Currently affects Intel Atom CPUs (which encompasses E-cores on hybrid architectures).
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/reg-file-data-sampling.html
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX reg_file_data_sampling=on"
## Indirect Target Selection (ITS):
## Mitigate the vulnerability by not allowing indirect branches in the lower half of the cacheline.
## Currently affects Intel CPUs.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/indirect-target-selection.html
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX indirect_target_selection=force"
## VMScape:
## Mitigate the vulnerability by flushing branch predictors before returning to userspace when exiting guests.
## Comprehensive protection may also require disabling SMT to limit cross-thread attacks.
## Currently affects both AMD and Intel CPUs.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/vmscape.html
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX vmscape=force"

View file

@ -1,11 +0,0 @@
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Distrusts the CPU for initial entropy at boot as it is not possible to
## audit, may contain weaknesses or a backdoor.
##
## https://en.wikipedia.org/wiki/RDRAND#Reception
## https://twitter.com/pid_eins/status/1149649806056280069
## https://archive.nytimes.com/www.nytimes.com/interactive/2013/09/05/us/documents-reveal-nsa-campaign-against-encryption.html
## https://forums.whonix.org/t/entropy-config-random-trust-cpu-yes-or-no-rng-core-default-quality/8566
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX random.trust_cpu=off"

View file

@ -1,12 +0,0 @@
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Enables IOMMU to prevent DMA attacks.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX intel_iommu=on amd_iommu=on"
## Disable the busmaster bit on all PCI bridges during very
## early boot to avoid holes in IOMMU.
##
## https://mjg59.dreamwidth.org/54433.html
## https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4444f8541dad16fefd9b8807ad1451e806ef1d94
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX efi=disable_early_pci_dma"

View file

@ -1,73 +0,0 @@
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
kpkg="linux-image-$(dpkg --print-architecture)" || true
kver="$(dpkg-query --show --showformat='${Version}' "$kpkg")" 2>/dev/null || true
#echo "## kver: $kver"
## Disables the merging of slabs of similar sizes.
## Sometimes a slab can be used in a vulnerable way which an attacker can exploit.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX slab_nomerge"
if dpkg --compare-versions "$kver" ge "5.3"; then
## Enables sanity checks (F) and redzoning (Z).
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX slub_debug=FZ"
#echo "## $kver grater or equal 5.3: yes"
## Zero memory at allocation and free time.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX init_on_alloc=1 init_on_free=1"
else
#echo "## $kver grater or equal 5.3: no"
## SLUB poisoning and page poisoning is used if the kernel
## does not yet support init_on_{,alloc,free}.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX slub_debug=FZP"
if command -v "qubesdb-read" >/dev/null 2>&1 ; then
## https://github.com/QubesOS/qubes-issues/issues/5212#issuecomment-533873012
true "skip adding page_poison=1 in Qubes"
else
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX page_poison=1"
fi
fi
## Makes the kernel panic on uncorrectable errors in ECC memory that an attacker could exploit.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mce=0"
## Enables Kernel Page Table Isolation which mitigates Meltdown and improves KASLR.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX pti=on"
## Vsyscalls are obsolete, are at fixed addresses and are a target for ROP.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX vsyscall=none"
## Enables page allocator freelist randomization.
if dpkg --compare-versions "${kver}" ge "5.2"; then
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX page_alloc.shuffle=1"
fi
## Enables kernel lockdown.
##
## Disabled for now as it enforces module signature verification which breaks
## too many things.
## https://forums.whonix.org/t/enforce-kernel-module-software-signature-verification-module-signing-disallow-kernel-module-loading-by-default/7880
##
#if dpkg --compare-versions "${kver}" ge "5.4"; then
# GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX lockdown=confidentiality"
#fi
## Gather more entropy during boot.
##
## Requires linux-hardened kernel patch.
## https://github.com/anthraxx/linux-hardened
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX extra_latent_entropy"
## Prevent kernel info leaks in console during boot.
## https://phabricator.whonix.org/T950
## LANG=C str_replace is provided by package helper-scripts.
## Remove "quiet" from GRUB_CMDLINE_LINUX_DEFAULT because "quiet" must be first.
GRUB_CMDLINE_LINUX_DEFAULT="$(echo "$GRUB_CMDLINE_LINUX_DEFAULT" | LANG=C str_replace "quiet" "")"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX quiet loglevel=0"
## Restrict access to debugfs since it can contain a lot of sensitive information.
## https://lkml.org/lkml/2020/7/16/122
## https://github.com/torvalds/linux/blob/fb1201aececc59990b75ef59fca93ae4aa1e1444/Documentation/admin-guide/kernel-parameters.txt#L835-L848
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX debugfs=off"

View file

@ -0,0 +1,440 @@
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
kpkg="linux-image-$(dpkg --print-architecture)" || true
kver="$(dpkg-query --show --showformat='${Version}' "$kpkg")" 2>/dev/null || true
#echo "## kver: $kver"
## Definitions:
## KSPP=yes: compliant with recommendations by the KSPP
## KSPP=partial: partially compliant with recommendations by the KSPP
## KSPP=no: not (currently) compliant with recommendations by the KSPP
## If there is no explicit KSPP compliance notice, the setting is not mentioned by the KSPP.
## This configuration file is split into 4 sections:
## 1. Kernel Space
## 2. Direct Memory Access
## 3. Entropy
## 4. Networking
## See the documentation below for details on the majority of the selected commands:
## https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
## https://wiki.archlinux.org/title/Kernel_parameters#GRUB
## 1. Kernel Space:
##
## https://madaidans-insecurities.github.io/guides/linux-hardening.html#boot-parameters
## https://kspp.github.io/Recommended_Settings#kernel-command-line-options
## Disable merging of slabs with similar size.
## Reduces the risk of triggering heap overflows.
## Prevents overwriting objects from merged caches and limits influencing slab cache layout.
##
## https://www.openwall.com/lists/kernel-hardening/2017/06/19/33
## https://www.openwall.com/lists/kernel-hardening/2017/06/20/10
##
## KSPP=yes
## KSPP sets the kernel parameter and does not set CONFIG_SLAB_MERGE_DEFAULT.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX slab_nomerge"
## Enable sanity checks and red zoning of slabs via debugging options to detect memory corruption.
## Sanity checks force additional verification steps on every memory allocation and free operation.
## Red zoning adds extra metadata to each object to detect writes beyond the object's boundaries.
## As a by product of debugging, this will implicitly disabling kernel pointer hashing unless manually re-enabled.
## Enabling this (for now) will therefore leak exact and all kernel memory addresses to root.
## Introduces a noticeable performance overhead during all memory allocation and deallocation operations.
##
## https://www.kernel.org/doc/html/latest/mm/slub.html
## https://www.kernel.org/doc/Documentation/vm/slub.txt
## https://lore.kernel.org/all/20210601182202.3011020-5-swboyd@chromium.org/T/#u
## https://blogs.oracle.com/linux/post/linux-slub-allocator-internals-and-debugging-2
## https://gitlab.tails.boum.org/tails/tails/-/issues/19613
## https://github.com/Kicksecure/security-misc/issues/253
##
## KSPP=partial
## KSPP sets the kernel parameters and CONFIG_SLUB_DEBUG.
##
## TODO: Debian forky / 14
## The first parameter is applicable when using Linux kernel >= 6.17 (retained here for future-proofing and completeness).
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX hash_pointers=always"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX slab_debug=FZ"
## Zero memory at allocation time and free time.
## Fills newly allocated pages, freed pages, and heap objects with zeros.
## Mitigates use-after-free exploits by erasing sensitive information in memory.
##
## https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6471384af2a6530696fc0203bafe4de41a23c9ef
##
## KSPP=yes
## KSPP sets the kernel parameters, CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y, and CONFIG_INIT_ON_FREE_DEFAULT_ON=y.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX init_on_alloc=1"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX init_on_free=1"
## Enable the kernel page allocator to randomize free lists.
## During early boot, the page allocator has predictable FIFO behavior for physical pages.
## Limits some data exfiltration and ROP attacks that rely on inferring sensitive data location.
## Also improves performance by optimizing memory-side cache utilization.
##
## https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e900a918b0984ec8f2eb150b8477a47b75d17692
## https://en.wikipedia.org/wiki/Return-oriented_programming#Attacks
##
## KSPP=yes
## KSPP sets the kernel parameter and CONFIG_SHUFFLE_PAGE_ALLOCATOR=y.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX page_alloc.shuffle=1"
## Enable kernel page table isolation to harden against kernel ASLR (KASLR) bypasses.
## Mitigates the Meltdown (Spectre Variant 3) CPU vulnerability.
## Mitigations for ARM64 CPUs are done in /etc/default/grub.d/40_cpu_mitigations.cfg using "kpti=1".
##
## https://en.wikipedia.org/wiki/Meltdown_(security_vulnerability)
## https://en.wikipedia.org/wiki/Kernel_page-table_isolation
##
## KSPP=yes
## KSPP sets the kernel parameter and CONFIG_MITIGATION_PAGE_TABLE_ISOLATION=y.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX pti=on"
## Enable randomization of the kernel stack offset on syscall entries.
## Hardens against memory corruption attacks due to increased entropy.
## Limits attacks relying on deterministic stack addresses or cross-syscall address exposure.
##
## https://lkml.org/lkml/2019/3/18/246
## https://a13xp0p0v.github.io/2020/02/15/CVE-2019-18683.html
##
## KSPP=yes
## KSPP sets the kernel parameter and CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX randomize_kstack_offset=on"
## Disable vsyscalls to reduce attack surface as they have been replaced by vDSO.
## Vulnerable to ROP attacks as vsyscalls are located at fixed addresses in memory.
##
## https://lwn.net/Articles/446528/
## https://en.wikipedia.org/wiki/VDSO
##
## KSPP=yes
## KSPP sets the kernel parameter, CONFIG_LEGACY_VSYSCALL_NONE=y and does not set CONFIG_X86_VSYSCALL_EMULATION.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX vsyscall=none"
## Restrict access to debugfs by not registering the file system.
## Deactivated since the file system can contain sensitive information.
##
## https://lkml.org/lkml/2020/7/16/122
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX debugfs=off"
## Force the kernel to immediately panic on "oopses" and kernel warnings in the WARN() path.
## Panics may be due to false-positives such as bad drivers.
## Both allowed limits are set to one so that panics occur on the single first instance of either scenario.
## Oopses are serious but non-fatal errors.
## Certain "oopses" can sometimes indicate and thwart potential kernel exploitation attempts.
## Warnings are messages generated by the kernel to indicate unexpected conditions or errors.
## By default, code execution continues regardless of warnings emitted by macros like WARN() and WARN_ON().
## Note that by forcing kernel panics on oopses and warnings, this exposes the system to targeted denial of service attacks.
##
## https://en.wikipedia.org/wiki/Kernel_panic#Linux
## https://en.wikipedia.org/wiki/Linux_kernel_oops
## https://lwn.net/Articles/876209/
## https://git.sr.ht/~gregkh/presentation-security/tree/3fdaf81a2f8b2c8d64cdb2f529cc714624868aa8/item/security-stuff.pdf
## https://forums.whonix.org/t/set-oops-panic-kernel-parameter-or-kernel-panic-on-oops-1-sysctl-for-better-security/7713
##
## KSPP=yes
## KSPP sets CONFIG_PANIC_ON_OOPS=y.
##
## See /usr/libexec/security-misc/panic-on-oops for implementation.
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX oops=panic"
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX panic_on_warn=1"
## Force immediate system reboots on the occurrence of a single kernel panic.
## Increases resilience and limits impact of denial of service attacks as system automatically restarts.
## Ensures the system does not hang forever if a panic occurs, reducing susceptibility to both cold and warm boot attacks.
## Immediate rebooting also prevents persistent information disclosure on panic details that were dumped to screen.
##
## KSPP=yes
## KSPP sets CONFIG_PANIC_TIMEOUT=-1.
##
## See /usr/libexec/security-misc/panic-on-oops for implementation.
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX panic=-1"
## Force the kernel to immediately panic if it becomes tainted.
## Using kernel documentation, one can select a subset of taints to create a security policy.
## Requires summing the numbers for each taint state and then converting it to a hexadecimal bitmask.
## Some example combinations are shown below.
## S - Panic on using out of specification hardware: 4 = 0x4.
## B - On the above and bad page faults or some unexpected page flags: 36 = 0x24.
## A - On the above and ACPI tables are overridden by users: 292 = 0x124.
## I - On the above and severe firmware bugs: 2340 = 0x924.
## N - On the above and in-kernel tests have been run: 264484 = 0x40924.
## J - On the above and userspace has used a mutating debug operation in fwctl: 788772 = 0xC0924.
## G/P, O - On the above and the loading of proprietary or out-of-tree modules: 792869 = 0xC1925.
## All must first be tested to ensure there are no pre-existing issues on user hardware.
## After confirming stability this reduces attack surface.
##
## https://www.kernel.org/doc/html/latest/admin-guide/tainted-kernels.html
## https://support.scc.suse.com/s/kb/Tainted-kernel-1583239310621?language=en_US
## https://lore.kernel.org/all/20200515175502.146720-1-aquini@redhat.com/T/
## https://github.com/Kicksecure/security-misc/pull/339
##
## Note that this must be used with panic=-1 for it to function as intended.
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX panic_on_taint=0xC0924"
## Prevent sensitive kernel information leaks in the console during boot.
## Must be used in combination with the kernel.printk sysctl.
## See /usr/lib/sysctl.d/30_silent-kernel-printk.conf for implementation.
##
## https://www.kernel.org/doc/html/latest/core-api/printk-basics.html
## https://wiki.archlinux.org/title/silent_boot
##
## See /etc/default/grub.d/41_quiet_boot.cfg for implementation.
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX loglevel=0"
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX quiet"
## Enable the kernel "Electric-Fence" sampling-based memory safety error detector.
## KFENCE detects heap out-of-bounds access, use-after-free, and invalid-free errors.
## Aims to have very low processing overhead at each sampling interval.
## Sampling interval is set to occur every 100 milliseconds as per KSPP recommendation.
##
## https://www.kernel.org/doc/html/latest/dev-tools/kfence.html
## https://google.github.io/kernel-sanitizers/KFENCE.html
## https://blogs.oracle.com/linux/post/linux-slub-allocator-internals-and-debugging-4
## https://lwn.net/Articles/835542/
##
## KSPP=yes
## KSPP sets the kernel parameter, CONFIG_KFENCE=y, and CONFIG_KFENCE_SAMPLE_INTERVAL=100.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kfence.sample_interval=100"
## Disable 32-bit Virtual Dynamic Shared Object (vDSO) mappings.
## Legacy compatibility feature for superseded glibc versions.
##
## https://lore.kernel.org/lkml/20080409082927.BD59E26F992@magilla.localdomain/T/
## https://lists.openwall.net/linux-kernel/2014/03/11/3
##
## KSPP=yes
## KSPP sets the kernel parameter and does not set CONFIG_COMPAT_VDSO.
##
## See /usr/lib/sysctl.d/990-security-misc.conf for another additional implementation.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX vdso32=0"
## Switch (back) to using kCFI as the default Control Flow Integrity (CFI) implementation.
## The default implementation is FineIBT as of Linux kernel 6.2.
## The Intel-developed IBT (Indirect Branch Tracking) is only used if supported by the CPU.
## kCFI is software-only while FineIBT is a hybrid software/hardware implementation.
## FineIBT may result in some performance benefits as it only performs hash checks at the destinations.
## kCFI mandates hash validation at the source (which is randomized), making it more difficult to bypass.
## FineIBT is considered weaker against attacks that can write arbitrary executables into memory.
##
## https://lwn.net/Articles/891976/
## https://lore.kernel.org/lkml/202210010918.4918F847C4@keescook/T/#u
## https://lore.kernel.org/lkml/202210182217.486CBA50@keescook/T/
## https://lore.kernel.org/all/20221027092842.699804264@infradead.org/
## https://lore.kernel.org/lkml/202407150933.E1871BE@keescook/
## https://isopenbsdsecu.re/mitigations/forward_edge_cfi/
## https://docs.kernel.org/next/x86/shstk.html
## https://source.android.com/docs/security/test/kcfi
## https://lpc.events/event/16/contributions/1315/attachments/1067/2169/cfi.pdf
## https://forums.whonix.org/t/kernel-hardening-security-misc/7296/561
##
## KSPP=yes
## KSPP sets the kernel parameter.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX cfi=kcfi"
## Disable support for all 32-bit x86 processes and syscalls.
## Unconditionally disables IA32 emulation to substantially reduce attack surface.
##
## https://lore.kernel.org/all/20230623111409.3047467-7-nik.borisov@suse.com/
##
## KSPP=yes
## KSPP does not set CONFIG_COMPAT, CONFIG_IA32_EMULATION, CONFIG_X86_X32, CONFIG_X86_X32_ABI, and CONFIG_MODIFY_LDT_SYSCALL.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX ia32_emulation=0"
## Disable EFI persistent storage feature.
## Disable Error Record Serialization Table (ERST) support as a form of defense-in-depth.
## Prevents the kernel from writing crash logs and other persistent data to the storage backend.
## Both the UEFI variable storage and ACPI ERST backends are deactivated.
##
## https://blogs.oracle.com/linux/post/pstore-linux-kernel-persistent-storage-file-system
## https://www.ais.com/understanding-pstore-linux-kernel-persistent-storage-file-system/
## https://lwn.net/Articles/434821/
## https://manpages.debian.org/testing/systemd/systemd-pstore.service.8.en.html
## https://gitlab.tails.boum.org/tails/tails/-/issues/20813
## https://github.com/Kicksecure/security-misc/issues/299
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX efi_pstore.pstore_disable=1"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX erst_disable"
## Enable AMD Secure Memory Encryption (SME) and Secure Encrypted Virtualization (SEV).
## SME encrypts memory with a single key at the kernel level to protect against cold boot attacks.
## SEV extends SME to VMs by encrypting the memory of each with a unique key for guest isolation.
## SEV-ES (Encrypted State) extends SEV by encrypting each guests virtual CPU register state during VM exits.
## SEV-SNP (Secure Nested Paging) extends SEV by activating hardware-level memory integrity.
## This is hardware-based encryption managed by the proprietary and closed-source AMD Platform Security Processor (PSP).
## Both require a compatible AMD CPU and support for SME to first be enabled in the BIOS/UEFI.
## Likely unavailable in consumer-grade AMD CPUs where Transparent SME (TSME) can be enabled in the BIOS/UEFI to achieve SME.
## Note the corresponding Intel Total Memory Encryption (TME) can also be enabled via the BIOS/UEFI.
## May cause boot failure on certain hardware with incompatible DMA masks especially if IOMMU is disabled.
##
## https://www.kernel.org/doc/html/next/x86/amd-memory-encryption.html
## https://www.kernel.org/doc/html/latest/virt/kvm/x86/amd-memory-encryption.html
## https://docs.amd.com/v/u/en-US/memory-encryption-white-paper
## https://docs.amd.com/v/u/en-US/SEV-SNP-strengthening-vm-isolation-with-integrity-protection-and-more
## https://github.com/AMDESE/AMDSEV
## https://en.wikichip.org/wiki/x86/sme
## https://lore.kernel.org/all/YWRgN63FOrQGO8jS@zn.tnic/
## https://lore.kernel.org/lkml/YWvy9bSRaC+m1sV+@zn.tnic/T/#m01bcb37040b6b0d119d385d9a34b9c7ac4ce5f84
## https://mricher.fr/post/amd-memory-encryption/
## https://www.kicksecure.com/wiki/Dev/confidential_computing#AMD
## https://github.com/secureblue/secureblue/pull/1631#issuecomment-3655501478
## https://forums.whonix.org/t/enable-secure-memory-encryption-sme-kernel-parameter-mem-encrypt-by-default/10393
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mem_encrypt=on"
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kvm_amd.sev=1"
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kvm_amd.sev_es=1"
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kvm_amd.sev_snp=1"
## Prevent processes from writing to block devices that are mounted by filesystems.
## Enhances system stability and security by protecting against runaway privileged processes.
## Allowing processes to write to the buffer cache can cause filesystem corruption and kernel crashes.
## Does not prevent data modifications using direct SCSI commands or lower-level storage stack access.
## May lead to breakages in certain limited scenarios.
##
## https://github.com/torvalds/linux/commit/ed5cc702d311c14b653323d76062b0294effa66e
## https://lore.kernel.org/lkml/20240105-vfs-super-4092d802972c@brauner/
## https://github.com/a13xp0p0v/kernel-hardening-checker/issues/186
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX bdev_allow_write_mounted=0"
## Restrict processes from modifying their own memory mappings.
## Prevents the use of /proc/PID/mem to write to protected pages via the kernel's
## mem_rw() FOLL_FORCE flag. This makes it harder to trick applications into
## overwriting their own memory.
##
## https://lore.kernel.org/lkml/20240712-vfs-procfs-ce7e6c7cf26b@brauner/
## https://lwn.net/Articles/983169/
## https://github.com/a13xp0p0v/kernel-hardening-checker/pull/201
## https://github.com/Kicksecure/security-misc/issues/330
##
## Using "proc_mem.force_override=never" provides superior protection by never allowing overrides.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX proc_mem.force_override=ptrace"
## 2. Direct Memory Access:
##
## https://madaidans-insecurities.github.io/guides/linux-hardening.html#dma-attacks
## Enable CPU manufacturer-specific IOMMU drivers to mitigate some DMA attacks.
##
## KSPP=yes
## KSPP sets CONFIG_INTEL_IOMMU=y, CONFIG_INTEL_IOMMU_DEFAULT_ON=y, CONFIG_INTEL_IOMMU_SVM=y, CONFIG_AMD_IOMMU=y, and CONFIG_AMD_IOMMU_V2=y.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX amd_iommu=force_isolation"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX intel_iommu=on"
## Enable and force use of IOMMU translation to protect against some DMA attacks.
## Strictly force DMA unmap operations to synchronously invalidate IOMMU hardware TLBs.
## Ensures devices will never be able to access stale data contents.
##
## https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_management_unit
## https://en.wikipedia.org/wiki/DMA_attack
## https://lenovopress.lenovo.com/lp1467.pdf
##
## KSPP=yes
## KSPP sets the kernel parameters, CONFIG_IOMMU_SUPPORT=y, CONFIG_IOMMU_DEFAULT_DMA_STRICT=y, and does not set CONFIG_IOMMU_DEFAULT_PASSTHROUGH.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX iommu=force"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX iommu.passthrough=0"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX iommu.strict=1"
## Clear the busmaster bit on all PCI bridges during the EFI hand-off.
## Terminates all existing DMA transactions prior to the kernel's IOMMU setup.
## Forces third party PCI devices to then re-set their busmaster bit in order to perform DMA.
## Assumes that the motherboard chipset and firmware are not malicious.
## May cause complete boot failure on certain hardware with incompatible firmware.
##
## https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4444f8541dad16fefd9b8807ad1451e806ef1d94
## https://mjg59.dreamwidth.org/54433.html
##
## KSPP=yes
## KSPP sets CONFIG_EFI_DISABLE_PCI_DMA=y.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX efi=disable_early_pci_dma"
## 3. Entropy:
##
## https://madaidans-insecurities.github.io/guides/linux-hardening.html#rdrand
## Do not credit the CPU seeds as an entropy sources at boot.
## The RDRAND and RDSEED CPU (RNG) instructions are proprietary and closed-source.
## Numerous implementations of RDRAND and RDSEED have a long history of being defective.
## Maximizing the entropy pool at boot is desirable for all cryptographic operations.
## This ensures additional entropy is obtained from other sources to initialize the Linux CRNG.
## Note that distrusting this (relatively fast) source of entropy will increase boot time.
##
## https://en.wikipedia.org/wiki/RDRAND
## https://systemd.io/RANDOM_SEEDS/
## https://www.kicksecure.com/wiki/Dev/Entropy#RDRAND
## https://archive.nytimes.com/www.nytimes.com/interactive/2013/09/05/us/documents-reveal-nsa-campaign-against-encryption.html
## https://forums.whonix.org/t/entropy-config-random-trust-cpu-yes-or-no-rng-core-default-quality/8566
## https://lkml.org/lkml/2022/6/5/271
## https://lwn.net/Articles/961121/
## https://lore.kernel.org/lkml/aPFDn-4Cm6n0_3_e@gourry-fedora-PF4VCD3F/
## https://www.amd.com/en/resources/product-security/bulletin/amd-sb-7055.html
##
## KSPP=yes
## KSPP sets CONFIG_RANDOM_TRUST_CPU=y.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX random.trust_cpu=off"
## Do not credit the bootloader seeds as an entropy source at boot.
## The RNG seed passed by the bootloader could potentially be tampered.
## Maximizing the entropy pool at boot is desirable for all cryptographic operations.
## This ensures additional entropy is obtained from other sources to initialize the Linux CRNG.
## Note that distrusting this (relatively fast) source of entropy will increase boot time.
##
## https://systemd.io/RANDOM_SEEDS/
## https://github.com/NixOS/nixpkgs/pull/165355
## https://lkml.org/lkml/2022/6/5/271
##
## KSPP=yes
## KSPP sets CONFIG_RANDOM_TRUST_BOOTLOADER=y.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX random.trust_bootloader=off"
## Obtain more entropy during boot as the runtime memory allocator is being initialized.
## Entropy will be extracted from up to the first 4GB of RAM as another source.
## Note that entropy extracted this way is not cryptographically secure and so is not credited.
## Maximizing the entropy pool at boot is desirable for all cryptographic operations.
## This will increase boot time due to interrupting the boot process.
## Requires the linux-hardened kernel patch.
##
## https://www.kicksecure.com/wiki/Hardened-kernel#linux-hardened
## https://github.com/anthraxx/linux-hardened/commit/c3e7df1dba1eb8105d6d5143079a6a0ad9e9ebc7
## https://github.com/anthraxx/linux-hardened/commit/a04458f97fe1f7e95888c77c0165b646375db9c4
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX extra_latent_entropy"
## 4. Networking
##
## https://madaidans-insecurities.github.io/guides/linux-hardening.html#kasr-boot-parameters
## Disable the entire IPv6 stack functionality.
## Removes attack surface associated with the IPv6 module.
##
## https://www.kernel.org/doc/html/latest/networking/ipv6.html
## https://wiki.archlinux.org/title/IPv6#Disable_IPv6
##
## Enabling makes redundant many network hardening sysctl's in /usr/lib/sysctl.d/990-security-misc.conf.
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX ipv6.disable=1"

View file

@ -0,0 +1,31 @@
## Copyright (C) 2023 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Definitions:
## KSPP=yes: compliant with recommendations by the KSPP
## KSPP=partial: partially compliant with recommendations by the KSPP
## KSPP=no: not (currently) compliant with recommendations by the KSPP
## If there is no explicit KSPP compliance notice, the setting is not mentioned by the KSPP.
## Remount Secure provides enhanced security via mount options:
## https://www.kicksecure.com/wiki/Security-misc#Remount_Secure
## Option A (No Security):
## Disable Remount Secure.
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX remountsecure=0"
## Option B (Low Security):
## Re-mount with nodev and nosuid only.
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX remountsecure=1"
## Option C (Medium Security):
## Re-mount with nodev, nosuid, and noexec for most mount points, excluding /home.
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX remountsecure=2"
## Option D (Highest Security):
## Re-mount with nodev, nosuid, and noexec for all mount points including /home.
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX remountsecure=3"

View file

@ -0,0 +1,37 @@
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Definitions:
## KSPP=yes: compliant with recommendations by the KSPP
## KSPP=partial: partially compliant with recommendations by the KSPP
## KSPP=no: not (currently) compliant with recommendations by the KSPP
## If there is no explicit KSPP compliance notice, the setting is not mentioned by the KSPP.
## Require every kernel module to be signed before being loaded.
## Any module that is unsigned or signed with an invalid key cannot be loaded.
## This prevents all out-of-tree kernel modules unless signed.
## This makes it harder to load a malicious module.
##
## https://forums.whonix.org/t/enforce-kernel-module-software-signature-verification-module-signing-disallow-kernel-module-loading-by-default/7880/61
## https://github.com/dell/dkms/issues/359
##
## KSPP=yes
## KSPP sets CONFIG_MODULE_SIG=y, CONFIG_MODULE_SIG_FORCE=y, and CONFIG_MODULE_SIG_ALL=y.
##
## Not enabled by default yet due to several issues.
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX module.sig_enforce=1"
## Enable kernel lockdown to enforce security boundary between user and kernel space.
## Confidentiality mode enforces module signature verification.
##
## https://forums.whonix.org/t/enforce-kernel-module-software-signature-verification-module-signing-disallow-kernel-module-loading-by-default/7880
##
## KSPP=yes
## KSPP sets CONFIG_SECURITY_LOCKDOWN_LSM=y, CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y, and CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY=y.
##
## Not enabled by default yet due to several issues.
##
#if dpkg --compare-versions "${kver}" ge "5.4"; then
# GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX lockdown=confidentiality"
#fi

View file

@ -0,0 +1,35 @@
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Definitions:
## KSPP=yes: compliant with recommendations by the KSPP
## KSPP=partial: partially compliant with recommendations by the KSPP
## KSPP=no: not (currently) compliant with recommendations by the KSPP
## If there is no explicit KSPP compliance notice, the setting is not mentioned by the KSPP.
## Some default configuration files automatically include the "quiet" parameter.
## Therefore, first remove "quiet" from GRUB_CMDLINE_LINUX_DEFAULT since "quiet" must be first.
## str_replace is provided by package helper-scripts.
##
## https://github.com/Kicksecure/security-misc/pull/233#issuecomment-2228792461
##
GRUB_CMDLINE_LINUX_DEFAULT="$(echo "$GRUB_CMDLINE_LINUX_DEFAULT" | str_replace "quiet" "")"
## Prevent sensitive kernel information leaks in the console during boot.
## Must be used in combination with the kernel.printk sysctl.
## See /usr/lib/sysctl.d/30_silent-kernel-printk.conf for implementation.
##
## https://www.kernel.org/doc/html/latest/core-api/printk-basics.html
## https://wiki.archlinux.org/title/silent_boot
##
## For easier debugging, these are not applied to the recovery boot option.
## Switch the pair of commands to universally apply parameters to all boot options.
##
GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT loglevel=0"
GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT quiet"
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX loglevel=0"
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX quiet"
## For Increased Log Verbosity:
## Adjust (or comment out) the kernel.printk sysctl in /usr/lib/sysctl.d/30_silent-kernel-printk.conf.
## Alternatively, installing the debug-misc package will undo these settings.

View file

@ -0,0 +1,24 @@
## Copyright (C) 2024 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Definitions:
## KSPP=yes: compliant with recommendations by the KSPP
## KSPP=partial: partially compliant with recommendations by the KSPP
## KSPP=no: not (currently) compliant with recommendations by the KSPP
## If there is no explicit KSPP compliance notice, the setting is not mentioned by the KSPP.
## Disable access to the GRUB single-user (recovery) mode menu entries.
##
## https://forums.kicksecure.com/t/remove-linux-recovery-mode-boot-option-from-default-grub-boot-menu/727
##
GRUB_DISABLE_RECOVERY="true"
## Disable access to Dracut's recovery console.
## Prevents the emergency shell from starting automatically during boot failures.
##
## https://insinuator.net/2025/07/insecure-boot-injecting-initramfs-from-a-debug-shell/
## https://serverfault.com/questions/554853/how-can-i-secure-the-dracut-shell
## https://forums.kicksecure.com/t/harden-dracut-initramfs-generator-by-disabling-recovery-console/724
##
GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT rd.emergency=halt"
GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT rd.shell=0"

View file

@ -1,64 +0,0 @@
## This configuration file modifies the behavior of
## DKMS (Dynamic Kernel Module Support) and is sourced
## in by DKMS every time it is run.
## Source Tree Location (default: /usr/src)
# source_tree="/usr/src"
## DKMS Tree Location (default: /var/lib/dkms)
# dkms_tree="/var/lib/dkms"
## Install Tree Location (default: /lib/modules)
# install_tree="/lib/modules"
## tmp Location (default: /tmp)
# tmp_location="/tmp"
## verbosity setting (verbose will be active if you set it to a non-null value)
# verbose=""
## symlink kernel modules (will be active if you set it to a non-null value)
## This creates symlinks from the install_tree into the dkms_tree instead of
## copying the modules. This preserves some space on the costs of being less
## safe.
# symlink_modules=""
## Automatic installation and upgrade for all installed kernels (if set to a
## non-null value)
# autoinstall_all_kernels=""
## Script to sign modules during build, script is called with kernel version
## and module name
# sign_tool="/etc/dkms/sign_helper.sh"
### BEGIN modifications by package security-misc ###
## original:
## https://github.com/dell/dkms/blob/master/dkms_framework.conf
## DKMS feature request:
## add /etc/dkms/framework.conf.d configuration file drop-in folder
## https://github.com/dell/dkms/issues/116
## Lower parallel compilation jobs to 1 if less than 2 GB RAM to avoid freezing
## of virtual machines.
##
## This does not necessarily belong into security-misc, however likely
## security-misc will need to modify /etc/dkms/framework.conf in the future to
## enable kernel module signing. See below.
##
## https://forums.whonix.org/t/linux-kernel-runtime-guard-lkrg-linux-kernel-runtime-integrity-checking-and-exploit-detection/8477/26
ENOUGH_RAM="1950"
total_ram="$(free -m | sed -n -e '/^Mem:/s/^[^0-9]*\([0-9]*\) .*/\1/p')"
if [ "$total_ram" -ge "$ENOUGH_RAM" ]; then
true "INFO: Enough RAM available. Not lowering compilation cores."
else
true "INFO: Not enough RAM available. Lowering compilation cores to 1."
parallel_jobs=1
fi
## https://forums.whonix.org/t/enforce-kernel-module-software-signature-verification-module-signing-disallow-kernel-module-loading-by-default/7880/58
## https://github.com/dell/dkms/blob/master/sign_helper.sh
#sign_tool="/etc/dkms/sign_helper.sh"
### END modifications by package security-misc ###

View file

@ -1,4 +0,0 @@
reproducible=yes
## Debugging.
show_modules=yes

View file

@ -0,0 +1,7 @@
## Copyright (C) 2021 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
reproducible=yes
## Debugging.
#show_modules=yes

View file

@ -0,0 +1,38 @@
## Copyright (C) 2024 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Lines starting with a hash symbol ('#') are comments.
## https://github.com/Kicksecure/security-misc/issues/225
[core]
## https://github.com/git/git/security/advisories/GHSA-8prw-h3cq-mghm
symlinks = false
## https://forums.whonix.org/t/git-users-enable-fsck-by-default-for-better-security/2066
[transfer]
fsckobjects = true
[fetch]
fsckobjects = true
[receive]
fsckobjects = true
## Generally a good idea but too intrusive to enable by default.
## Listed here as suggestions what users should put into their ~/.gitconfig
## file.
## Not enabled by default because it requires essential knowledge about OpenPG
## and an already existing local signing key. Otherwise would prevent all new
## commits.
#[commit]
# gpgsign = true
## Not enabled by default because it would break the 'git merge' command for
## unsigned commits and require the '--no-verify-signature' command line
## option.
#[merge]
# verifySignatures = true
## Not enabled by default because it would break for users who are not having
## an account at the git server and having added a SSH public key.
#[url "ssh://git@github.com/"]
# insteadOf = https://github.com/

View file

@ -1,4 +1,4 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Disable the /sys whitelist.
@ -7,6 +7,9 @@
## Disable the /proc/cpuinfo whitelist.
#cpuinfo_whitelist=0
## Disable /sys hardening.
#sysfs=0
## Disable selinux mode.
## https://www.whonix.org/wiki/Security-misc#selinux
## https://www.kicksecure.com/wiki/Security-misc#selinux
#selinux=0

View file

@ -1,21 +0,0 @@
#!/bin/sh
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
set -e
PREREQ=""
prereqs()
{
echo "$PREREQ"
}
case $1 in
prereqs)
prereqs
exit 0
;;
esac
. /usr/share/initramfs-tools/hook-functions
copy_exec /sbin/sysctl /sbin

View file

@ -1,26 +0,0 @@
#!/bin/sh
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
PREREQ=""
prereqs()
{
echo "$PREREQ"
}
case $1 in
prereqs)
prereqs
exit 0
;;
esac
## Write to '/run/initramfs' folder.
## https://forums.whonix.org/t/kernel-hardening/7296/435
sysctl -p ${rootmnt}/etc/sysctl.conf >/dev/null 2> "/run/initramfs/sysctl-initramfs-error.log"
sysctl -p ${rootmnt}/etc/sysctl.d/*.conf >/dev/null 2>> "/run/initramfs/sysctl-initramfs-error.log"
grep -v "unprivileged_userfaultfd" "/run/initramfs/sysctl-initramfs-error.log"
true

View file

@ -1,6 +1,6 @@
#!/bin/bash
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
if test -x /usr/libexec/security-misc/remove-system.map ; then

View file

@ -1,60 +0,0 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## https://phabricator.whonix.org/T486
options nf_conntrack nf_conntrack_helper=0
# Blacklists bluetooth to reduce attack surface.
# Bluetooth also has a history of security vulnerabilities:
#
# https://en.wikipedia.org/wiki/Bluetooth#History_of_security_concerns
install bluetooth /bin/false
install btusb /bin/false
# Blacklist thunderbolt and firewire to prevent some DMA attacks.
install firewire-core /bin/false
install thunderbolt /bin/false
# Blacklist CPU MSRs as they can be abused to write to
# arbitrary memory.
install msr /bin/false
# Disables unneeded network protocols that will likely not be used as these may have unknown vulnerabilties.
#
# Credit to Tails (https://tails.boum.org/blueprint/blacklist_modules/) for some of these.
#
# > Debian ships a long list of modules for wide support of devices, filesystems, protocols. Some of these modules have a pretty bad security track record, and some of those are simply not used by most of our users.
#
# > Other distributions like Ubuntu[1] and Fedora[2] already ship a blacklist for various network protocols which aren't much in use by users and have a poor security track record.
#
install dccp /bin/false
install sctp /bin/false
install rds /bin/false
install tipc /bin/false
install n-hdlc /bin/false
install ax25 /bin/false
install netrom /bin/false
install x25 /bin/false
install rose /bin/false
install decnet /bin/false
install econet /bin/false
install af_802154 /bin/false
install ipx /bin/false
install appletalk /bin/false
install psnap /bin/false
install p8023 /bin/false
install p8022 /bin/false
install can /bin/false
install atm /bin/false
# Disable uncommon filesystems to reduce attack surface
install cramfs /bin/false
install udf /bin/false
## Blacklists the vivid kernel module as it's only required for
## testing and has been the cause of multiple vulnerabilities.
##
## https://forums.whonix.org/t/kernel-recompilation-for-better-hardening/7598/233
## https://www.openwall.com/lists/oss-security/2019/11/02/1
## https://github.com/a13xp0p0v/kconfig-hardened-check/commit/981bd163fa19fccbc5ce5d4182e639d67e484475
install vivid /bin/false

View file

@ -0,0 +1,59 @@
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## See the following links for a community discussion and overview regarding the selections.
## https://forums.whonix.org/t/blacklist-more-kernel-modules-to-reduce-attack-surface/7989
## https://madaidans-insecurities.github.io/guides/linux-hardening.html#kasr-kernel-modules
## Blacklisting prevents kernel modules from automatically starting.
## Disabling prohibits kernel modules from starting.
## CD-ROM/DVD:
## Blacklist CD-ROM and DVD modules.
## Not disabled by default due to potential future ISO plans.
## Can uncomment the bottom pair to disable both modules.
##
## https://nvd.nist.gov/vuln/detail/CVE-2018-11506
## https://forums.whonix.org/t/blacklist-more-kernel-modules-to-reduce-attack-surface/7989/31
##
blacklist cdrom
blacklist sr_mod
#install cdrom /usr/bin/disabled-cdrom-by-security-misc
#install sr_mod /usr/bin/disabled-cdrom-by-security-misc
## Miscellaneous:
## GrapheneOS:
## Partial selection of their infrastructure blacklist.
## Duplicate and already disabled modules have been omitted.
## Currently snd_intel8x0 is required by some users for VirtualBox audio device ICH AC97.
##
## https://github.com/GrapheneOS/infrastructure/tree/main/etc/modprobe.d
## https://www.kicksecure.com/wiki/Dev/audio
## https://github.com/Kicksecure/security-misc/issues/271
##
#blacklist cfg80211
#blacklist intel_agp
#blacklist ip_tables
#blacklist mousedev
#blacklist psmouse
#blacklist snd_intel8x0
#blacklist tls
#blacklist virtio_balloon
#blacklist virtio_console
## Ubuntu:
## Already disabled modules have been omitted.
##
## https://git.launchpad.net/ubuntu/+source/kmod/tree/debian/modprobe.d/blacklist.conf?h=ubuntu/disco
## https://git.launchpad.net/ubuntu/+source/kmod/tree/debian/modprobe.d/blacklist-ath_pci.conf?h=ubuntu/disco
##
blacklist amd76x_edac
blacklist ath_pci
blacklist evbug
blacklist pcspkr
blacklist snd_aw2
blacklist snd_intel8x0m
blacklist snd_pcsp
blacklist usbkbd
blacklist usbmouse

View file

@ -0,0 +1,13 @@
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Conntrack:
## Disable Netfilter's automatic connection tracking helper assignment.
## This functionality adds unnecessary features, such as IRC protocol parsing, into the kernel.
## Disabling it reduces the kernel attack surface and improves security.
##
## https://conntrack-tools.netfilter.org/manual.html
## https://home.regit.org/netfilter-en/secure-use-of-helpers/
## https://forums.whonix.org/t/disable-conntrack-helper/18917
##
options nf_conntrack nf_conntrack_helper=0

View file

@ -0,0 +1,356 @@
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## See the following links for a community discussion and overview regarding the selections:
## https://forums.whonix.org/t/blacklist-more-kernel-modules-to-reduce-attack-surface/7989
## https://madaidans-insecurities.github.io/guides/linux-hardening.html#kasr-kernel-modules
## Blacklisting prevents kernel modules from automatically starting.
## Disabling prohibits kernel modules from starting.
## This configuration file is split into 4 sections:
## 1. Hardware
## 2. File Systems
## 3. Networking
## 4. Miscellaneous
## 1. Hardware:
## Bluetooth:
## Disable Bluetooth to reduce the attack surface due to its long history of security vulnerabilities.
## Replaced with a privacy and security preserving default Bluetooth configuration for better usability.
##
## https://en.wikipedia.org/wiki/Bluetooth#History_of_security_concerns
## https://github.com/Kicksecure/security-misc/pull/145
##
#install bluetooth /usr/bin/disabled-bluetooth-by-security-misc
#install bluetooth_6lowpan /usr/bin/disabled-bluetooth-by-security-misc
#install bt3c_cs /usr/bin/disabled-bluetooth-by-security-misc
#install btbcm /usr/bin/disabled-bluetooth-by-security-misc
#install btintel /usr/bin/disabled-bluetooth-by-security-misc
#install btmrvl /usr/bin/disabled-bluetooth-by-security-misc
#install btmrvl_sdio /usr/bin/disabled-bluetooth-by-security-misc
#install btmtk /usr/bin/disabled-bluetooth-by-security-misc
#install btmtksdio /usr/bin/disabled-bluetooth-by-security-misc
#install btmtkuart /usr/bin/disabled-bluetooth-by-security-misc
#install btnxpuart /usr/bin/disabled-bluetooth-by-security-misc
#install btqca /usr/bin/disabled-bluetooth-by-security-misc
#install btrsi /usr/bin/disabled-bluetooth-by-security-misc
#install btrtl /usr/bin/disabled-bluetooth-by-security-misc
#install btsdio /usr/bin/disabled-bluetooth-by-security-misc
#install btusb /usr/bin/disabled-bluetooth-by-security-misc
#install virtio_bt /usr/bin/disabled-bluetooth-by-security-misc
## CPU Model-Specific Registers (MSRs):
## User-level read access to MSRs can allow malicious unprivileged applications to access other trust domains.
## MSRs can also be abused to write to arbitrary memory.
##
## https://en.wikipedia.org/wiki/Model-specific_register
## https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/running-average-power-limit-energy-reporting.html
## https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/best-practices/reading-writing-msrs-in-linux.html
## https://security.stackexchange.com/questions/119712/methods-root-can-use-to-elevate-itself-to-kernel-mode
## https://github.com/Kicksecure/security-misc/issues/215
##
#install intel_rapl_msr /usr/bin/disabled-cpumsr-by-security-misc
#install isst_if_mbox_msr /usr/bin/disabled-cpumsr-by-security-misc
#install msr /usr/bin/disabled-cpumsr-by-security-misc
## FireWire (IEEE 1394):
## Disable IEEE 1394 (FireWire/i.LINK/Lynx) modules to prevent certain DMA attacks.
##
## https://en.wikipedia.org/wiki/IEEE_1394#Security_issues
##
install dv1394 /usr/bin/disabled-firewire-by-security-misc
install firewire-core /usr/bin/disabled-firewire-by-security-misc
install firewire-ohci /usr/bin/disabled-firewire-by-security-misc
install firewire-net /usr/bin/disabled-firewire-by-security-misc
install firewire-sbp2 /usr/bin/disabled-firewire-by-security-misc
install ohci1394 /usr/bin/disabled-firewire-by-security-misc
install raw1394 /usr/bin/disabled-firewire-by-security-misc
install sbp2 /usr/bin/disabled-firewire-by-security-misc
install video1394 /usr/bin/disabled-firewire-by-security-misc
## Global Positioning Systems (GPS):
## Disable GPS-related modules like GNSS (Global Navigation Satellite System).
##
install garmin_gps /usr/bin/disabled-gps-by-security-misc
install gnss /usr/bin/disabled-gps-by-security-misc
install gnss-mtk /usr/bin/disabled-gps-by-security-misc
install gnss-serial /usr/bin/disabled-gps-by-security-misc
install gnss-sirf /usr/bin/disabled-gps-by-security-misc
install gnss-ubx /usr/bin/disabled-gps-by-security-misc
install gnss-usb /usr/bin/disabled-gps-by-security-misc
## Intel Management Engine (ME):
## Partially disable the Intel ME interface with the OS.
## ME functionality has increasingly become intertwined with basic Intel system operation.
## Disabling it may lead to breakages in various components without clear debugging/error messages.
## It may affect firmware updates, security, power management, display, and DRM.
##
## https://www.kernel.org/doc/html/latest/driver-api/mei/mei.html
## https://en.wikipedia.org/wiki/Intel_Management_Engine#Security_vulnerabilities
## https://www.kicksecure.com/wiki/Out-of-band_Management_Technology#Intel_ME_Disabling_Disadvantages
## https://github.com/Kicksecure/security-misc/pull/236#issuecomment-2229092813
## https://github.com/Kicksecure/security-misc/issues/239
##
#install mei /usr/bin/disabled-intelme-by-security-misc
#install mei-gsc /usr/bin/disabled-intelme-by-security-misc
#install mei_gsc_proxy /usr/bin/disabled-intelme-by-security-misc
#install mei_hdcp /usr/bin/disabled-intelme-by-security-misc
#install mei-me /usr/bin/disabled-intelme-by-security-misc
#install mei_phy /usr/bin/disabled-intelme-by-security-misc
#install mei_pxp /usr/bin/disabled-intelme-by-security-misc
#install mei-txe /usr/bin/disabled-intelme-by-security-misc
#install mei-vsc /usr/bin/disabled-intelme-by-security-misc
#install mei-vsc-hw /usr/bin/disabled-intelme-by-security-misc
#install mei_wdt /usr/bin/disabled-intelme-by-security-misc
#install microread_mei /usr/bin/disabled-intelme-by-security-misc
## Intel Platform Monitoring Technology (PMT) Telemetry:
## Disable certain functionalities of the Intel PMT components.
##
## https://www.intel.com/content/www/us/en/content-details/710389/intel-platform-monitoring-technology-intel-pmt-technical-specification.html
## https://github.com/intel/Intel-PMT
##
install pmt_class /usr/bin/disabled-intelpmt-by-security-misc
install pmt_crashlog /usr/bin/disabled-intelpmt-by-security-misc
install pmt_telemetry /usr/bin/disabled-intelpmt-by-security-misc
## Thunderbolt:
## Disable Thunderbolt modules to prevent certain DMA attacks.
##
## https://en.wikipedia.org/wiki/Thunderbolt_(interface)#Security_vulnerabilities
##
install intel-wmi-thunderbolt /usr/bin/disabled-thunderbolt-by-security-misc
install thunderbolt /usr/bin/disabled-thunderbolt-by-security-misc
install thunderbolt_net /usr/bin/disabled-thunderbolt-by-security-misc
## 2. File Systems:
## File Systems:
## Disable uncommon file systems to reduce attack surface.
## HFS/HFS+ are legacy Apple file systems that may be required depending on the EFI partition format.
##
## https://docs.kernel.org/filesystems/index.html
## https://github.com/secureblue/secureblue/tree/live/files/system/usr/lib/modprobe.d
##
install adfs /usr/bin/disabled-filesys-by-security-misc
install affs /usr/bin/disabled-filesys-by-security-misc
install afs /usr/bin/disabled-filesys-by-security-misc
install befs /usr/bin/disabled-filesys-by-security-misc
install ceph /usr/bin/disabled-filesys-by-security-misc
install coda /usr/bin/disabled-filesys-by-security-misc
install cramfs /usr/bin/disabled-filesys-by-security-misc
install ecryptfs /usr/bin/disabled-filesys-by-security-misc
install freevxfs /usr/bin/disabled-filesys-by-security-misc
install hfs /usr/bin/disabled-filesys-by-security-misc
install hfsplus /usr/bin/disabled-filesys-by-security-misc
install jffs2 /usr/bin/disabled-filesys-by-security-misc
install jfs /usr/bin/disabled-filesys-by-security-misc
install kafs /usr/bin/disabled-filesys-by-security-misc
install minix /usr/bin/disabled-filesys-by-security-misc
install nilfs2 /usr/bin/disabled-filesys-by-security-misc
install ocfs2 /usr/bin/disabled-filesys-by-security-misc
install orangefs /usr/bin/disabled-filesys-by-security-misc
install reiserfs /usr/bin/disabled-filesys-by-security-misc
install romfs /usr/bin/disabled-filesys-by-security-misc
install sysv /usr/bin/disabled-filesys-by-security-misc
install ubifs /usr/bin/disabled-filesys-by-security-misc
install udf /usr/bin/disabled-filesys-by-security-misc
install ufs /usr/bin/disabled-filesys-by-security-misc
install zonefs /usr/bin/disabled-filesys-by-security-misc
## Network File Systems:
## Disable uncommon network file systems to reduce attack surface.
## Currently 9p is required for KVM shared folders in Whonix.
##
## https://www.whonix.org/wiki/KVM#Shared_Folder
##
#install 9p /usr/bin/disabled-netfilesys-by-security-misc
install gfs2 /usr/bin/disabled-netfilesys-by-security-misc
install ksmbd /usr/bin/disabled-netfilesys-by-security-misc
## Network File System - Common Internet File System (CIFS):
##
install cifs /usr/bin/disabled-netfilesys-by-security-misc
install cifs_arc4 /usr/bin/disabled-netfilesys-by-security-misc
install cifs_md4 /usr/bin/disabled-netfilesys-by-security-misc
## Network File System - Network File System (NFS):
##
install nfs /usr/bin/disabled-netfilesys-by-security-misc
install nfs_acl /usr/bin/disabled-netfilesys-by-security-misc
install nfs_layout_nfsv41_files /usr/bin/disabled-netfilesys-by-security-misc
install nfs_layout_flexfiles /usr/bin/disabled-netfilesys-by-security-misc
install nfsd /usr/bin/disabled-netfilesys-by-security-misc
install nfsv2 /usr/bin/disabled-netfilesys-by-security-misc
install nfsv3 /usr/bin/disabled-netfilesys-by-security-misc
install nfsv4 /usr/bin/disabled-netfilesys-by-security-misc
## 2. Networking:
## Network Protocols:
## Disable rare and unneeded network protocols that are a common source of unknown vulnerabilities.
## Previously had blacklisted eepro100 and eth1394.
##
## https://tails.boum.org/blueprint/blacklist_modules/
## https://fedoraproject.org/wiki/Security_Features_Matrix#Blacklist_Rare_Protocols
## https://git.launchpad.net/ubuntu/+source/kmod/tree/debian/modprobe.d/blacklist-rare-network.conf?h=ubuntu/disco
## https://github.com/Kicksecure/security-misc/pull/234#issuecomment-2230732015
##
install af_802154 /usr/bin/disabled-network-by-security-misc
install appletalk /usr/bin/disabled-network-by-security-misc
install ax25 /usr/bin/disabled-network-by-security-misc
install decnet /usr/bin/disabled-network-by-security-misc
install dccp /usr/bin/disabled-network-by-security-misc
install econet /usr/bin/disabled-network-by-security-misc
install eepro100 /usr/bin/disabled-network-by-security-misc
install eth1394 /usr/bin/disabled-network-by-security-misc
install ipx /usr/bin/disabled-network-by-security-misc
install n-hdlc /usr/bin/disabled-network-by-security-misc
install netrom /usr/bin/disabled-network-by-security-misc
install p8022 /usr/bin/disabled-network-by-security-misc
install p8023 /usr/bin/disabled-network-by-security-misc
install psnap /usr/bin/disabled-network-by-security-misc
install rose /usr/bin/disabled-network-by-security-misc
install x25 /usr/bin/disabled-network-by-security-misc
## Network Protocol - Asynchronous Transfer Mode (ATM):
##
install atm /usr/bin/disabled-network-by-security-misc
install ueagle-atm /usr/bin/disabled-network-by-security-misc
install usbatm /usr/bin/disabled-network-by-security-misc
install xusbatm /usr/bin/disabled-network-by-security-misc
## Network Protocol - Controller Area Network (CAN):
##
install c_can /usr/bin/disabled-network-by-security-misc
install c_can_pci /usr/bin/disabled-network-by-security-misc
install c_can_platform /usr/bin/disabled-network-by-security-misc
install can /usr/bin/disabled-network-by-security-misc
install can-bcm /usr/bin/disabled-network-by-security-misc
install can-dev /usr/bin/disabled-network-by-security-misc
install can-gw /usr/bin/disabled-network-by-security-misc
install can-isotp /usr/bin/disabled-network-by-security-misc
install can-raw /usr/bin/disabled-network-by-security-misc
install can-j1939 /usr/bin/disabled-network-by-security-misc
install can327 /usr/bin/disabled-network-by-security-misc
install ifi_canfd /usr/bin/disabled-network-by-security-misc
install janz-ican3 /usr/bin/disabled-network-by-security-misc
install m_can /usr/bin/disabled-network-by-security-misc
install m_can_pci /usr/bin/disabled-network-by-security-misc
install m_can_platform /usr/bin/disabled-network-by-security-misc
install phy-can-transceiver /usr/bin/disabled-network-by-security-misc
install slcan /usr/bin/disabled-network-by-security-misc
install ucan /usr/bin/disabled-network-by-security-misc
install vxcan /usr/bin/disabled-network-by-security-misc
install vcan /usr/bin/disabled-network-by-security-misc
## Network Protocol - Transparent Inter Process Communication (TIPC):
##
install tipc /usr/bin/disabled-network-by-security-misc
install tipc_diag /usr/bin/disabled-network-by-security-misc
## Network Protocol - Reliable Datagram Sockets (RDS):
##
install rds /usr/bin/disabled-network-by-security-misc
install rds_rdma /usr/bin/disabled-network-by-security-misc
install rds_tcp /usr/bin/disabled-network-by-security-misc
## Network Protocol - Stream Control Transmission Protocol (SCTP):
##
install sctp /usr/bin/disabled-network-by-security-misc
install sctp_diag /usr/bin/disabled-network-by-security-misc
## 4. Miscellaneous:
## Amateur Radios:
##
install hamradio /usr/bin/disabled-miscellaneous-by-security-misc
## Floppy Disks:
##
install floppy /usr/bin/disabled-miscellaneous-by-security-misc
## Framebuffer (fbdev):
## Video drivers are known to be buggy, cause kernel panics, and are generally only used by legacy devices.
## These were all previously blacklisted.
##
## https://docs.kernel.org/fb/index.html
## https://en.wikipedia.org/wiki/Linux_framebuffer
## https://git.launchpad.net/ubuntu/+source/kmod/tree/debian/modprobe.d/blacklist-framebuffer.conf?h=ubuntu/disco
##
install aty128fb /usr/bin/disabled-framebuffer-by-security-misc
install atyfb /usr/bin/disabled-framebuffer-by-security-misc
install cirrusfb /usr/bin/disabled-framebuffer-by-security-misc
install cyber2000fb /usr/bin/disabled-framebuffer-by-security-misc
install cyblafb /usr/bin/disabled-framebuffer-by-security-misc
install gx1fb /usr/bin/disabled-framebuffer-by-security-misc
install hgafb /usr/bin/disabled-framebuffer-by-security-misc
install i810fb /usr/bin/disabled-framebuffer-by-security-misc
install intelfb /usr/bin/disabled-framebuffer-by-security-misc
install kyrofb /usr/bin/disabled-framebuffer-by-security-misc
install lxfb /usr/bin/disabled-framebuffer-by-security-misc
install matroxfb_base /usr/bin/disabled-framebuffer-by-security-misc
install neofb /usr/bin/disabled-framebuffer-by-security-misc
install nvidiafb /usr/bin/disabled-framebuffer-by-security-misc
install pm2fb /usr/bin/disabled-framebuffer-by-security-misc
install radeonfb /usr/bin/disabled-framebuffer-by-security-misc
install rivafb /usr/bin/disabled-framebuffer-by-security-misc
install s1d13xxxfb /usr/bin/disabled-framebuffer-by-security-misc
install savagefb /usr/bin/disabled-framebuffer-by-security-misc
install sisfb /usr/bin/disabled-framebuffer-by-security-misc
install sstfb /usr/bin/disabled-framebuffer-by-security-misc
install tdfxfb /usr/bin/disabled-framebuffer-by-security-misc
install tridentfb /usr/bin/disabled-framebuffer-by-security-misc
install vesafb /usr/bin/disabled-framebuffer-by-security-misc
install vfb /usr/bin/disabled-framebuffer-by-security-misc
install viafb /usr/bin/disabled-framebuffer-by-security-misc
install vt8623fb /usr/bin/disabled-framebuffer-by-security-misc
install udlfb /usr/bin/disabled-framebuffer-by-security-misc
## Joysticks:
##
## https://docs.kernel.org/input/joydev/joystick.html
##
install joydev /usr/bin/disabled-miscellaneous-by-security-misc
## Replaced Modules:
## These legacy drivers have all been entirely replaced and superseded by newer drivers.
## Many of these were previously blacklisted.
##
## https://git.launchpad.net/ubuntu/+source/kmod/tree/debian/modprobe.d/blacklist.conf?h=ubuntu/disco
##
install asus_acpi /usr/bin/disabled-miscellaneous-by-security-misc
install bcm43xx /usr/bin/disabled-miscellaneous-by-security-misc
install brcm80211 /usr/bin/disabled-miscellaneous-by-security-misc
install de4x5 /usr/bin/disabled-miscellaneous-by-security-misc
install prism54 /usr/bin/disabled-miscellaneous-by-security-misc
## RNDIS:
## Disable as believed to have unfixable buffer overflow issues impossible to make secure.
## Used by some network devices common with Android USB tethering.
##
## https://en.wikipedia.org/wiki/RNDIS
## https://lkml.org/lkml/2022/11/23/728
## https://lore.kernel.org/lkml/2023071333-wildly-playroom-878b@gregkh/
##
install rndis_host /usr/bin/disabled-miscellaneous-by-security-misc
install usb_f_rndis /usr/bin/disabled-miscellaneous-by-security-misc
## USB Video Device Class:
## Disable the USB-based video streaming driver for devices like some webcams and digital camcorders.
##
#install uvcvideo /usr/bin/disabled-miscellaneous-by-security-misc
## Vivid:
## Disable the vivid kernel module since it has been the cause of multiple vulnerabilities.
## Required only for running tests associated with the Qubes Video Companion.
##
## https://forums.whonix.org/t/kernel-recompilation-for-better-hardening/7598/233
## https://www.openwall.com/lists/oss-security/2019/11/02/1
## https://github.com/a13xp0p0v/kconfig-hardened-check/commit/981bd163fa19fccbc5ce5d4182e639d67e484475
## https://forums.whonix.org/t/testing-qubes-video-companion-on-whonix/21393
## https://github.com/Kicksecure/security-misc/issues/298
##
#install vivid /usr/bin/disabled-miscellaneous-by-security-misc

View file

@ -1,20 +0,0 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Please use "/etc/permission-hardening.d/20_user.conf" or
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
## configuration. When security-misc is updated, this file may be overwritten.
## https://forums.whonix.org/t/restrict-root-access/7658/116
## This restricts the file permissions of the sudo executable so that a vulnerability
## in the program will not be exploitable by any users not in the "sudo" group. sudo
## is a very complex program and is setuid so vulnerabilities in it can allow privilege
## escalation, regardless of other root access restrictions. For example, the following
## buffer overflow vulnerability could have been exploited by any user on the system:
## https://www.openwall.com/lists/oss-security/2021/01/26/3
## With this restriction, only users explicitly permitted to use sudo by being added to
## the "sudo" group could exploit such vulnerabilities. For example, this would prevent a
## compromised network-facing daemon (such as web servers, time synchronization daemons,
## etc.) running as its own user from exploiting sudo to escalate privileges.
#/usr/bin/sudo 4750 root sudo
#/bin/sudo 4750 root sudo

View file

@ -1,9 +0,0 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Please use "/etc/permission-hardening.d/20_user.conf" or
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
## configuration. When security-misc is updated, this file may be overwritten.
/usr/bin/bwrap exactwhitelist
/bin/bwrap exactwhitelist

View file

@ -1,8 +0,0 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Please use "/etc/permission-hardening.d/20_user.conf" or
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
## configuration. When security-misc is updated, this file may be overwritten.
/usr/lib/chromium/chrome-sandbox exactwhitelist

View file

@ -1,8 +0,0 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Please use "/etc/permission-hardening.d/20_user.conf" or
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
## configuration. When security-misc is updated, this file may be overwritten.
dbus-daemon-launch-helper matchwhitelist

View file

@ -1,11 +0,0 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Please use "/etc/permission-hardening.d/20_user.conf" or
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
## configuration. When security-misc is updated, this file may be overwritten.
## There is a controversy about firejail but those who choose to install it
## should be able to use it.
## https://www.whonix.org/wiki/Dev/Firejail#Security
/usr/bin/firejail exactwhitelist

View file

@ -1,10 +0,0 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Please use "/etc/permission-hardening.d/20_user.conf" or
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
## configuration. When security-misc is updated, this file may be overwritten.
## required for AppImages such as electrum Bitcoin wallet
## https://forums.whonix.org/t/disable-suid-binaries/7706/57
/fusermount matchwhitelist

View file

@ -1,17 +0,0 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Please use "/etc/permission-hardening.d/20_user.conf" or
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
## configuration. When security-misc is updated, this file may be overwritten.
## https://forums.whonix.org/t/disable-suid-binaries/7706/61
## Protect from 'chmod -x' (and SUID removal).
## SUID will be removed below in separate step.
/bin/mount exactwhitelist
/usr/bin/mount exactwhitelist
## Remove SUID from 'mount' but keep executable.
## https://forums.whonix.org/t/disable-suid-binaries/7706/61
/bin/mount 745 root root
/usr/bin/mount 745 root root

View file

@ -1,17 +0,0 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Please use "/etc/permission-hardening.d/20_user.conf" or
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
## configuration. When security-misc is updated, this file may be overwritten.
/usr/bin/pkexec exactwhitelist
/bin/pkexec exactwhitelist
/usr/bin/pkexec.security-misc-orig exactwhitelist
/bin/pkexec.security-misc-orig exactwhitelist
## TODO: research
## match both:
#/usr/lib/policykit-1/polkit-agent-helper-1 matchwhitelist
#/lib/policykit-1/polkit-agent-helper-1
polkit-agent-helper-1 matchwhitelist

View file

@ -1,13 +0,0 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Please use "/etc/permission-hardening.d/20_user.conf" or
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
## configuration. When security-misc is updated, this file may be overwritten.
## TODO: research
## https://github.com/QubesOS/qubes-core-agent-linux/blob/master/qubes-rpc/qfile-unpacker.c
## match both:
#/usr/lib/qubes/qfile-unpacker whitelist
#/lib/qubes/qfile-unpacker
/qubes/qfile-unpacker matchwhitelist

View file

@ -1,8 +0,0 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Please use "/etc/permission-hardening.d/20_user.conf" or
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
## configuration. When security-misc is updated, this file may be overwritten.
/utempter/utempter matchwhitelist

View file

@ -1,8 +0,0 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Please use "/etc/permission-hardening.d/20_user.conf" or
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
## configuration. When security-misc is updated, this file may be overwritten.
/usr/lib/spice-gtk/spice-client-glib-usb-acl-helper exactwhitelist

View file

@ -1,9 +0,0 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Please use "/etc/permission-hardening.d/20_user.conf" or
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
## configuration. When security-misc is updated, this file may be overwritten.
/usr/bin/sudo exactwhitelist
/bin/sudo exactwhitelist

View file

@ -1,9 +0,0 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Please use "/etc/permission-hardening.d/20_user.conf" or
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
## configuration. When security-misc is updated, this file may be overwritten.
## TODO: research
/usr/lib/virtualbox/ matchwhitelist

View file

@ -0,0 +1,11 @@
#!/bin/sh
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
if [ -z "$XDG_CONFIG_DIRS" ]; then
XDG_CONFIG_DIRS="/etc:/etc/xdg:/usr/share"
fi
if ! printf '%s\n' "$XDG_CONFIG_DIRS" | grep -- "/usr/share/security-misc/" >/dev/null 2>/dev/null ; then
export XDG_CONFIG_DIRS="/usr/share/security-misc/:$XDG_CONFIG_DIRS"
fi

View file

@ -1,2 +0,0 @@
# /etc/securetty: list of terminals on which root is allowed to login.
# See securetty(5) and login(1).

View file

@ -0,0 +1,5 @@
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
# /etc/securetty: list of terminals on which root is allowed to login.
# See securetty(5) and login(1).

View file

@ -0,0 +1,34 @@
## Copyright (C) 2025 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Please use "/etc/security-misc/emerg-shutdown/50_user.conf" or
## "/usr/local/etc/security-misc/emerg-shutdown/50_user.conf"
## for your custom configuration, which will override the defaults found here.
## When Kicksecure is updated, this file may be overwritten.
## Set the key combo for forcing immediate shutdown. See the "Keys and
## buttons" section of "/usr/include/linux/input-event-codes.h" for possibly
## supported values. Not all keys are supported.
##
## All specified keys must be depressed at the same time to trigger a
## shutdown. Use a comma (",") to separate keys. If you want to alias certain
## keys to each other from emerg-shutdown's standpoint, use a pipe
## character("|").
##
## The default key sequence triggers a shutdown when Ctrl+Alt+Delete is
## pressed, allowing the use of either the left or right Ctrl and Alt keys.
EMERG_SHUTDOWN_KEYS="KEY_LEFTCTRL|KEY_RIGHTCTRL,KEY_LEFTALT|KEY_RIGHTALT,KEY_END"
## Set the maximum number of seconds shutdown can take. If shutdown gets stuck
## for longer than this, the system will forcibly power down.
##
## NOTE: This requires ensure-shutdown.service and
## ensure-shutdown-trigger.service to be enabled, which is not done by
## default. Enabling ensure-shutdown.service will cause shutdown to always
## take at least as long as systemd's DefaultTimeoutStopSec (which by default
## is 90 seconds). If you are going to enable ensure-shutdown.service, it is
## highly recommended to set DefaultTimeoutStopSec to a much smaller value,
## such as 5 seconds. The maximum shutdown time set here should be at least 10
## seconds *longer* than DefaultTimeoutStopSec, to give normal shutdown a
## chance to actually succeed before forcibly shutting down the system.
ENSURE_SHUTDOWN_TIMEOUT=30

View file

@ -1,8 +1,8 @@
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## To enable root login, see:
## https://www.whonix.org/wiki/Root#Root_Login
## https://www.kicksecure.com/wiki/Root#Root_Login
## Console Lockdown
## https://forums.whonix.org/t/etc-security-hardening/8592
@ -33,7 +33,7 @@
+:(console):console tty1 tty2 tty3 tty4 tty5 tty6 tty7 pts/0 pts/1 pts/2 pts/3 pts/4 pts/5 pts/6 pts/7 pts/8 pts/9 hvc0 hvc1 hvc2 hvc3 hvc4 hvc5 hvc6 hvc7 hvc8 hvc9 ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ttyS5 ttyS6 ttyS7 ttyS8 ttyS9
## Same as above also for members of group `sudo`.
## https://github.com/Whonix/security-misc/pull/74#issuecomment-607748407
## https://github.com/Kicksecure/security-misc/pull/74#issuecomment-607748407
+:(sudo):console tty1 tty2 tty3 tty4 tty5 tty6 tty7 pts/0 pts/1 pts/2 pts/3 pts/4 pts/5 pts/6 pts/7 pts/8 pts/9 hvc0 hvc1 hvc2 hvc3 hvc4 hvc5 hvc6 hvc7 hvc8 hvc9 ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ttyS5 ttyS6 ttyS7 ttyS8 ttyS9
## Everyone else except members of group 'console-unrestricted'

View file

@ -1,9 +1,12 @@
## Copyright (C) 2021 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
# Configuration for locking the user after multiple failed
# authentication attempts.
#
# The directory where the user files with the failure records are kept.
# The default is /var/run/faillock.
# dir = /var/run/faillock
dir = /var/lib/security-misc/faillock
#
# Will log the user name into the system log if the user is not found.
# Enabled if option is present.
@ -35,14 +38,19 @@ deny = 50
# authentication failures must happen for the user account
# lock out is <replaceable>n</replaceable> seconds.
# The default is 900 (15 minutes).
# fail_interval = 900
# security-misc note: the interval should be set to infinity if possible,
# however pam_faillock arbitrarily limits this variable to a maximum of 604800
# seconds (7 days). See
# https://github.com/linux-pam/linux-pam/blob/539816e4a0a277dbb632412be91e482fff9d9d09/modules/pam_faillock/faillock_config.h#L59
# for details. Therefore we set this to the maximum allowable value of 7 days.
fail_interval = 604800
#
# The access will be re-enabled after n seconds after the lock out.
# The value 0 has the same meaning as value `never` - the access
# will not be re-enabled without resetting the faillock
# entries by the `faillock` command.
# The default is 600 (10 minutes).
# unlock_time = 600
unlock_time = never
#
# Root account can become locked as well as regular accounts.
# Enabled if option is present.

View file

@ -1,5 +0,0 @@
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Disable coredumps.
* hard core 0

View file

@ -0,0 +1,7 @@
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Disable core dumps.
## `-` in the second field sets both hard and soft limits at the same time.
## See `man 5 limits.conf`.
* - core 0

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- ## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org> -->
<!-- ## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org> -->
<!-- ## See the file COPYING for copying conditions. -->
<!-- Configuration for Thunar. -->

View file

@ -282,13 +282,13 @@ display-charset utf-8
##################################################################
##################################################################
## BEGIN Some suggestions from Debian http://keyring.debian.org/creating-key.html
## BEGIN Some suggestions from Debian https://keyring.debian.org/creating-key.html
personal-digest-preferences SHA512
cert-digest-algo SHA512
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
## END Some suggestions from Debian http://keyring.debian.org/creating-key.html
## END Some suggestions from Debian https://keyring.debian.org/creating-key.html
##################################################################
##################################################################

View file

@ -0,0 +1,22 @@
## Copyright (C) 2025 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Don't edit this file, to overwrite any options, edit a file with a higher
## number that is read later by SSH, such as
## '/etc/ssh/ssh_config.d/50_user.conf'. If your configuration changes do not
## need to be system-wide, you may also consider placing overrides in
## ~/.ssh/config.
## See also:
## https://www.kicksecure.com/wiki/SSH#Client_Configuration_File
Host *
VisualHostKey yes
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes256-ctr
MACs umac-128-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
KexAlgorithms sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,mlkem768x25519-sha256,curve25519-sha256,curve25519-sha256@libssh.org
## To force the use of quantum-resistant key exchange algorithms, override
## the above with
# KexAlgorithms sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,mlkem768x25519-sha256
HostKeyAlgorithms sk-ssh-ed25519@openssh.com,ssh-ed25519
PubkeyAcceptedAlgorithms sk-ssh-ed25519@openssh.com,ssh-ed25519

View file

@ -0,0 +1,78 @@
## Copyright (C) 2025 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Don't edit this file, to overwrite any options, edit a file with a higher
## number that is read later by SSHD, such as
## '/etc/ssh/sshd_config.d/50_user.conf'.
## See also:
## https://www.kicksecure.com/wiki/SSH#Server_Configuration_File
## Number of allowed login attempts per connection.
MaxAuthTries 3
## Require strong ciphers and algorithms.
HostKey /etc/ssh/ssh_host_ed25519_key
HostKeyAlgorithms ssh-ed25519
PubkeyAcceptedAlgorithms ssh-ed25519,sk-ssh-ed25519@openssh.com
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
MACs umac-128-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
KexAlgorithms sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,mlkem768x25519-sha256,curve25519-sha256,curve25519-sha256@libssh.org
## To force the use of quantum-resistant key exchange algorithms, override the
## above with
# KexAlgorithms sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,mlkem768x25519-sha256
## Override with 'no' to fully deny root login, or leave this as
## 'prohibit-password' for denying root password login but still allowing
## other authentication methods such as public key.
PermitRootLogin prohibit-password
## Public key authentication is transparent, non-interactive and more secure.
PasswordAuthentication no
## Change to 'yes' to enable challenge-response passwords (beware issues with
## some PAM modules and threads)
KbdInteractiveAuthentication no
## PAM can be used for account and session processing when using
## ChallengeResponseAuthentication or PasswordAuthentication.
##
## Depending on your PAM configuration, PAM authentication via
## ChallengeResponseAuthentication may bypass the setting of "PermitRootLogin
## without-password".
##
## If you want PAM account and session checks to run without PAM
## authentication, then enable this but set PasswordAuthentication and
## ChallengeResponseAuthentication to 'no'.
##
## The default upstream is 'no', Debian sets this to 'yes'. If using a locked
## account, read:
## https://www.kicksecure.com/wiki/SSH#SSH_Login_Comparison_Table
## We set it to 'yes' to work with libpam-tmpdir.
## https://www.kicksecure.com/wiki/Dev/Strong_Linux_User_Account_Isolation#libpam-tmpdir
## Also folders such as '/run/user/1000' will exist thanks to PAM.
## The absence of that folder can lead to issues (such as with msgcollector).
UsePAM yes
## Block dangerous forwarding.
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
## Hide unnecessary login banners.
PrintMotd no
#Banner /etc/issue.net
#Hiding Debian version from SSH banner (obscurity)
DebianBanner no
## Some options are dangerous but may be required in certain circumstances. As
## an example, if forwarding is required, selectively allow it with a 'Match'
## block. Consider a new separate user named 'tunnel' which wants to forward
## its local port to be available on the server on port 443. Note that a
## tunnel user doesn't even require a TTY nor a shell, so don't forget to
## change the 'tunnel' shell to something that prevents login such as
## '/usr/sbin/nologin'.
#Match User tunnel
# AllowTcpForwarding yes
# PermitListen localhost:443
# PermitTTY no

View file

@ -1,11 +0,0 @@
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## REVIEW: is it ok that users can find out the PATH setting of root?
#%sudo ALL=NOPASSWD: /usr/libexec/security-misc/echo-path
## xfpm-power-backlight-helper demands environment variable PKEXEC_UID to be
## set. Would otherwise error out with the following error message:
## "This program must only be run through pkexec"
## REVIEW: Can bad things be done by spoofing PKEXEC_UID?
#Defaults:ALL env_keep += "PKEXEC_UID"

View file

@ -1,5 +0,0 @@
## Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
user ALL=NOPASSWD: /usr/libexec/security-misc/panic-on-oops
%sudo ALL=NOPASSWD: /usr/libexec/security-misc/panic-on-oops

View file

@ -0,0 +1,12 @@
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Neither of these are needed.
#user ALL=NOPASSWD: /usr/libexec/security-misc/panic-on-oops
#%sudo ALL=NOPASSWD: /usr/libexec/security-misc/panic-on-oops
## Use a more open umask when executing commands with sudo
## Can be overridden on a per-user basis using .[z]profile if desirable
## https://www.kicksecure.com/wiki/Dev/Strong_Linux_User_Account_Isolation#umask_hardening
Defaults umask_override
Defaults umask=0022

View file

@ -0,0 +1,6 @@
## Copyright (C) 2025 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Don't attempt to determine the local machine's FQDN via DNS. This can leak
## the machine's hostname in cleartext to the configured DNS server.
Defaults !fqdn

View file

@ -1,19 +0,0 @@
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## https://forums.whonix.org/t/xfce4-power-manager-xfpm-power-backlight-helper-pkexec-lxsudo-popup/8764
## /usr/share/polkit-1/actions/org.xfce.power.policy
## Feel free to out comment this if you are not using xfce4-power-manager or XFCE.
#%sudo ALL=NOPASSWD: /usr/sbin/xfpm-power-backlight-helper --set-brightness [[\:digit\:]]
#%sudo ALL=NOPASSWD: /usr/sbin/xfpm-power-backlight-helper --set-brightness [[\:digit\:]][[\:digit\:]]
#%sudo ALL=NOPASSWD: /usr/sbin/xfpm-power-backlight-helper --set-brightness [[\:digit\:]][[\:digit\:]][[\:digit\:]]
#%sudo ALL=NOPASSWD: /usr/sbin/xfpm-power-backlight-helper --set-brightness-switch [[\:digit\:]]
#%sudo ALL=NOPASSWD: /usr/sbin/xfpm-power-backlight-helper --set-brightness-switch [[\:digit\:]][[\:digit\:]]
#%sudo ALL=NOPASSWD: /usr/sbin/xfpm-power-backlight-helper --set-brightness-switch [[\:digit\:]][[\:digit\:]][[\:digit\:]]
## XXX: Should we allow this?
#%sudo ALL=NOPASSWD: /usr/sbin/xfce4-pm-helper --suspend
#%sudo ALL=NOPASSWD: /usr/sbin/xfce4-pm-helper --hibernate

View file

@ -1,160 +0,0 @@
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Disables coredumps. This setting may be overwritten by systemd so this may not be useful.
## security-misc also disables coredumps in other ways.
kernel.core_pattern=|/bin/false
## Restricts the kernel log to root only.
kernel.dmesg_restrict=1
## Don't allow writes to files that we don't own
## in world writable sticky directories, unless
## they are owned by the owner of the directory.
fs.protected_fifos=2
fs.protected_regular=2
## Only allow symlinks to be followed when outside of
## a world-writable sticky directory, or when the owner
## of the symlink and follower match, or when the directory
## owner matches the symlink's owner.
##
## Prevent hardlinks from being created by users that do not
## have read/write access to the source file.
##
## These prevent many TOCTOU races.
fs.protected_symlinks=1
fs.protected_hardlinks=1
## Hardens the BPF JIT compiler and restricts it to root.
kernel.unprivileged_bpf_disabled=1
net.core.bpf_jit_harden=2
## Quote https://www.kernel.org/doc/html/latest/admin-guide/sysctl/kernel.html
##
## kexec_load_disabled:
##
## A toggle indicating if the kexec_load syscall has been disabled. This value defaults to 0 (false: kexec_load enabled), but can be set to 1 (true: kexec_load disabled). Once true, kexec can no longer be used, and the toggle cannot be set back to false. This allows a kexec image to be loaded before disabling the syscall, allowing a system to set up (and later use) an image without it being altered. Generally used together with the "modules_disabled" sysctl.
## Disables kexec which can be used to replace the running kernel.
kernel.kexec_load_disabled=1
## Hides kernel addresses in various files in /proc.
## Kernel addresses can be very useful in certain exploits.
##
## https://kernsec.org/wiki/index.php/Bug_Classes/Kernel_pointer_leak
kernel.kptr_restrict=2
## Improves ASLR effectiveness for mmap.
vm.mmap_rnd_bits=32
vm.mmap_rnd_compat_bits=16
## Restricts the use of ptrace to root. This might break some programs running under WINE.
## A workaround for WINE would be to give the wineserver and wine-preloader ptrace capabilities. This can be done by running:
##
## sudo apt-get install libcap2-bin
## sudo setcap cap_sys_ptrace=eip /usr/bin/wineserver
## sudo setcap cap_sys_ptrace=eip /usr/bin/wine-preloader
kernel.yama.ptrace_scope=2
## Prevent setuid processes from creating coredumps.
fs.suid_dumpable=0
#### meta start
#### project Kicksecure
#### category networking and security
#### description
## TCP/IP stack hardening
## Protects against time-wait assassination.
## It drops RST packets for sockets in the time-wait state.
net.ipv4.tcp_rfc1337=1
## Disables ICMP redirect acceptance.
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.default.accept_redirects=0
net.ipv4.conf.all.secure_redirects=0
net.ipv4.conf.default.secure_redirects=0
net.ipv6.conf.all.accept_redirects=0
net.ipv6.conf.default.accept_redirects=0
## Disables ICMP redirect sending.
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv6.conf.all.accept_redirects=0
net.ipv6.conf.default.accept_redirects=0
## Ignores ICMP requests.
net.ipv4.icmp_echo_ignore_all=1
## Enables TCP syncookies.
net.ipv4.tcp_syncookies=1
## Disable source routing.
net.ipv4.conf.all.accept_source_route=0
net.ipv4.conf.default.accept_source_route=0
net.ipv6.conf.all.accept_source_route=0
net.ipv6.conf.default.accept_source_route=0
## Enable reverse path filtering to prevent IP spoofing and
## mitigate vulnerabilities such as CVE-2019-14899.
## https://forums.whonix.org/t/enable-reverse-path-filtering/8594
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
#### meta end
## Disables SACK as it is commonly exploited and likely not needed.
## https://forums.whonix.org/t/disabling-tcp-sack-dsack-fack/8109
#net.ipv4.tcp_sack=0
#net.ipv4.tcp_dsack=0
#net.ipv4.tcp_fack=0
#### meta start
#### project Kicksecure
#### category networking and security
#### description
## disable IPv4 TCP Timestamps
net.ipv4.tcp_timestamps=0
#### meta end
## Only allow the SysRq key to be used for shutdowns and the
## Secure Attention Key (SAK).
##
## https://forums.whonix.org/t/sysrq-magic-sysrq-key/8079/
kernel.sysrq=132
## Restrict loading TTY line disciplines to CAP_SYS_MODULE to prevent
## unprivileged attackers from loading vulnerable line disciplines
## with the TIOCSETD ioctl which has been used in exploits before
## such as https://a13xp0p0v.github.io/2017/03/24/CVE-2017-2636.html
##
## https://lkml.org/lkml/2019/4/15/890
dev.tty.ldisc_autoload=0
## Restrict the userfaultfd() syscall to root as it can make heap sprays
## easier.
##
## https://duasynt.com/blog/linux-kernel-heap-spray
vm.unprivileged_userfaultfd=0
## Let the kernel only swap if it is absolutely necessary.
## Better not be set to zero:
## - https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/s-memory-tunables.html
## - https://en.wikipedia.org/wiki/Swappiness
vm.swappiness=1
## Disallow kernel profiling by users without CAP_SYS_ADMIN
## https://www.kernel.org/doc/Documentation/sysctl/kernel.txt
kernel.perf_event_paranoid=3
# Do not accept router advertisments
net.ipv6.conf.all.accept_ra=0
net.ipv6.conf.default.accept_ra=0

View file

@ -1,6 +0,0 @@
## Copyright (C) 2019 - 2021 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Prevent kernel info leaks in console during boot.
## https://phabricator.whonix.org/T950
kernel.printk = 3 3 3 3

View file

@ -1,3 +1,6 @@
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802211
## https://salsa.debian.org/ah/user-setup/commit/bc5ca2de85ec27845d0b46059cb7cc02bae7b44d

View file

@ -1,3 +1,6 @@
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802211
## https://salsa.debian.org/ah/user-setup/commit/bc5ca2de85ec27845d0b46059cb7cc02bae7b44d

Some files were not shown because too many files have changed in this diff Show more