Compare commits

..

1685 Commits

Author SHA1 Message Date
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 862d23cb10b7687084f8e7e207d1e2c9c1ef6751.
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 debd7a7b7ae8b03e04d2c8597bcccf2c79000570.
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 48e1ac416314d2c66f3a0d5044a3c51cb6fb4093.
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 b04828f858fa6d101099773d3156841fd6d33b6f.
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 64f8b2eb5870664fca06aa060f2f50af358ced55.

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 6157e328f40a7f3780208489b1ffecef8e6d738a.

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
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
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 479ab61a1d0c91d26c2cd200d97b39b2b786e073.

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 661bcd8603425934188cf139f33e20675ff4b765.
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 f8913ceb2e2fdd274011377c41b5d08e7459e4af.
2023-11-03 09:45:12 -04:00
Patrick Schleizer
f8913ceb2e
Revert "set default umask to 027"
This reverts commit cd216095eb8d9387437e653d7764ec765ce42a10.
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 57b5b2145c4e6779f0b879ee4199d46938f20965.
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 f0511635a9725f79863c41a7b8d9f8a077ba8788.
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
Patrick Schleizer
a67d1754d4
bumped changelog version 2021-09-05 16:04:28 -04:00
Patrick Schleizer
6257bfa926
debugging 2021-09-05 15:54:20 -04:00
Patrick Schleizer
1b09d56718
bumped changelog version 2021-09-04 18:29:00 -04:00
Patrick Schleizer
a4e18a2ae8
dracut reproducible=yes 2021-09-04 18:28:37 -04:00
Patrick Schleizer
1a10293b04
bumped changelog version 2021-09-04 12:00:55 -04:00
Patrick Schleizer
e2810f348b
Depends: libpam-modules-bin 2021-09-04 11:50:31 -04:00
Patrick Schleizer
3c64ec8f91
bumped changelog version 2021-09-02 14:36:53 -04:00
Patrick Schleizer
be8c10496f
fix faillock implementation
dovecot / ssh are exempted
2021-09-01 15:55:53 -04:00
Patrick Schleizer
8b104f544a
fix, add sshd to pam_service_exclusion_list
to avoid faillock
2021-09-01 15:45:36 -04:00
Patrick Schleizer
224ae730c1
bumped changelog version 2021-08-22 05:32:18 -04:00
Patrick Schleizer
db43cedcfd
LANG=C str_replace 2021-08-22 05:23:24 -04:00
Patrick Schleizer
ef2b067c03
bumped changelog version 2021-08-17 15:24:12 -04:00
Patrick Schleizer
08adf4a07d
readme 2021-08-17 15:23:49 -04:00
Patrick Schleizer
7d73b3ffa0
add hardened malloc compatibility for haveged workaround
`/lib/systemd/system/haveged.service.d/30_security-misc.conf`

`SystemCallFilter=getrandom`

Otherwise haveged will exit with a core dump.
2021-08-17 15:21:26 -04:00
Patrick Schleizer
8676beef90
bumped changelog version 2021-08-10 18:26:32 -04:00
Patrick Schleizer
582492d6d8
port from pam_tally2 to pam_faillock
since pam_tally2 was deprecated upstream
2021-08-10 17:13:00 -04:00
Patrick Schleizer
2bf0e7471c
port from pam_tally2 to pam_faillock
since pam_tally2 was deprecated upstream
2021-08-10 15:11:01 -04:00
Patrick Schleizer
2aea74bd71
renamed: usr/libexec/security-misc/pam_tally2-info -> usr/libexec/security-misc/pam-info
renamed:    usr/libexec/security-misc/pam_tally2_not_if_x -> usr/libexec/security-misc/pam_faillock_not_if_x
renamed:    usr/share/pam-configs/tally2-security-misc -> usr/share/pam-configs/faillock-security-misc
2021-08-10 15:06:04 -04:00
Patrick Schleizer
6376bbff80
bumped changelog version 2021-08-05 17:03:43 -04:00
Patrick Schleizer
3756016f42
lintian --suppress-tags obsolete-command-in-modprobe.d-file
https://forums.whonix.org/t/blacklist-more-kernel-modules-to-reduce-attack-surface/7989/24
2021-08-03 13:04:34 -04:00
Patrick Schleizer
50bdd097df
move /usr/lib/security-misc to /usr/libexec/security-misc as per lintian FHS 2021-08-03 12:56:31 -04:00
Patrick Schleizer
4fadaad8c0
lintian FHS 2021-08-03 12:52:10 -04:00
Patrick Schleizer
6607c1e4bd
move /usr/lib/helper-scripts and /usr/lib/curl-scripts to /usr/libexec/helper-scripts as per lintian FHS 2021-08-03 12:48:57 -04:00
Patrick Schleizer
0492f28aa1
enable "apt-get --error-on=any" by default
makes apt exit non-zero for transient failures

`/etc/apt/apt.conf.d/40error-on-any`

https://forums.whonix.org/t/debian-bullseye-apt-get-error-on-any/12068
2021-08-03 12:37:39 -04:00
Patrick Schleizer
240ec7672a
replace no longer required /usr/lib/security-misc/apt-get-wrapper with apt-get --error-on=any 2021-08-03 12:19:26 -04:00
Patrick Schleizer
8eae635668
update lintian tag name 2021-08-03 11:51:31 -04:00
Patrick Schleizer
5e3338f8d3
bullseye 2021-08-03 05:48:25 -04:00
Patrick Schleizer
bb3e65f7a8
bullseye 2021-08-03 03:25:35 -04:00
Patrick Schleizer
c94281121e
comment 2021-08-01 16:37:02 -04:00
Patrick Schleizer
3599e8e2da
readme 2021-08-01 16:24:41 -04:00
Patrick Schleizer
82f3961a71
bumped changelog version 2021-08-01 13:12:08 -04:00
Patrick Schleizer
5a65c35479
port LKRG compatibility settings automation for VirtualBox hosts from systemd to dpkg trigger 2021-08-01 13:11:18 -04:00
Patrick Schleizer
f03c7978c7
bumped changelog version 2021-07-25 11:31:45 -04:00
Patrick Schleizer
b3e34f7f43
comment 2021-07-25 11:27:07 -04:00
Patrick Schleizer
7e128636b3
improve LKRG VirtualBox host configuration
as per https://github.com/openwall/lkrg/issues/82#issuecomment-886188999
2021-07-25 11:26:20 -04:00
Patrick Schleizer
3ebe9e7c53
bumped changelog version 2021-07-24 18:10:06 -04:00
Patrick Schleizer
257cef24ba
add LKRG compatibility settings automation for VirtualBox hosts
https://github.com/openwall/lkrg/issues/82
2021-07-24 18:03:40 -04:00
Patrick Schleizer
0f86ffef04
bumped changelog version 2021-06-23 11:20:39 -04:00
Patrick Schleizer
74e39cbf69
pam-abort-on-locked-password: more descriptive error handling
https://forums.whonix.org/t/restrict-root-access/7658/1
2021-06-20 11:18:56 -04:00
Patrick Schleizer
0f3dbfc4a1
bumped changelog version 2021-06-20 10:16:57 -04:00
Patrick Schleizer
eff5af0318
https://forums.whonix.org/t/restrict-root-access/7658/116 2021-06-20 10:16:33 -04:00
Patrick Schleizer
419f1d89c2
bumped changelog version 2021-06-07 12:13:37 -04:00
Patrick Schleizer
30d1ce36af
Merge remote-tracking branch 'github-whonix/master' 2021-06-07 12:11:58 -04:00
Patrick Schleizer
70a1eb25a5
Merge pull request #101 from madaidan/sudo
Restrict sudo's file permissions
2021-06-05 15:55:41 -04:00
madaidan
97d8db3f74
Restrict sudo's file permissions 2021-06-05 19:16:42 +00:00
Patrick Schleizer
0305baf211
bumped changelog version 2021-06-01 07:36:59 -04:00
Patrick Schleizer
d87bee37f7
comment 2021-06-01 07:21:18 -04:00
Patrick Schleizer
809930c021
comment 2021-06-01 05:36:01 -04:00
Patrick Schleizer
5bd59991cb
bumped changelog version 2021-05-05 08:37:56 -04:00
Patrick Schleizer
6e759f9196
config-package-dev displace /etc/dkms/framework.conf
https://forums.whonix.org/t/enforce-kernel-module-software-signature-verification-module-signing-disallow-kernel-module-loading-by-default/7880/58
2021-04-29 11:17:30 -04:00
Patrick Schleizer
e2afd00627
modify DKMS configuration file /etc/dkms/framework.conf
Lower parallel compilation jobs to 1 if less than 2 GB RAM to avoid freezing of virtual machines.

`parallel_jobs=1`

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.

https://forums.whonix.org/t/linux-kernel-runtime-guard-lkrg-linux-kernel-runtime-integrity-checking-and-exploit-detection/8477/26

https://forums.whonix.org/t/enforce-kernel-module-software-signature-verification-module-signing-disallow-kernel-module-loading-by-default/7880/58
2021-04-29 11:14:30 -04:00
Patrick Schleizer
3ba3b37187
add /etc/dkms/framework.conf.security-misc
original, from
- https://github.com/dell/dkms/blob/master/dkms_framework.conf
- https://raw.githubusercontent.com/dell/dkms/master/dkms_framework.conf

https://forums.whonix.org/t/enforce-kernel-module-software-signature-verification-module-signing-disallow-kernel-module-loading-by-default/7880/58
2021-04-29 11:08:30 -04:00
Patrick Schleizer
1d35bdf291
bumped changelog version 2021-04-05 11:58:47 -04:00
Patrick Schleizer
41734ec523
systemd RemainAfterExit=yes
for better usability

https://forums.whonix.org/t/restrict-hardware-information-to-root-testers-wanted/8618/33
2021-04-03 11:44:13 -04:00
Patrick Schleizer
e8ea94325b
bumped changelog version 2021-03-17 12:31:34 -04:00
Patrick Schleizer
a67007f4b7
copyright 2021-03-17 09:45:21 -04:00
Patrick Schleizer
0c4a7207e4
bumped changelog version 2021-03-04 07:09:01 -05:00
Patrick Schleizer
a1819e8cab
comment 2021-03-01 09:15:44 -05:00
Patrick Schleizer
3382192b89
Merge remote-tracking branch 'github/master' 2021-03-01 09:12:18 -05:00
Patrick Schleizer
2e8e3c07c4
Merge pull request #100 from 0xC0ncord/bugfix/selinuxfs_restrictions
hide-hardware-info: allow unrestricting selinuxfs
2021-03-01 14:11:28 +00:00
Patrick Schleizer
7f30d70295
bumped changelog version 2021-02-06 06:31:45 -05:00
Patrick Schleizer
83c0be5177
readme 2021-02-06 06:27:54 -05:00
Kenton Groombridge
4db7d6be64
hide-hardware-info: allow unrestricting selinuxfs
On SELinux systems, the /sys/fs/selinux directory must be visible to
userspace utilities in order to function properly.
2021-02-06 03:02:08 -05:00
Patrick Schleizer
3120ff3ec9
bumped changelog version 2021-01-29 23:37:03 -05:00
Patrick Schleizer
af3244741d
comment 2021-01-29 23:15:52 -05:00
Patrick Schleizer
d9aaf59105
bumped changelog version 2021-01-28 02:15:46 -05:00
Patrick Schleizer
b0b7f569ee
comment 2021-01-28 02:11:54 -05:00
Patrick Schleizer
f2595cc254
bumped changelog version 2021-01-27 05:50:16 -05:00
Patrick Schleizer
9622f28e25
skip counting failed login attempts from dovecot
Failed dovecot logins should not result in account getting locked.

revert "use pam_tally2 only for login"
2021-01-27 05:49:34 -05:00
Patrick Schleizer
480f74cab6
bumped changelog version 2021-01-24 05:10:36 -05:00
Patrick Schleizer
6757104aa4
use pam_tally2 only for login
to skip counting failed login attempts over ssh and mail login
2021-01-24 05:04:48 -05:00
Patrick Schleizer
126c31c37d
bumped changelog version 2021-01-19 19:41:43 -05:00
Patrick Schleizer
14d13fb03e
readme 2021-01-19 19:41:42 -05:00
Patrick Schleizer
611fbe2c61
description 2021-01-18 05:39:34 -05:00
Patrick Schleizer
0e8ea5eb72
bumped changelog version 2021-01-14 02:36:49 -05:00
Patrick Schleizer
ddd62c1eef
readme 2021-01-12 03:24:11 -05:00
Patrick Schleizer
468d8b600d
readme 2021-01-12 03:20:58 -05:00
Patrick Schleizer
b5cee63999
new file: README_generic.md 2021-01-12 03:19:31 -05:00
Patrick Schleizer
94627f0875
Merge remote-tracking branch 'github/master' 2021-01-12 03:18:41 -05:00
Patrick Schleizer
79876f7b12
Merge pull request #99 from madaidan/docs
Overhaul documentation
2021-01-12 08:17:04 +00:00
madaidan
3066b5ad97
Overhaul documentation 2021-01-12 02:17:13 +00:00
Patrick Schleizer
353e74fb5f
bumped changelog version 2021-01-05 08:30:37 -05:00
Patrick Schleizer
a258f35f38
comment 2021-01-05 02:11:08 -05:00
Patrick Schleizer
a4d7e46141
bumped changelog version 2020-12-10 05:20:57 -05:00
Patrick Schleizer
c5097ed599
comment 2020-12-06 04:23:09 -05:00
Patrick Schleizer
b2b614ed2a
cover more folders in /usr/local 2020-12-06 04:15:52 -05:00
Patrick Schleizer
5bd267d774
refactoring 2020-12-06 04:10:50 -05:00
Patrick Schleizer
11cdce02a0
refactoring 2020-12-06 04:10:10 -05:00
Patrick Schleizer
f73c55f16c
/opt
https://forums.whonix.org/t/suid-disabler-and-permission-hardener/7706/68
2020-12-06 04:08:58 -05:00
Patrick Schleizer
261ef85c14
bumped changelog version 2020-12-01 05:53:06 -05:00
Patrick Schleizer
c031f22995
SUID Disabler and Permission Hardener: introduce configuration option to disable all whitelists
`whitelists_disable_all=true`
2020-12-01 05:14:48 -05:00
Patrick Schleizer
b09cc0de6a
Revert "SUID Disabler and Permission Hardener: introduce configuration option to disable all whitelists"
This reverts commit 36a471ebce883f7a1660977f486b21ece320d0c2.
2020-12-01 05:10:26 -05:00
Patrick Schleizer
704f0500ba
fix, rename 40_default_whitelist_[...].conf to 25_default_whitelist_[...].conf
since whitelist needs to be defined before SUID removal commands
2020-12-01 05:03:16 -05:00
Patrick Schleizer
36a471ebce
SUID Disabler and Permission Hardener: introduce configuration option to disable all whitelists
`whitelists_disable_all=true`
2020-12-01 05:02:34 -05:00
Patrick Schleizer
318ab570aa
simplify disabling of SUID Disabler and Permission Hardener whitelist
split `/etc/permission-hardening.d/30_default.conf` into multiple files

`/etc/permission-hardening.d/40_default_whitelist_[...].conf`

therefore make it easier to delete any whitelisted SUID binaries
2020-12-01 04:28:15 -05:00
Patrick Schleizer
cf07e977bd
add /bin/pkexec exactwhitelist for consistency
since there is already `/usr/bin/pkexec exactwhitelist`
2020-11-29 09:09:42 -05:00
Patrick Schleizer
fe27483886
bumped changelog version 2020-11-28 06:08:10 -05:00
Patrick Schleizer
28a326a8a1
add feature /usr/lib/security-misc/permission-hardening-undo /path/to/filename
to allow removing 1 SUID

fix, show INFO message if file does not exist during removal rather than ERROR
2020-11-28 05:31:12 -05:00
Patrick Schleizer
0ef35f8770
bumped changelog version 2020-11-06 10:18:09 -05:00
Patrick Schleizer
abae787186
usability: pam abort when attempting to login to root when root password is locked 2020-11-05 06:47:16 -05:00
Patrick Schleizer
581e31af81
comment 2020-11-05 06:46:57 -05:00
Patrick Schleizer
dfe9b0f6c7
fix, no longer unconditionally abort pam for user accounts with locked passwords
as locked user accounts might have valid sudoers exceptions

Thanks to @mimp for the bug report!

https://forums.whonix.org/t/pam-abort-on-locked-password-and-running-privileged-command-from-web-browser/10521
2020-11-05 06:42:47 -05:00
Patrick Schleizer
211769dc65
comment 2020-11-05 06:41:51 -05:00
Patrick Schleizer
7952139731
comment 2020-11-05 06:39:32 -05:00
Patrick Schleizer
bb72c1278d
copyright 2020-11-05 06:36:39 -05:00
Patrick Schleizer
f4843b1deb
bumped changelog version 2020-10-31 06:29:25 -04:00
Patrick Schleizer
c1e0bb8310
shebang 2020-10-31 06:11:49 -04:00
Patrick Schleizer
b06d4ca299
bumped changelog version 2020-10-31 06:09:22 -04:00
Patrick Schleizer
3f656be574
chmod +x /etc/X11/Xsession.d/50panic_on_oops
chmod +x /etc/X11/Xsession.d/50security-misc
2020-10-31 05:48:10 -04:00
Patrick Schleizer
881d695bff
bumped changelog version 2020-10-05 07:03:37 -04:00
Patrick Schleizer
3adb2c92d9
Merge remote-tracking branch 'github/master' 2020-10-03 14:10:32 -04:00
Patrick Schleizer
58560138cd
Merge pull request #77 from madaidan/debugfs
Restrict access to debugfs
2020-10-03 18:09:07 +00:00
madaidan
06ffd5d220
Restrict access to debugfs 2020-09-28 19:21:20 +00:00
Patrick Schleizer
feb7cea4c5
bumped changelog version 2020-09-28 10:30:42 -04:00
Patrick Schleizer
da1ac48cde
unblacklist squashfs as this would likely break Whonix-Host ISO
https://github.com/Whonix/security-misc/pull/75#issuecomment-700044182
2020-09-28 10:29:50 -04:00
Patrick Schleizer
4070133ed6
unblacklist vfat
https://github.com/Whonix/security-misc/pull/75#issuecomment-695201068
2020-09-28 10:25:57 -04:00
Patrick Schleizer
77d461ec08
Merge remote-tracking branch 'github/master' 2020-09-28 10:24:59 -04:00
Patrick Schleizer
3684ab585e
Merge pull request #75 from flawedworld/patch-1
Blacklist more modules (based on OpenSCAP for RHEL 8)
2020-09-28 14:24:15 +00:00
Patrick Schleizer
ae90107e6d
Merge pull request #76 from flawedworld/patch-2
Add IPv6 sysctl options and enforce kernel.perf_event_paranoid=3
2020-09-28 14:23:42 +00:00
flawedworld
a813e7da07 Blacklist more modules 2020-09-19 20:46:19 +01:00
Patrick Schleizer
5fc7b791db
bumped changelog version 2020-09-19 09:28:27 -04:00
Patrick Schleizer
bff6ce7abb
Merge remote-tracking branch 'github/master' 2020-09-19 06:54:50 -04:00
Patrick Schleizer
9239c8b807
Merge pull request #71 from onions-knight/patch-1
Update thunar.xml
2020-09-19 10:54:21 +00:00
flawedworld
8f7727e823
Add some IPv6 options 2020-09-18 23:36:30 +01:00
flawedworld
944fed3c45
Disallow kernel profiling by users without CAP_SYS_ADMIN
It's the default on a lot of stuff, but still nice to have.
2020-09-18 23:29:04 +01:00
Patrick Schleizer
98c0decaa4
bumped changelog version 2020-08-03 09:43:43 -04:00
Patrick Schleizer
7e267ab498
fix, allow group sudo and console to use consoles
fix /etc/security/access-security-misc.conf syntax error

Thanks to @81a989 for the bug report!

https://forums.whonix.org/t/etc-security-hardening-console-lockdown-pam-access-access-conf/8592/31
2020-08-03 08:12:19 -04:00
Patrick Schleizer
b09f5ddc15
bumped changelog version 2020-07-29 08:33:07 -04:00
Patrick Schleizer
ac8bc4f006
readme 2020-07-29 06:30:07 -04:00
Patrick Schleizer
861f9d1022
bumped changelog version 2020-05-14 13:57:32 -04:00
Patrick Schleizer
3cd7b144bb
move "kernel.printk = 3 3 3 3" to separate file /etc/sysctl.d/30_silent-kernel-printk.conf
so package debug-misc can easily disable it

https://phabricator.whonix.org/T950
2020-05-14 13:47:58 -04:00
Patrick Schleizer
81cb6ad246
bumped changelog version 2020-04-23 12:27:25 -04:00
Patrick Schleizer
6485df8126
Prevent kernel info leaks in console during boot.
add kernel parameter `quiet loglevel=0`

https://phabricator.whonix.org/T950
2020-04-23 12:26:31 -04:00
Patrick Schleizer
aa5631b02b
bumped changelog version 2020-04-16 08:43:40 -04:00
Patrick Schleizer
8d2e4b68dc
Prevent kernel info leaks in console during boot.
By setting `kernel.printk = 3 3 3 3`.

https://phabricator.whonix.org/T950

Thanks to @madaidan for the suggestion!
2020-04-16 08:00:31 -04:00
Patrick Schleizer
4898a9e753
fix, sysctl-initramfs: switch log to /run/initramfs/sysctl-initramfs-error.log
since ephemeral, in RAM, not written to disk, no conflict with grub-live

https://forums.whonix.org/t/kernel-hardening/7296/435
2020-04-16 07:54:33 -04:00
Patrick Schleizer
701da5f6cc
formatting 2020-04-16 07:24:44 -04:00
Patrick Schleizer
cb51847085
readme 2020-04-15 14:05:37 -04:00
Patrick Schleizer
df218ad658
bumped changelog version 2020-04-14 12:40:31 -04:00
Patrick Schleizer
8851c9ed29
fix: disable proc-hidepid.service 2020-04-14 12:39:34 -04:00
Patrick Schleizer
b6dde34bfb
bumped changelog version 2020-04-13 06:56:34 -04:00
Patrick Schleizer
e0b8640fb9
readme 2020-04-13 06:56:34 -04:00
Patrick Schleizer
253578afdf
/etc/security/access-security-misc.conf white list ttyS0 etc.
ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ttyS5 ttyS6 ttyS7 ttyS8 ttyS9

Thanks to @subpar_marlin for the bug report and helping to fix this!

https://forums.whonix.org/t/how-do-i-enter-the-whonix-shell-from-cli/7271/43

https://forums.whonix.org/t/etc-security-hardening/8592
2020-04-13 06:50:32 -04:00
Patrick Schleizer
b3ce18f0f9
disable proc-hidepid by default because incompatible with pkexec
and undo pkexec wrapper
2020-04-12 16:54:10 -04:00
Patrick Schleizer
4429315291
disable proc-hidepid by default because incompatible with pkexec
and undo pkexec wrapper
2020-04-12 16:52:55 -04:00
Patrick Schleizer
72be31e870
disable proc-hidepid by default because incompatible with pkexec
and undo pkexec wrapper
2020-04-12 16:48:13 -04:00
Patrick Schleizer
938e929f39
add pkexec to suid default whitelist
/usr/bin/pkexec exactwhitelist
/usr/bin/pkexec.security-misc-orig exactwhitelist
2020-04-12 16:37:51 -04:00
Patrick Schleizer
695ad5b83d
bumped changelog version 2020-04-09 09:45:30 +00:00
Patrick Schleizer
67b9d06b25
readme 2020-04-09 09:45:29 +00:00
Patrick Schleizer
565ff136e5
vm.swappiness=1
import from swappiness-lowest

https://forums.whonix.org/t/vm-swappiness-1-set-swapiness-to-lowest-setting-still-useful-swappiness-lowest/9278
2020-04-08 21:04:02 +00:00
Patrick Schleizer
642d4d8d93
bumped changelog version 2020-04-08 17:13:21 +00:00
Patrick Schleizer
a9d0baffe6
python -> python3 2020-04-08 16:57:32 +00:00
Patrick Schleizer
4153d8d088
apparmor-profile-anondist -> apparmor-profile-dist 2020-04-08 16:51:22 +00:00
Patrick Schleizer
72228946dc
fix etc/default/grub.d/40_kernel_hardening.cfg
in Qubes if no kernel package is installed
2020-04-08 16:46:11 +00:00
Patrick Schleizer
bfd6018d8d
bumped changelog version 2020-04-08 12:51:11 +00:00
Patrick Schleizer
0441f2ed7a
readme 2020-04-08 12:30:05 +00:00
Patrick Schleizer
663811a819
anon-base-files -> dist-base-files 2020-04-08 12:04:13 +00:00
Patrick Schleizer
cc8489df2f
bumped changelog version 2020-04-06 13:29:23 -04:00
Patrick Schleizer
350a15dfbf
readme 2020-04-06 13:22:32 -04:00
Patrick Schleizer
5c81e1f23f
import from anon-gpg-conf 2020-04-06 09:25:45 -04:00
Patrick Schleizer
1b2a34ea80
bumped changelog version 2020-04-04 16:51:42 -04:00
Patrick Schleizer
1188a44f47
port to python 3.7 2020-04-04 16:49:30 -04:00
Patrick Schleizer
a2c932aa5a
bumped changelog version 2020-04-02 07:58:51 -04:00
Patrick Schleizer
ae8c5fff3c
readme 2020-04-02 07:22:47 -04:00
Patrick Schleizer
a7f2a2a3b6
console lockdown: allow members of group sudo to use console
https://forums.whonix.org/t/etc-security-hardening/8592

https://github.com/Whonix/security-misc/pull/74#issuecomment-607748407

https://www.whonix.org/wiki/Dev/Strong_Linux_User_Account_Isolation#Console_Lockdown
2020-04-02 06:04:45 -04:00
Patrick Schleizer
7764ee0d20
comments 2020-04-02 05:58:16 -04:00
Patrick Schleizer
d9f2a0e4a1
remove 'Build-Depends: ronn' since no longer required 2020-04-01 17:34:59 -04:00
Patrick Schleizer
eda9c57a62
remove genmkfile 2020-04-01 16:57:33 -04:00
Patrick Schleizer
2609fe9c3e
add debian install file 2020-04-01 16:33:29 -04:00
Patrick Schleizer
d4b2baa9b6
bumped changelog version 2020-04-01 10:58:16 -04:00
Patrick Schleizer
2ceea8d1fe
update copyright year 2020-04-01 08:49:59 -04:00
Patrick Schleizer
b6de867dec
bumped changelog version 2020-04-01 08:26:44 -04:00
Patrick Schleizer
ad022fc0b7
fix 2020-04-01 08:21:06 -04:00
Patrick Schleizer
354af7085b
bumped changelog version 2020-03-31 07:41:45 -04:00
Patrick Schleizer
814f613a2f
When using systemd-nspawn (chroot) then login requires console 'console' to be permitted. 2020-03-31 07:08:25 -04:00
Patrick Schleizer
a369a0a94d
bumped changelog version 2020-03-30 18:42:02 -04:00
Patrick Schleizer
c22adbd92f
notify if security-misc installation is forced 2020-03-30 18:39:23 -04:00
Patrick Schleizer
7ee5fc1b76
bumped changelog version 2020-03-30 17:16:46 -04:00
Patrick Schleizer
f663b5eff8
skip check if any non-root user is a member of group sudo and console if
environment variable `SECURITY_MISC_INSTALL` is set to `force`
2020-03-30 17:15:02 -04:00
Patrick Schleizer
bc22fc9fdb
skip check if any non-root user is a member of group sudo and console if file
/var/lib/security-misc/skip_install_check exists
2020-03-30 17:12:43 -04:00
Patrick Schleizer
d7a69628b1
bumped changelog version 2020-03-21 14:56:48 -04:00
Patrick Schleizer
5f0dd8270b
consistent use of quotes 2020-03-21 14:14:35 -04:00
Patrick Schleizer
66ea1a3a12
minor 2020-03-21 14:14:15 -04:00
Patrick Schleizer
23bd7ead59
remove trailing space 2020-03-21 14:12:42 -04:00
Patrick Schleizer
7c25fc517e
Merge remote-tracking branch 'origin/master' 2020-03-21 14:12:25 -04:00
Patrick Schleizer
1cbc7f6bed
Merge pull request #73 from madaidan/sysctl-initramfs
Only remount in sysctl-initramfs if already mounted read-only
2020-03-21 18:11:57 +00:00
madaidan
89ada11cf9
Only remount if already mounted read-only 2020-03-21 17:49:07 +00:00
Patrick Schleizer
20f0c574d5
Merge remote-tracking branch 'origin/master' 2020-03-21 13:28:43 -04:00
Patrick Schleizer
2938182ce6
Merge pull request #72 from madaidan/master
Fix sysctl-initramfs logs
2020-03-21 17:26:37 +00:00
madaidan
c8826d6702
Fix sysctl-initramfs logs 2020-03-21 17:15:25 +00:00
onions-knight
8dfdec1d3b
Update thunar.xml
Adding Delete option for thunar on right mouse click (removed in Debian 10). See https://forums.whonix.org/t/whonix-host-calamares-branding-suggestion/7772/26
2020-03-17 16:38:53 +00:00
Patrick Schleizer
e4118cb21e
bumped changelog version 2020-03-12 04:43:08 -04:00
Patrick Schleizer
e6e7886a6e
Merge remote-tracking branch 'origin/master' 2020-03-11 09:08:41 -04:00
Patrick Schleizer
711e786be5
Merge pull request #70 from madaidan/userfaultfd
Fix unprivileged_userfaultfd
2020-03-11 13:06:23 +00:00
madaidan
4d0de87f79
Disable unprivileged userfaultfd use again 2020-03-08 17:49:49 +00:00
madaidan
efb2683cfc
Hide unprivileged_userfaultfd error 2020-03-08 17:49:12 +00:00
Patrick Schleizer
04a87f7029
bumped changelog version 2020-03-08 09:43:24 -04:00
Patrick Schleizer
284a491100
disable vm.unprivileged_userfaultfd=0 for now
because broken

https://forums.whonix.org/t/kernel-hardening/7296/406

reverts "Restrict the userfaultfd() syscall to root as it can make heap sprays easier."

https://duasynt.com/blog/linux-kernel-heap-spray
2020-03-08 08:07:10 -04:00
Patrick Schleizer
44351ec9b7
remove no longer needed code for installation of apparmor profiles 2020-03-07 21:44:19 -05:00
Patrick Schleizer
71ae623916
bumped changelog version 2020-03-05 08:36:27 -05:00
Patrick Schleizer
76eb9579a3
readme 2020-03-05 08:33:00 -05:00
Patrick Schleizer
15dde15a36
typo 2020-03-03 09:42:24 -05:00
Patrick Schleizer
8887af26d6
bumped changelog version 2020-03-03 09:19:49 -05:00
Patrick Schleizer
1dea4dbcf6
readme 2020-03-03 09:18:38 -05:00
Patrick Schleizer
cd19c2da00
fix lintian warning 2020-03-03 09:18:24 -05:00
Patrick Schleizer
7e3fedefb2
bumped changelog version 2020-03-03 09:12:50 -05:00
Patrick Schleizer
201d6b5efc
readme 2020-03-03 09:07:42 -05:00
Patrick Schleizer
63c6405ab7
Merge remote-tracking branch 'origin/master' 2020-02-29 07:34:46 -05:00
Patrick Schleizer
453aa8a4eb
Merge pull request #65 from madaidan/userfaultfd
Restrict the userfaultfd() syscall to root
2020-02-29 12:28:32 +00:00
Patrick Schleizer
e3e39f2235
Merge remote-tracking branch 'origin/master' 2020-02-29 05:01:41 -05:00
Patrick Schleizer
649ec5dfa1
pkexec wrapper: fix gdebi / synaptic
but at cost of checking for passwordless sudo /etc/suders /etc/sudoers.d
exceptions.

http://forums.whonix.org/t/cannot-use-pkexec/8129/53
2020-02-29 04:59:56 -05:00
Patrick Schleizer
32269d32b6
description 2020-02-29 04:59:15 -05:00
Patrick Schleizer
b31caefdeb
description 2020-02-29 04:59:02 -05:00
Patrick Schleizer
bd7678c574
Merge pull request #66 from madaidan/mce
Fix docs
2020-02-28 12:04:05 +00:00
madaidan
42d3b986c4
Update control 2020-02-27 17:41:14 +00:00
Patrick Schleizer
d04d4bf095
description 2020-02-25 02:08:10 -05:00
Patrick Schleizer
4043d2af3f
description 2020-02-25 02:06:48 -05:00
Patrick Schleizer
0e5187ff24
description 2020-02-25 02:00:27 -05:00
madaidan
60fbf8b0de
Update control 2020-02-24 18:24:07 +00:00
madaidan
6b64b36b01
Restrict the userfaultfd() syscall to root 2020-02-24 18:23:15 +00:00
Patrick Schleizer
221000db5b
Merge remote-tracking branch 'origin/master' 2020-02-17 03:17:11 -05:00
Patrick Schleizer
c7f2537930
Merge pull request #64 from madaidan/extra_latent_entropy
Gather more entropy during boot
2020-02-17 08:16:34 +00:00
madaidan
8ea4e50c8e
Update control 2020-02-16 19:52:40 +00:00
madaidan
f6b6ab374e
Gather more entropy during boot 2020-02-16 19:51:32 +00:00
Patrick Schleizer
01eaee997e
bumped changelog version 2020-02-15 15:35:44 -05:00
Patrick Schleizer
412a83923d
Merge remote-tracking branch 'origin/master' 2020-02-15 15:30:32 -05:00
Patrick Schleizer
dce54d5d0f
bumped changelog version 2020-02-15 15:29:38 -05:00
Patrick Schleizer
3df008f0b9
readme 2020-02-15 15:28:30 -05:00
Patrick Schleizer
4399a512be
Merge pull request #63 from madaidan/ldisc_autoload
Document ldisc_autoload better
2020-02-15 19:43:05 +00:00
madaidan
a79ce7fa68
Document ldisc_autoload better 2020-02-15 17:30:21 +00:00
Patrick Schleizer
757df8fceb
Merge remote-tracking branch 'origin/master' 2020-02-15 05:43:43 -05:00
Patrick Schleizer
a9a1581720
Merge pull request #60 from madaidan/sysrq
Restrict the SysRq key
2020-02-15 10:42:20 +00:00
Patrick Schleizer
1e5946c795
Merge branch 'master' into sysrq 2020-02-15 10:41:52 +00:00
Patrick Schleizer
9bbae903fe
remove-system.map: lower verbosity output 2020-02-15 05:29:48 -05:00
Patrick Schleizer
cce35e5109
Merge remote-tracking branch 'origin/master' 2020-02-15 05:27:52 -05:00
Patrick Schleizer
e40351796e
Merge pull request #62 from madaidan/shred
Shred System.map files
2020-02-15 10:25:15 +00:00
Patrick Schleizer
5124f8cebc
Merge pull request #61 from madaidan/disable_early_pci_dma
Avoid holes in IOMMU
2020-02-15 10:18:56 +00:00
Patrick Schleizer
ac8757a031
Merge pull request #59 from madaidan/ldisc
Restrict loading line disciplines to CAP_SYS_MODULE
2020-02-15 10:09:46 +00:00
madaidan
31009f0bfa
Shred System.map files 2020-02-14 23:46:19 +00:00
madaidan
9b767139ef
Avoid holes in IOMMU 2020-02-14 18:52:01 +00:00
madaidan
0f49736957
Update control 2020-02-14 18:18:18 +00:00
madaidan
d251c43344
Restrict the SysRq key 2020-02-14 18:17:20 +00:00
madaidan
ace6211176
Update control 2020-02-14 17:51:17 +00:00
madaidan
0ea7dd161b
Restrict loading line disciplines to CAP_SYS_MODULE 2020-02-14 17:50:19 +00:00
Patrick Schleizer
ad6b766886
Merge pull request #57 from madaidan/sysctl
Prevent symlink/hardlink TOCTOU races
2020-02-13 18:40:58 +00:00
Patrick Schleizer
14140ad41b
bumped changelog version 2020-02-13 13:39:45 -05:00
Patrick Schleizer
d1fa191bc0
readme 2020-02-13 13:38:21 -05:00
Patrick Schleizer
76a51a3b45
Merge remote-tracking branch 'origin/master' 2020-02-13 13:37:34 -05:00
Patrick Schleizer
5ebab397b2
Merge pull request #58 from madaidan/mitigations
Improve CPU mitigations documentation
2020-02-13 18:36:41 +00:00
madaidan
2796c2dd00
Update control 2020-02-12 18:43:19 +00:00
madaidan
700c7ed908
Create 40_cpu_mitigations.cfg 2020-02-12 18:42:13 +00:00
madaidan
ba0043b8a7
Update 40_kernel_hardening.cfg 2020-02-12 18:36:05 +00:00
madaidan
14f8458374
Update control 2020-02-12 18:05:32 +00:00
madaidan
5cb21d0d4d
Prevent symlink/hardlink TOCTOU races 2020-02-12 18:03:23 +00:00
Patrick Schleizer
163e20b886
bumped changelog version 2020-02-05 06:31:48 -05:00
Patrick Schleizer
3024006f63
Merge remote-tracking branch 'origin/master' 2020-02-04 00:24:50 -05:00
Patrick Schleizer
024576e330
Merge pull request #56 from HulaHoop0/patch-1
kvm.nx_huge_pages=force
2020-02-04 05:24:05 +00:00
HulaHoop0
e4c6e897cf
kvm.nx_huge_pages=force 2020-02-03 16:06:46 +00:00
Patrick Schleizer
8c5cd865f4
bumped changelog version 2020-02-03 09:23:13 -05:00
Patrick Schleizer
1f6ed2cc70
add support for passing parameters to usr/lib/security-misc/apt-get-update 2020-02-03 08:55:20 -05:00
Patrick Schleizer
2291b7f787
bumped changelog version 2020-02-03 08:43:31 -05:00
Patrick Schleizer
8627c9f76d
/usr/lib/security-misc/apt-get-update increase default timeout_after="600" 2020-01-31 12:18:02 -05:00
Patrick Schleizer
829e28aa90
/usr/lib/security-misc/apt-get-update environment variable timeout_after kill_after support 2020-01-31 12:17:07 -05:00
Patrick Schleizer
0bd0a4a647
bumped changelog version 2020-01-30 06:14:34 -05:00
Patrick Schleizer
85d2aa1365
hide stdout (but not stderr) by sysctl during initramfs 2020-01-30 06:13:42 -05:00
Patrick Schleizer
d69c1839cd
bumped changelog version 2020-01-30 06:02:26 -05:00
Patrick Schleizer
b9d65338bc
unconditionally enable all CPU bugs (spectre, meltdown, L1TF, ...)
this might reduce performance

* `spectre_v2=on`
* `spec_store_bypass_disable=on`
* `tsx=off`
* `tsx_async_abort=full,nosmt`

Thanks to @madaidan for the suggestion!

https://forums.whonix.org/t/should-all-kernel-patches-for-cpu-bugs-be-unconditionally-enabled-vs-performance-vs-applicability/7647
2020-01-30 05:55:13 -05:00
Patrick Schleizer
2711d0f7f0
bumped changelog version 2020-01-30 01:22:32 -05:00
Patrick Schleizer
4df0d6c01c
readme 2020-01-30 01:22:06 -05:00
Patrick Schleizer
c1a0da60be
set kernel boot parameter l1tf=full,force and nosmt=force
https://forums.whonix.org/t/should-all-kernel-patches-for-cpu-bugs-be-unconditionally-enabled-vs-performance-vs-applicability/7647/17
2020-01-30 00:46:48 -05:00
Patrick Schleizer
efc40da4fb
bumped changelog version 2020-01-24 12:02:27 -05:00
Patrick Schleizer
07dcb32fc2
readme 2020-01-24 11:55:38 -05:00
Patrick Schleizer
f4c54881ac
description 2020-01-24 04:49:19 -05:00
Patrick Schleizer
25317f23e3
bumped changelog version 2020-01-24 04:41:16 -05:00
Patrick Schleizer
be79f0688a
readme 2020-01-24 04:40:20 -05:00
Patrick Schleizer
c0d3726b00
comment 2020-01-24 04:40:03 -05:00
Patrick Schleizer
a37da1c968
add digits to drop-in file names 2020-01-24 04:39:06 -05:00
Patrick Schleizer
2ab940c603
bumped changelog version 2020-01-24 04:34:18 -05:00
Patrick Schleizer
bac6cd601b
readme 2020-01-24 04:33:54 -05:00
Patrick Schleizer
3a4d283169
description 2020-01-24 04:33:30 -05:00
Patrick Schleizer
e0aa67677d
merge the many modprobe.d config files into 1
and use a name starting with double digits

to make it easier to disable settings using a lexically higher config file
2020-01-24 04:30:36 -05:00
Patrick Schleizer
6a4c493213
merge the many sysctl config files into 1
and use a name starting with double digits

to make it easier to disable settings using a lexically higher config file
2020-01-24 04:26:36 -05:00
Patrick Schleizer
f653b94e77
bumped changelog version 2020-01-24 03:49:02 -05:00
Patrick Schleizer
ca057713e2
readme 2020-01-24 03:39:04 -05:00
Patrick Schleizer
8616728ce0
remove duplicate 2020-01-24 03:35:15 -05:00
Patrick Schleizer
d4a37b6df2
remove-system.map: source /usr/lib/helper-scripts/pre.bsh 2020-01-24 03:18:17 -05:00
Patrick Schleizer
3b283ec00f
bumped changelog version 2020-01-22 07:10:47 -05:00
Patrick Schleizer
531f17cb68
add update initramfs trigger
https://github.com/Whonix/security-misc/pull/53
2020-01-22 07:08:31 -05:00
Patrick Schleizer
df0b2afda1
bumped changelog version 2020-01-21 10:12:32 -05:00
Patrick Schleizer
18041efa2f
fix pam tally2 check when read-only disk boot without ro-mode-init or grub-live 2020-01-21 10:01:17 -05:00
Patrick Schleizer
627b95e0b3
bumped changelog version 2020-01-20 08:51:25 -05:00
Patrick Schleizer
fbe9b60d95
fix Whonix / Kicksecure
/var/lib/dpkg/tmp.ci/preinst: ERROR: No user is a member of group 'console'. Installation aborted.
/var/lib/dpkg/tmp.ci/preinst: ERROR: You probably want to run:

sudo adduser user console
2020-01-20 08:49:02 -05:00
Patrick Schleizer
960e1ff6e8
bumped changelog version 2020-01-17 03:32:57 -05:00
Patrick Schleizer
1304341868
readme 2020-01-17 03:10:56 -05:00
Patrick Schleizer
6f8d89c6c5
error handling 2020-01-15 15:54:06 -05:00
Patrick Schleizer
7211f6e019
Merge remote-tracking branch 'origin/master' 2020-01-15 15:53:36 -05:00
Patrick Schleizer
f6cc76acd7
Merge pull request #55 from madaidan/sysctl.conf
Process sysctl.conf in initramfs
2020-01-15 20:52:33 +00:00
madaidan
1df48a226d
Update control 2020-01-15 20:30:17 +00:00
madaidan
f7fde60b67
Process sysctl.conf too 2020-01-15 20:28:32 +00:00
Patrick Schleizer
e110ea0b84
bumped changelog version 2020-01-15 11:37:52 -05:00
Patrick Schleizer
0f17596aac
readme 2020-01-15 11:35:41 -05:00
Patrick Schleizer
0618b53464
fix lintian warning 2020-01-15 11:35:07 -05:00
Patrick Schleizer
47ce3bec75
bumped changelog version 2020-01-15 11:05:54 -05:00
Patrick Schleizer
73e830d0ac
readme 2020-01-15 10:08:57 -05:00
Patrick Schleizer
8ab4623f8e
Merge remote-tracking branch 'origin/master' 2020-01-15 06:06:39 -05:00
Patrick Schleizer
087465a0cd
Merge pull request #53 from madaidan/sysctl-initramfs
Set sysctl values in initramfs
2020-01-15 11:02:30 +00:00
Patrick Schleizer
528c5fc4c4
Merge branch 'master' into sysctl-initramfs 2020-01-15 11:02:03 +00:00
Patrick Schleizer
80159545a5
fix xfce4-power-manager xfpm-power-backlight-helper pkexec lxsudo popup
https://forums.whonix.org/t/xfce4-power-manager-xfpm-power-backlight-helper-pkexec-lxsudo-popup/8764

do show lxqt-sudo password prompt if there is a sudoers exceptoin

improved pkexec wrapper logging
2020-01-15 02:42:10 -05:00
Patrick Schleizer
d90ca4b1ad
refactoring 2020-01-14 15:12:13 -05:00
Patrick Schleizer
082f04f2d4
add logging to pkexec wrapper 2020-01-14 15:04:58 -05:00
madaidan
9dc43eae38
Description 2020-01-12 21:42:07 +00:00
madaidan
8c4e0ff1c4
Set sysctl values in initramfs 2020-01-12 21:37:37 +00:00
189 changed files with 21360 additions and 3395 deletions

709
COPYING
View File

@ -1,73 +1,668 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Files: * Files: *
Copyright: 2012 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net> Copyright: 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
License: GPL-3+-with-additional-terms-1 License: AGPL-3+
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 License: AGPL-3+
the Free Software Foundation, either version 3 of the License, or GNU AFFERO GENERAL PUBLIC LICENSE
(at your option) any later version. Version 3, 19 November 2007
. .
This program is distributed in the hope that it will be useful, Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
but WITHOUT ANY WARRANTY; without even the implied warranty of Everyone is permitted to copy and distribute verbatim copies
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the of this license document, but changing it is not allowed.
GNU General Public License for more details.
. .
You should have received a copy of the GNU General Public License Preamble
along with this program. If not, see <https://www.gnu.org/licenses/>.
. .
On Debian systems, the full text of the GNU General Public The GNU Affero General Public License is a free, copyleft license for
License version 3 can be found in the file software and other kinds of works, specifically designed to ensure
`/usr/share/common-licenses/GPL-3'. 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 When we speak of free software, we are referring to freedom, not
entirety and replaced with the following: 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, A secondary benefit of defending all users' freedom is that
INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR improvements made in alternate versions of the program, if they
PURPOSE, NON-INFRINGEMENT, TITLE AND MERCHANTABILITY. THE PROGRAM IS BEING receive widespread use, become available for other developers to
DELIVERED OR MADE AVAILABLE 'AS IS', 'WITH ALL FAULTS' AND WITHOUT WARRANTY OR incorporate. Many developers of free software are heartened and
REPRESENTATION. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE encouraged by the resulting cooperation. However, in the case of
PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST 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. ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
. .
2. Replacement of Section 16. Section 16 of the GPL shall be deleted in its 16. Limitation of Liability.
entirety and replaced with the following:
. .
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 17. Interpretation of Sections 15 and 16.
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.
. .
3. LEGAL NOTICES; NO TRADEMARK LICENSE; ORIGIN. You must reproduce faithfully If the disclaimer of warranty and limitation of liability provided
all trademark, copyright and other proprietary and legal notices on any copies above cannot be given local legal effect according to their terms,
of the Program or any other required author attributions. This license does not reviewing courts shall apply local law that most closely approximates
grant you rights to use any copyright holder or any other party's name, logo, or an absolute waiver of all civil liability in connection with the
trademarks. Neither the name of the copyright holder or its affiliates, or any Program, unless a warranty or assumption of liability accompanies a
other party who modifies and/or conveys the Program may be used to endorse or copy of the Program in return for a fee.
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.
. .
4. INDEMNIFICATION. IF YOU CONVEY A COVERED WORK AND AGREE WITH ANY RECIPIENT END OF TERMS AND CONDITIONS
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 How to Apply These Terms to Your New Programs
AUTHORS OF THAT COVERED WORK FOR ANY DAMAGES, DEMANDS, CLAIMS, LOSSES, CAUSES OF .
ACTION, LAWSUITS, JUDGMENTS EXPENSES (INCLUDING WITHOUT LIMITATION REASONABLE If you develop a new program, and you want it to be of the greatest
ATTORNEYS' FEES AND EXPENSES) OR ANY OTHER LIABILITY ARISING FROM, RELATED TO OR possible use to the public, the best way to achieve this is to make it
IN CONNECTION WITH YOUR ASSUMPTIONS OF LIABILITY. 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>.

View File

@ -1,18 +0,0 @@
#!/usr/bin/make -f
## Copyright (C) 2012 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
## genmkfile - Makefile - version 1.5
## This is a copy.
## master location:
## https://github.com/Whonix/genmkfile/blob/master/usr/share/genmkfile/Makefile
GENMKFILE_PATH ?= /usr/share/genmkfile
GENMKFILE_ROOT_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
export GENMKFILE_PATH
export GENMKFILE_ROOT_DIR
include $(GENMKFILE_PATH)/makefile-full

1057
README.md

File diff suppressed because it is too large Load Diff

68
README_generic.md Normal file
View File

@ -0,0 +1,68 @@
# Enhances Miscellaneous Security Settings #
https://github.com/Kicksecure/security-misc/blob/master/README.md
https://www.kicksecure.com/wiki/Security-misc
Discussion:
Happening primarily in Whonix forums.
https://forums.whonix.org/t/kernel-hardening/7296
## How to install `security-misc` using apt-get ##
1\. Download the APT Signing Key.
```
wget https://www.kicksecure.com/keys/derivative.asc
```
Users can [check the Signing Key](https://www.kicksecure.com/wiki/Signing_Key) for better security.
2\. Add the APT Signing Key.
```
sudo cp ~/derivative.asc /usr/share/keyrings/derivative.asc
```
3\. Add the derivative repository.
```
echo "deb [signed-by=/usr/share/keyrings/derivative.asc] https://deb.kicksecure.com bookworm main contrib non-free" | sudo tee /etc/apt/sources.list.d/derivative.list
```
4\. Update your package lists.
```
sudo apt-get update
```
5\. Install `security-misc`.
```
sudo apt-get install security-misc
```
## How to Build deb Package from Source Code ##
Can be build using standard Debian package build tools such as:
```
dpkg-buildpackage -b
```
See instructions.
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.kicksecure.com)
* [Premium Support](https://www.kicksecure.com/wiki/Premium_Support)
## Donate ##
`security-misc` requires [donations](https://www.kicksecure.com/wiki/Donate) to stay alive!

File diff suppressed because it is too large Load Diff

2126
debian/changelog vendored

File diff suppressed because it is too large Load Diff

1
debian/compat vendored
View File

@ -1 +0,0 @@
12

348
debian/control vendored
View File

@ -1,331 +1,41 @@
## Copyright (C) 2012 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net> ## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@kicksecure.com>
## See the file COPYING for copying conditions. ## See the file COPYING for copying conditions.
Source: security-misc Source: security-misc
Section: misc Section: misc
Priority: optional Priority: optional
Maintainer: Patrick Schleizer <adrelanos@riseup.net> Maintainer: Patrick Schleizer <adrelanos@kicksecure.com>
Build-Depends: debhelper (>= 12), genmkfile, config-package-dev, dh-apparmor, Build-Depends: config-package-dev,
ronn debhelper (>= 13),
Homepage: https://github.com/Whonix/security-misc debhelper-compat (= 13),
Vcs-Browser: https://github.com/Whonix/security-misc dh-apparmor,
Vcs-Git: https://github.com/Whonix/security-misc.git po-debconf
Standards-Version: 4.3.0 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.6.2
Rules-Requires-Root: no
Package: security-misc Package: security-misc
Architecture: all Architecture: all
Depends: python, libglib2.0-bin, libpam-runtime, sudo, adduser, libcap2-bin, Depends: adduser,
apparmor-profile-anondist, helper-scripts, ${misc:Depends} apparmor-profile-dist,
Replaces: tcp-timestamps-disable dmsetup,
Description: enhances misc security settings helper-scripts,
Inspired by Kernel Self Protection Project (KSPP) libcap2-bin,
libglib2.0-bin,
libpam-modules-bin,
libpam-runtime,
libpam-umask,
python3,
secure-delete,
sudo,
${misc:Depends}
Replaces: anon-gpg-tweaks, swappiness-lowest, tcp-timestamps-disable
Description: Enhances Miscellaneous Security Settings
https://github.com/Kicksecure/security-misc/blob/master/README.md
. .
* Implements most if not all recommended Linux kernel settings (sysctl) and https://www.kicksecure.com/wiki/Security-misc
kernel parameters by KSPP.
.
* https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project
.
kernel hardening:
.
* deactivates Netfilter's connection tracking helper
Netfilter's connection tracking helper module increases kernel attack
surface by enabling superfluous functionality such as IRC parsing in
the kernel. (!) Hence, this package disables this feature by shipping the
/etc/modprobe.d/30_nf_conntrack_helper_disable.conf configuration file.
.
* Kernel symbols in various files in /proc are hidden as they can be
very useful for kernel exploits.
.
* Kexec is disabled as it can be used to load a malicious kernel.
/etc/sysctl.d/kexec.conf
.
* ASLR effectiveness for mmap is increased.
.
* The TCP/IP stack is hardened by disabling ICMP redirect acceptance,
ICMP redirect sending and source routing to prevent man-in-the-middle attacks,
ignoring all ICMP requests, enabling TCP syncookies to prevent SYN flood
attacks, enabling RFC1337 to protect against time-wait assassination
attacks and enabling reverse path filtering to prevent IP spoofing and
mitigate vulnerabilities such as CVE-2019-14899.
.
* Some data spoofing attacks are made harder.
.
* SACK can be disabled as it is commonly exploited and is rarely used by
uncommenting settings in file /etc/sysctl.d/tcp_sack.conf.
.
* Slab merging is disabled as sometimes a slab can be used in a vulnerable
way which an attacker can exploit.
.
* Sanity checks and redzoning are enabled.
.
* Memory zeroing at allocation and free time is enabled.
.
* Machine checks (MCE) are disabled which makes the kernel panic
on uncorrectable errors in ECC memory that could be exploited.
.
* Kernel Page Table Isolation is enabled to mitigate Meltdown and increase
KASLR effectiveness.
.
* SMT is disabled as it can be used to exploit the MDS and other
vulnerabilities.
.
* All mitigations for the MDS vulnerability are enabled.
.
* A systemd service clears System.map on boot as these contain kernel symbols
that could be useful to an attacker.
/etc/kernel/postinst.d/30_remove-system-map
/lib/systemd/system/remove-system-map.service
/usr/lib/security-misc/remove-system.map
.
* Coredumps are disabled as they may contain important information such as
encryption keys or passwords.
/etc/security/limits.d/disable-coredumps.conf
/etc/sysctl.d/coredumps.conf
/lib/systemd/coredump.conf.d/disable-coredumps.conf
.
* The thunderbolt and firewire kernel modules are blacklisted as they can be
used for DMA (Direct Memory Access) attacks.
.
* IOMMU is enabled with a boot parameter to prevent DMA attacks.
.
* The kernel now panics on oopses to prevent it from continuing running a
flawed process.
.
* Bluetooth is blacklisted to reduce attack surface. Bluetooth also has
a history of security concerns.
https://en.wikipedia.org/wiki/Bluetooth#History_of_security_concerns
.
* A systemd service restricts /proc/cpuinfo, /proc/bus, /proc/scsi and
/sys to the root user only. This hides a lot of hardware identifiers from
unprivileged users and increases security as /sys exposes a lot of information
that shouldn't be accessible to unprivileged users. As this will break many
things, it is disabled by default and can optionally be enabled by running
`systemctl enable hide-hardware-info.service` as root.
/usr/lib/security-misc/hide-hardware-info
/lib/systemd/system/hide-hardware-info.service
/lib/systemd/system/user@.service.d/sysfs.conf
/etc/hide-hardware-info.d/30_default.conf
.
* The MSR kernel module is blacklisted to prevent CPU MSRs from being
abused to write to arbitrary memory.
.
* Vsyscalls are disabled as they are obsolete, are at fixed addresses and are
a target for ROP.
.
* Page allocator freelist randomization is enabled.
.
* The vivid kernel module is blacklisted as it's only required for testing
and has been the cause of multiple vulnerabilities.
.
* The kernel panics on oopses to prevent it from continuing to run a flawed
process and to deter brute forcing.
.
Improve Entropy Collection
.
* Load jitterentropy_rng kernel module.
/usr/lib/modules-load.d/30_security-misc.conf
.
* 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
* For more references, see:
* /etc/default/grub.d/40_distrust_cpu.cfg
.
Uncommon network protocols are blacklisted:
These are rarely used and may have unknown vulnerabilities.
/etc/modprobe.d/uncommon-network-protocols.conf
The network protocols that are blacklisted are:
.
* DCCP - Datagram Congestion Control Protocol
* SCTP - Stream Control Transmission Protocol
* RDS - Reliable Datagram Sockets
* TIPC - Transparent Inter-process Communication
* HDLC - High-Level Data Link Control
* AX25 - Amateur X.25
* NetRom
* X25
* ROSE
* DECnet
* Econet
* af_802154 - IEEE 802.15.4
* IPX - Internetwork Packet Exchange
* AppleTalk
* PSNAP - Subnetwork Access Protocol
* p8023 - Novell raw IEEE 802.3
* p8022 - IEEE 802.2
.
user restrictions:
.
* remount /home, /tmp, /dev/shm and /run with nosuid,nodev (default) and
noexec (opt-in). To disable this, run "sudo touch /etc/remount-disable". To
opt-in noexec, run "sudo touch /etc/noexec" and reboot (easiest).
Alternatively file /usr/local/etc/remount-disable or file
/usr/local/etc/noexec could be used.
/lib/systemd/system/remount-secure.service
/usr/lib/security-misc/remount-secure
.
* A systemd service mounts /proc with hidepid=2 at boot to prevent users from
seeing each other's processes.
.
* The kernel logs are restricted to root only.
.
* The BPF JIT compiler is restricted to the root user and is hardened.
.
* The ptrace system call is restricted to the root user only.
.
restricts access to the root account:
.
* `su` is restricted to only users within the group `sudo` which prevents
users from using `su` to gain root access or to switch user accounts.
/usr/share/pam-configs/wheel-security-misc
(Which results in a change in file `/etc/pam.d/common-auth`.)
.
* Add user `root` to group `sudo`. This is required to make above work so
login as a user in a virtual console is still possible.
debian/security-misc.postinst
.
* Abort login for users with locked passwords.
/usr/lib/security-misc/pam-abort-on-locked-password
.
* Logging into the root account from a virtual, serial, whatnot console is
prevented by shipping an existing and empty /etc/securetty.
(Deletion of /etc/securetty has a different effect.)
/etc/securetty.security-misc
.
* Console Lockdown.
Allow members of group 'console' to use console.
Everyone else except members of group
'console-unrestricted' are restricted from using console using ancient,
unpopular login methods such as using /bin/login over networks, which might
be exploitable. (CVE-2001-0797) Using pam_access.
Not enabled by default in this package since this package does not know which
users shall be added to group 'console' and would break console.
/usr/share/pam-configs/console-lockdown-security-misc
/etc/security/access-security-misc.conf
.
Protect Linux user accounts against brute force attacks.
Lock user accounts after 50 failed login attempts using pam_tally2.
/usr/share/pam-configs/tally2-security-misc
.
informational output during Linux PAM:
.
* Show failed and remaining password attempts.
* Document unlock procedure if Linux user account got locked.
* Point out, that there is no password feedback for `su`.
* Explain locked (root) account if locked.
* /usr/share/pam-configs/tally2-security-misc
* /usr/lib/security-misc/pam_tally2-info
* /usr/lib/security-misc/pam-abort-on-locked-password
.
access rights restrictions:
.
* Strong Linux User Account Separation.
Removes read, write and execute access for others for all users who have
home folders under folder /home by running for example
"chmod o-rwx /home/user"
during package installation, upgrade or pam mkhomedir. This will be done only
once per
folder in folder /home so users who wish to relax file permissions are free to
do so. This is to protect previously created files in user home folder which
were previously created with lax file permissions prior installation of this
package.
debian/security-misc.postinst
/usr/lib/security-misc/permission-lockdown
/usr/share/pam-configs/mkhomedir-security-misc
.
* SUID / GUID removal and permission hardening.
A systemd service removed SUID / GUID from non-essential binaries as these are
often used in privilege escalation attacks.
It is disabled by default for now during testing and can optionally be enabled
by running `systemctl enable permission-hardening.service` as root.
https://forums.whonix.org/t/disable-suid-binaries/7706
/usr/lib/security-misc/permission-hardening
/lib/systemd/system/permission-hardening.service
/etc/permission-hardening.d/30_default.conf
.
access rights relaxations:
.
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
/usr/bin/pkexec.security-misc
.
This package does (not yet) automatically lock the root account password.
It is not clear that would be sane in such a package.
It is recommended to lock and expire the root account.
In new Whonix builds, root account will be locked by package
anon-base-files.
https://www.whonix.org/wiki/Root
https://www.whonix.org/wiki/Dev/Permissions
https://forums.whonix.org/t/restrict-root-access/7658
However, a locked root password will break rescue and emergency shell.
Therefore this package enables passwordless resuce and emergency shell.
This is the same solution that Debian will likely addapt for Debian
installer.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802211
Adverse security effects can be prevented by setting up BIOS password
protection, grub password protection and/or full disk encryption.
/etc/systemd/system/emergency.service.d/override.conf
/etc/systemd/system/rescue.service.d/override.conf
.
Disables TCP Time Stamps:
.
TCP time stamps (RFC 1323) allow for tracking clock
information with millisecond resolution. This may or may not allow an
attacker to learn information about the system clock at such
a resolution, depending on various issues such as network lag.
This information is available to anyone who monitors the network
somewhere between the attacked system and the destination server.
It may allow an attacker to find out how long a given
system has been running, and to distinguish several
systems running behind NAT and using the same IP address. It might
also allow one to look for clocks that match an expected value to find the
public IP used by a user.
.
Hence, this package disables this feature by shipping the
/etc/sysctl.d/tcp_timestamps.conf configuration file.
.
Note that TCP time stamps normally have some usefulness. They are
needed for:
.
* the TCP protection against wrapped sequence numbers; however, to
trigger a wrap, one needs to send roughly 2^32 packets in one
minute: as said in RFC 1700, "The current recommended default
time to live (TTL) for the Internet Protocol (IP) [45,105] is 64".
So, this probably won't be a practical problem in the context
of Anonymity Distributions.
* "Round-Trip Time Measurement", which is only useful when the user
manages to saturate their connection. When using Anonymity Distributions,
probably the limiting factor for transmission speed is rarely the capacity
of the user connection.
.
Application specific hardening:
.
* Enables APT seccomp-BPF sandboxing. /etc/apt/apt.conf.d/40sandbox
* Deactivates previews in Dolphin.
* Deactivates previews in Nautilus.
/usr/share/glib-2.0/schemas/30_security-misc.gschema.override
* Deactivates thumbnails in Thunar.
* Enables punycode (`network.IDN_show_punycode`) by default in Thunderbird
to make phising attacks more difficult. Fixing URL not showing real Domain
Name (Homograph attack).
.
Want more? Look into these:
.
* Linux Kernel Runtime Guard (LKRG). Kills whole Classes of Kernel Exploits.
* tirdad - TCP ISN CPU Information Leak Protection.
* Whonix ™ - Anonymous Operating System
* Kicksecure ™ - A Security-hardened, Non-anonymous Linux Distribution
* SecBrowser ™ - A Security-hardened, Non-anonymous Browser
* And more.
* https://www.whonix.org/wiki/Linux_Kernel_Runtime_Guard_LKRG
* https://github.com/Whonix/tirdad
* https://www.whonix.org
* https://www.whonix.org/wiki/Kicksecure
* https://www.whonix.org/wiki/SecBrowser
* https://github.com/Whonix
. .
Discussion: Discussion:
. .

709
debian/copyright vendored
View File

@ -1,73 +1,668 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Files: * Files: *
Copyright: 2012 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net> Copyright: 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
License: GPL-3+-with-additional-terms-1 License: AGPL-3+
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 License: AGPL-3+
the Free Software Foundation, either version 3 of the License, or GNU AFFERO GENERAL PUBLIC LICENSE
(at your option) any later version. Version 3, 19 November 2007
. .
This program is distributed in the hope that it will be useful, Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
but WITHOUT ANY WARRANTY; without even the implied warranty of Everyone is permitted to copy and distribute verbatim copies
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the of this license document, but changing it is not allowed.
GNU General Public License for more details.
. .
You should have received a copy of the GNU General Public License Preamble
along with this program. If not, see <https://www.gnu.org/licenses/>.
. .
On Debian systems, the full text of the GNU General Public The GNU Affero General Public License is a free, copyleft license for
License version 3 can be found in the file software and other kinds of works, specifically designed to ensure
`/usr/share/common-licenses/GPL-3'. 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 When we speak of free software, we are referring to freedom, not
entirety and replaced with the following: 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, A secondary benefit of defending all users' freedom is that
INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR improvements made in alternate versions of the program, if they
PURPOSE, NON-INFRINGEMENT, TITLE AND MERCHANTABILITY. THE PROGRAM IS BEING receive widespread use, become available for other developers to
DELIVERED OR MADE AVAILABLE 'AS IS', 'WITH ALL FAULTS' AND WITHOUT WARRANTY OR incorporate. Many developers of free software are heartened and
REPRESENTATION. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE encouraged by the resulting cooperation. However, in the case of
PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST 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. ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
. .
2. Replacement of Section 16. Section 16 of the GPL shall be deleted in its 16. Limitation of Liability.
entirety and replaced with the following:
. .
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 17. Interpretation of Sections 15 and 16.
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.
. .
3. LEGAL NOTICES; NO TRADEMARK LICENSE; ORIGIN. You must reproduce faithfully If the disclaimer of warranty and limitation of liability provided
all trademark, copyright and other proprietary and legal notices on any copies above cannot be given local legal effect according to their terms,
of the Program or any other required author attributions. This license does not reviewing courts shall apply local law that most closely approximates
grant you rights to use any copyright holder or any other party's name, logo, or an absolute waiver of all civil liability in connection with the
trademarks. Neither the name of the copyright holder or its affiliates, or any Program, unless a warranty or assumption of liability accompanies a
other party who modifies and/or conveys the Program may be used to endorse or copy of the Program in return for a fee.
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.
. .
4. INDEMNIFICATION. IF YOU CONVEY A COVERED WORK AND AGREE WITH ANY RECIPIENT END OF TERMS AND CONDITIONS
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 How to Apply These Terms to Your New Programs
AUTHORS OF THAT COVERED WORK FOR ANY DAMAGES, DEMANDS, CLAIMS, LOSSES, CAUSES OF .
ACTION, LAWSUITS, JUDGMENTS EXPENSES (INCLUDING WITHOUT LIMITATION REASONABLE If you develop a new program, and you want it to be of the greatest
ATTORNEYS' FEES AND EXPENSES) OR ANY OTHER LIABILITY ARISING FROM, RELATED TO OR possible use to the public, the best way to achieve this is to make it
IN CONNECTION WITH YOUR ASSUMPTIONS OF LIABILITY. 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/>.

7
debian/make-helper-overrides.bsh vendored Executable file
View File

@ -0,0 +1,7 @@
#!/bin/bash
## 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 --suppress-tags no-complete-debconf-translation"

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

@ -0,0 +1 @@
[type: gettext/rfc822deb] security-misc.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 package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: security-misc\n"
"Report-Msgid-Bugs-To: security-misc@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.templates:1001
msgid "Manual intervention may be required for permission-hardener update"
msgstr ""
#. Type: note
#. Description
#: ../security-misc.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 ""

7
debian/rules vendored
View File

@ -1,6 +1,6 @@
#!/usr/bin/make -f #!/usr/bin/make -f
## Copyright (C) 2012 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net> ## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions. ## See the file COPYING for copying conditions.
#export DH_VERBOSE=1 #export DH_VERBOSE=1
@ -10,8 +10,3 @@
override_dh_installchangelogs: override_dh_installchangelogs:
dh_installchangelogs changelog.upstream upstream dh_installchangelogs changelog.upstream upstream
override_dh_install:
dh_apparmor --profile-name='usr.lib.security-misc.pam_tally2-info'
dh_apparmor --profile-name='usr.lib.security-misc.permission-lockdown'
dh_install

190
debian/security-misc.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"
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.bsh
##
## '.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" )
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/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

View File

@ -1,5 +1,5 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net> ## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions. ## See the file COPYING for copying conditions.
/usr/bin/pkexec.security-misc
/etc/securetty.security-misc /etc/securetty.security-misc
/etc/security/faillock.conf.security-misc

View File

@ -1,3 +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/preview_sound never
/apps/nautilus/show_icon_text never /apps/nautilus/show_icon_text never
/apps/nautilus/show-image-thumbnails never /apps/nautilus/show-image-thumbnails never

8
debian/security-misc.install vendored Normal file
View File

@ -0,0 +1,8 @@
## 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/*
usr/*
var/*

5
debian/security-misc.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

View File

@ -1,14 +1,111 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net> ## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions. ## See the file COPYING for copying conditions.
rm_conffile /etc/sudoers.d/umask-security-misc 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 ## https://forums.whonix.org/t/sysrq-magic-sysrq-key/8079
rm_conffile /etc/sysctl.d/sysrq.conf rm_conffile /etc/sysctl.d/sysrq.conf
## https://github.com/Whonix/security-misc/pull/45 ## 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.pam_tally2-info
rm_conffile /etc/apparmor.d/usr.lib.security-misc.permission-lockdown 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

View File

@ -1,29 +1,107 @@
#!/bin/bash #!/bin/bash
## Copyright (C) 2012 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net> ## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions. ## See the file COPYING for copying conditions.
if [ -f /usr/lib/helper-scripts/pre.bsh ]; then if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then
source /usr/lib/helper-scripts/pre.bsh source /usr/libexec/helper-scripts/pre.bsh
fi 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 set -e
true " true "
##################################################################### #####################################################################
## INFO: BEGIN: $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $@ ## 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."
}
migrate_permission_hardener_state() {
local existing_mode_dir new_mode_dir dpkg_statoverride_list
## 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
if [ -f "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_2" ]; then
return 0
fi
mkdir --parents '/var/lib/security-misc/do_once'
existing_mode_dir='/var/lib/permission-hardener-v2/existing_mode'
new_mode_dir='/var/lib/permission-hardener-v2/new_mode'
mkdir --parents "${existing_mode_dir}";
mkdir --parents "${new_mode_dir}";
cp --verbose '/usr/share/security-misc/permission-hardener-existing-mode-legacy-hardcoded' "${existing_mode_dir}/statoverride"
cp --verbose '/usr/share/security-misc/permission-hardener-new-mode-legacy-hardcoded' "${new_mode_dir}/statoverride"
dpkg_statoverride_list="$(dpkg-statoverride --admindir "${new_mode_dir}" --list)"
if [ "$(stat --format '%G' /usr/bin/sudo)" = 'sysmaint' ]; then
if ! [[ "${dpkg_statoverride_list}" =~ '/usr/bin/sudo' ]]; then
dpkg-statoverride --admindir "${new_mode_dir}" --add 'root' 'sysmaint' '4750' '/usr/bin/sudo'
fi
fi
if [ "$(stat --format '%G' /usr/bin/pkexec)" = 'sysmaint' ]; then
if ! [[ "${dpkg_statoverride_list}" =~ '/usr/bin/pkexec' ]]; then
dpkg-statoverride --admindir "${new_mode_dir}" --add 'root' 'sysmaint' '4750' '/usr/bin/pkexec'
fi
fi
touch "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_2"
}
case "$1" in case "$1" in
configure) 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 ## /usr/share/glib-2.0/schemas/30_security-misc.gschema.override
glib-compile-schemas /usr/share/glib-2.0/schemas || true glib-compile-schemas /usr/share/glib-2.0/schemas || true
## state dir for faillock
mkdir -p /var/lib/security-misc/faillock
## migrate permission_hardener state to v2 if applicable
migrate_permission_hardener_state
;; ;;
abort-upgrade|abort-remove|abort-deconfigure) 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 echo "$DPKG_MAINTSCRIPT_NAME called with unknown argument \`$1'" >&2
exit 1 exit 1
@ -32,7 +110,9 @@ esac
pam-auth-update --package pam-auth-update --package
/usr/lib/security-misc/permission-lockdown /usr/libexec/security-misc/permission-lockdown
permission_hardening
## https://phabricator.whonix.org/T377 ## https://phabricator.whonix.org/T377
## Debian has no update-grub trigger yet: ## Debian has no update-grub trigger yet:
@ -46,15 +126,19 @@ you should fix running 'update-grub', otherwise your system might no longer \
boot." >&2 boot." >&2
fi fi
/usr/libexec/security-misc/mmap-rnd-bits || true
true "INFO: debhelper beginning here." true "INFO: debhelper beginning here."
#DEBHELPER# #DEBHELPER#
true "INFO: Done with debhelper." true "INFO: Done with debhelper."
permission_hardening_legacy_config_folder
true " true "
##################################################################### #####################################################################
## INFO: END : $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $@ ## INFO: END : $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $*
##################################################################### #####################################################################
" "

View File

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

View File

@ -1,10 +1,10 @@
#!/bin/bash #!/bin/bash
## Copyright (C) 2012 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net> ## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions. ## See the file COPYING for copying conditions.
if [ -f /usr/lib/helper-scripts/pre.bsh ]; then if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then
source /usr/lib/helper-scripts/pre.bsh source /usr/libexec/helper-scripts/pre.bsh
fi fi
set -e set -e
@ -16,13 +16,16 @@ true "
" "
user_groups_modifications() { user_groups_modifications() {
## /usr/lib/security-misc/hide-hardware-info ## /usr/libexec/security-misc/hide-hardware-info
addgroup --system sysfs addgroup --system sysfs
addgroup --system cpuinfo addgroup --system cpuinfo
## /usr/lib/systemd/system/proc-hidepid.service
addgroup --system proc
## group 'sudo' membership required to use 'su' ## group 'sudo' membership required to use 'su'
## /usr/share/pam-configs/wheel-security-misc ## /usr/share/pam-configs/wheel-security-misc
addgroup root sudo adduser root sudo
## Useful to create groups in preinst rather than postinst. ## Useful to create groups in preinst rather than postinst.
## Otherwise if a user saw an error message such as this: ## Otherwise if a user saw an error message such as this:
@ -44,8 +47,15 @@ user_groups_modifications() {
## an "empty" /etc/securetty. ## an "empty" /etc/securetty.
## In case a system administrator edits /etc/securetty, there is no need to ## 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: ## block for this to be still blocked by console lockdown. See also:
## https://www.whonix.org/wiki/Root#Root_Login ## https://www.kicksecure.com/wiki/Root#Root_Login
addgroup root console 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
} }
sudo_users_check () { sudo_users_check () {
@ -56,6 +66,8 @@ sudo_users_check () {
return 0 return 0
fi fi
local sudo_users user_with_sudo are_there_any_sudo_users OLD_IFS
sudo_users="$(getent group sudo | cut -d: -f4)" sudo_users="$(getent group sudo | cut -d: -f4)"
## example sudo_users: ## example sudo_users:
## user,root ## user,root
@ -78,22 +90,41 @@ sudo_users_check () {
IFS="$OLD_IFS" IFS="$OLD_IFS"
export IFS export IFS
if [ "$are_there_any_sudo_users" = "yes" ]; then
return 0
fi
## Prevent users from locking themselves out. ## Prevent users from locking themselves out.
## https://forums.whonix.org/t/is-security-misc-suitable-for-hardening-bridges-and-relays/8299/4 ## https://forums.whonix.org/t/is-security-misc-suitable-for-hardening-bridges-and-relays/8299/4
if [ ! "$are_there_any_sudo_users" = "yes" ]; then echo "$0: ERROR: No user is a member of group 'sudo'. Installation aborted." >&2
echo "$0: ERROR: No user is a member of group 'sudo'. Installation aborted." >&2 echo "$0: ERROR: You probably want to run:" >&2
echo "$0: ERROR: You probably want to run:" >&2 echo "$0: NOTE: Replace user 'user' with your actual Linux user account name." >&2
echo "" >&2 echo "" >&2
echo "sudo adduser user sudo" >&2 echo "sudo adduser user sudo" >&2
echo "sudo adduser user console" >&2 echo "sudo adduser user console" >&2
echo "" >&2 echo "" >&2
echo "$0: ERROR: See also installation instructions:" >&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
exit 200
if [ "$SECURITY_MISC_INSTALL" = "force" ]; then
output_skip_checks "Environment variable SECURITY_MISC_INSTALL is set to 'force'."
return 0
fi fi
if test -f "/var/lib/security-misc/skip_install_check" ; then
output_skip_checks "File '/var/lib/security-misc/skip_install_check' exists."
return 0
fi
exit 200
} }
console_users_check() { console_users_check() {
if [ "$SECURITY_MISC_INSTALL" = "force" ]; then
return 0
fi
if test -f "/var/lib/security-misc/skip_install_check" ; then
return 0
fi
if command -v "qubesdb-read" &>/dev/null; then if command -v "qubesdb-read" &>/dev/null; then
## Qubes users can use dom0 to get a root terminal emulator. ## Qubes users can use dom0 to get a root terminal emulator.
## For example: ## For example:
@ -101,6 +132,8 @@ console_users_check() {
return 0 return 0
fi fi
local console_users console_unrestricted_users user_with_console are_there_any_console_users OLD_IFS
console_users="$(getent group console | cut -d: -f4)" console_users="$(getent group console | cut -d: -f4)"
## example console_users: ## example console_users:
## user ## user
@ -126,16 +159,28 @@ console_users_check() {
## Prevent users from locking themselves out. ## Prevent users from locking themselves out.
## https://forums.whonix.org/t/is-security-misc-suitable-for-hardening-bridges-and-relays/8299/4 ## https://forums.whonix.org/t/is-security-misc-suitable-for-hardening-bridges-and-relays/8299/4
if [ ! "$are_there_any_console_users" = "yes" ]; then if [ "$are_there_any_console_users" = "yes" ]; then
echo "$0: ERROR: No user is a member of group 'console'. Installation aborted." >&2 return 0
echo "$0: ERROR: You probably want to run:" >&2
echo "" >&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
exit 201
fi fi
echo "$0: ERROR: No user 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
echo "" >&2
echo "$0: ERROR: See also installation instructions:" >&2
echo "https://www.whonix.org/wiki/security-misc#install" >&2
if [ "$SECURITY_MISC_INSTALL" = "force" ]; then
output_skip_checks "Environment variable SECURITY_MISC_INSTALL is set to 'force'."
return 0
fi
if test -f "/var/lib/security-misc/skip_install_check" ; then
output_skip_checks "File '/var/lib/security-misc/skip_install_check' exists."
return 0
fi
exit 201
} }
legacy() { legacy() {
@ -143,6 +188,8 @@ legacy() {
return 0 return 0
fi fi
local continue_yes user_to_be_created
if [ -f "/usr/share/whonix/marker" ]; then if [ -f "/usr/share/whonix/marker" ]; then
continue_yes=true continue_yes=true
fi fi
@ -150,7 +197,7 @@ legacy() {
continue_yes=true continue_yes=true
fi fi
if [ ! "$continue_yes" = "yes" ]; then if [ ! "$continue_yes" = "true" ]; then
return 0 return 0
fi fi
@ -166,11 +213,11 @@ legacy() {
user_to_be_created=user user_to_be_created=user
if ! id "$user_to_be_created" &>/dev/null ; then 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: user '$user_to_be_created' does not exist. Skipping adduser console and pam-auth-update."
return 0 return 0
fi fi
addgroup "$user_to_be_created" console adduser "$user_to_be_created" console
pam-auth-update --enable console-lockdown-security-misc pam-auth-update --enable console-lockdown-security-misc

View File

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

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

@ -0,0 +1,9 @@
Template: security-misc/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.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

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

View File

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

2
debian/watch vendored
View File

@ -1,4 +1,4 @@
## Copyright (C) 2012 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net> ## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions. ## See the file COPYING for copying conditions.
version=4 version=4

View File

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

View File

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

View File

@ -0,0 +1,9 @@
## 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.
## Same as "apt-get --error-on=any".
## https://forums.whonix.org/t/debian-bullseye-apt-get-error-on-any/12068
## https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=594813
## https://salsa.debian.org/apt-team/apt/-/commit/c7123bea6a8dc2c9e327ce41ddfc25e29f1bb145
APT::Update::Error-Mode any;

View File

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

View File

@ -0,0 +1,33 @@
## 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
# How long to keep temporary devices around
# The value is in seconds. Default is 30.
# 0 = disable timer, i.e. never keep temporary devices
TemporaryTimeout = 0
[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

@ -0,0 +1,188 @@
## 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://uefi.org/revocationlistfile
## https://github.com/fwupd/fwupd
## Enable a subset of known mitigations for some CPU vulnerabilities and disable SMT.
##
## KSPP=yes
## KSPP sets the kernel parameters.
##
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"
## 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 both AMD 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=ipbp" may provide stronger security at a greater performance impact.
##
#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"

View File

@ -1,11 +0,0 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## 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,5 +0,0 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## 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"

View File

@ -1,59 +1,329 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net> ## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions. ## See the file COPYING for copying conditions.
kpkg="linux-image-$(dpkg --print-architecture)" kpkg="linux-image-$(dpkg --print-architecture)" || true
kver="$(dpkg-query --show --showformat='${Version}' "$kpkg")" kver="$(dpkg-query --show --showformat='${Version}' "$kpkg")" 2>/dev/null || true
#echo "## kver: $kver" #echo "## kver: $kver"
## Disables the merging of slabs of similar sizes. ## Definitions:
## Sometimes a slab can be used in a vulnerable way which an attacker can exploit. ## 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" GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX slab_nomerge"
if dpkg --compare-versions "$kver" ge "5.3"; then ## Enable sanity checks and red zoning of slabs via debugging options to detect corruption.
## Enables sanity checks (F) and redzoning (Z). ## As a by product of debugging, this will implicitly disabling kernel pointer hashing.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX slub_debug=FZ" ## Enabling will therefore leak exact and all kernel memory addresses to root.
## Has the potential to cause a noticeable performance decrease.
##
## https://www.kernel.org/doc/html/latest/mm/slub.html
## https://lore.kernel.org/all/20210601182202.3011020-5-swboyd@chromium.org/T/#u
## https://gitlab.tails.boum.org/tails/tails/-/issues/19613
## https://github.com/Kicksecure/security-misc/issues/253
##
## KSPP=yes
## KSPP sets the kernel parameters and CONFIG_SLUB_DEBUG.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX slab_debug=FZ"
#echo "## $kver grater or equal 5.3: yes" ## Zero memory at allocation time and free time.
## Zero memory at allocation and free time. ## Fills newly allocated pages, freed pages, and heap objects with zeros.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX init_on_alloc=1 init_on_free=1" ## Mitigates use-after-free exploits by erasing sensitive information in memory.
else ##
#echo "## $kver grater or equal 5.3: no" ## https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6471384af2a6530696fc0203bafe4de41a23c9ef
## SLUB poisoning and page poisoning is used if the kernel ##
## does not yet support init_on_{,alloc,free}. ## KSPP=yes
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX slub_debug=FZP" ## 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"
if command -v "qubesdb-read" >/dev/null 2>&1 ; then ## Enable the kernel page allocator to randomize free lists.
## https://github.com/QubesOS/qubes-issues/issues/5212#issuecomment-533873012 ## During early boot, the page allocator has predictable FIFO behavior for physical pages.
true "skip adding page_poison=1 in Qubes" ## Limits some data exfiltration and ROP attacks that rely on inferring sensitive data location.
else ## Also improves performance by optimizing memory-side cache utilization.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX page_poison=1" ##
fi ## https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e900a918b0984ec8f2eb150b8477a47b75d17692
fi ## 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"
## Makes the kernel panic on uncorrectable errors in ECC memory that an attacker could exploit. ## Enable kernel page table isolation to harden against kernel ASLR (KASLR) bypasses.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mce=0" ## Mitigates the Meltdown CPU vulnerability.
##
## Enables Kernel Page Table Isolation which mitigates Meltdown and improves KASLR. ## 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" GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX pti=on"
## Enables all mitigations for the MDS vulnerability. ## Enable randomization of the kernel stack offset on syscall entries.
## Disables smt which can be used to exploit the MDS vulnerability. ## Hardens against memory corruption attacks due to increased entropy.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mds=full,nosmt" ## 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"
## Vsyscalls are obsolete, are at fixed addresses and are a target for ROP. ## 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" GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX vsyscall=none"
## Enables page allocator freelist randomization. ## Restrict access to debugfs by not registering the file system.
if dpkg --compare-versions "${kver}" ge "5.2"; then ## Deactivated since the file system can contain sensitive information.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX page_alloc.shuffle=1" ##
fi ## https://lkml.org/lkml/2020/7/16/122
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX debugfs=off"
## Enables kernel lockdown. ## Force the kernel to panic on "oopses".
## Can sometimes potentially indicate and thwart certain kernel exploitation attempts.
## Panics may be due to false-positives such as bad drivers.
## ##
## Disabled for now as it enforces module signature verification which breaks ## https://en.wikipedia.org/wiki/Kernel_panic#Linux
## too many things. ## https://en.wikipedia.org/wiki/Linux_kernel_oops
## https://forums.whonix.org/t/enforce-kernel-module-software-signature-verification-module-signing-disallow-kernel-module-loading-by-default/7880 ## https://forums.whonix.org/t/set-oops-panic-kernel-parameter-or-kernel-panic-on-oops-1-sysctl-for-better-security/7713
## ##
#if dpkg --compare-versions "${kver}" ge "5.4"; then ## KSPP=partial
# GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX lockdown=confidentiality" ## KSPP sets CONFIG_PANIC_ON_OOPS=y, but also requires CONFIG_PANIC_TIMEOUT=-1.
#fi ##
## See /usr/libexec/security-misc/panic-on-oops for implementation.
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX oops=panic"
## Modify machine check exception handler.
## Can decide whether the system should panic or not based on the occurrence of an exception.
##
## https://www.kernel.org/doc/html/latest/arch/x86/x86_64/machinecheck.html
## https://www.kernel.org/doc/html/latest/arch/x86/x86_64/boot-options.html#machine-check
## https://forums.whonix.org/t/kernel-hardening/7296/494
##
## The default kernel setting will be utilized until provided sufficient evidence to modify.
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mce=0"
## 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.
##
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 checking at destinations.
## FineIBT is considered weaker against attacks that can write arbitrary executables into memory.
## Upstream hardening work has provided users the ability to disable FineIBT based on requests.
## Choice of CFI implementation is highly dependent on user threat model as there are pros/cons to both.
## Do not modify from the default setting if unsure of implications.
##
## https://lore.kernel.org/all/20221027092842.699804264@infradead.org/
## https://lore.kernel.org/lkml/202210010918.4918F847C4@keescook/T/#u
## https://lore.kernel.org/lkml/202210182217.486CBA50@keescook/T/
## 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.
##
## TODO: Debian 13 Trixie
## Applicable when using Linux kernel >= 6.2 (retained here for future-proofing and completeness).
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX cfi=kcfi"
## Disable support for 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.
##
## TODO: Debian 13 Trixie
## Applicable when using Linux kernel >= 6.7 (retained here for future-proofing and completeness).
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX ia32_emulation=0"
## Disable EFI persistent storage feature.
## Prevents the kernel from writing crash logs and other persistent data to the EFI variable store.
##
## 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"
## 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 or bootloader seeds as entropy sources at boot.
## The RDRAND CPU (RNG) instructions are proprietary and closed-source.
## Numerous implementations of RDRAND have a long history of being defective.
## The RNG seed passed by the bootloader could also potentially be tampered.
## Maximizing the entropy pool at boot is desirable for all cryptographic operations.
## These settings ensure additional entropy is obtained from other sources to initialize the RNG.
## Note that distrusting these (relatively fast) sources of entropy will increase boot time.
##
## https://en.wikipedia.org/wiki/RDRAND#Reception
## https://systemd.io/RANDOM_SEEDS/
## https://www.kicksecure.com/wiki/Dev/Entropy#RDRAND
## https://arstechnica.com/gadgets/2019/10/how-a-months-old-amd-microcode-bug-destroyed-my-weekend/
## https://x.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
## https://github.com/NixOS/nixpkgs/pull/165355
## https://lkml.org/lkml/2022/6/5/271
##
## KSPP=yes
## KSPP sets CONFIG_RANDOM_TRUST_BOOTLOADER=y and CONFIG_RANDOM_TRUST_CPU=y.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX random.trust_bootloader=off"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX random.trust_cpu=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.
## 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,21 @@
## 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 single-user (recovery) mode.
##
## 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.
##
## 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

@ -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

38
etc/gitconfig Normal file
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 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net> ## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions. ## See the file COPYING for copying conditions.
## Disable the /sys whitelist. ## Disable the /sys whitelist.
@ -6,3 +6,10 @@
## Disable the /proc/cpuinfo whitelist. ## Disable the /proc/cpuinfo whitelist.
#cpuinfo_whitelist=0 #cpuinfo_whitelist=0
## Disable /sys hardening.
#sysfs=0
## Disable selinux mode.
## https://www.kicksecure.com/wiki/Security-misc#selinux
#selinux=0

View File

@ -0,0 +1,21 @@
#!/bin/sh
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <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 /usr/sbin/sysctl /usr/sbin

View File

@ -0,0 +1,26 @@
#!/bin/sh
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <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,5 +1,8 @@
#!/bin/bash #!/bin/bash
if test -x /usr/lib/security-misc/remove-system.map ; then ## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
/usr/lib/security-misc/remove-system.map ## See the file COPYING for copying conditions.
if test -x /usr/libexec/security-misc/remove-system.map ; then
/usr/libexec/security-misc/remove-system.map
fi fi

View File

@ -1,2 +0,0 @@
## https://phabricator.whonix.org/T486
options nf_conntrack nf_conntrack_helper=0

View File

@ -0,0 +1,63 @@
## 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.
##
## 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.
##
## https://github.com/GrapheneOS/infrastructure/blob/main/modprobe.d/local.conf
##
#blacklist cfg80211
#blacklist intel_agp
#blacklist ip_tables
blacklist joydev
#blacklist mousedev
#blacklist psmouse
## TODO: Re-check in Debian trixie
## In GrapheneOS list, yes, "should" be out-commented here.
## But not actually out-commented.
## Breaks VirtualBox audio device ICH AC97, which is unfortunately still required by some users.
## https://www.kicksecure.com/wiki/Dev/audio
## https://github.com/Kicksecure/security-misc/issues/271
#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,12 @@
## 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://forums.whonix.org/t/disable-conntrack-helper/18917
##
options nf_conntrack nf_conntrack_helper=0

View File

@ -0,0 +1,310 @@
## 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.
##
## https://en.wikipedia.org/wiki/Bluetooth#History_of_security_concerns
##
## Now replaced with a privacy- and security-preserving default Bluetooth configuration for better usability.
## 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
## 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://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.
##
install cramfs /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 reiserfs /usr/bin/disabled-filesys-by-security-misc
install udf /usr/bin/disabled-filesys-by-security-misc
## Network File Systems:
## Disable uncommon network file systems to reduce attack surface.
##
install gfs2 /usr/bin/disabled-netfilesys-by-security-misc
install ksmbd /usr/bin/disabled-netfilesys-by-security-misc
##
## 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 (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:
## Disables 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 brcm80211 /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
##
## 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
##
## Controller Area Network (CAN) Protocol:
##
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
##
## Transparent Inter Process Communication (TIPC):
##
install tipc /usr/bin/disabled-network-by-security-misc
install tipc_diag /usr/bin/disabled-network-by-security-misc
##
## 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
##
## 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
## CPU Model-Specific Registers (MSRs):
## Disable CPU MSRs as they can be abused to write to arbitrary memory.
##
## 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 msr /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
## Replaced Modules:
## These legacy drivers have all been entirely replaced and superseded by newer drivers.
## These were all 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 de4x5 /usr/bin/disabled-miscellaneous-by-security-misc
install prism54 /usr/bin/disabled-miscellaneous-by-security-misc
## USB Video Device Class:
## Disables the USB-based video streaming driver for devices like some webcams and digital camcorders.
##
#install uvcvideo /usr/bin/disabled-miscellaneous-by-security-misc
## Vivid:
## Disables the vivid kernel module since it 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
##
## No longer disabled by default:
## 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,6 +0,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

View File

@ -1,3 +0,0 @@
# Blacklist thunderbolt and firewire to prevent some DMA attacks.
install firewire-core /bin/false
install thunderbolt /bin/false

View File

@ -1,3 +0,0 @@
# Blacklist CPU MSRs as they can be abused to write to
# arbitrary memory.
install msr /bin/false

View File

@ -1,25 +0,0 @@
# 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

View File

@ -1,10 +0,0 @@
## Copyright (C) 2012 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
## 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

@ -1,146 +0,0 @@
## Copyright (C) 2012 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## 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.
## File permission hardening.
##
## Syntax:
## [filename] [mode] [owner] [group] [capability]
##
## To remove all SUID/SGID binaries in a directory, you can use the "nosuid"
## argument.
## TODO: white spaces inside file name untested and probably will not work.
######################################################################
# SUID disablewhitelist
######################################################################
## disablewhitelist disables below (or in lexically higher) files
## exactwhitelist and matchwhitelist. Add these here (discouraged) or better
## in file "/etc/permission-hardening.d/20_user.conf".
## For example, if you are not using SELinux the following might make sense to
## enable. TODO: research
#/utempter/utempter disablewhitelist
## If you are not going to use AppImages such as electrum Bitcoin wallet.
#/fusermount disablewhitelist
######################################################################
# SUID exact match whitelist
######################################################################
/usr/bin/sudo exactwhitelist
/bin/sudo exactwhitelist
/usr/bin/bwrap exactwhitelist
/bin/bwrap exactwhitelist
/usr/lib/spice-gtk/spice-client-glib-usb-acl-helper exactwhitelist
/usr/lib/chromium/chrome-sandbox exactwhitelist
## 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
## 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
## In case you need to use 'su'. See also:
## https://www.whonix.org/wiki/root#su
#/bin/su exactwhitelist
#/usr/bin/su exactwhitelist
######################################################################
# SUID exact match whitelist
######################################################################
## https://manpages.debian.org/buster/xserver-xorg-legacy/Xorg.wrap.1.en.html
## https://lwn.net/Articles/590315/
## http://forums.whonix.org/t/permission-hardening/8655/25
#/usr/lib/xorg/Xorg.wrap whitelist
######################################################################
# SUID regex match whitelist - research required
######################################################################
/usr/lib/virtualbox/ matchwhitelist
## 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
## match both:
#/usr/lib/policykit-1/polkit-agent-helper-1 matchwhitelist
#/lib/policykit-1/polkit-agent-helper-1
polkit-agent-helper-1 matchwhitelist
######################################################################
# SUID regex match whitelist
######################################################################
dbus-daemon-launch-helper matchwhitelist
/utempter/utempter matchwhitelist
## required for AppImages such as electrum Bitcoin wallet
## https://forums.whonix.org/t/disable-suid-binaries/7706/57
/fusermount matchwhitelist
######################################################################
# Permission Hardening
######################################################################
## 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
/home/ 0755 root root
/home/user/ 0700 user user
/root/ 0700 root root
/boot/ 0700 root root
/etc/permission-hardening.d 0600 root root
/usr/local/etc/permission-hardening.d 0600 root root
/lib/modules/ 0700 root root
######################################################################
# SUID/SGID Removal
######################################################################
## Remove all SUID/SGID binaries/libraries.
/bin/ nosuid
/usr/bin/ nosuid
/usr/local/bin/ nosuid
/sbin/ nosuid
/usr/sbin/ nosuid
/usr/local/sbin/ nosuid
/lib/ nosuid
/lib32/ nosuid
/lib64/ nosuid
/usr/lib/ nosuid
/usr/lib32/ nosuid
/usr/lib64/ nosuid
/usr/local/lib/ nosuid
/usr/local/lib32/ nosuid
/usr/local/lib64/ nosuid
######################################################################
# Capability Removal
######################################################################
## Ping doesn't work with Tor anyway so its capabilities are removed to
## reduce attack surface.
## anon-apps-config does this.
#/bin/ping 0744 root root none
## TODO: research
#/usr/lib/x86_64-linux-gnu/gstreamer1.0/grstreamer-1.0/gst-ptp-helper 0744 root root none

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/xdg
fi
if ! echo "$XDG_CONFIG_DIRS" | grep --quiet /usr/share/security-misc/ ; then
export XDG_CONFIG_DIRS=/usr/share/security-misc/:$XDG_CONFIG_DIRS
fi

View File

@ -1,2 +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. # /etc/securetty: list of terminals on which root is allowed to login.
# See securetty(5) and login(1). # See securetty(5) and login(1).

View File

@ -1,6 +1,9 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net> ## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions. ## See the file COPYING for copying conditions.
## To enable root login, see:
## https://www.kicksecure.com/wiki/Root#Root_Login
## Console Lockdown ## Console Lockdown
## https://forums.whonix.org/t/etc-security-hardening/8592 ## https://forums.whonix.org/t/etc-security-hardening/8592
@ -15,11 +18,24 @@
## Usually tty7 is for X. ## Usually tty7 is for X.
## Qubes uses tty1 for X. ## Qubes uses tty1 for X.
## Allow members of group 'console' to use tty1 to tty7 and pts/0 to pts/9 and hvc0 to hvc9.
## Qubes has 'pts/0' when for example running "sudo" from a terminal emulator. ## Qubes has 'pts/0' when for example running "sudo" from a terminal emulator.
## Qubes uses 'hvc0' when using in dom0 "sudo xl console vm-name". ## Qubes uses 'hvc0' when using in dom0 "sudo xl console vm-name".
+: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 ## When using systemd-nspawn (chroot) then `login` requires console 'console' to be permitted.
## Allow members of group `console` to use:
## - 'console'
## - 'tty1' to 'tty7'
## - 'pts/0' to 'pts/9'
## - 'hvc0' to 'hvc9'
## serial console
## https://forums.whonix.org/t/how-do-i-enter-the-whonix-shell-from-cli/7271/43
## - 'ttyS0' to 'ttyS9'
+:(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
+:(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' ## Everyone else except members of group 'console-unrestricted'
## are restricted from everything else. ## are restricted from everything else.
-:ALL EXCEPT console-unrestricted :ALL -:ALL EXCEPT (console-unrestricted):ALL

View File

@ -0,0 +1,70 @@
## 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/lib/security-misc/faillock
#
# Will log the user name into the system log if the user is not found.
# Enabled if option is present.
audit
#
# Don't print informative messages.
# Enabled if option is present.
# silent
#
# Don't log informative messages via syslog.
# Enabled if option is present.
# no_log_info
#
# Only track failed user authentications attempts for local users
# in /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users.
# The `faillock` command will also no longer track user failed
# authentication attempts. Enabling this option will prevent a
# double-lockout scenario where a user is locked out locally and
# in the centralized mechanism.
# Enabled if option is present.
# local_users_only
#
# Deny access if the number of consecutive authentication failures
# for this user during the recent interval exceeds n tries.
# The default is 3.
deny = 50
#
# The length of the interval during which the consecutive
# authentication failures must happen for the user account
# lock out is <replaceable>n</replaceable> seconds.
# The default is 900 (15 minutes).
# 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 = never
#
# Root account can become locked as well as regular accounts.
# Enabled if option is present.
even_deny_root
#
# This option implies the `even_deny_root` option.
# Allow access after n seconds to root account after the
# account is locked. In case the option is not specified
# the value is the same as of the `unlock_time` option.
# root_unlock_time = 900
#
# If a group name is specified with this option, members
# of the group will be handled by this module the same as
# the root account (the options `even_deny_root>` and
# `root_unlock_time` will apply to them.
# By default, the option is not set.
# admin_group = <admin_group_name>

View File

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

View File

@ -1,2 +0,0 @@
# Disable coredumps.
* hard core 0

View File

@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- ## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org> -->
<!-- ## See the file COPYING for copying conditions. -->
<!-- Configuration for Thunar. --> <!-- Configuration for Thunar. -->
<!-- Changes date style to iso format. --> <!-- Changes date style to iso format. -->
<!-- Disable thumbnails. --> <!-- Disable thumbnails. -->
@ -13,4 +16,5 @@
<value type="string" value="network:///"/> <value type="string" value="network:///"/>
</property> </property>
<property name="misc-volume-management" type="bool" value="false"/> <property name="misc-volume-management" type="bool" value="false"/>
<property name="misc-show-delete-action" type="bool" value="true"/>
</channel> </channel>

350
etc/skel/.gnupg/gpg.conf Normal file
View File

@ -0,0 +1,350 @@
# Options for GnuPG
# Copyright 1998, 1999, 2000, 2001, 2002, 2003,
# 2010 Free Software Foundation, Inc.
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This file is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# Unless you specify which option file to use (with the command line
# option "--options filename"), GnuPG uses the file ~/.gnupg/gpg.conf
# by default.
#
# An options file can contain any long options which are available in
# GnuPG. If the first non white space character of a line is a '#',
# this line is ignored. Empty lines are also ignored.
#
# See the man page for a list of options.
# Uncomment the following option to get rid of the copyright notice
#no-greeting
# If you have more than 1 secret key in your keyring, you may want to
# uncomment the following option and set your preferred keyid.
#default-key 621CC013
# If you do not pass a recipient to gpg, it will ask for one. Using
# this option you can encrypt to a default key. Key validation will
# not be done in this case. The second form uses the default key as
# default recipient.
#default-recipient some-user-id
#default-recipient-self
# Use --encrypt-to to add the specified key as a recipient to all
# messages. This is useful, for example, when sending mail through a
# mail client that does not automatically encrypt mail to your key.
# In the example, this option allows you to read your local copy of
# encrypted mail that you've sent to others.
#encrypt-to some-key-id
# By default GnuPG creates version 4 signatures for data files as
# specified by OpenPGP. Some earlier (PGP 6, PGP 7) versions of PGP
# require the older version 3 signatures. Setting this option forces
# GnuPG to create version 3 signatures.
#force-v3-sigs
# Because some mailers change lines starting with "From " to ">From "
# it is good to handle such lines in a special way when creating
# cleartext signatures; all other PGP versions do it this way too.
#no-escape-from-lines
# If you do not use the Latin-1 (ISO-8859-1) charset, you should tell
# GnuPG which is the native character set. Please check the man page
# for supported character sets. This character set is only used for
# metadata and not for the actual message which does not undergo any
# translation. Note that future version of GnuPG will change to UTF-8
# as default character set. In most cases this option is not required
# as GnuPG is able to figure out the correct charset at runtime.
#charset utf-8
# Group names may be defined like this:
# group mynames = paige 0x12345678 joe patti
#
# Any time "mynames" is a recipient (-r or --recipient), it will be
# expanded to the names "paige", "joe", and "patti", and the key ID
# "0x12345678". Note that there is only one level of expansion - you
# cannot make a group that points to another group. Note also that
# if there are spaces in the recipient name, this will appear as two
# recipients. In these cases it is better to use the key ID.
#group mynames = paige 0x12345678 joe patti
# Lock the file only once for the lifetime of a process. If you do
# not define this, the lock will be obtained and released every time
# it is needed, which is usually preferable.
#lock-once
# GnuPG can send and receive keys to and from a keyserver. These
# servers can be HKP, email, or LDAP (if GnuPG is built with LDAP
# support).
#
# High-risk users should stop using the keyserver network immediately.
# https://forums.whonix.org/t/gpg-recv-keys-fails-no-longer-use-keyservers-for-anything/5607/8
#
# Example HKP keyserver:
# hkp://keys.gnupg.net
# hkp://subkeys.pgp.net
#
# Example email keyserver:
# mailto:pgp-public-keys@keys.pgp.net
#
# Example LDAP keyservers:
# ldap://keyserver.pgp.com
#
# Regular URL syntax applies, and you can set an alternate port
# through the usual method:
# hkp://keyserver.example.net:22742
#
# Most users just set the name and type of their preferred keyserver.
# Note that most servers (with the notable exception of
# ldap://keyserver.pgp.com) synchronize changes with each other. Note
# also that a single server name may actually point to multiple
# servers via DNS round-robin. hkp://keys.gnupg.net is an example of
# such a "server", which spreads the load over a number of physical
# servers. To see the IP address of the server actually used, you may use
# the "--keyserver-options debug".
#
#keyserver hkp://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.onion
#keyserver mailto:pgp-public-keys@keys.nl.pgp.net
#keyserver ldap://keyserver.pgp.com
# Common options for keyserver functions:
#
# include-disabled : when searching, include keys marked as "disabled"
# on the keyserver (not all keyservers support this).
#
# no-include-revoked : when searching, do not include keys marked as
# "revoked" on the keyserver.
#
# verbose : show more information as the keys are fetched.
# Can be used more than once to increase the amount
# of information shown.
#
# use-temp-files : use temporary files instead of a pipe to talk to the
# keyserver. Some platforms (Win32 for one) always
# have this on.
#
# keep-temp-files : do not delete temporary files after using them
# (really only useful for debugging)
#
# http-proxy="proxy" : set the proxy to use for HTTP and HKP keyservers.
# This overrides the "http_proxy" environment variable,
# if any.
#
# auto-key-retrieve : automatically fetch keys as needed from the keyserver
# when verifying signatures or when importing keys that
# have been revoked by a revocation key that is not
# present on the keyring.
#
# no-include-attributes : do not include attribute IDs (aka "photo IDs")
# when sending keys to the keyserver.
#keyserver-options auto-key-retrieve
# Display photo user IDs in key listings
# list-options show-photos
# Display photo user IDs when a signature from a key with a photo is
# verified
# verify-options show-photos
# Use this program to display photo user IDs
#
# %i is expanded to a temporary file that contains the photo.
# %I is the same as %i, but the file isn't deleted afterwards by GnuPG.
# %k is expanded to the key ID of the key.
# %K is expanded to the long OpenPGP key ID of the key.
# %t is expanded to the extension of the image (e.g. "jpg").
# %T is expanded to the MIME type of the image (e.g. "image/jpeg").
# %f is expanded to the fingerprint of the key.
# %% is %, of course.
#
# If %i or %I are not present, then the photo is supplied to the
# viewer on standard input. If your platform supports it, standard
# input is the best way to do this as it avoids the time and effort in
# generating and then cleaning up a secure temp file.
#
# If no photo-viewer is provided, GnuPG will look for xloadimage, eog,
# or display (ImageMagick). On Mac OS X and Windows, the default is
# to use your regular JPEG image viewer.
#
# Some other viewers:
# photo-viewer "qiv %i"
# photo-viewer "ee %i"
#
# This one saves a copy of the photo ID in your home directory:
# photo-viewer "cat > ~/photoid-for-key-%k.%t"
#
# Use your MIME handler to view photos:
# photo-viewer "metamail -q -d -b -c %T -s 'KeyID 0x%k' -f GnuPG"
# Passphrase agent
#
# We support the old experimental passphrase agent protocol as well as
# the new Assuan based one (currently available in the "newpg" package
# at ftp.gnupg.org/gcrypt/alpha/aegypten/). To make use of the agent,
# you have to run an agent as daemon and use the option
#
# For Ubuntu we now use-agent by default to support more automatic
# use of GPG and S/MIME encryption by GUI programs. Depending on the
# program, users may still have to manually decide to install gnupg-agent.
#use-agent
# which tries to use the agent but will fallback to the regular mode
# if there is a problem connecting to the agent. The normal way to
# locate the agent is by looking at the environment variable
# GPG_AGENT_INFO which should have been set during gpg-agent startup.
# In certain situations the use of this variable is not possible, thus
# the option
#
# --gpg-agent-info=<path>:<pid>:1
#
# may be used to override it.
# Automatic key location
#
# GnuPG can automatically locate and retrieve keys as needed using the
# auto-key-locate option. This happens when encrypting to an email
# address (in the "user@example.com" form), and there are no
# user@example.com keys on the local keyring. This option takes the
# following arguments, in the order they are to be tried:
#
# cert = locate a key using DNS CERT, as specified in RFC-4398.
# GnuPG can handle both the PGP (key) and IPGP (URL + fingerprint)
# CERT methods.
#
# pka = locate a key using DNS PKA.
#
# ldap = locate a key using the PGP Universal method of checking
# "ldap://keys.(thedomain)". For example, encrypting to
# user@example.com will check ldap://keys.example.com.
#
# keyserver = locate a key using whatever keyserver is defined using
# the keyserver option.
#
# You may also list arbitrary keyservers here by URL.
#
# Try CERT, then PKA, then LDAP, then hkp://subkeys.net:
#auto-key-locate cert pka ldap hkp://subkeys.pgp.net
## Begin Anonymity Distribution /home/user/.gnupg/gpg.conf changes.
#### meta start
#### project Whonix
#### category networking and apps
#### description GnuPG gpg configuration
#### meta end
## source:
## https://raw.github.com/ioerror/torbirdy/master/gpg.conf
## https://github.com/ioerror/torbirdy/commit/e6d7c9e6e103f0b3289675d04ed3f92e92d8d7b3
## Out commented proxy settings, because uwt wrapper keeps care of that.
## gpg.conf optimized for privacy
##################################################################
## BEGIN some suggestions from TorBirdy setting extensions.enigmail.agentAdditionalParam
## Don't disclose the version
no-emit-version
## Don't add additional comments (may leak language, etc)
no-comments
## We want to force UTF-8 everywhere
display-charset utf-8
## Proxy settings
#keyserver-options http-proxy=socks5://TORIP:TORPORT
## https://gist.github.com/rjhansen/67ab921ffb4084c865b3618d6955275f
## https://dkg.fifthhorseman.net/blog/openpgp-certificate-flooding.html
## https://forums.whonix.org/t/gpg-recv-keys-fails-no-longer-use-keyservers-for-anything/5607
#keyserver hkps://keys.openpgp.org
## END some suggestions from TorBirdy TorBirdy setting extensions.enigmail.agentAdditionalParam
##################################################################
##################################################################
## 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 https://keyring.debian.org/creating-key.html
##################################################################
##################################################################
## BEGIN Some suggestions added from riseup https://we.riseup.net/riseuplabs+paow/openpgp-best-practices
## When creating a key, individuals may designate a specific keyserver to use to pull their keys from.
## The above option will disregard this designation and use the pool, which is useful because (1) it
## prevents someone from designating an insecure method for pulling their key and (2) if the server
## designated uses hkps, the refresh will fail because the ca-cert will not match, so the keys will
## never be refreshed.
keyserver-options no-honor-keyserver-url
## when outputting certificates, view user IDs distinctly from keys:
fixed-list-mode
## long keyids are more collision-resistant than short keyids (it's trivial to make a key with any desired short keyid)
keyid-format 0xlong
## when multiple digests are supported by all recipients, choose the strongest one:
## already defined above
#personal-digest-preferences SHA512 SHA384 SHA256 SHA224
## preferences chosen for new keys should prioritize stronger algorithms:
## already defined above
#default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 BZIP2 ZLIB ZIP Uncompressed
## If you use a graphical environment (and even if you don't) you should be using an agent:
## (similar arguments as https://www.debian-administration.org/users/dkg/weblog/64)
use-agent
## You should always know at a glance which User IDs gpg thinks are legitimately bound to the keys in your keyring:
verify-options show-uid-validity
list-options show-uid-validity
## include an unambiguous indicator of which key made a signature:
## (see http://thread.gmane.org/gmane.mail.notmuch.general/3721/focus=7234)
sig-notation issuer-fpr@notations.openpgp.fifthhorseman.net=%g
## when making an OpenPGP certification, use a stronger digest than the default SHA1:
## already defined above
#cert-digest-algo SHA256
## END Some suggestions added from riseup https://we.riseup.net/riseuplabs+paow/openpgp-best-practices
##################################################################
##################################################################
## BEGIN Some suggestions from TorBirdy opt-in's
## Up to you whether you in comment it (remove the single # in front of
## it) or not. Disabled by default, because it causes too much complaints and
## confusion.
## Don't include keyids that may disclose the sender or any other non-obvious keyids
#throw-keyids
## END Some suggestions from TorBirdy opt-in's
##################################################################
## End of Anonymity Distribution /home/user/.gnupg/gpg.conf changes.

View File

@ -1,7 +1,12 @@
## Copyright (C) 2012 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net> ## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions. ## See the file COPYING for copying conditions.
user ALL=NOPASSWD: /usr/lib/security-misc/panic-on-oops ## Neither of these are needed.
%sudo ALL=NOPASSWD: /usr/lib/security-misc/panic-on-oops #user ALL=NOPASSWD: /usr/libexec/security-misc/panic-on-oops
#%sudo ALL=NOPASSWD: /usr/libexec/security-misc/panic-on-oops
%sudo ALL=NOPASSWD: /usr/lib/security-misc/echo-path ## 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

@ -1,6 +0,0 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## 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

View File

@ -1,5 +0,0 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
## Restricts the kernel log to root only.
kernel.dmesg_restrict=1

View File

@ -1,6 +0,0 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
## Makes some data spoofing attacks harder.
fs.protected_fifos=2
fs.protected_regular=2

View File

@ -1,6 +0,0 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
## Hardens the BPF JIT compiler and restricts it to root.
kernel.unprivileged_bpf_disabled=1
net.core.bpf_jit_harden=2

View File

@ -1,11 +0,0 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
## 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

View File

@ -1,8 +0,0 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
## 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

View File

@ -1,6 +0,0 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
## Improves ASLR effectiveness for mmap.
vm.mmap_rnd_bits=32
vm.mmap_rnd_compat_bits=16

View File

@ -1,10 +0,0 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
## 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

View File

@ -1,5 +0,0 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
## Prevent setuid processes from creating coredumps.
fs.suid_dumpable=0

View File

@ -1,42 +0,0 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
#### 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
## 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
## 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

View File

@ -1,8 +0,0 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
## 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

View File

@ -1,12 +0,0 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
#### meta start
#### project Kicksecure
#### category networking and security
#### description
## disable IPv4 TCP Timestamps
net.ipv4.tcp_timestamps=0
#### meta end

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://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802211
## https://salsa.debian.org/ah/user-setup/commit/bc5ca2de85ec27845d0b46059cb7cc02bae7b44d ## 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://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802211
## https://salsa.debian.org/ah/user-setup/commit/bc5ca2de85ec27845d0b46059cb7cc02bae7b44d ## https://salsa.debian.org/ah/user-setup/commit/bc5ca2de85ec27845d0b46059cb7cc02bae7b44d

View File

@ -1,8 +0,0 @@
//#### meta start
//#### project Whonix and Kicksecure
//#### category security and apps
//#### description https://forums.whonix.org/t/enable-network-idn-show-punycode-by-default-in-thunderbird-to-fix-url-not-showing-real-domain-name-homograph-attack-punycode/8415
//#### meta end
// https://forums.whonix.org/t/enable-network-idn-show-punycode-by-default-in-thunderbird-to-fix-url-not-showing-real-domain-name-homograph-attack-punycode/8415
pref("network.IDN_show_punycode", true);

View File

@ -0,0 +1,59 @@
//#### Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
//#### See the file COPYING for copying conditions.
//#### meta start
//#### project Whonix and Kicksecure
//#### category security and apps
//#### description https://forums.whonix.org/t/enable-network-idn-show-punycode-by-default-in-thunderbird-to-fix-url-not-showing-real-domain-name-homograph-attack-punycode/8415
//#### meta end
// https://forums.whonix.org/t/enable-network-idn-show-punycode-by-default-in-thunderbird-to-fix-url-not-showing-real-domain-name-homograph-attack-punycode/8415
pref("network.IDN_show_punycode", true);
// Disable all and any kind of telemetry by default
pref("toolkit.telemetry.enabled", false);
pref("toolkit.telemetry.unified", false);
pref("toolkit.telemetry.shutdownPingSender.enabled", false);
pref("toolkit.telemetry.updatePing.enabled", false);
pref("toolkit.telemetry.archive.enabled", false);
pref("toolkit.telemetry.bhrPing.enabled", false);
pref("toolkit.telemetry.firstShutdownPing.enabled", false);
pref("toolkit.telemetry.newProfilePing.enabled", false);
pref("toolkit.telemetry.server", ""); // Defense in depth
pref("toolkit.telemetry.server_owner", ""); // Defense in depth
pref("datareporting.healthreport.uploadEnabled", false);
pref("datareporting.policy.dataSubmissionEnabled", false);
pref("toolkit.telemetry.coverage.opt-out", true); // from Firefox
pref("toolkit.coverage.opt-out", true); // from Firefox
// Disable implicit outbound traffic
pref("network.connectivity-service.enabled", false);
pref("network.prefetch-next", false);
pref("network.dns.disablePrefetch", true);
pref("network.predictor.enabled", false);
// No need to explain the problems with javascript
// If you want javascript, use your browser
// Thunderbird needs no javascript
// pref("javascript.enabled", false); // Will break setting up services that require redirecting to their javascripted webpage for login, like gmail etc. So commented out for now.
// Disable scripting when viewing pdf files
user_pref("pdfjs.enableScripting", false);
// If you want cookies, use your browser
pref("network.cookie.cookieBehavior", 2);
// Do not send user agent information
// For email clients, this is more like a relic of the past
// Completely not necessary and just exposes a lot of information about the client
// Since v115.0 Thunderbird already minimizes the user agent
// But we want it gone for good for no information leak at all
// https://hg.mozilla.org/comm-central/rev/cbbbc8d93cd7
pref("mailnews.headers.sendUserAgent", false);
// Normally we send emails after marking them with a time stamp
// That includes our local time zone
// This option makes our local time zone appear as UTC
// And rounds the time stamp to the closes minute
// https://hg.mozilla.org/comm-central/rev/98aa0bf2e719
pref("mail.sanitize_date_header", true);

View File

@ -1,2 +0,0 @@
[Coredump]
Storage=none

View File

@ -1,11 +0,0 @@
## Copyright (C) 2012 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
## https://forums.whonix.org/t/restrict-hardware-information-to-root-testers-wanted/8618
disable hide-hardware-info.service
## Disable for now until development finished / tested.
disable permission-hardening.service
## Disable for now until development finished / tested.
disable remount-secure.service

View File

@ -1,19 +0,0 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
[Unit]
Description=SUID, SGID, Capability and File Permission Hardening
Documentation=https://github.com/Whonix/security-misc
DefaultDependencies=no
Before=sysinit.target
Requires=local-fs.target
After=local-fs.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/lib/security-misc/permission-hardening
[Install]
WantedBy=sysinit.target

View File

@ -1,21 +0,0 @@
## Copyright (C) 2019 - 2019 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
[Unit]
Description=remount /home /tmp /dev/shm /run with nosuid,nodev (default) and noexec (opt-in)
Documentation=https://github.com/Whonix/security-misc
DefaultDependencies=no
Before=sysinit.target
Requires=local-fs.target
After=local-fs.target
After=qubes-sysinit.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/lib/security-misc/remount-secure
[Install]
WantedBy=sysinit.target

View File

@ -1,2 +0,0 @@
[Service]
SupplementaryGroups=sysfs

View File

@ -3,8 +3,8 @@ Version: @VERSION@
Release: 1%{?dist} Release: 1%{?dist}
Summary: enhances misc security settings Summary: enhances misc security settings
License: GPL-3+-with-additional-terms-1 License: AGPL-3+
URL: https://github.com/Whonix/security-misc URL: https://github.com/Kicksecure/security-misc
Source0: %{name}-%{version}.tar.xz Source0: %{name}-%{version}.tar.xz
BuildRequires: dpkg-dev BuildRequires: dpkg-dev
@ -13,50 +13,7 @@ Requires: make
BuildArch: noarch BuildArch: noarch
%description %description
The following settings are changed: See README.
deactivates previews in Dolphin;
deactivates previews in Nautilus;
deactivates thumbnails in Thunar;
deactivates TCP timestamps;
deactivates Netfilter's connection tracking helper;
TCP time stamps (RFC 1323) allow for tracking clock
information with millisecond resolution. This may or may not allow an
attacker to learn information about the system clock at such
a resolution, depending on various issues such as network lag.
This information is available to anyone who monitors the network
somewhere between the attacked system and the destination server.
It may allow an attacker to find out how long a given
system has been running, and to distinguish several
systems running behind NAT and using the same IP address. It might
also allow one to look for clocks that match an expected value to find the
public IP used by a user.
Hence, this package disables this feature by shipping the
/etc/sysctl.d/tcp_timestamps.conf configuration file.
Note that TCP time stamps normally have some usefulness. They are
needed for:
* the TCP protection against wrapped sequence numbers; however, to
trigger a wrap, one needs to send roughly 2^32 packets in one
minute: as said in RFC 1700, "The current recommended default
time to live (TTL) for the Internet Protocol (IP) [45,105] is 64".
So, this probably won't be a practical problem in the context
of Anonymity Distributions.
* "Round-Trip Time Measurement", which is only useful when the user
manages to saturate their connection. When using Anonymity Distributions,
probably the limiting factor for transmission speed is rarely the capacity
of the user connection.
Netfilter's connection tracking helper module increases kernel attack
surface by enabling superfluous functionality such as IRC parsing in
the kernel. (!)
Hence, this package disables this feature by shipping the
/etc/sysctl.d/nf_conntrack_helper.conf configuration file.
%prep %prep
%setup -q %setup -q
@ -72,48 +29,9 @@ make %{?_smp_mflags}
%files %files
%license debian/copyright %license debian/copyright
/etc/X11/Xsession.d/50panic_on_oops /etc/*
/etc/X11/Xsession.d/50security-misc /lib/*
/etc/apparmor.d/tunables/home.d/security-misc /usr/*
/etc/apt/apt.conf.d/40sandbox
/etc/default/grub.d/40_enable_iommu.cfg
/etc/default/grub.d/40_kernel_hardening.cfg
/etc/login.defs.security-misc
/etc/modprobe.d/30_nf_conntrack_helper_disable.conf
/etc/modprobe.d/blacklist-dma.conf
/etc/modprobe.d/uncommon-network-protocols.conf
/etc/securetty.security-misc
/etc/security/limits.d/disable-coredumps.conf
/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
/etc/sudoers.d/security-misc
/etc/sysctl.d/coredumps.conf
/etc/sysctl.d/dmesg_restrict.conf
/etc/sysctl.d/fs_protected.conf
/etc/sysctl.d/harden_bpf.conf
/etc/sysctl.d/kexec.conf
/etc/sysctl.d/kptr_restrict.conf
/etc/sysctl.d/mmap_aslr.conf
/etc/sysctl.d/ptrace_scope.conf
/etc/sysctl.d/suid_dumpable.conf
/etc/sysctl.d/sysrq.conf
/etc/sysctl.d/tcp_hardening.conf
/etc/sysctl.d/tcp_sack.conf
/etc/sysctl.d/tcp_timestamps.conf
/etc/systemd/system/emergency.service.d/override.conf
/etc/systemd/system/rescue.service.d/override.conf
/lib/systemd/coredump.conf.d/disable-coredumps.conf
/lib/systemd/system/proc-hidepid.service
/lib/systemd/system/remove-system-map.service
/usr/lib/security-misc/apt-get-update
/usr/lib/security-misc/apt-get-update-sanity-test
/usr/lib/security-misc/apt-get-wrapper
/usr/lib/security-misc/panic-on-oops
/usr/lib/security-misc/remove-system.map
/usr/share/glib-2.0/schemas/30_security-misc.gschema.override
/usr/share/lintian/overrides/security-misc
/usr/share/pam-configs/usergroups
/usr/share/pam-configs/wheel
/usr/share/security-misc/dolphinrc
%changelog %changelog
@CHANGELOG@ @CHANGELOG@

View File

@ -0,0 +1,10 @@
#!/bin/bash
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Alerts user that a kernel module failed to load due to it being explicitly disabled by default.
echo "$0: ALERT: This Bluetooth kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc_disable.conf for details. | args: $@" >&2
exit 1

View File

@ -0,0 +1,10 @@
#!/bin/bash
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Alerts user that a kernel module failed to load due to it being explicitly disabled by default.
echo "$0: ALERT: This CD-ROM/DVD kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc_disable.conf for details. | args: $@" >&2
exit 1

View File

@ -0,0 +1,10 @@
#!/bin/bash
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Alerts user that a kernel module failed to load due to it being explicitly disabled by default.
echo "$0: ALERT: This file system kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc_disable.conf for details. | args: $@" >&2
exit 1

View File

@ -0,0 +1,10 @@
#!/bin/bash
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Alerts user that a kernel module failed to load due to it being explicitly disabled by default.
echo "$0: ALERT: This FireWire (IEEE 1394) kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc_disable.conf for details. | args: $@" >&2
exit 1

View File

@ -0,0 +1,10 @@
#!/bin/bash
## Copyright (C) 2024 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Alerts user that a kernel module failed to load due to it being explicitly disabled by default.
echo "$0: ALERT: This framebuffer (fbdev) kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc_disable.conf for details. | args: $@" >&2
exit 1

View File

@ -0,0 +1,10 @@
#!/bin/bash
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Alerts user that a kernel module failed to load due to it being explicitly disabled by default.
echo "$0: ALERT: This Global Positioning System (GPS) kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc_disable.conf for details. | args: $@" >&2
exit 1

View File

@ -0,0 +1,10 @@
#!/bin/bash
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Alerts user that a kernel module failed to load due to it being explicitly disabled by default.
echo "$0: ALERT: This Intel Management Engine (ME) kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc_disable.conf for details. | args: $@" >&2
exit 1

View File

@ -0,0 +1,10 @@
#!/bin/bash
## Copyright (C) 2024 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Alerts user that a kernel module failed to load due to it being explicitly disabled by default.
echo "$0: ALERT: This Intel Platform Monitoring Technology (PMT) Telemetry kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc_disable.conf for details. | args: $@" >&2
exit 1

View File

@ -0,0 +1,10 @@
#!/bin/bash
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Alerts user that a kernel module failed to load due to it being explicitly disabled by default.
echo "$0: ALERT: This kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc_disable.conf for details. | args: $@" >&2
exit 1

View File

@ -0,0 +1,10 @@
#!/bin/bash
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Alerts user that a kernel module failed to load due to it being explicitly disabled by default.
echo "$0: ALERT: This network file system kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc_disable.conf for details. | args: $@" >&2
exit 1

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