Compare commits

...

2384 Commits

Author SHA1 Message Date
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
Patrick Schleizer
1059ccf225
bumped changelog version 2020-01-14 09:28:28 -05:00
Patrick Schleizer
660837dc38
fix case when user "user" does not exists 2020-01-14 09:25:32 -05:00
Patrick Schleizer
18c726c3ee
comment 2020-01-14 09:23:02 -05:00
Patrick Schleizer
b8652681e7
fix legacy 2020-01-14 09:21:47 -05:00
Patrick Schleizer
cc21f912a3
bumped changelog version 2020-01-14 09:20:36 -05:00
Patrick Schleizer
2078cd237f
readme 2020-01-14 09:18:30 -05:00
Patrick Schleizer
c377c5ff83
Merge remote-tracking branch 'origin/master' 2020-01-14 09:01:38 -05:00
Patrick Schleizer
539f24b65e
Merge pull request #54 from madaidan/panic_on_oops
Document panic_on_oops
2020-01-14 14:01:17 +00:00
madaidan
0953bbe1d7
Update control 2020-01-13 21:05:35 +00: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
Patrick Schleizer
8341242abc
bumped changelog version 2020-01-11 15:19:29 -05:00
Patrick Schleizer
130a4cf6d4
readme 2020-01-11 15:17:06 -05:00
Patrick Schleizer
61a2d390a7
lintian 2020-01-11 15:15:12 -05:00
Patrick Schleizer
3fae8e771f
Merge remote-tracking branch 'origin/master' 2020-01-11 15:14:43 -05:00
Patrick Schleizer
e9f4dbdda5
Merge pull request #52 from madaidan/vivid
Blacklist the vivid kernel module
2020-01-11 20:14:10 +00:00
madaidan
6088444c37
Update control 2020-01-11 18:38:17 +00:00
madaidan
a662a76a52
Blacklist vivid 2020-01-11 18:37:00 +00:00
Patrick Schleizer
13a1e1321e
bumped changelog version 2020-01-01 05:59:59 -05:00
Patrick Schleizer
5031e7cc4b
better output if trying to login with non-existing user 2019-12-31 08:18:38 -05:00
Patrick Schleizer
b2bdeb9095
bumped changelog version 2019-12-31 06:08:32 -05:00
Patrick Schleizer
2a3aae62b1
fix 2019-12-31 06:06:52 -05:00
Patrick Schleizer
427deec3f5
bumped changelog version 2019-12-31 06:03:48 -05:00
Patrick Schleizer
e89552c984
add user "user" to group "console" in Whonix and Kicksecure
enable Console Lockdown in Whonix and Kicksecure
2019-12-31 05:55:44 -05:00
Patrick Schleizer
b5a2d1dc58
bumped changelog version 2019-12-31 02:54:58 -05:00
Patrick Schleizer
20697db3ee
improve console lockdown info output 2019-12-31 02:53:02 -05:00
Patrick Schleizer
788914de95
group ssh check was removed
https://forums.whonix.org/t/etc-security-hardening-console-lockdown-pam-access-access-conf/8592/27
2019-12-31 02:46:32 -05:00
Patrick Schleizer
06ed728d79
bumped changelog version 2019-12-30 06:42:14 -05:00
Patrick Schleizer
f3ff32ddbb
Protect /bin/mount from 'chmod -x'.
/bin/mount exactwhitelist
/usr/bin/mount exactwhitelist

Remove SUID from 'mount' but keep executable.

/bin/mount 745 root root
/usr/bin/mount 745 root root

https://forums.whonix.org/t/disable-suid-binaries/7706/61
2019-12-30 06:39:24 -05:00
Patrick Schleizer
e4e9c4e3b0
bumped changelog version 2019-12-30 05:59:43 -05:00
Patrick Schleizer
9c0d6b6057
copyright 2019-12-29 05:09:07 -05:00
Patrick Schleizer
edc08988f2
copyright 2019-12-29 05:08:53 -05:00
Patrick Schleizer
9156d3584c
Description 2019-12-29 04:59:05 -05:00
Patrick Schleizer
3ea946b365
RemainAfterExit=yes 2019-12-29 04:56:51 -05:00
Patrick Schleizer
2787ae9765
copyright 2019-12-29 04:56:35 -05:00
Patrick Schleizer
6d56eb9ef0
minor 2019-12-29 04:56:18 -05:00
Patrick Schleizer
0e14706f32
copyright 2019-12-29 04:45:26 -05:00
Patrick Schleizer
1a0f7a7733
debugging 2019-12-29 04:43:32 -05:00
Patrick Schleizer
5271892cb1
debugging 2019-12-29 04:42:54 -05:00
Patrick Schleizer
683028049c
debugging 2019-12-29 04:41:23 -05:00
Patrick Schleizer
e3e1ff2a31
exit with error if a config line cannot be processed rather than skipping
https://forums.whonix.org/t/disable-suid-binaries/7706/59
2019-12-29 04:35:46 -05:00
Patrick Schleizer
d5c99f3a60
output 2019-12-29 04:27:21 -05:00
Patrick Schleizer
e5623fcd2b
comment 2019-12-29 04:21:52 -05:00
Patrick Schleizer
d7f58db52c
bumped changelog version 2019-12-27 05:30:12 -05:00
Patrick Schleizer
674840e6f9
/fusermount matchwhitelist
unbreak AppImages such as electrum Bitcoin wallet

https://forums.whonix.org/t/disable-suid-binaries/7706/57
2019-12-26 05:44:35 -05:00
Patrick Schleizer
507a30d6e3
bumped changelog version 2019-12-24 18:35:49 -05:00
Patrick Schleizer
04f438f75d
comment 2019-12-24 18:09:37 -05:00
Patrick Schleizer
9da0e428ed
debugging 2019-12-24 17:54:31 -05:00
Patrick Schleizer
e18ec533c3
comment 2019-12-24 17:54:02 -05:00
Patrick Schleizer
0326cd5ee9
bumped changelog version 2019-12-24 08:07:55 -05:00
Patrick Schleizer
ede536913d
no longer hardcode amd64 2019-12-24 06:00:41 -05:00
Patrick Schleizer
d03a3d9ac0
Merge remote-tracking branch 'origin/master' 2019-12-24 05:57:24 -05:00
Patrick Schleizer
27a42a9da8
Merge pull request #50 from madaidan/modules
Make /lib/modules unreadable
2019-12-24 10:55:11 +00:00
Patrick Schleizer
ac49c55d1f
Merge pull request #49 from madaidan/kver
Detect kernel upgrades
2019-12-24 10:55:03 +00:00
Patrick Schleizer
0c3d4ad255
Merge pull request #48 from madaidan/kernel-hardening
Use only one slub_debug parameter
2019-12-24 10:54:23 +00:00
madaidan
79241c5d09
Make /lib/modules unreadable 2019-12-23 20:28:29 +00:00
madaidan
98e88d1456
Detect kernel upgrades 2019-12-23 19:57:43 +00:00
madaidan
d1a0650fd9
Use only one slub_debug parameter 2019-12-23 19:44:52 +00:00
Patrick Schleizer
9d77d88a4d
comments 2019-12-23 09:39:50 -05:00
Patrick Schleizer
7a80837b4f
bumped changelog version 2019-12-23 08:48:04 -05:00
Patrick Schleizer
617c0a0e15
disable remount-secure.service - Disable for now until development finished / tested. 2019-12-23 07:21:26 -05:00
Patrick Schleizer
3e131174d5
comments 2019-12-23 05:00:35 -05:00
Patrick Schleizer
bef41a38c2
bumped changelog version 2019-12-23 03:58:00 -05:00
Patrick Schleizer
046ceeae4d
readme 2019-12-23 03:57:36 -05:00
Patrick Schleizer
9f072ce4f9
comment 2019-12-23 03:46:02 -05:00
Patrick Schleizer
26fe9394ff
disable lockdown for now due to module loading 2019-12-23 03:41:54 -05:00
Patrick Schleizer
9ec5b0ee82
description: lockdown not enabled yet 2019-12-23 03:38:49 -05:00
Patrick Schleizer
b05669accf
Merge branch 'madaidan-kernel-hardening' 2019-12-23 03:38:04 -05:00
Patrick Schleizer
1ff51ee061
merge 2019-12-23 03:37:28 -05:00
madaidan
535c258b83
More kernel hardening 2019-12-23 03:35:07 -05:00
Patrick Schleizer
11b4192fbd
comments 2019-12-23 03:28:42 -05:00
Patrick Schleizer
42ff53e9ad
bumped changelog version 2019-12-23 02:42:07 -05:00
Patrick Schleizer
2152fa2d61
comment 2019-12-23 02:38:53 -05:00
Patrick Schleizer
f8f2e6c704
fix disablewhitelist feature 2019-12-23 02:35:13 -05:00
Patrick Schleizer
47ddcad0c0
rename keyword whitelist to exactwhitelist
add new keyword disablewhitelist

refactoring
2019-12-23 02:29:47 -05:00
Patrick Schleizer
175d1c2845
bumped changelog version 2019-12-23 02:13:13 -05:00
Patrick Schleizer
0409aac3ae
readme 2019-12-23 02:09:04 -05:00
Patrick Schleizer
1ff56625a1
polkit-agent-helper-1 matchwhitelist to match both
- /usr/lib/policykit-1/polkit-agent-helper-1 matchwhitelist
- /lib/policykit-1/polkit-agent-helper-1
2019-12-23 01:42:03 -05:00
Patrick Schleizer
d484b299ea
matchwhitelist /qubes/qfile-unpacker to match both
- /usr/lib/qubes/qfile-unpacker whitelist
- /lib/qubes/qfile-unpacker
2019-12-23 01:38:31 -05:00
Patrick Schleizer
34bf245713
output 2019-12-23 01:35:45 -05:00
Patrick Schleizer
ba30e45d15
output 2019-12-23 01:32:42 -05:00
Patrick Schleizer
ee9c5742da
output 2019-12-23 01:29:48 -05:00
Patrick Schleizer
6d05359abc
output 2019-12-23 01:21:52 -05:00
Patrick Schleizer
a1e78e8515
fix needlessly re-adding entries 2019-12-23 01:20:56 -05:00
Patrick Schleizer
906b3d32e7
output 2019-12-23 01:09:57 -05:00
Patrick Schleizer
4f76867da6
lower debugging 2019-12-23 01:08:02 -05:00
Patrick Schleizer
dc6e5d8508
fix 2019-12-23 01:06:38 -05:00
Patrick Schleizer
87b999f92a
refactoring 2019-12-23 00:59:43 -05:00
Patrick Schleizer
065ff4bd05
sanity_tests 2019-12-23 00:59:24 -05:00
Patrick Schleizer
fef1469fe6
exit non-zero if capability removal failed 2019-12-23 00:51:14 -05:00
Patrick Schleizer
3670fcf48b
depend on libcap2-bin for setcap / getcap / capsh 2019-12-23 00:49:33 -05:00
Patrick Schleizer
17a8c29470
fix capability removal error handling
https://forums.whonix.org/t/disable-suid-binaries/7706/45
2019-12-23 00:47:49 -05:00
Patrick Schleizer
b631e2ecd8
refactoring 2019-12-23 00:36:41 -05:00
Patrick Schleizer
7aea304549
comment 2019-12-23 00:26:15 -05:00
Patrick Schleizer
f4b1df02ee
Remove suid / gid and execute permission for 'group' and 'others'.
Similar to: chmod og-ugx /path/to/filename

Removing execution permission is useful to make binaries such as 'su' fail closed rather
than fail open if suid was removed from these.

Do not remove read access since no security benefit and easier to manually undo for users.

chmod 744
2019-12-22 19:42:40 -05:00
Patrick Schleizer
58a4e0bc7d
dbus-daemon-launch-helper matchwhitelist 2019-12-22 19:12:10 -05:00
Patrick Schleizer
15e3a2832d
comment 2019-12-22 18:57:23 -05:00
Patrick Schleizer
6eb8fd257a
suid utempter/utempter matchwhitelist
to cover both:

/usr/lib/x86_64-linux-gnu/utempter/utempter
/lib/x86_64-linux-gnu/utempter/utempter
2019-12-22 18:56:36 -05:00
Patrick Schleizer
9409209b48
Merge remote-tracking branch 'origin/master' 2019-12-22 10:29:08 -05:00
Patrick Schleizer
bce02ffdc0
Merge pull request #47 from madaidan/msr
Blacklist CPU MSRs
2019-12-22 15:26:07 +00:00
madaidan
8f11a520f4
Update control 2019-12-22 13:54:16 +00:00
madaidan
dd93b11321
Blacklist CPU MSRs 2019-12-22 13:52:43 +00:00
Patrick Schleizer
008ce4817c
bumped changelog version 2019-12-21 14:55:03 -05:00
Patrick Schleizer
d300db3cde
output 2019-12-21 14:45:11 -05:00
Patrick Schleizer
3921846df6
comment 2019-12-21 14:36:42 -05:00
Patrick Schleizer
1213415ce6
bumped changelog version 2019-12-21 14:23:35 -05:00
Patrick Schleizer
2ddf7b5db5
/lib/ nosuid 2019-12-21 14:06:51 -05:00
Patrick Schleizer
1e8457ea47
no longer remount /lib
https://forums.whonix.org/t/re-mount-home-and-other-with-noexec-and-nosuid-among-other-useful-mount-options-for-better-security/7707/25
2019-12-21 14:06:10 -05:00
Patrick Schleizer
10c19d6a8f
Merge remote-tracking branch 'origin/master' 2019-12-21 13:00:41 -05:00
Patrick Schleizer
fffdf5090c
Merge pull request #46 from madaidan/remount-secure
Don't remount /sys/kernel/security
2019-12-21 17:59:56 +00:00
madaidan
f5a52aeddc
Don't remount /sys/kernel/security 2019-12-21 14:55:28 +00:00
Patrick Schleizer
b2260f48f4
add support for /etc/exec / /usr/local/etc/exec
to allow enabling exec on a per VM basis
2019-12-21 08:03:33 -05:00
Patrick Schleizer
1c99b56c9b
bumped changelog version 2019-12-21 07:49:55 -05:00
Patrick Schleizer
161b6f6b88
readme 2019-12-21 07:49:29 -05:00
Patrick Schleizer
b74e5ca972
comment 2019-12-21 07:47:00 -05:00
Patrick Schleizer
8fb17624bc
comment 2019-12-21 07:44:51 -05:00
Patrick Schleizer
aef796a524
disable debugging 2019-12-21 07:44:23 -05:00
Patrick Schleizer
1fe83d683f
comment 2019-12-21 07:43:55 -05:00
Patrick Schleizer
7c3da38bd5
comment 2019-12-21 07:42:25 -05:00
Patrick Schleizer
9050058bc2
fix 2019-12-21 07:42:01 -05:00
Patrick Schleizer
0c4db8c2b0
bumped changelog version 2019-12-21 07:38:25 -05:00
Patrick Schleizer
6b13a644df
add /usr/lib/security-misc/permission-hardening-undo 2019-12-21 07:37:41 -05:00
Patrick Schleizer
af8b04b73d
rm_conffile /etc/apparmor.d/usr.lib.security-misc.pam_tally2-info
rm_conffile /etc/apparmor.d/usr.lib.security-misc.permission-lockdown

https://github.com/Whonix/security-misc/pull/45
2019-12-21 06:58:01 -05:00
Patrick Schleizer
2350e0f5d0
Merge remote-tracking branch 'origin/master' 2019-12-21 06:57:10 -05:00
Patrick Schleizer
efd65a3f15
Merge pull request #45 from madaidan/apparmor
Delete apparmor profiles
2019-12-21 11:56:31 +00:00
Patrick Schleizer
3ea587187e
no need to exclude xorg nosuid on Debian
http://forums.whonix.org/t/permission-hardening/8655/25
2019-12-21 06:53:07 -05:00
Patrick Schleizer
c336bc4fd2
comment 2019-12-21 06:39:13 -05:00
Patrick Schleizer
fac17a963d
bumped changelog version 2019-12-21 06:28:19 -05:00
Patrick Schleizer
b5f88efe20
fix 2019-12-21 06:27:01 -05:00
Patrick Schleizer
2088628c8d
debugging 2019-12-21 06:24:08 -05:00
Patrick Schleizer
2dca031527
debugging 2019-12-21 06:22:46 -05:00
Patrick Schleizer
195e00cc87
output 2019-12-21 06:16:38 -05:00
Patrick Schleizer
78d33d8b57
bumped changelog version 2019-12-21 06:12:20 -05:00
Patrick Schleizer
4b21b6df41
fix 2019-12-21 06:11:44 -05:00
Patrick Schleizer
ff48b672a8
bumped changelog version 2019-12-21 06:00:17 -05:00
Patrick Schleizer
8436da2b7b
output 2019-12-21 05:58:50 -05:00
Patrick Schleizer
da15265e1c
fix 2019-12-21 05:55:23 -05:00
Patrick Schleizer
2a248fe0de
fix 2019-12-21 05:54:39 -05:00
Patrick Schleizer
4f12664362
output 2019-12-21 05:54:07 -05:00
Patrick Schleizer
e3355843c8
fix 2019-12-21 05:51:22 -05:00
Patrick Schleizer
234ec5fe93
fix 2019-12-21 05:47:35 -05:00
Patrick Schleizer
65b5adb2d7
bumped changelog version 2019-12-21 05:38:39 -05:00
Patrick Schleizer
7ff900c204
fix 2019-12-21 05:37:43 -05:00
Patrick Schleizer
2b5a49a61b
bumped changelog version 2019-12-21 05:31:55 -05:00
Patrick Schleizer
e1a5ee4bcf
output 2019-12-21 05:26:55 -05:00
Patrick Schleizer
66aaf3e22c
output 2019-12-21 05:25:54 -05:00
Patrick Schleizer
7aa7d0b5a0
improve error handling 2019-12-21 05:22:27 -05:00
Patrick Schleizer
8919d38de9
disable debugging 2019-12-21 05:21:46 -05:00
Patrick Schleizer
cf5dee64fd
refactoring 2019-12-21 05:18:34 -05:00
Patrick Schleizer
29cd9a0c38
fix 2019-12-21 05:17:35 -05:00
Patrick Schleizer
486027a4d7
fix 2019-12-21 05:15:38 -05:00
Patrick Schleizer
1fd26be864
fix 2019-12-21 05:14:51 -05:00
Patrick Schleizer
0fc97c37be
fix 2019-12-21 05:14:39 -05:00
Patrick Schleizer
1018d5b3b0
output 2019-12-21 05:11:51 -05:00
Patrick Schleizer
4388fc4d5a
refactoring 2019-12-21 05:11:19 -05:00
Patrick Schleizer
ed20980f4c
refactoring 2019-12-21 05:07:10 -05:00
Patrick Schleizer
315ce86b9a
refactoring 2019-12-21 04:33:03 -05:00
Patrick Schleizer
0c5848494b
do not remount if already has intended mount options 2019-12-21 04:21:26 -05:00
Patrick Schleizer
203f4ad46e
refactoring 2019-12-21 04:17:10 -05:00
Patrick Schleizer
e7fd0dadb0
output 2019-12-21 04:09:35 -05:00
Patrick Schleizer
e6ea21c775
record existing modes in separate dpkg-statoverwrite databases
to have a history of what was modified and to allow to undo changes
2019-12-21 04:08:35 -05:00
Patrick Schleizer
89be5f2ecb
bumped changelog version 2019-12-21 02:05:39 -05:00
madaidan
c28ddf5c4d
Delete usr.lib.security-misc.pam_tally2-info 2019-12-20 22:44:31 +00:00
madaidan
cfe69dd669
Delete usr.lib.security-misc.permission-lockdown 2019-12-20 22:44:27 +00:00
Patrick Schleizer
d220bb3bc4
suid /usr/lib/chromium/chrome-sandbox whitelist 2019-12-20 13:07:01 -05:00
Patrick Schleizer
77b3dd5d6b
comments 2019-12-20 13:02:33 -05:00
Patrick Schleizer
d7bd477e73
add "/usr/lib/xorg/Xorg.wrap whitelist"
until this is researched

https://manpages.debian.org/buster/xserver-xorg-legacy/Xorg.wrap.1.en.html
https://lwn.net/Articles/590315/
2019-12-20 12:59:27 -05:00
Patrick Schleizer
17e8605119
add matchwhitelist feature
add "/usr/lib/virtualbox/ matchwhitelist"
2019-12-20 12:57:24 -05:00
Patrick Schleizer
3fab387669
suid /usr/bin/firejail whitelist
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
2019-12-20 12:50:35 -05:00
Patrick Schleizer
d3f16a5bf4
sgid /usr/lib/qubes/qfile-unpacker whitelist 2019-12-20 12:47:10 -05:00
Patrick Schleizer
508ec0c6fa
comment 2019-12-20 12:34:07 -05:00
Patrick Schleizer
1b569ea790
comment 2019-12-20 12:32:36 -05:00
Patrick Schleizer
f88ca25889
fix terminology, sguid -> sgid
Thanks to @madaidan for the bug report!

https://forums.whonix.org/t/permission-hardening/8655/21
2019-12-20 11:58:07 -05:00
Patrick Schleizer
1cd5fb6a00
bumped changelog version 2019-12-20 11:50:25 -05:00
Patrick Schleizer
ff0a26fb5d
comment 2019-12-20 11:49:19 -05:00
Patrick Schleizer
71496a33ab
skip folders are these are not suid / guid 2019-12-20 11:47:53 -05:00
Patrick Schleizer
9321ecff41
no more need to add/remove / 2019-12-20 11:43:53 -05:00
Patrick Schleizer
b95225b6a6
pipefail 2019-12-20 11:37:05 -05:00
Patrick Schleizer
cad6f328f4
minor 2019-12-20 11:34:44 -05:00
Patrick Schleizer
3265f9894d
output 2019-12-20 11:27:43 -05:00
Patrick Schleizer
28d12c3966
bumped changelog version 2019-12-20 11:09:22 -05:00
Patrick Schleizer
1615ebec58
output 2019-12-20 11:07:44 -05:00
Patrick Schleizer
1e11b775cf
output 2019-12-20 11:05:05 -05:00
Patrick Schleizer
731f802895
output 2019-12-20 11:04:12 -05:00
Patrick Schleizer
cd8efe5800
output 2019-12-20 11:03:22 -05:00
Patrick Schleizer
c0ddb76d74
bumped changelog version 2019-12-20 10:50:51 -05:00
Patrick Schleizer
b31abea0af
improve error handling 2019-12-20 10:49:31 -05:00
Patrick Schleizer
79cd3b86b6
comment 2019-12-20 10:47:23 -05:00
Patrick Schleizer
b3458cc6ee
fix checking existing entries to avoid needless calls to dpkg-statoverride 2019-12-20 10:45:59 -05:00
Patrick Schleizer
370f3c5e54
comment 2019-12-20 10:35:05 -05:00
Patrick Schleizer
133d09f298
output 2019-12-20 10:33:16 -05:00
Patrick Schleizer
1ffa8e197e
speed up setuid removal by using find with '-perm /u=s,g=s'
https://forums.whonix.org/t/permission-hardening/8655/19
2019-12-20 10:31:26 -05:00
Patrick Schleizer
4cfdf2c65b
fix, re-enforce nosuid even if changed on the disk 2019-12-20 10:21:27 -05:00
Patrick Schleizer
e36868e675
output 2019-12-20 10:02:46 -05:00
Patrick Schleizer
50b8f65490
add sanity test: count if we really processed all files 2019-12-20 09:59:28 -05:00
Patrick Schleizer
e28da89253
/bin/sudo whitelist / /bin/bwrap whitelist 2019-12-20 09:48:06 -05:00
Patrick Schleizer
55faa7b997
fix missing processing files bug
https://forums.whonix.org/t/permission-hardening/8655/16
2019-12-20 09:43:23 -05:00
Patrick Schleizer
fbe2479f48
count processed file system objects
to be able to verify if any were "forgotten"
2019-12-20 08:54:56 -05:00
Patrick Schleizer
195ea522f5
fix 2019-12-20 08:52:14 -05:00
Patrick Schleizer
6f8231be70
debugging 2019-12-20 08:51:55 -05:00
Patrick Schleizer
ed50f98010
output 2019-12-20 08:47:22 -05:00
Patrick Schleizer
089c40135f
bumped changelog version 2019-12-20 08:15:00 -05:00
Patrick Schleizer
6d30e3b4a2
do not remove suid from whitelisted binaries ever
https://forums.whonix.org/t/permission-hardening/8655/13
2019-12-20 08:13:23 -05:00
Patrick Schleizer
d5f1bd8dd2
fix mode sanity check
no longer use seq due to issue

https://forums.whonix.org/t/permission-hardening/8655/13
2019-12-20 08:02:30 -05:00
Patrick Schleizer
ddc0eec63d
bumped changelog version 2019-12-20 07:12:36 -05:00
Patrick Schleizer
65248a94ef
readme 2019-12-20 07:06:50 -05:00
Patrick Schleizer
8e112c3423
description 2019-12-20 06:53:24 -05:00
Patrick Schleizer
24ea70384b
description 2019-12-20 06:53:03 -05:00
Patrick Schleizer
0ae3e689b5
comment 2019-12-20 06:35:02 -05:00
Patrick Schleizer
050f4d8b94
comment 2019-12-20 06:34:37 -05:00
Patrick Schleizer
36043fe5cc
comment 2019-12-20 06:33:41 -05:00
Patrick Schleizer
fb4254547b
comment 2019-12-20 06:32:04 -05:00
Patrick Schleizer
cca0908d9a
fix 2019-12-20 06:11:38 -05:00
Patrick Schleizer
e254b8b52d
fix 2019-12-20 06:09:17 -05:00
Patrick Schleizer
7f8b3c76de
output 2019-12-20 06:02:17 -05:00
Patrick Schleizer
071c64dc41
enable 'set -e' 2019-12-20 06:01:49 -05:00
Patrick Schleizer
b97c66707c
minor 2019-12-20 05:59:05 -05:00
Patrick Schleizer
17b4f12276
output 2019-12-20 05:58:42 -05:00
Patrick Schleizer
48fe7312bf
update config 2019-12-20 05:57:41 -05:00
Patrick Schleizer
87d820d84c
comment 2019-12-20 05:54:16 -05:00
Patrick Schleizer
918cbb4e25
output 2019-12-20 05:51:25 -05:00
Patrick Schleizer
c8cf09a4cb
output 2019-12-20 05:50:16 -05:00
Patrick Schleizer
46466c12ad
parse drop-in config folder rather than only one config file 2019-12-20 05:49:11 -05:00
Patrick Schleizer
66fd31189d
improve output if set-user-id / set-group-id is set 2019-12-20 05:37:33 -05:00
Patrick Schleizer
6dd6530fa5
remove hardening-enable
please invent package security-paranoid instead

https://forums.whonix.org/t/security-hardening-tool-usr-bin-hardening-enable-by-security-misc/8609
2019-12-20 05:32:26 -05:00
Patrick Schleizer
6c8127e3cd
remove "/lib/ nosuid" from permission hardening
Takes 1 minute to parse. No SUID binaries there by default.
remount-secure mounts it with nosuid anyhow.
Therefore no processing it here.
2019-12-20 05:29:37 -05:00
Patrick Schleizer
af0f074987
remount /lib with nosuid,nodev
https://forums.whonix.org/t/re-mount-home-and-other-with-noexec-and-nosuid-among-other-useful-mount-options-for-better-security/7707/22
2019-12-20 05:27:11 -05:00
Patrick Schleizer
7f20160477
comment 2019-12-20 05:24:00 -05:00
Patrick Schleizer
a135ae9400
use must manually enable permission-hardening.service
until development finished
2019-12-20 05:22:59 -05:00
Patrick Schleizer
fa6f1e1568
output 2019-12-20 05:19:39 -05:00
Patrick Schleizer
a26cb94bfd
globstar no longer required 2019-12-20 04:49:21 -05:00
Patrick Schleizer
c66e9abe18
comment 2019-12-20 04:48:57 -05:00
Patrick Schleizer
d1d0afff34
fix
fso: /lib/
usr/lib/security-misc/permission-hardening: line 19: /usr/bin/stat: Argument list too long

https://forums.whonix.org/t/kernel-hardening/7296/326
2019-12-20 04:48:02 -05:00
Patrick Schleizer
e74d2e4f94
output 2019-12-20 04:23:14 -05:00
Patrick Schleizer
eb86359033
refactoring 2019-12-20 04:20:05 -05:00
Patrick Schleizer
bb84fca184
refactoring 2019-12-20 04:08:46 -05:00
Patrick Schleizer
f92b414195
refactoring 2019-12-20 04:06:28 -05:00
Patrick Schleizer
4c44871e9d
comment 2019-12-20 04:02:05 -05:00
Patrick Schleizer
6876a2eaa8
comment 2019-12-20 04:01:40 -05:00
Patrick Schleizer
35c4fce61b
fix "dpkg-statoverride: warning: stripping trailing /" 2019-12-20 03:54:46 -05:00
Patrick Schleizer
9bd9012ab1
refactoring 2019-12-20 03:46:50 -05:00
Patrick Schleizer
788a2c1ba3
comment 2019-12-20 03:45:01 -05:00
Patrick Schleizer
55933f8876
refactoring 2019-12-20 03:43:36 -05:00
Patrick Schleizer
9e493a9f48
refactoring 2019-12-20 03:42:09 -05:00
Patrick Schleizer
b92a690c16
refactoring 2019-12-20 03:40:47 -05:00
Patrick Schleizer
98535e3a2b
refactoring 2019-12-20 03:39:25 -05:00
Patrick Schleizer
ecbba2fd61
refactoring 2019-12-20 03:38:39 -05:00
Patrick Schleizer
20b8a407ac
refactoring 2019-12-20 03:25:17 -05:00
Patrick Schleizer
6cd9eb44fb
refactoring 2019-12-20 03:24:07 -05:00
Patrick Schleizer
706dba104d
code simplification 2019-12-20 03:19:12 -05:00
Patrick Schleizer
01dd567f8b
fix, if fso has exactly the mode we want (not 3 instead of 4 string length), not need to reset it 2019-12-20 03:16:43 -05:00
Patrick Schleizer
4f65b0fc1e
refactoring 2019-12-20 03:13:27 -05:00
Patrick Schleizer
bfee6b60cb
comment 2019-12-20 03:11:11 -05:00
Patrick Schleizer
d64cdc1247
refactoring 2019-12-20 03:04:41 -05:00
Patrick Schleizer
7c5c65a6c1
comment 2019-12-20 03:04:13 -05:00
Patrick Schleizer
b31d8cd3fc
fix 2019-12-20 03:03:40 -05:00
Patrick Schleizer
c626290673
refactoring 2019-12-20 03:02:26 -05:00
Patrick Schleizer
d5ff1d6f28
refactoring 2019-12-20 03:00:39 -05:00
Patrick Schleizer
640ca1d24d
skip symlinks
https://forums.whonix.org/t/kernel-hardening/7296/323?
2019-12-20 02:57:57 -05:00
Patrick Schleizer
cc8f795799
comment 2019-12-20 02:47:04 -05:00
Patrick Schleizer
4e5b222a08
comment 2019-12-20 02:43:33 -05:00
Patrick Schleizer
fa895ee11e
refactoring 2019-12-20 02:40:42 -05:00
Patrick Schleizer
2c163bf439
check string length of permission variable
https://forums.whonix.org/t/kernel-hardening/7296/322
2019-12-20 02:39:53 -05:00
Patrick Schleizer
a89befd902
code simplification 2019-12-20 02:20:54 -05:00
Patrick Schleizer
72812da63f
comment 2019-12-20 02:16:32 -05:00
Patrick Schleizer
39a41cc27b
refactoring 2019-12-20 02:14:45 -05:00
Patrick Schleizer
2ed6452590
downgrade to info 2019-12-20 02:12:43 -05:00
Patrick Schleizer
a5e55dfcfc
quotes 2019-12-20 02:11:39 -05:00
Patrick Schleizer
3187cee4fb
output 2019-12-20 02:10:13 -05:00
Patrick Schleizer
5160b4c781
disable xtrace 2019-12-20 02:08:05 -05:00
Patrick Schleizer
27bfe95d25
add echo wrapper 2019-12-20 02:07:49 -05:00
Patrick Schleizer
a6988f3fb8
output 2019-12-20 02:06:31 -05:00
Patrick Schleizer
1819577b88
fix 2019-12-20 02:04:34 -05:00
Patrick Schleizer
278c60c5a0
exit non-zero if some line cannot be parsed
therefore make systemd notice this

therefore allow the sysadmin to notice this
2019-12-20 02:01:36 -05:00
Patrick Schleizer
66bcba8313
improve character whitelisting 2019-12-20 01:58:35 -05:00
Patrick Schleizer
8f14e808a9
send error messages to stderr 2019-12-20 01:32:49 -05:00
Patrick Schleizer
d8c9fac2e5
output 2019-12-20 01:32:08 -05:00
Patrick Schleizer
f19abaf627
refactoring 2019-12-20 01:31:37 -05:00
Patrick Schleizer
c5d1e9dda7
Merge remote-tracking branch 'origin/master' 2019-12-20 01:30:31 -05:00
Patrick Schleizer
a20b30013f
Merge pull request #44 from madaidan/permission-hardening
Remove SUID bits
2019-12-20 06:29:58 +00:00
madaidan
9df7407286
Remove SUID bits 2019-12-19 17:01:33 +00:00
madaidan
3c2ca0257f
Support for removing SUID bits 2019-12-19 17:01:08 +00:00
Patrick Schleizer
62eb462920
skip console_users_check for Qubes users 2019-12-16 06:46:48 -05:00
Patrick Schleizer
ab68182e11
bumped changelog version 2019-12-16 06:27:51 -05:00
Patrick Schleizer
2cab38a8b3
readme 2019-12-16 06:24:14 -05:00
Patrick Schleizer
4ca9fc5920
fix 2019-12-16 03:53:10 -05:00
Patrick Schleizer
f68efd53cf
remount /sys/kernel/security with nodev,nosuid[,noexec]
as suggested by @madaidan

http://forums.whonix.org/t/apparmor-for-complete-system-including-init-pid1-systemd-everything-full-system-mac-policy/8339/238
2019-12-16 03:52:09 -05:00
Patrick Schleizer
2c4170e6f3
description 2019-12-12 09:47:58 -05:00
Patrick Schleizer
2d5ef378f3
description 2019-12-12 09:39:39 -05:00
Patrick Schleizer
300f010fc2
increase priority of pam-abort-on-locked-password-security-misc
since it has its own user help output

so it shows before pam tally2 info

to avoid duplicate non-applicable help text
2019-12-12 09:29:00 -05:00
Patrick Schleizer
a10597de92
bumped changelog version 2019-12-12 09:04:15 -05:00
Patrick Schleizer
729fa26eca
use pam_acccess only for /etc/pam.d/login
remove "Allow members of group 'ssh' to login."
remove "+:ssh:ALL EXCEPT LOCAL"
2019-12-12 09:00:08 -05:00
Patrick Schleizer
22b6480bc4
bumped changelog version 2019-12-10 11:44:02 -05:00
Patrick Schleizer
88bea2a6ef
comment 2019-12-10 03:53:10 -05:00
Patrick Schleizer
7d8001ddc9
refactoring 2019-12-10 03:51:39 -05:00
Patrick Schleizer
d2f6ac0491
fix, do user/group modifications in preinst rather than postinst 2019-12-10 03:50:23 -05:00
Patrick Schleizer
64ae53edb9
bumped changelog version 2019-12-09 08:25:30 -05:00
Patrick Schleizer
d80bf036f3
Disable permission hardening now until development finished / tested. 2019-12-09 03:50:43 -05:00
Patrick Schleizer
b72eb30056
quotes 2019-12-09 02:32:05 -05:00
Patrick Schleizer
c258376b7e
use read (built-in) rather than awk (external) 2019-12-09 02:31:10 -05:00
Patrick Schleizer
02165201ab
read -r; refactoring
as per https://mywiki.wooledge.org/BashFAQ/001
2019-12-09 02:23:43 -05:00
Patrick Schleizer
7467252122
quotes 2019-12-09 02:22:16 -05:00
Patrick Schleizer
9bea996017
Merge remote-tracking branch 'origin/master' 2019-12-09 02:21:47 -05:00
Patrick Schleizer
af62da3445
Merge pull request #42 from madaidan/permission-hardening
File permission hardening
2019-12-08 20:45:16 +00:00
madaidan
d7e2deae92
Create permission-hardening.service 2019-12-08 16:50:54 +00:00
madaidan
6c564f6e95
Create permission-hardening.conf 2019-12-08 16:50:11 +00:00
madaidan
61e19fa5f1
Create permission-hardening 2019-12-08 16:49:28 +00:00
Patrick Schleizer
6f944234a9
bumped changelog version 2019-12-08 05:26:29 -05:00
Patrick Schleizer
e64741c01e
readme 2019-12-08 05:25:19 -05:00
Patrick Schleizer
c192644ee3
security-misc /usr/share/pam-configs/permission-lockdown-security-misc is no longer required, removed.
Thereby fix apparmor issue.

> Dec 08 09:47:50 host audit[3232]: AVC apparmor="DENIED" operation="exec" profile="/usr/bin/whonixcheck" name="/usr/lib/security-misc/permission-lockdown" pid=3232 comm="sudo" requested_mask="x" denied_mask="x" fsuid=0 ouid=0
> Dec 08 09:47:50 host sudo[3232]: pam_exec(sudo:session): execve(/usr/lib/security-misc/permission-lockdown,...) failed: Permission denied

It is no longer required, because...

existing linux user accounts:

* Get permission lock down because security-misc `debian/security-misc.postinst` calls `/usr/lib/security-misc/permission-lockdown`.

new linux user accounts (created at first boot):

* security-misc `/usr/share/pam-configs/mkhomedir-security-misc` pam mkhomedir sets secure permissions using `umask=027`.
2019-12-08 05:21:35 -05:00
Patrick Schleizer
edcc2de71d
bumped changelog version 2019-12-08 04:38:33 -05:00
Patrick Schleizer
1227ccd1f7
After=qubes-sysinit.service 2019-12-08 04:37:53 -05:00
Patrick Schleizer
17d81d0083
bumped changelog version 2019-12-08 04:27:01 -05:00
Patrick Schleizer
ebae9eef38
skip sudo_users_check in Qubes
Qubes users can use dom0 to get a root terminal emulator.

For example:
qvm-run -u root debian-10 xterm
2019-12-08 04:25:19 -05:00
Patrick Schleizer
53e4717c62
bumped changelog version 2019-12-08 04:05:29 -05:00
Patrick Schleizer
bc45ed385e
readme 2019-12-08 04:03:02 -05:00
Patrick Schleizer
ac96708b24
improve usr/bin/hardening-enable 2019-12-08 04:01:11 -05:00
Patrick Schleizer
a345a0fb64
abort installation if ssh.service is enabled but no user is member of group ssh 2019-12-08 03:27:12 -05:00
Patrick Schleizer
50ac03363f
output 2019-12-08 03:18:32 -05:00
Patrick Schleizer
c7c65fe4e7
higher priority usr/share/pam-configs/tally2-security-misc
so it can give info before pam stack gets aborted by other pam modules
2019-12-08 03:15:53 -05:00
Patrick Schleizer
3bd0b3f837
notify when attempting to use ssh but user is member of group ssh 2019-12-08 03:10:41 -05:00
Patrick Schleizer
cea598dc1a
refactoring 2019-12-08 02:43:05 -05:00
Patrick Schleizer
54f5e02c21
comment 2019-12-08 02:42:30 -05:00
Patrick Schleizer
b4265195f4
refactoring 2019-12-08 02:41:36 -05:00
Patrick Schleizer
0f65b2e85c
abort installation if no user is a member of group "console"; output
https://forums.whonix.org/t/etc-security-hardening-console-lockdown-pam-access-access-conf/8592/7
2019-12-08 02:38:19 -05:00
Patrick Schleizer
1dbca1ea2d
add usr/bin/hardening-enable 2019-12-08 02:27:09 -05:00
Patrick Schleizer
19cc6d7555
pam description 2019-12-08 02:10:43 -05:00
Patrick Schleizer
24423b42f0
description 2019-12-08 02:03:05 -05:00
Patrick Schleizer
6b01e5be14
comment 2019-12-08 02:01:22 -05:00
Patrick Schleizer
66bebefc9f
description 2019-12-08 02:00:23 -05:00
Patrick Schleizer
52e0f104cc
comment 2019-12-08 01:59:55 -05:00
Patrick Schleizer
731d486fa0
refactoring 2019-12-08 01:58:58 -05:00
Patrick Schleizer
221a2df2a2
refactoring 2019-12-08 01:58:37 -05:00
Patrick Schleizer
b871421a54
usr/share/pam-configs/console-lockdown -> usr/share/pam-configs/console-lockdown-security-misc 2019-12-08 01:57:43 -05:00
Patrick Schleizer
d36669596f
comment 2019-12-08 01:56:30 -05:00
Patrick Schleizer
1a0f353708
comment 2019-12-08 01:47:40 -05:00
Patrick Schleizer
eed1f0a462
comment 2019-12-08 01:46:32 -05:00
Patrick Schleizer
2491b62393
refactoring, add all groups first before adding any users to any groups 2019-12-08 01:43:45 -05:00
Patrick Schleizer
1464f01d19
description 2019-12-08 01:30:42 -05:00
Patrick Schleizer
491dd4d93d
Merge remote-tracking branch 'origin/master' 2019-12-08 01:22:16 -05:00
Patrick Schleizer
a78a7e5571
Merge pull request #41 from madaidan/system.map
Check for more locations of System.map
2019-12-08 06:21:44 +00:00
madaidan
6846a94327
Check for more locations of System.map 2019-12-07 19:38:12 +00:00
Patrick Schleizer
9432d16378
/usr/bin/cat mrix, 2019-12-07 12:13:42 -05:00
Patrick Schleizer
373e8733d3
Merge remote-tracking branch 'origin/master' 2019-12-07 11:34:42 -05:00
Patrick Schleizer
447eb14432
Merge pull request #40 from madaidan/system.map
Remove hyphen from remove-system.map
2019-12-07 16:34:21 +00:00
Patrick Schleizer
c1800b13fe
separate group "ssh" for incoming ssh console permission
Thanks to @madaidan

https://forums.whonix.org/t/etc-security-hardening-console-lockdown-pam-access-access-conf/8592/16
2019-12-07 11:26:39 -05:00
madaidan
668b6420de
Remove hyphen 2019-12-07 14:15:02 +00:00
Patrick Schleizer
55225aa30e
description 2019-12-07 07:16:07 -05:00
Patrick Schleizer
34a2bc16c8
description 2019-12-07 07:15:58 -05:00
Patrick Schleizer
d823f06c78
description 2019-12-07 07:13:42 -05:00
Patrick Schleizer
9ba84f34c6
comment 2019-12-07 06:51:59 -05:00
Patrick Schleizer
dc1dfc8c20
output 2019-12-07 06:51:16 -05:00
Patrick Schleizer
8636d2f629
add securetty 2019-12-07 06:51:10 -05:00
Patrick Schleizer
532a1525c2
comment 2019-12-07 06:26:55 -05:00
Patrick Schleizer
14aa6c5077
comment 2019-12-07 06:26:23 -05:00
Patrick Schleizer
8b3f5a555b
add console lockdown to pam info output 2019-12-07 06:25:45 -05:00
Patrick Schleizer
021b06dac9
add hvc0 to hvc9 2019-12-07 06:04:45 -05:00
Patrick Schleizer
8a59662a44
comment 2019-12-07 06:02:45 -05:00
Patrick Schleizer
090ddbe96a
description 2019-12-07 06:00:41 -05:00
Patrick Schleizer
cda6724755
add pts/0 to pts/9 2019-12-07 05:56:57 -05:00
Patrick Schleizer
218cbddba9
comment 2019-12-07 05:52:06 -05:00
Patrick Schleizer
6479c883bf
Console Lockdown.
Allow members of group 'console' to use tty1 to tty7. 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)

Not enabled by default in this package since this package does not know which
users shall be added to group 'console'.

In new Whonix builds, user 'user" will be added to group 'console' and
pam console-lockdown enabled by package anon-base-files.

/usr/share/pam-configs/console-lockdown

/etc/security/access-security-misc.conf

https://forums.whonix.org/t/etc-security-hardening/8592
2019-12-07 05:40:20 -05:00
Patrick Schleizer
52934c9288
bumped changelog version 2019-12-07 02:02:32 -05:00
Patrick Schleizer
6faa977cd7
readme 2019-12-07 02:02:06 -05:00
Patrick Schleizer
6d92d03b31
description 2019-12-07 01:54:50 -05:00
Patrick Schleizer
5a4eda0d05
also support /usr/local/etc/remount-disable and /usr/local/etc/noexec 2019-12-07 01:53:33 -05:00
Patrick Schleizer
0afcc5e798
bumped changelog version 2019-12-06 12:43:21 -05:00
Patrick Schleizer
2954dcbccf
minor 2019-12-06 12:24:55 -05:00
Patrick Schleizer
f3647e7478
RemainAfterExit=yes 2019-12-06 12:18:18 -05:00
Patrick Schleizer
af0cf058e7
bumped changelog version 2019-12-06 11:18:20 -05:00
Patrick Schleizer
9b14f24d5e
refactoring 2019-12-06 11:17:32 -05:00
Patrick Schleizer
a6133f5912
output 2019-12-06 11:16:43 -05:00
Patrick Schleizer
c1ea35e2ef
output 2019-12-06 11:15:54 -05:00
Patrick Schleizer
4bec41379d
fix remount with noexec if /etc/noexec exists 2019-12-06 11:15:13 -05:00
Patrick Schleizer
bff425fec2
bumped changelog version 2019-12-06 09:32:18 -05:00
Patrick Schleizer
b22289f2a8
readme 2019-12-06 09:30:05 -05:00
Patrick Schleizer
470cad6e91
remount /home /tmp /dev/shm /run with nosuid,nodev (default) and noexec (opt-in)
https://forums.whonix.org/t/re-mount-home-and-other-with-noexec-and-nosuid-among-other-useful-mount-options-for-better-security/7707
2019-12-06 05:14:02 -05:00
Patrick Schleizer
8cf5ed990a
comment 2019-12-05 15:52:24 -05:00
Patrick Schleizer
19add3299c
Merge remote-tracking branch 'origin/master' 2019-12-05 15:46:19 -05:00
Patrick Schleizer
9679292878
Merge pull request #39 from madaidan/rp_filter
Enable reverse path filtering
2019-12-05 20:33:47 +00:00
madaidan
af9e19c51f
Update control 2019-12-05 20:14:55 +00:00
madaidan
30289c68c2
Enable reverse path filtering 2019-12-05 20:13:10 +00:00
Patrick Schleizer
0c25a96b59
description / comments 2019-12-03 02:18:32 -05:00
Patrick Schleizer
d26ba05c47
Merge remote-tracking branch 'origin/master' 2019-12-03 01:52:04 -05:00
Patrick Schleizer
73c6410a0e
Merge pull request #38 from madaidan/distrust-cpu
Distrust the CPU for initial entropy
2019-12-03 06:51:31 +00:00
madaidan
8d63da3cef
Update control 2019-12-02 16:46:12 +00:00
madaidan
5da2a27bf0
Distrust the CPU for initial entropy 2019-12-02 16:43:00 +00:00
Patrick Schleizer
6ca48fffdc
bumped changelog version 2019-11-28 10:22:41 -05:00
Patrick Schleizer
ab696f5571
readme 2019-11-28 10:05:39 -05:00
Patrick Schleizer
25aed91eb1
description 2019-11-28 09:20:46 -05:00
Patrick Schleizer
0c4e5df3e0
description 2019-11-28 09:18:05 -05:00
Patrick Schleizer
5ac2a6f9ac
description 2019-11-28 09:17:32 -05:00
Patrick Schleizer
ff3412fbe0
fix, make sure to undo pam changes on package removal
Thanks to minimal for the bug report!

https://forums.whonix.org/t/is-security-misc-suitable-for-hardening-bridges-and-relays/8299/11
2019-11-27 10:22:31 -05:00
Patrick Schleizer
62b924eea7
Merge remote-tracking branch 'origin/master' 2019-11-26 13:00:36 -05:00
Patrick Schleizer
ba02dcb267
Merge pull request #37 from madaidan/apparmor-fixes
Fix permission-lockdown
2019-11-26 18:00:11 +00:00
madaidan
d9d6d07714
/dev/pts/[0-9]* rw, 2019-11-26 17:12:12 +00:00
Patrick Schleizer
9091f69edd
bumped changelog version 2019-11-25 08:51:36 +00:00
Patrick Schleizer
57ce06c0eb
readme 2019-11-25 08:41:45 +00:00
Patrick Schleizer
aa5451c8cd
Lock user accounts after 50 rather than 100 failed login attempts.
https://forums.whonix.org/t/how-strong-do-linux-user-account-passwords-have-to-be-when-using-full-disk-encryption-fde-too/7698/19
2019-11-25 01:39:53 -05:00
Patrick Schleizer
6277db1383
bumped changelog version 2019-11-23 14:07:45 +00:00
Patrick Schleizer
6a6a638ef0
readme 2019-11-23 14:06:28 +00:00
Patrick Schleizer
fe1f1b73a7
load jitterentropy_rng kernel module for better entropy collection
https://www.whonix.org/wiki/Dev/Entropy

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=927972

https://forums.whonix.org/t/jitterentropy-rngd/7204
2019-11-23 11:20:32 +00:00
Patrick Schleizer
d32024a3da
/usr/sbin/pam_tally2 mrix,
https://forums.whonix.org/t/apparmor-for-complete-system-including-init-pid1-systemd-everything-full-system-mac-policy/8339/152
2019-11-23 05:53:19 -05:00
Patrick Schleizer
03e8023847
output 2019-11-22 14:11:30 -05:00
Patrick Schleizer
e76e1475b0
comment 2019-11-22 12:24:35 -05:00
Patrick Schleizer
a99dfd067a
bumped changelog version 2019-11-19 15:31:55 +00:00
Patrick Schleizer
81e4f580af
etc/apparmor.d/usr.lib.security-misc.permission-lockdown: /usr/bin/chmod mrix, 2019-11-19 15:29:02 +00:00
Patrick Schleizer
8ad8dbea5a
bumped changelog version 2019-11-18 19:16:16 +00:00
Patrick Schleizer
9a20b85fe1
Merge remote-tracking branch 'origin/master' 2019-11-17 11:20:17 -05:00
Patrick Schleizer
2b17c0f3e4
Merge pull request #36 from madaidan/hidepid-fix
Remove proc-hidepid systemd sandboxing
2019-11-17 16:19:55 +00:00
madaidan
e92022a21c
Remove systemd sandboxing 2019-11-16 14:56:28 +00:00
Patrick Schleizer
477d476bb1
etc/apparmor.d/usr.lib.security-misc.pam_tally2-info: add '#include <abstractions/base>' 2019-11-10 08:29:44 -05:00
Patrick Schleizer
11dc23bf08
etc/apparmor.d/usr.lib.security-misc.permission-lockdown: add '#include <abstractions/base>' 2019-11-10 08:28:32 -05:00
Patrick Schleizer
d1d61b106b
bumped changelog version 2019-11-09 18:44:50 +00:00
Patrick Schleizer
9f2932faab
/usr/bin/id rix, 2019-11-09 13:32:21 -05:00
Patrick Schleizer
6b7df973f6
bumped changelog version 2019-11-09 12:57:45 +00:00
Patrick Schleizer
2e73c053b5
fix lintian warning 2019-11-09 12:55:00 +00:00
Patrick Schleizer
6e28774f95
bumped changelog version 2019-11-09 12:23:15 +00:00
Patrick Schleizer
94d40c68d4
do not set kernel boot parameter page_poison=1 in Qubes since does not work
https://github.com/QubesOS/qubes-issues/issues/5212#issuecomment-533873012
2019-11-05 10:02:55 -05:00
Patrick Schleizer
f57702c158
comments; copyright 2019-11-05 09:55:43 -05:00
Patrick Schleizer
74293bcd2f
output 2019-11-05 01:59:25 -05:00
Patrick Schleizer
2b5b06b602
output 2019-11-05 01:59:19 -05:00
Patrick Schleizer
d6977becba
refactoring 2019-11-05 01:51:14 -05:00
Patrick Schleizer
daf0006795
comment 2019-11-05 01:50:27 -05:00
Patrick Schleizer
78defc4d0b
add /var/cache/security-misc/state-files/placeholder file
to make sure folder already exists to avoid AppArmor issue

https://forums.whonix.org/t/apparmor-for-complete-system-including-init-pid1-systemd-everything-full-system-mac-policy/8339/76
2019-11-03 04:34:31 -05:00
Patrick Schleizer
7c0ec7e507
readme 2019-11-03 04:23:40 -05:00
Patrick Schleizer
b55c2fd62e
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).

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
2019-11-03 02:50:51 -05:00
Patrick Schleizer
bf62306d4f
bumped changelog version 2019-10-31 16:34:35 +00:00
Patrick Schleizer
e1375802eb
apparmor fix
https://forums.whonix.org/t/apparmor-for-complete-system-including-init-pid1-systemd-everything-full-system-mac-policy/8339/67
2019-10-31 16:32:28 +00:00
Patrick Schleizer
6e5d8b357d
bumped changelog version 2019-10-31 16:06:51 +00:00
Patrick Schleizer
203d5cfa68
copyright 2019-10-31 11:19:44 -04:00
Patrick Schleizer
f001250ae6
Merge remote-tracking branch 'origin/master' 2019-10-28 10:31:30 -04:00
Patrick Schleizer
5a3cbe8100
Merge pull request #35 from madaidan/apparmor
Apparmor profiles
2019-10-28 14:30:45 +00:00
madaidan
0e49bdc45f
Licensing 2019-10-28 14:26:14 +00:00
madaidan
5d5ad92638
Licensing 2019-10-28 14:26:05 +00:00
madaidan
0699747fcb
Debian packaging 2019-10-28 14:24:37 +00:00
madaidan
fe4e29d392
Depend on dh-apparmor 2019-10-28 14:22:47 +00:00
madaidan
1b8b3610b1
Create usr.lib.security-misc.pam_tally2-info 2019-10-28 14:20:59 +00:00
madaidan
29b05546e4
Create usr.lib.security-misc.permission-lockdown 2019-10-28 14:20:08 +00:00
Patrick Schleizer
d832ab91bd
bumped changelog version 2019-10-23 10:22:03 +00:00
Patrick Schleizer
bce5274a15
quotes fix 2019-10-22 09:22:29 -04:00
Patrick Schleizer
e20b9e2133
better solution when using pkexec with --user: wrap sudo --user with lxqt-sudo 2019-10-22 09:08:18 -04:00
Patrick Schleizer
d4e02de43a
set SUDO_ASKPASS for pkexec wrapper when using sudo --askpass 2019-10-22 09:04:44 -04:00
Patrick Schleizer
1a65a91039
long rather than short option 2019-10-22 08:56:05 -04:00
Patrick Schleizer
b55913637b
silence output by mount/grep 2019-10-22 08:54:48 -04:00
Patrick Schleizer
a1154170c9
Call original pkexec in case there are no arguments. 2019-10-22 08:54:17 -04:00
Patrick Schleizer
9c8f678cb9
bumped changelog version 2019-10-21 09:55:41 +00:00
Patrick Schleizer
1e4d0ea1d0
fix lintian warning 2019-10-21 09:55:05 +00:00
Patrick Schleizer
343d9cc916
fix 2019-10-21 09:53:55 +00:00
Patrick Schleizer
2d436f3602
bumped changelog version 2019-10-21 09:51:36 +00:00
Patrick Schleizer
af3f42dabf
readme 2019-10-21 09:51:12 +00:00
Patrick Schleizer
40707e70db
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

Thanks to AnonymousUser for the bug report!
2019-10-21 05:46:49 -04:00
Patrick Schleizer
31b771ac2e
bumped changelog version 2019-10-18 10:39:43 +00:00
Patrick Schleizer
2613525b94
readme 2019-10-18 10:39:19 +00:00
Patrick Schleizer
957deac5cb
fix lintian warning
W: security-misc: maintainer-script-should-not-parse-etc-passwd-or-group preinst:19
2019-10-18 10:38:25 +00:00
Patrick Schleizer
d301e7f365
description, fix lintian warning 2019-10-18 10:36:44 +00:00
Patrick Schleizer
ce6b64a9ba
bumped changelog version 2019-10-18 08:55:07 +00:00
Patrick Schleizer
20b7faa61f
readme 2019-10-18 08:54:43 +00:00
Patrick Schleizer
c9d75ef9ea
abort installation if no user is part of group sudo
https://forums.whonix.org/t/is-security-misc-suitable-for-hardening-bridges-and-relays/8299/4

Thanks to minimal for the bug report!
2019-10-17 06:46:47 -04:00
Patrick Schleizer
a5045dc26e
set -e 2019-10-17 06:18:32 -04:00
Patrick Schleizer
0b8725306f
renamed: etc/hide-hardware-info.d/30_whitelist.conf -> etc/hide-hardware-info.d/30_default.conf 2019-10-17 06:13:44 -04:00
Patrick Schleizer
4aba027566
syntax check 2019-10-17 06:12:36 -04:00
Patrick Schleizer
8b9aa8841a
fix 2019-10-17 06:11:01 -04:00
Patrick Schleizer
cfbd77040a
set "shopt -s nullglob" to avoid failing when folder /etc/hide-hardware-info.d
does not exist or is empty
2019-10-17 06:10:29 -04:00
Patrick Schleizer
b05663c5f6
shuffle
https://forums.whonix.org/t/restrict-hardware-information-to-root/7329/80
2019-10-17 06:08:55 -04:00
Patrick Schleizer
28a440091d
code simplification 2019-10-17 06:08:16 -04:00
Patrick Schleizer
3c4e261c20
remove trailing spaces 2019-10-17 06:05:23 -04:00
Patrick Schleizer
c8e0303d6d
Merge remote-tracking branch 'origin/master' 2019-10-17 06:04:34 -04:00
Patrick Schleizer
8a42c5b023
Merge pull request #34 from madaidan/whitelist
Add a whitelist for /sys and /proc/cpuinfo
2019-10-17 09:59:12 +00:00
Patrick Schleizer
994ca024c2
Merge pull request #33 from madaidan/documentation
Improve documentation
2019-10-17 06:19:46 +00:00
madaidan
61f742304d
return 0 2019-10-16 19:46:59 +00:00
madaidan
259b1f2c71
Update control 2019-10-16 19:21:24 +00:00
madaidan
ffba0e0179
Elaborate 2019-10-16 19:04:15 +00:00
madaidan
4f5b7816ec
Elaborate 2019-10-16 19:01:49 +00:00
madaidan
99a762d3dc
KASLR is different from ASLR 2019-10-16 18:53:04 +00:00
madaidan
a14a2854c6
Elaborate 2019-10-16 18:52:14 +00:00
madaidan
f08c03ab21
Restrict sysfs/cpuinfo if the whitelist is disabled 2019-10-16 15:39:23 +00:00
madaidan
af607d5eb2
Create sysfs and cpuinfo groups 2019-10-15 21:02:03 +00:00
madaidan
42c1701d5c
Whitelist user@.service 2019-10-15 21:00:03 +00:00
madaidan
a47a2fca8b
Create 30_whitelist.conf 2019-10-15 20:58:58 +00:00
madaidan
6b78dbcd07
Add way to whitelist things 2019-10-15 20:57:02 +00:00
Patrick Schleizer
4b1b3b7d66
bumped changelog version 2019-10-14 10:23:01 +00:00
Patrick Schleizer
c19964360a
readme 2019-10-14 10:10:08 +00:00
Patrick Schleizer
c22738be02
comments 2019-10-07 08:25:45 +00:00
Patrick Schleizer
75f36bc2c9
comments 2019-10-07 08:25:07 +00:00
Patrick Schleizer
e92a8a6966
comments 2019-10-07 08:24:02 +00:00
Patrick Schleizer
60c044a9d6
copyright / comments 2019-10-07 05:30:56 +00:00
Patrick Schleizer
cd2135ff82
comments 2019-10-06 10:18:24 +00:00
Patrick Schleizer
8b4f2befd4
comment out sack by default
https://forums.whonix.org/t/disabling-tcp-sack-dsack-fack/8109/8?u=patrick
2019-10-05 13:15:34 +00:00
Patrick Schleizer
02096f8d7c
Revert "undo Disabling TCP SACK, DSACK, FACK"
This reverts commit 5fb4eb8e561e7c37cea977072944501fc32ee883.
2019-10-05 13:13:46 +00:00
Patrick Schleizer
62a0239207
bumped changelog version 2019-10-05 11:33:15 +00:00
Patrick Schleizer
54b83ae44d
readme 2019-10-05 07:20:18 -04:00
Patrick Schleizer
5fb4eb8e56
undo Disabling TCP SACK, DSACK, FACK
https://forums.whonix.org/t/disabling-tcp-sack-dsack-fack/8109/5
2019-10-05 07:00:47 -04:00
Patrick Schleizer
c19942f72b
Merge remote-tracking branch 'origin/master' 2019-10-05 06:58:27 -04:00
Patrick Schleizer
a33851a3c9
Merge pull request #32 from madaidan/disable-dsack-fack
Disable TCP DSACK and FACK
2019-10-05 10:58:08 +00:00
Patrick Schleizer
213aef6eb9
bumped changelog version 2019-10-05 09:40:26 +00:00
Patrick Schleizer
aaebb32b66
readme 2019-10-05 09:39:05 +00:00
Patrick Schleizer
c87fc75f2a
fix, run remove-system-map.service during sysinit.target 2019-10-05 09:36:21 +00:00
Patrick Schleizer
25b6746784
fix systemd unit file proc-hidepid.service: WantedBy=sysinit.target 2019-10-05 09:14:54 +00:00
Patrick Schleizer
d2bc3a2a08
chmod +x usr/lib/security-misc/hide-hardware-info 2019-10-05 09:14:41 +00:00
Patrick Schleizer
ffe0d62c81
Merge remote-tracking branch 'origin/master' 2019-10-05 04:49:05 -04:00
Patrick Schleizer
7bcf73deaa
Merge pull request #31 from madaidan/hide-hardware-info
Restrict /proc/cpuinfo, /proc/bus, /proc/scsi and /sys to root
2019-10-05 08:46:21 +00:00
madaidan
d0c6bb1e90
Disable TCP DSACK and FACK 2019-10-04 17:35:54 +00:00
madaidan
7345287560
Use sysinit.target instead 2019-10-04 17:32:52 +00:00
madaidan
e06eeec678
Disable hide-hardware-info.service by default 2019-10-03 21:42:06 +00:00
madaidan
87917d2f03
Add licensing 2019-10-03 21:38:07 +00:00
madaidan
b06ab912c0
Add licensing 2019-10-03 21:37:29 +00:00
madaidan
ec5fcf813b
Update control 2019-10-03 20:50:48 +00:00
madaidan
ce97e5ed82
Create hide-hardware-info.service 2019-10-03 20:45:29 +00:00
madaidan
9449f5017a
Create hide-hardware-info 2019-10-03 20:45:14 +00:00
Patrick Schleizer
ddc778b452
bumped changelog version 2019-09-16 13:34:11 +00:00
Patrick Schleizer
75258843e9
copyright 2019-09-16 13:03:43 +00:00
Patrick Schleizer
8e39cea876
comment 2019-09-16 13:03:25 +00:00
Patrick Schleizer
bac462f211
comment 2019-09-16 13:03:02 +00:00
Patrick Schleizer
bec680d4f3
pam_tally2-info: fix, do nothing when started as user "user"
xscreensaver runs as user "user", therefore pam_tally2 cannot function.
xscreensaver has its own failed login counter.

as user "user"
/sbin/pam_tally2 -u user
pam_tally2: Error opening /var/log/tallylog for update: Permission denied
/sbin/pam_tally2: Authentication error

https://askubuntu.com/questions/983183/how-lock-the-unlock-screen-after-wrong-password-attempts

https://forums.whonix.org/t/how-strong-do-linux-user-account-passwords-have-to-be-when-using-full-disk-encryption-fde-too/7698
2019-09-16 12:30:23 +00:00
Patrick Schleizer
c2e444479c
bumped changelog version 2019-09-15 14:08:13 +00:00
Patrick Schleizer
c9425a1404
readme 2019-09-15 14:07:50 +00:00
Patrick Schleizer
619550da23
description 2019-09-15 14:00:24 +00:00
Patrick Schleizer
b95b66e429
description 2019-09-15 13:56:37 +00:00
Patrick Schleizer
ae804a15e7
description 2019-09-15 13:21:02 +00:00
Patrick Schleizer
3d187dab99
bumped changelog version 2019-09-12 12:50:42 +00:00
Patrick Schleizer
f13a73e569
undo SysRq restrictions
https://forums.whonix.org/t/sysrq-magic-sysrq-key/8079
2019-09-10 12:35:42 -04:00
Patrick Schleizer
fbd1a5bde9
hidepid before sysinit.target 2019-09-10 12:23:00 -04:00
Patrick Schleizer
1f75a10650
bumped changelog version 2019-09-09 12:10:24 +00:00
Patrick Schleizer
1b43914176
Merge remote-tracking branch 'origin/master' 2019-09-09 11:45:36 +00:00
Patrick Schleizer
d0b3bc7d3d
Merge pull request #30 from madaidan/patch-23
fix typo
2019-09-09 11:45:19 +00:00
madaidan
60db7e6294
fix typo 2019-09-07 20:08:56 +00:00
Patrick Schleizer
9d875d7c31
bumped changelog version 2019-09-07 06:11:32 +00:00
Patrick Schleizer
b3103b1ba8
readme 2019-09-07 06:10:35 +00:00
Patrick Schleizer
7affddb3bb
blacklist modules with /bin/false rather than /bin/true to fail with error
message rather than failing without notification
2019-09-07 05:47:34 +00:00
Patrick Schleizer
8132052ce0
run update-grub from postinst so /etc/default/grub.d changes take effect 2019-09-07 05:44:23 +00:00
Patrick Schleizer
661bcd8603
allow loading unsigned modules due to issues
https://forums.whonix.org/t/allow-loading-signed-kernel-modules-by-default-disallow-kernel-module-loading-by-default/7880/23
2019-09-07 05:39:56 +00:00
Patrick Schleizer
9ee9309f54
bumped changelog version 2019-09-06 13:04:57 +00:00
Patrick Schleizer
ea0779e42a
rm_conffile /etc/sudoers.d/umask-security-misc 2019-09-06 13:00:20 +00:00
Patrick Schleizer
3a9939dccb
bumped changelog version 2019-09-06 11:47:40 +00:00
Patrick Schleizer
51705c201b
readme 2019-09-06 11:47:17 +00:00
Patrick Schleizer
5960c1682a
description 2019-09-06 11:46:22 +00:00
Patrick Schleizer
fccfacfdaf
description 2019-09-06 11:45:54 +00:00
Patrick Schleizer
cb8170fd80
comment 2019-09-06 11:44:56 +00:00
Patrick Schleizer
ccdbc52b82
comment 2019-09-06 11:43:55 +00:00
Patrick Schleizer
051856bc8e
remove trailing space 2019-09-06 11:42:38 +00:00
Patrick Schleizer
610d3488e9
bumped changelog version 2019-09-06 09:33:06 +00:00
Patrick Schleizer
b15becd48d
readme 2019-09-06 09:32:42 +00:00
Patrick Schleizer
0e20e33d16
description 2019-09-05 02:31:57 -04:00
Patrick Schleizer
0b3dcef13d
description 2019-09-05 02:30:40 -04:00
Patrick Schleizer
f2e5883b4c
description 2019-09-05 02:29:48 -04:00
Patrick Schleizer
a4913ae092
description 2019-09-05 02:28:43 -04:00
Patrick Schleizer
a2aeb401a2
bumped changelog version 2019-08-31 13:44:37 +00:00
Patrick Schleizer
3a5bdddf5c
depend on adduser 2019-08-31 08:43:46 -04:00
Patrick Schleizer
8bbebf64cf
bumped changelog version 2019-08-24 16:41:27 +00:00
Patrick Schleizer
07cba361ed
readme 2019-08-24 16:39:56 +00:00
Patrick Schleizer
0ae5c5ff14
remove umask changes since these are causing issues are are not needed anymore
thanks to home folder permission lockdown

https://forums.whonix.org/t/change-default-umask/7416/45
2019-08-24 12:14:22 -04:00
Patrick Schleizer
41c4682280
bumped changelog version 2019-08-23 16:57:12 +00:00
Patrick Schleizer
e77260fd9c
readme 2019-08-23 16:53:55 +00:00
Patrick Schleizer
793c9b6801
Merge remote-tracking branch 'origin/master' 2019-08-19 12:48:23 +00:00
Patrick Schleizer
a74b983283
remove LLC - IEEE 802.2 from blacklist
since required by KVM

https://forums.whonix.org/t/whonix-desktop-installer-with-calamares-field-report/7350/107

https://forums.whonix.org/t/blacklist-uncommon-network-protocols/7391/22

https://github.com/Whonix/security-misc/pull/29
2019-08-19 12:46:59 +00:00
Patrick Schleizer
44d62e05b5
Merge pull request #29 from onions-knight/patch-1
Update uncommon-network-protocols.conf
2019-08-19 12:45:52 +00:00
onions-knight
a8b6281119
Update uncommon-network-protocols.conf
Removing llc from blacklisted network protocols as it is needed by KVM for networking.
See https://hub.packtpub.com/kvm-networking-libvirt/ and https://forums.whonix.org/t/whonix-desktop-installer-with-calamares-field-report/7350/107
2019-08-19 11:30:57 +00:00
Patrick Schleizer
0140df8668
virusforget 2019-08-19 08:43:28 +00:00
Patrick Schleizer
113ab42568
virusforget 2019-08-19 08:31:23 +00:00
Patrick Schleizer
416906d4f9
virusforget 2019-08-19 08:19:35 +00:00
Patrick Schleizer
2d867d9fee
virusforget 2019-08-19 08:10:18 +00:00
Patrick Schleizer
8e76e6b8b3
fix 2019-08-19 07:48:12 +00:00
Patrick Schleizer
3f068f77fe
keep cache folder outside of reach of user since even user can remove files
owned by root in its home folder
2019-08-19 07:47:20 +00:00
Patrick Schleizer
1fa1efa58e
credits 2019-08-19 07:22:09 +00:00
Patrick Schleizer
1e026a3ebb
initial development version of VirusForget 2019-08-18 22:50:44 +00:00
Patrick Schleizer
e15b560305
bumped changelog version 2019-08-17 10:54:08 +00:00
Patrick Schleizer
c897682794
readme 2019-08-17 10:53:45 +00:00
Patrick Schleizer
e535232728
description 2019-08-17 10:37:49 +00:00
Patrick Schleizer
7ffdd7c240
description 2019-08-17 10:37:42 +00:00
Patrick Schleizer
207399439f
description 2019-08-17 10:37:36 +00:00
Patrick Schleizer
d4fb485e70
description 2019-08-17 10:35:31 +00:00
Patrick Schleizer
41b2819ec8
PAM: abort on locked password
to avoid needlessly bumping pam_tally2 counter

https://forums.whonix.org/t/restrict-root-access/7658/1
2019-08-17 10:33:47 +00:00
Patrick Schleizer
e0e25364e2
bumped changelog version 2019-08-17 09:57:48 +00:00
Patrick Schleizer
cfd18d4486
readme 2019-08-17 09:56:29 +00:00
Patrick Schleizer
ed90d8b025
change default umask to 027
as per:

https://forums.whonix.org/t/change-default-umask/7416/47
2019-08-17 09:55:20 +00:00
Patrick Schleizer
b9127faac3
bumped changelog version 2019-08-16 16:05:51 +00:00
Patrick Schleizer
e004a5e0cf
readme 2019-08-16 16:05:25 +00:00
Patrick Schleizer
f9e3825e91
fix lintian warning 2019-08-16 16:05:09 +00:00
Patrick Schleizer
ec99720811
bumped changelog version 2019-08-16 15:59:14 +00:00
Patrick Schleizer
6a68c3bd9c
readme 2019-08-16 15:57:30 +00:00
Patrick Schleizer
224f95799c
sudo default umask 006
https://forums.whonix.org/t/change-default-umask/7416/43
2019-08-16 11:15:25 -04:00
Patrick Schleizer
17cfcb63b6
code simplification; report locked account earlier 2019-08-16 10:50:56 -04:00
Patrick Schleizer
5754671c46
Merge remote-tracking branch 'origin/master' 2019-08-16 10:36:43 -04:00
Patrick Schleizer
9781598632
Merge pull request #27 from madaidan/patch-21
Blacklist bluetooth
2019-08-16 14:36:00 +00:00
Patrick Schleizer
85502ad430
Merge branch 'master' into patch-21 2019-08-16 14:35:51 +00:00
Patrick Schleizer
34672b88a8
bumped changelog version 2019-08-15 15:18:02 +00:00
Patrick Schleizer
a11e3cea9e
readme 2019-08-15 15:08:48 +00:00
Patrick Schleizer
ff9bc1d7ea
informational output during 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
2019-08-15 13:37:28 +00:00
Patrick Schleizer
454e135822
pam_tally2.so even_deny_root 2019-08-15 07:33:41 +00:00
Patrick Schleizer
63b476221c
use requisite rather than required to avoid asking for password needlessly
if login will fail anyhow
2019-08-15 07:30:56 +00:00
Patrick Schleizer
ce4a30d3ce
bumped changelog version 2019-08-14 11:52:26 +00:00
Patrick Schleizer
a7c25a451c
remove unneeded dependency on libpam-cgfs 2019-08-14 11:50:53 +00:00
Patrick Schleizer
633854c6be
bumped changelog version 2019-08-14 11:13:25 +00:00
Patrick Schleizer
0feb54b28e
add Depends: apparmor-profile-anondist to fix apparmor issue
sudo[19806]: pam_exec(sudo:session): execve(/usr/lib/security-misc/permission-lockdown,...) failed: Permission denied
sudo[18961]: pam_exec(sudo:session): /usr/lib/security-misc/permission-lockdown failed: exit code 13
kernel: audit: type=1400 audit(1565780860.972:224): apparmor="DENIED" operation="exec" profile="/usr/bin/whonixcheck" name="/usr/lib/security-misc/permission-lockdown" pid=19806 comm="sudo" requested_mask="x" denied_mask="x" fsuid=0 ouid=0
2019-08-14 11:10:18 +00:00
Patrick Schleizer
8fdc77fed5
output to stdout 2019-08-14 10:33:23 +00:00
Patrick Schleizer
5213cfbcdc
bumped changelog version 2019-08-14 10:08:18 +00:00
Patrick Schleizer
2875adb722
readme 2019-08-14 10:07:55 +00:00
Patrick Schleizer
01b3a0bfae
description 2019-08-14 09:52:53 +00:00
Patrick Schleizer
547ba91d79
sanity test 2019-08-14 09:45:30 +00:00
Patrick Schleizer
dee195d89e
description 2019-08-14 09:40:41 +00:00
Patrick Schleizer
799acad724
skip, if not a folder 2019-08-14 09:39:43 +00:00
Patrick Schleizer
6321ff5ad5
refactoring 2019-08-14 09:38:44 +00:00
Patrick Schleizer
15094cab4f
avoid ' character in usr/share/pam-configs; in description 2019-08-14 09:36:30 +00:00
Patrick Schleizer
97d1945e61
no log needed, informative output to stdout instead 2019-08-14 09:32:58 +00:00
Patrick Schleizer
a085d46c56
change priories so "pam_umask.so usergroups umask=006" runs before pam_exec.so /usr/lib/security-misc/permission-lockdown 2019-08-14 09:31:58 +00:00
Patrick Schleizer
f8c828b69a
output 2019-08-14 05:19:02 -04:00
Patrick Schleizer
e5da6d9699
copyright 2019-08-14 05:17:54 -04:00
Patrick Schleizer
1595789d7c
comment 2019-08-14 05:17:16 -04:00
Patrick Schleizer
ce06fdf911
formatting 2019-08-14 05:15:53 -04:00
Patrick Schleizer
21489111d1
run permission lockdown during pam
https://forums.whonix.org/t/change-default-umask/7416
2019-08-14 08:34:03 +00:00
Patrick Schleizer
42f2d5f666
description 2019-08-14 07:39:28 +00:00
Patrick Schleizer
52df8dc014
optional pam_umask.so usergroups umask=006 2019-08-14 07:37:21 +00:00
Patrick Schleizer
f210294f40
description 2019-08-14 07:24:24 +00:00
Patrick Schleizer
dbea7d1511
add hook etc/kernel/postinst.d/30_remove-system-map to remove system.map
on kernel package upgrade;

self-document this package: during upgrade the following will be written
to stdout:

Setting up linux-image-4.19.0-5-amd64 (4.19.37-5+deb10u2) ...
/etc/kernel/postinst.d/30_remove-system-map:
removed '/boot/System.map-4.19.0-5-amd64
2019-08-14 07:22:14 +00:00
Patrick Schleizer
f1d8cbc9fb
bumped changelog version 2019-08-14 07:02:09 +00:00
Patrick Schleizer
41f4441d9d
readme 2019-08-14 07:01:47 +00:00
Patrick Schleizer
a82448d46a
description 2019-08-14 07:01:25 +00:00
Patrick Schleizer
ff8c097943
Merge remote-tracking branch 'origin/master' 2019-08-14 06:59:50 +00:00
Patrick Schleizer
a8ea379526
Merge pull request #28 from madaidan/patch-22
Require all loaded kernel modules to be signed with a valid key.
2019-08-14 06:59:34 +00:00
madaidan
9a49b8ecbb
Create 40_only_allow_signed_modules.cfg
Require all loaded kernel modules to be signed with a valid key.
2019-08-13 13:33:07 +00:00
Patrick Schleizer
6f8acf06d7
bumped changelog version 2019-08-11 12:07:07 +00:00
Patrick Schleizer
52cee91283
readme 2019-08-11 11:39:32 +00:00
Patrick Schleizer
aacd9c7679
description 2019-08-11 10:34:38 +00:00
Patrick Schleizer
c0b5c70de4
description 2019-08-11 10:33:22 +00:00
Patrick Schleizer
2f37a66fd0
description 2019-08-11 10:31:29 +00:00
Patrick Schleizer
e83ec79a25
enable usr/share/pam-configs/mkhomedir-security-misc by default 2019-08-11 10:30:51 +00:00
Patrick Schleizer
1eb806a03e
pam_mkhomedir.so umask=006 2019-08-11 10:29:49 +00:00
Patrick Schleizer
c50eb3c9b0
add usr/share/pam-configs/mkhomedir-security-misc based on
/usr/share/pam-configs/mkhomedir
2019-08-11 10:28:55 +00:00
Patrick Schleizer
75769151cd
bumped changelog version 2019-08-10 11:37:02 +00:00
Patrick Schleizer
a2fa18c381
pam_tally2.so deny=100
during testing, due to issues

d17e25272b

https://forums.whonix.org/t/how-strong-do-linux-user-account-passwords-have-to-be-when-using-full-disk-encryption-fde-too/7698/12
2019-08-10 07:07:28 -04:00
Patrick Schleizer
d17e25272b
effectively (not directly) add "required pam_tally2.so debug" to /etc/pam.d/common-account
This is required because otherwise something like "sudo bash" would count as a
failed login for pam_tally2 even though it was successful.

https://bugzilla.redhat.com/show_bug.cgi?id=707660

https://forums.whonix.org/t/restrict-root-access/7658
2019-08-10 06:06:39 -04:00
Patrick Schleizer
0f896a9d8d
add onerr=fail audit to pam_tally2 2019-08-10 06:05:37 -04:00
Patrick Schleizer
a703865dcf
bumped changelog version 2019-08-01 12:02:41 +00:00
Patrick Schleizer
1fe3036a49
readme 2019-08-01 11:13:43 +00:00
Patrick Schleizer
e076470f68
renamed: usr/share/pam-configs/usergroups -> usr/share/pam-configs/usergroups-security-misc 2019-08-01 11:04:58 +00:00
Patrick Schleizer
830111e99a
split usr/share/pam-configs/security-misc
into
usr/share/pam-configs/tally2-security-misc
usr/share/pam-configs/wheel-security-misc
2019-08-01 11:04:22 +00:00
Patrick Schleizer
5d0aec1321
bumped changelog version 2019-07-31 19:12:27 +00:00
Patrick Schleizer
89d32402b2
fix, do not use "," inside /usr/share/pam-configs files 2019-07-31 14:52:29 -04:00
madaidan
4a6f87f3fa
Update control 2019-07-31 18:33:28 +00:00
madaidan
5a4ea39566
Create blacklist-bluetooth.conf 2019-07-31 18:30:57 +00:00
Patrick Schleizer
864de10659
bumped changelog version 2019-07-31 15:17:51 +00:00
Patrick Schleizer
47368ae4fc
readme 2019-07-31 15:15:30 +00:00
Patrick Schleizer
c09fb208d1
bumped changelog version 2019-07-31 07:44:50 +00:00
Patrick Schleizer
ac1220e14b
depend on sudo so group sudo exists during postinst 2019-07-31 07:32:59 +00:00
Patrick Schleizer
09f75fb1ff
description 2019-07-31 07:32:36 +00:00
Patrick Schleizer
2ad087dcd9
description 2019-07-31 07:30:40 +00:00
Patrick Schleizer
404f597c0a
description 2019-07-31 07:29:42 +00:00
Patrick Schleizer
c921872016
description 2019-07-31 07:27:13 +00:00
Patrick Schleizer
39e1b1c5f0
update file path 2019-07-31 07:26:25 +00:00
Patrick Schleizer
cf90668756
lock user accounts after 5 failed authentication attempts using pam_tally2 2019-07-31 03:25:02 -04:00
Patrick Schleizer
3e29761560
debug at the end 2019-07-31 03:17:06 -04:00
Patrick Schleizer
5cdb3edb32
usr/share/pam-configs/wheel -> usr/share/pam-configs/security-misc 2019-07-31 03:16:41 -04:00
Patrick Schleizer
031a1c8751
bumped changelog version 2019-07-22 01:16:18 +00:00
Patrick Schleizer
f38f307b37
Merge remote-tracking branch 'origin/master' 2019-07-21 09:12:33 -04:00
Patrick Schleizer
b2582fbd4c
Merge pull request #26 from fepitre/fix-files
Fix files
2019-07-21 12:40:37 +00:00
Frédéric Pierret (fepitre)
077899c23d
Add .gitignore 2019-07-21 11:23:35 +02:00
Frédéric Pierret (fepitre)
5fbe753761
spec: update %files section
QubesOS/qubes-issues#1885
2019-07-21 11:23:26 +02:00
Patrick Schleizer
8c538ba318
bumped changelog version 2019-07-17 21:38:26 +00:00
Patrick Schleizer
1c7441ddf1
alias /etc/securetty -> /etc/securetty.security-misc, 2019-07-17 21:16:14 +00:00
Patrick Schleizer
940054d53f
bumped changelog version 2019-07-17 21:08:23 +00:00
Patrick Schleizer
08d37471d4
readme 2019-07-17 21:06:17 +00:00
Patrick Schleizer
c0a4a10d6b
description 2019-07-17 21:05:11 +00:00
Patrick Schleizer
7352b2ac31
description 2019-07-17 21:03:54 +00:00
Patrick Schleizer
b153e8f7df
fix path 2019-07-17 21:02:48 +00:00
Patrick Schleizer
4bf2360b95
description 2019-07-17 21:02:27 +00:00
Patrick Schleizer
9f2e300e72
description 2019-07-17 20:48:33 +00:00
Patrick Schleizer
d044780c04
description 2019-07-17 20:42:14 +00:00
Patrick Schleizer
75e5714d18
description 2019-07-17 20:40:01 +00:00
Patrick Schleizer
8c2f983578
description 2019-07-17 20:39:42 +00:00
Patrick Schleizer
2299ed041f
passwordless recovery / emergency console
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802211
bc5ca2de85

https://forums.whonix.org/t/restrict-root-access/7658/46
2019-07-17 20:36:51 +00:00
Patrick Schleizer
50036b2934
bumped changelog version 2019-07-17 19:13:57 +00:00
Patrick Schleizer
3f9437f1ec
Revert "set back to default group "root" rather than group "sudo" membership required to use su"
This reverts commit 2f276cdb10aedf0d30c01d25e50b17cac7d1c62c.
2019-07-17 14:25:19 -04:00
Patrick Schleizer
1b772c6a9a
bumped changelog version 2019-07-16 19:45:52 +00:00
Patrick Schleizer
2499ae0890
description 2019-07-16 07:28:50 -04:00
Patrick Schleizer
d0124b24d1
description 2019-07-16 07:27:56 -04:00
Patrick Schleizer
4b604bbb24
bumped changelog version 2019-07-15 13:26:47 +00:00
Patrick Schleizer
f21fa8d95d
readme 2019-07-15 13:03:30 +00:00
Patrick Schleizer
5c741d2149
shuffle 2019-07-15 13:02:30 +00:00
Patrick Schleizer
d247b7534b
sort description by categories 2019-07-15 13:01:46 +00:00
Patrick Schleizer
168ea5a660
shuffle 2019-07-15 08:48:17 -04:00
Patrick Schleizer
2f276cdb10
set back to default group "root" rather than group "sudo" membership required to use su
since root login will be locked by default anyhow

Thanks to @madaidan for providing the rationale!

https://forums.whonix.org/t/restrict-root-access/7658/42
2019-07-15 08:44:28 -04:00
Patrick Schleizer
6d1e8ac9a4
description 2019-07-14 11:16:49 +00:00
Patrick Schleizer
ffb61f43ea
fix, add 'group=sudo' and 'debug' for debugging
https://forums.whonix.org/t/restrict-root-access/7658
2019-07-14 11:11:59 +00:00
Patrick Schleizer
1731196c9f
bumped changelog version 2019-07-13 18:51:32 +00:00
Patrick Schleizer
6af2d7facb
copyright 2019-07-13 18:12:25 +00:00
Patrick Schleizer
75f0ca565d
set -e 2019-07-13 18:12:04 +00:00
Patrick Schleizer
c389e13e1a
use pre.bsh 2019-07-13 17:59:49 +00:00
Patrick Schleizer
7afddb028f
bumped changelog version 2019-07-13 16:30:39 +00:00
Patrick Schleizer
c13485f532
readme 2019-07-13 16:29:10 +00:00
Patrick Schleizer
ea90f95f1c
cleanup 2019-07-13 16:26:40 +00:00
Patrick Schleizer
ea8b22ee78
shuffle 2019-07-13 16:26:14 +00:00
Patrick Schleizer
ca7e0e0161
description 2019-07-13 16:25:08 +00:00
Patrick Schleizer
ffb5a9c482
formatting 2019-07-13 16:23:39 +00:00
Patrick Schleizer
41675ddcff
removed: The amount of hashing rounds used by shadow is bumped to 65536.
This increases the security of hashed passwords.

Since we do not do that currently.

https://forums.whonix.org/t/restrict-root-access/7658/37
2019-07-13 16:21:34 +00:00
Patrick Schleizer
3f031a297d
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 or upgrade. 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.
2019-07-13 16:20:14 +00:00
Patrick Schleizer
4740e8b335
cleanup 2019-07-13 16:13:55 +00:00
Patrick Schleizer
834fcc4671
bumped changelog version 2019-07-13 15:17:16 +00:00
Patrick Schleizer
e9eb38b5db
formatting 2019-07-13 15:04:09 +00:00
Patrick Schleizer
e2b6268702
bumped changelog version 2019-07-13 14:58:47 +00:00
Patrick Schleizer
1d8a0dbec7
remove no longer shipped files in etc/pam.d/* 2019-07-13 14:57:51 +00:00
Patrick Schleizer
8e5d45352e
bumped changelog version 2019-07-13 14:55:31 +00:00
Patrick Schleizer
cb668459e8
port umask from /etc/pam.d to /usr/share/pam-configs implementation
https://forums.whonix.org/t/change-default-umask/7416
2019-07-13 10:35:10 -04:00
Patrick Schleizer
ac25733de8
remove etc/pam.d/common-password.security-misc rounds=65536
due to unclean implementation, see:

https://forums.whonix.org/t/restrict-root-access/7658/37
2019-07-13 14:01:53 +00:00
Patrick Schleizer
69b97981f3
convert etc/pam.d/su.security-misc to usr/share/pam-configs/wheel
https://forums.whonix.org/t/restrict-root-access/7658/32
2019-07-13 12:33:51 +00:00
Patrick Schleizer
4079632d1a
remove modifying to /etc/pam.d directly (unrelased)
config-package-dev displace /etc/securetty
remove trailing spaces

https://forums.whonix.org/t/restrict-root-access/7658/31
2019-07-13 11:41:37 +00:00
181 changed files with 27269 additions and 2224 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
pkgs

828
COPYING
View File

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

899
README.md
View File

@ -1,119 +1,860 @@
# enhances misc security settings #
# Enhances miscellaneous security settings
The following settings are changed:
## Kernel hardening
deactivates previews in Dolphin;
deactivates previews in Nautilus;
deactivates thumbnails in Thunar;
deactivates TCP timestamps;
deactivates Netfilter's connection tracking helper;
This section is inspired by the Kernel Self Protection Project (KSPP). It
attempts to implement all recommended Linux kernel settings by the KSPP and
many more sources.
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.
- https://kspp.github.io/Recommended_Settings
- https://github.com/KSPP/kspp.github.io
Hence, this package disables this feature by shipping the
/etc/sysctl.d/tcp_timestamps.conf configuration file.
### sysctl
Note that TCP time stamps normally have some usefulness. They are
needed for:
sysctl settings are configured via the `/usr/lib/sysctl.d/990-security-misc.conf`
configuration file and significant hardening is applied to a myriad of components.
* 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.
#### Kernel space
* "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.
- Restrict access to kernel addresses through the use of kernel pointers regardless
of user privileges.
Netfilter's connection tracking helper module increases kernel attack
surface by enabling superfluous functionality such as IRC parsing in
the kernel. (!)
- Restrict access to the kernel logs to `CAP_SYSLOG` as they often contain
sensitive information.
Hence, this package disables this feature by shipping the
/etc/sysctl.d/nf_conntrack_helper.conf configuration file.
- Prevent kernel information leaks in the console during boot.
Kernel symbols in /proc/kallsyms are hidden to prevent malware from
reading them and using them to learn more about what to attack on your system.
- Restrict usage of `bpf()` to `CAP_BPF` to prevent the loading of BPF programs
by unprivileged users.
Kexec is disabled as it can be used for live patching of the running kernel.
- Restrict loading TTY line disciplines to `CAP_SYS_MODULE`.
The BPF JIT compiler is restricted to the root user and is hardened.
- Restrict the `userfaultfd()` syscall to `CAP_SYS_PTRACE`, which reduces the
likelihood of use-after-free exploits.
ASLR effectiveness for mmap is increased.
- Disable `kexec` as it can be used to replace the running kernel.
The ptrace system call is restricted to the root user only.
- Entirely disable the SysRq key so that the Secure Attention Key (SAK)
can no longer be utilized. See [documentation](https://www.kicksecure.com/wiki/SysRq).
The TCP/IP stack is hardened.
- Optional - Disable all use of user namespaces.
This package makes some data spoofing attacks harder.
- Optional - Restrict user namespaces to `CAP_SYS_ADMIN` as they can lead to substantial
privilege escalation.
SACK is disabled as it is commonly exploited and is rarely used.
- Restrict kernel profiling and the performance events system to `CAP_PERFMON`.
This package disables the merging of slabs of similar sizes to prevent an
attacker from exploiting them.
- Force the kernel to panic on both "oopses", which can potentially indicate and thwart
certain kernel exploitation attempts, and also kernel warnings in the `WARN()` path.
Sanity checks, redzoning, and memory poisoning are enabled.
- Optional - Force immediate reboot on the occurrence of a single kernel panic and also
(when using Linux kernel >= 6.2) limit the number of allowed panics to one.
The kernel now panics on uncorrectable errors in ECC memory which could
be exploited.
- Disable the use of legacy TIOCSTI operations which can be used to inject keypresses.
Kernel Page Table Isolation is enabled to mitigate Meltdown and increase
KASLR effectiveness.
- Disable asynchronous I/O (when using Linux kernel >= 6.6) as `io_uring` has been
the source of numerous kernel exploits.
SMT is disabled as it can be used to exploit the MDS vulnerability.
#### User space
All mitigations for the MDS vulnerability are enabled.
- Restrict usage of `ptrace()` to only processes with `CAP_SYS_PTRACE` as it
enables programs to inspect and modify other active processes. Optional - Disable
usage of `ptrace()` by all processes.
DCCP, SCTP, TIPC and RDS are blacklisted as they are rarely used and may have
unknown vulnerabilities.
## How to install `security-misc` using apt-get ##
- Maximize the bits of entropy used for mmap ASLR across all CPU architectures.
1\. Add [Whonix's Signing Key](https://www.whonix.org/wiki/Whonix_Signing_Key).
- Prevent hardlink and symlink TOCTOU races in world-writable directories.
- Disallow unintentional writes to files in world-writable directories unless
they are owned by the directory owner to mitigate some data spoofing attacks.
- Randomize the addresses (ASLR) for mmap base, stack, VDSO pages, and heap.
- Raise the minimum address a process can request for memory mapping to 64KB to
protect against kernel null pointer dereference vulnerabilities.
- Increase the maximum number of memory map areas a process is able to utilize to 1,048,576.
- Optional - Disallow registering interpreters for various (miscellaneous) binary formats based
on a magic number or their file extension to prevent unintended code execution.
See issue: https://github.com/Kicksecure/security-misc/issues/267
#### Core dumps
- Disable core dump files and prevent their creation. If core dump files are
enabled, they will be named based on `core.PID` instead of the default `core`.
#### Swap space
- Limit the copying of potentially sensitive content in memory to the swap device.
#### Networking
- Enable hardening of the BPF JIT compiler protect against JIT spraying.
- Enable TCP SYN cookie protection to assist against SYN flood attacks.
- Protect against TCP time-wait assassination hazards.
- Enable reverse path filtering (source validation) of packets received
from all interfaces to prevent IP spoofing.
- Disable ICMP redirect acceptance and redirect sending messages to prevent
man-in-the-middle attacks and minimize information disclosure.
- Deny sending and receiving shared media redirects to reduce the risk of IP
spoofing attacks.
- Enable ARP filtering to mitigate some ARP spoofing and ARP cache poisoning attacks.
- Respond to ARP requests only if the target IP address is on-link,
preventing some IP spoofing attacks.
- Drop gratuitous ARP packets to prevent ARP cache poisoning via
man-in-the-middle and denial-of-service attacks.
- Ignore ICMP echo requests to prevent clock fingerprinting and Smurf attacks.
- Ignore bogus ICMP error responses.
- Disable source routing which allows users to redirect network traffic that
can result in man-in-the-middle attacks.
- Do not accept IPv6 router advertisements and solicitations.
- Optional - Disable SACK and DSACK as they have historically been a known
vector for exploitation.
- Disable TCP timestamps as they can allow detecting the system time.
- Optional - Log packets with impossible source or destination addresses to
enable further inspection and analysis.
- Optional - Enable IPv6 Privacy Extensions.
- Documentation: https://www.kicksecure.com/wiki/Networking
### Boot parameters
Mitigations for known CPU vulnerabilities are enabled in their strictest form
and simultaneous multithreading (SMT) is disabled. See the
`/etc/default/grub.d/40_cpu_mitigations.cfg` configuration file.
Note, to achieve complete protection for known CPU vulnerabilities, the latest
security microcode (BIOS/UEFI) updates must be installed on the system. Furthermore,
if using Secure Boot, the Secure Boot Forbidden Signature Database (DBX) must be kept
up to date through [UEFI Revocation List](https://uefi.org/revocationlistfile) updates.
CPU mitigations:
- Disable Simultaneous Multithreading (SMT)
- Spectre Side Channels (BTI and BHI)
- Speculative Store Bypass (SSB)
- L1 Terminal Fault (L1TF)
- Microarchitectural Data Sampling (MDS)
- TSX Asynchronous Abort (TAA)
- iTLB Multihit
- Special Register Buffer Data Sampling (SRBDS)
- L1D Flushing
- Processor MMIO Stale Data
- Arbitrary Speculative Code Execution with Return Instructions (Retbleed)
- Cross-Thread Return Address Predictions
- Speculative Return Stack Overflow (SRSO)
- Gather Data Sampling (GDS)
- Register File Data Sampling (RFDS)
Boot parameters relating to kernel hardening, DMA mitigations, and entropy
generation are outlined in the `/etc/default/grub.d/40_kernel_hardening.cfg`
configuration file.
Kernel space:
- Disable merging of slabs with similar size, which reduces the risk of
triggering heap overflows and limits influencing slab cache layout.
- Enable sanity checks and red zoning via slab debugging. This will implicitly
disable kernel pointer hashing, leaking very sensitive information to root.
- Enable memory zeroing at both allocation and free time, which mitigates some
use-after-free vulnerabilities by erasing sensitive information in memory.
- Enable the kernel page allocator to randomize free lists to limit some data
exfiltration and ROP attacks, especially during the early boot process.
- Enable kernel page table isolation to increase KASLR effectiveness and also
mitigate the Meltdown CPU vulnerability.
- Enable randomization of the kernel stack offset on syscall entries to harden
against memory corruption attacks.
- Disable vsyscalls as they are vulnerable to ROP attacks and have now been
replaced by vDSO.
- Restrict access to debugfs by not registering the file system since it can
contain sensitive information.
- Force kernel panics on "oopses" to potentially indicate and thwart certain
kernel exploitation attempts.
- Optional - Modify the machine check exception handler.
- Prevent sensitive kernel information leaks in the console during boot.
- Enable the kernel Electric-Fence sampling-based memory safety error detector
which can identify heap out-of-bounds access, use-after-free, and invalid-free errors.
- Disable 32-bit vDSO mappings as they are a legacy compatibility feature.
- Optional - Use kCFI as the default CFI implementation (when using Linux kernel >= 6.2)
since it may be slightly more resilient to attacks that are able to write
arbitrary executables in memory.
- Optional - Disable support for all x86 processes and syscalls (when using Linux kernel >= 6.7)
to reduce attack surface.
- Disable EFI persistent storage feature, preventing the kernel from writing crash logs and
other persistent data to the EFI variable store.
Direct memory access:
- Enable strict IOMMU translation to protect against some DMA attacks via the use
of both CPU manufacturer-specific drivers and kernel settings.
- Clear the busmaster bit on all PCI bridges during the EFI hand-off, which disables
DMA before the IOMMU is configured. May cause boot failure on certain hardware.
Entropy:
- Do not credit the CPU or bootloader as entropy sources at boot in order to
maximize the absolute quantity of entropy in the combined pool.
- Obtain more entropy at boot from RAM as the runtime memory allocator is
being initialized.
Networking:
- Optional - Disable the entire IPv6 stack to reduce attack surface.
### mmap ASLR
- The bits of entropy used for mmap ASLR for all CPU architectures are maxed
out via `/usr/libexec/security-misc/mmap-rnd-bits` (set to the values of
`CONFIG_ARCH_MMAP_RND_BITS_MAX` and `CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX`
that the kernel was built with), therefore improving its effectiveness.
### Kernel Self Protection Project (KSPP) compliance status
**Summary:**
`security-misc` is in full compliance with KSPP recommendations wherever feasible. However,
there are a few cases of partial or non-compliance due to technical limitations.
* [KSPP Recommended Settings](https://kspp.github.io/Recommended_Settings)
**Full compliance:**
More than 30 kernel boot parameters and over 30 sysctl settings are fully aligned with
the KSPP's recommendations.
**Partial compliance:**
1. `sysctl kernel.yama.ptrace_scope=3`
Completely disables `ptrace()`. Can be enabled easily if needed.
* [security-misc pull request #242](https://github.com/Kicksecure/security-misc/pull/242)
2. `sysctl kernel.panic=-1`
Forces an immediate reboot on kernel panic. This can be enabled, but it may lead to unexpected
system crashes.
* [security-misc pull request #264](https://github.com/Kicksecure/security-misc/pull/264)
* [security-misc pull request #268](https://github.com/Kicksecure/security-misc/pull/268)
**Non-compliance:**
3. `sysctl user.max_user_namespaces=0`
Disables user namespaces entirely. Not recommended due to the potential for widespread breakages.
* [security-misc pull request #263](https://github.com/Kicksecure/security-misc/pull/263)
4. `sysctl fs.binfmt_misc.status=0`
Disables the registration of interpreters for miscellaneous binary formats. Currently not
feasible due to compatibility issues with Firefox.
* [security-misc pull request #249](https://github.com/Kicksecure/security-misc/pull/249)
* [security-misc issue #267](https://github.com/Kicksecure/security-misc/issues/267)
### Kernel Modules
#### Kernel Module Signature Verification
Not yet implemented due to issues:
- https://forums.whonix.org/t/enforce-kernel-module-software-signature-verification-module-signing-disallow-kernel-module-loading-by-default/7880/64
- https://github.com/dell/dkms/issues/359
See:
- `/etc/default/grub.d/40_signed_modules.cfg`
#### Disables the loading of new modules to the kernel after the fact
Not yet implemented due to issues:
- https://github.com/Kicksecure/security-misc/pull/152
A systemd service dynamically sets the kernel parameter `modules_disabled` to 1,
preventing new modules from being loaded. Since this isn't configured directly
within systemctl, it does not break the loading of legitimate and necessary
modules for the user, like drivers etc., given they are plugged in on startup.
#### Blacklist and disable kernel modules
Conntrack: Deactivates Netfilter's connection tracking helper module which
increases kernel attack surface by enabling superfluous functionality such
as IRC parsing in the kernel. See `/etc/modprobe.d/30_security-misc_conntrack.conf`.
Certain kernel modules are blacklisted by default to reduce attack surface via
`/etc/modprobe.d/30_security-misc_blacklist.conf`. Blacklisting prevents kernel
modules from automatically starting.
- CD-ROM/DVD: Blacklist modules required for CD-ROM/DVD devices.
- Miscellaneous: Blacklist an assortment of other modules to prevent them from
automatically loading.
Specific kernel modules are entirely disabled to reduce attack surface via
`/etc/modprobe.d/30_security-misc_disable.conf`. Disabling prohibits kernel
modules from starting. This approach should not be considered comprehensive;
rather, it is a form of badness enumeration. Any potential candidates for future
disabling should first be blacklisted for a suitable amount of time.
Hardware modules:
- Optional - Bluetooth: Disabled to reduce attack surface.
- FireWire (IEEE 1394): Disabled as they are often vulnerable to DMA attacks.
- GPS: Disable GPS-related modules such as those required for Global Navigation
Satellite Systems (GNSS).
- Optional - Intel Management Engine (ME): Provides some disabling of the interface
between the Intel ME and the OS. May lead to breakages in places such as firmware
updates, security, power management, display, and DRM. See discussion: https://github.com/Kicksecure/security-misc/issues/239
- Intel Platform Monitoring Technology (PMT) Telemetry: Disable some functionality
of the Intel PMT components.
- Thunderbolt: Disabled as they are often vulnerable to DMA attacks.
File system modules:
- File Systems: Disable uncommon and legacy file systems.
- Network File Systems: Disable uncommon and legacy network file systems.
Networking modules:
- Network Protocols: A wide array of uncommon and legacy network protocols and drivers
are disabled.
Miscellaneous modules:
- Amateur Radios: Disabled to reduce attack surface.
- Optional - CPU MSRs: Disabled as can be abused to write to arbitrary memory.
- Floppy Disks: Disabled to reduce attack surface.
- Framebuffer (fbdev): Disabled as these drivers are well-known to be buggy, cause
kernel panics, and are generally only used by legacy devices.
- Replaced Modules: Disabled legacy drivers that have been entirely replaced and
superseded by newer drivers.
- Optional - USB Video Device Class: Disables the USB-based video streaming driver for
devices like some webcams and digital camcorders.
- Vivid: Disabled to reduce attack surface given previous vulnerabilities.
### Other
- A systemd service clears the System.map file on boot as these contain kernel
pointers. The file is completely overwritten with zeroes to ensure it cannot
be recovered. See:
`/etc/kernel/postinst.d/30_remove-system-map`
`/usr/lib/systemd/system/remove-system-map.service`
`/usr/libexec/security-misc/remove-system.map`
- Coredumps are disabled as they may contain important information such as
encryption keys or passwords. See:
`/etc/security/limits.d/30_security-misc.conf`
`/usr/lib/sysctl.d/30_security-misc.conf`
`/usr/lib/systemd/coredump.conf.d/30_security-misc.conf`
- PStore is disabled as crash logs can contain sensitive system data such as
kernel version, hostname, and users. See:
`/usr/lib/systemd/pstore.conf.d/30_security-misc.conf`
- An initramfs hook sets the sysctl values in `/etc/sysctl.conf` and
`/etc/sysctl.d` before init is executed so sysctl hardening is enabled as
early as possible. This is implemented for `initramfs-tools` only because
this is not needed for `dracut` as `dracut` does that by default, at
least on `systemd` enabled systems. Not researched for non-`systemd` systems
by the author of this part of the readme.
## Network hardening
Not yet implemented due to issues:
- https://github.com/Kicksecure/security-misc/pull/145
- https://github.com/Kicksecure/security-misc/issues/184
- Unlike version 4, IPv6 addresses can provide information not only about the
originating network but also the originating device. We prevent this from
happening by enabling the respective privacy extensions for IPv6.
- In addition, we deny the capability to track the originating device in the
network at all, by using randomized MAC addresses per connection by
default.
See:
- `/usr/lib/NetworkManager/conf.d/80_ipv6-privacy.conf`
- `/usr/lib/NetworkManager/conf.d/80_randomize-mac.conf`
- `/usr/lib/systemd/networkd.conf.d/80_ipv6-privacy-extensions.conf`
## Bluetooth Hardening
### Bluetooth Status: Enabled but Defaulted to Off
- **Default Behavior**: Although Bluetooth capability is 'enabled' in the kernel,
security-misc deviates from the usual behavior by starting with Bluetooth
turned off at system start. This setting remains until the user explicitly opts
to activate Bluetooth.
- **User Control**: Users have the freedom to easily switch Bluetooth on and off
in the usual way, exercising their own discretion. This can be done via the
Bluetooth toggle through the usual way, that is either through GUI settings
application or command line commands.
- **Enhanced Privacy Settings**: We enforce more private defaults for Bluetooth
connections. This includes the use of private addresses and strict timeout
settings for discoverability and visibility.
- **Security Considerations**: Despite these measures, it's important to note that
Bluetooth technology, by its nature, may still be prone to exploits due to its
history of security vulnerabilities. Thus, we recommend users to opt-out of
using Bluetooth when possible.
### Configuration Details
- See configuration: `/etc/bluetooth/30_security-misc.conf`
- For more information and discussion: [GitHub Pull Request](https://github.com/Kicksecure/security-misc/pull/145)
### Understanding Bluetooth Terms
- **Disabling Bluetooth**: This means the absence of the Bluetooth kernel module.
When disabled, Bluetooth is non-existent in the system - it cannot be seen, set,
configured, or interacted with in any way.
- **Turning Bluetooth On/Off**: This refers to a software toggle. Normally, on
Debian systems, Bluetooth is 'on' when the system boots up. It actively searches
for known devices to auto-connect and may be discoverable or visible under certain
conditions. Our default ensures that Bluetooth is off on startup. However, it
remains 'enabled' in the kernel, meaning the kernel can use the Bluetooth protocol
and has the necessary modules.
### Quick Toggle Guide
- **Turning Bluetooth On**: Simply click the Bluetooth button in the settings
application or on the tray, and switch the toggle. It's a straightforward action
that can be completed in less than a second.
- **Turning Bluetooth Off**: Follow the same procedure as turning it on but switch
the toggle to the off position.
## Entropy collection improvements
- The `jitterentropy_rng` kernel module is loaded as early as possible during
boot to gather more entropy via the
`/usr/lib/modules-load.d/30_security-misc.conf` configuration file.
- Distrusts the CPU for initial entropy at boot as it is not possible to
audit, may contain weaknesses or a backdoor. Similarly, do not credit the
bootloader seed for initial entropy. For references, see:
`/etc/default/grub.d/40_kernel_hardening.cfg`
- Gathers more entropy during boot if using the linux-hardened kernel patch.
## Restrictive mount options
A systemd service is triggered on boot to remount all sensitive partitions and
directories with significantly more secure hardened mount options. Since this
would require manual tuning for a given specific system, we handle it by
creating a very solid configuration file for that very system on package
installation.
Not enabled by default yet. In development. Help welcome.
- https://www.kicksecure.com/wiki/Dev/remount-secure
- https://github.com/Kicksecure/security-misc/issues/157
- https://forums.whonix.org/t/re-mount-home-and-other-with-noexec-and-nosuid-among-other-useful-mount-options-for-better-security/
## Root access restrictions
- `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 due to the above
restriction so that logging in from a virtual console is still possible -
`debian/security-misc.postinst`
- Abort login for users with locked passwords -
`/usr/libexec/security-misc/pam-abort-on-locked-password`.
- Logging into the root account from a virtual, serial, or other console is
prevented by shipping an existing and empty `/etc/securetty` file (deletion
of `/etc/securetty` has a different effect).
This package does not yet automatically lock the root account password. It is
not clear if this would be sane in such a package, although it is recommended to
lock and expire the root account.
In new Kicksecure builds, the root account will be locked by package
dist-base-files.
See:
- https://www.kicksecure.com/wiki/Root
- https://www.kicksecure.com/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 rescue and emergency shell. This is
the same solution that Debian will likely adopt for the Debian installer:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802211
See:
- `/etc/systemd/system/emergency.service.d/override.conf`
- `/etc/systemd/system/rescue.service.d/override.conf`
Adverse security effects can be prevented by setting up BIOS password
protection, GRUB password protection, and/or full disk encryption.
## Console lockdown
This uses pam_access to allow members of group `console` to use the console but
restrict everyone else (except members of group `console-unrestricted`) from
using the console with ancient, unpopular login methods such as `/bin/login` over
networks as this might be exploitable. (CVE-2001-0797)
This is not enabled by default in this package since this package does not know
which users should be added to group 'console' and thus, would break console access.
See:
- `/usr/share/pam-configs/console-lockdown-security-misc`
- `/etc/security/access-security-misc.conf`
## Brute force attack protection
User accounts are locked after 50 failed login attempts using `pam_faillock`.
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.
See:
- `/usr/share/pam-configs/tally2-security-misc`
- `/usr/libexec/security-misc/pam-info`
- `/usr/libexec/security-misc/pam-abort-on-locked-password`
## Access rights restrictions
### Strong user account separation
#### Permission Lockdown
Read, write, and execute access for "others" are removed during package
installation, upgrade, or PAM `mkhomedir` for all users who have home folders in
`/home` by running, for example:
```
sudo apt-key --keyring /etc/apt/trusted.gpg.d/whonix.gpg adv --keyserver hkp://ipv4.pool.sks-keyservers.net:80 --recv-keys 916B8D99C38EAF5E8ADC7A2A8D66066A2EEACCDA
chmod o-rwx /home/user
```
3\. Add Whonix's APT repository.
This will be done only once per folder in `/home` so users who wish to relax
file permissions are free to do so. This is to protect files in a home folder
that were previously created with lax file permissions prior to the installation
of this package.
```
echo "deb http://deb.whonix.org buster main contrib non-free" | sudo tee /etc/apt/sources.list.d/whonix.list
```
See:
4\. Update your package lists.
- `debian/security-misc.postinst`
- `/usr/libexec/security-misc/permission-lockdown`
- `/usr/share/pam-configs/mkhomedir-security-misc`
```
sudo apt-get update
```
#### umask
5\. Install `security-misc`.
The default `umask` is set to `027` for files created by non-root users, such
as the account `user`.
```
sudo apt-get install security-misc
```
This is done using the PAM module `pam_mkhomedir.so umask=027`.
## How to Build deb Package ##
This configuration ensures that files created by non-root users cannot be read
by other non-root users by default. While Permission Lockdown already protects
the `/home` folder, this setting extends protection to other folders such as
`/tmp`.
Replace `apparmor-profile-torbrowser` with the actual name of this package with `security-misc` and see [instructions](https://www.whonix.org/wiki/Dev/Build_Documentation/apparmor-profile-torbrowser).
`group` read permissions are not removed. This is unnecessary due to Debian's
use of User Private Groups (UPGs). See also:
https://wiki.debian.org/UserPrivateGroups
## Contact ##
The default `umask` is unchanged for root because configuration files created
in `/etc` by the system administrator would otherwise be unreadable by
"others," potentially breaking applications. Examples include `/etc/firefox-esr`
and `/etc/thunderbird`. Additionally, the `umask` is set to `022` via `sudoers`
configuration, ensuring that files created as root are world-readable, even
when using commands such as `sudo vi /etc/file` or `sudo -i; touch /etc/file`.
* [Free Forum Support](https://forums.whonix.org)
* [Professional Support](https://www.whonix.org/wiki/Professional_Support)
When using `sudo`, the `umask` is set to `022` rather than `027` to ensure
compatibility with commands such as `sudo vi /etc/configfile` and
`sudo -i; touch /etc/file`.
## Donate ##
See:
`security-misc` requires [donations](https://www.whonix.org/wiki/Donate) to stay alive!
- `/usr/share/pam-configs/umask-security-misc`
### SUID / SGID removal and permission hardening
#### SUID / SGID removal
A systemd service removes SUID / SGID bits from non-essential binaries as these
are often used in privilege escalation attacks.
#### File permission hardening
Various file permissions are reset with more secure and hardened defaults. These
include but are not limited to:
- Limiting `/home` and `/root` to the root only.
- Limiting crontab to root as well as all the configuration files for cron.
- Limiting the configuration for cups and ssh.
- Protecting the information of sudoers from others.
- Protecting various system-relevant files and modules.
##### permission-hardener
`permission-hardener` removes SUID / SGID bits from non-essential binaries as
these are often used in privilege escalation attacks. It is enabled by default
and applied at security-misc package installation and upgrade time.
There is also an optional systemd unit which does the same at boot time that
can be enabled by running `systemctl enable permission-hardener.service` as
root. The hardening at boot time is not the default because this slows down
the boot process too much.
See:
* `/usr/bin/permission-hardener`
* `debian/security-misc.postinst`
* `/lib/systemd/system/permission-hardener.service`
* `/etc/permission-hardener.d`
* https://forums.whonix.org/t/disable-suid-binaries/7706
* https://www.kicksecure.com/wiki/SUID_Disabler_and_Permission_Hardener
### Access rights relaxations
This is not enabled yet because hidepid is not enabled by default.
Calls to `pkexec` are redirected to `lxqt-sudo` because `pkexec` is
incompatible with `hidepid=2`.
See:
* `/usr/bin/pkexec.security-misc`
* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=860040
* https://forums.whonix.org/t/cannot-use-pkexec/8129
## Application-specific hardening
- Enables "`apt-get --error-on=any`" which makes apt exit non-zero for
transient failures. - `/etc/apt/apt.conf.d/40error-on-any`.
- 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.
- Rationale: lower attack surface when using the file manager
- https://forums.whonix.org/t/disable-preview-in-file-manager-by-default/18904
- Thunderbird is hardened with the following options:
- Displays domain names in punycode to prevent IDN homograph attacks (a
form of phishing).
- Strips email client information from sent email headers.
- Strips user time information from sent email headers by replacing the
originating time zone with UTC and rounding the timestamp to the nearest
minute.
- Disables scripting when viewing PDF files.
- Disables implicit outgoing connections.
- Disables all and any kind of telemetry.
- Security and privacy enhancements for gnupg's config file
`/etc/skel/.gnupg/gpg.conf`. See also:
- https://raw.github.com/ioerror/torbirdy/master/gpg.conf
- https://github.com/ioerror/torbirdy/pull/11
### Project scope of application-specific hardening
Added in December 2023.
Before sending pull requests to harden arbitrary applications, please note the
scope of security-misc is limited to default installed applications in
Kicksecure and Whonix. This includes:
- Thunderbird, VLC Media Player, KeePassXC
- Debian Specific System Components (APT, DPKG)
- System Services (NetworkManager IPv6 privacy options, MAC address
randomization)
- Actually used development utilities such as `git`.
It will not be possible to review and merge "1500" settings profiles for
arbitrary applications outside of this context.
The main objective of security-misc is to harden Kicksecure and its derivatives,
such as Whonix, by implementing robust security settings. It's designed to be
compatible with Debian, reflecting a commitment to clean implementation and
sound design principles. However, it's important to note that security-misc is a
component of Kicksecure, not a substitute for it. The intention isn't to
recreate Kicksecure within security-misc. Instead, specific security
enhancements, like recommending a curated list of security-focused
default packages (e.g., `libpam-tmpdir`), should be integrated directly into
those appropriate areas of Kicksecure (e.g. `kicksecure-meta-packages`).
Discussion: https://github.com/Kicksecure/security-misc/issues/154
### Development philosophy
Added in December 2023.
Maintainability is a key priority \[1\]. Before modifying settings in the
downstream security-misc, it's essential to first engage with upstream
developers to propose these changes as defaults. This step should only be
bypassed if there's a clear, prior indication from upstream that such changes
won't be accepted. Additionally, before implementing any workarounds, consulting
with upstream is necessary to avoid future unmaintainable complexity.
If debugging features are disabled, pull requests won't be merged until there is
a corresponding pull request for the debug-misc package to re-enable these. This
is to avoid configuring the system into a corner where it can no longer be
debugged.
\[1\] https://www.kicksecure.com/wiki/Dev/maintainability
## Opt-in hardening
Some hardening is opt-in as it causes too much breakage to be enabled by
default.
- An optional systemd service mounts `/proc` with `hidepid=2` at boot to
prevent users from seeing another user's processes. This is disabled by
default because it is incompatible with `pkexec`. It can be enabled by
executing `systemctl enable proc-hidepid.service` as root.
- A systemd service restricts `/proc/cpuinfo`, `/proc/bus`, `/proc/scsi`, and
`/sys` to the root user. 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 executing `systemctl enable hide-hardware-info.service` as root.
## Miscellaneous
- Hardened malloc compatibility for haveged workaround
`/lib/systemd/system/haveged.service.d/30_security-misc.conf`
- Set `dracut` `reproducible=yes` setting
## Legal
`/usr/lib/issue.d/20_security-misc.issue`
https://github.com/Kicksecure/security-misc/pull/167
## Related
- Linux Kernel Runtime Guard (LKRG)
- tirdad - TCP ISN CPU Information Leak Protection.
- Kicksecure (TM) - a security-hardened Linux Distribution
- And more.
- https://www.kicksecure.com/wiki/Linux_Kernel_Runtime_Guard_LKRG
- https://github.com/Kicksecure/tirdad
- https://www.kicksecure.com
- https://github.com/Kicksecure
## Discussion
Happening primarily in forums.
https://forums.whonix.org/t/kernel-hardening/7296
## How to install `security-misc`
See https://www.kicksecure.com/wiki/Security-misc#install
## How to Build deb Package from Source Code
Can be build using standard Debian package build tools such as:
dpkg-buildpackage -b
See instructions. (Replace `generic-package` with the actual name of this
package `security-misc`.)
- **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)
- [Professional Support](https://www.kicksecure.com/wiki/Professional_Support)
## Donate
`security-misc` requires [donations](https://www.kicksecure.com/wiki/Donate) to
stay alive!

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

2516
debian/changelog vendored

File diff suppressed because it is too large Load Diff

1
debian/compat vendored
View File

@ -1 +0,0 @@
12

176
debian/control vendored
View File

@ -1,155 +1,43 @@
## Copyright (C) 2012 - 2018 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@kicksecure.com>
## See the file COPYING for copying conditions.
Source: security-misc
Section: misc
Priority: optional
Maintainer: Patrick Schleizer <adrelanos@riseup.net>
Build-Depends: debhelper (>= 12), genmkfile, config-package-dev
Homepage: https://github.com/Whonix/security-misc
Vcs-Browser: https://github.com/Whonix/security-misc
Vcs-Git: https://github.com/Whonix/security-misc.git
Standards-Version: 4.3.0
Maintainer: Patrick Schleizer <adrelanos@kicksecure.com>
Build-Depends: config-package-dev,
debhelper (>= 13),
debhelper-compat (= 13),
dh-apparmor,
po-debconf
Homepage: https://www.kicksecure.com/wiki/Security-misc
Vcs-Browser: https://github.com/Kicksecure/security-misc
Vcs-Git: https://github.com/Kicksecure/security-misc.git
Standards-Version: 4.6.2
Rules-Requires-Root: no
Package: security-misc
Architecture: all
Depends: python, libglib2.0-bin, libpam-runtime, libpam-cgfs, ${misc:Depends}
Replaces: tcp-timestamps-disable
Description: enhances misc security settings
The following settings are changed:
Depends: adduser,
apparmor-profile-dist,
dmsetup,
helper-scripts,
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
.
deactivates previews in Dolphin;
deactivates previews in Nautilus;
deactivates thumbnails in Thunar;
deactivates TCP timestamps;
deactivates Netfilter's connection tracking helper;
implements some kernel hardening;
prevents DMA attacks;
restricts access to the root account;
increases the amount of hashing rounds used by shadow;
https://www.kicksecure.com/wiki/Security-misc
.
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.
Discussion:
.
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/modprobe.d/30_nf_conntrack_helper_disable.conf configuration file.
.
Kernel symbols in /proc/kallsyms are hidden to prevent malware from
reading them and using them to learn more about what to attack on your system.
.
Kexec is disabled as it can be used for live patching of the running kernel.
.
The BPF JIT compiler is restricted to the root user and is hardened.
.
ASLR effectiveness for mmap is increased.
.
The ptrace system call is restricted to the root user only.
.
The TCP/IP stack is hardened.
.
This package makes some data spoofing attacks harder.
.
SACK is disabled as it is commonly exploited and is rarely used.
.
This package disables the merging of slabs of similar sizes to prevent an
attacker from exploiting them.
.
Sanity checks, redzoning, and memory poisoning are enabled.
.
The kernel now panics on uncorrectable errors in ECC memory which 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 vulnerability.
.
All mitigations for the MDS vulnerability are enabled.
.
Uncommon network protocols are blacklisted in
/etc/modprobe.d/uncommon-network-protocols.conf as they are rarely used and
may have unknown vulnerabilities.
.
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
* LLC - IEEE 802.2
* p8022 - IEEE 802.2
.
The kernel logs are restricted to root only.
.
A systemd service clears System.map on boot as these contain kernel symbols
that could be useful to an attacker.
.
The SysRq key is restricted to only allow shutdowns/reboots.
.
The thunderbolt and firewire 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.
.
Coredumps are disabled as they may contain important information such as
encryption keys or passwords.
.
A systemd service mounts /proc with hidepid=2 at boot to prevent users from
seeing each other's processes.
.
The default umask is changed to 006. This allows only the owner and group to
read and write to newly created files.
.
The kernel now panics on oopses to prevent it from continuing running a
flawed process.
.
Su is restricted to only users within the root group which prevents users from
using su to gain root access or switch user accounts.
.
Logging into the root account from a terminal is prevented.
.
The amount of hashing rounds used by shadow is bumped to 65536. This increases
the security of hashed passwords.
Happening primarily in Whonix forums.
https://forums.whonix.org/t/kernel-hardening/7296

828
debian/copyright vendored
View File

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

2
debian/rules vendored
View File

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

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,6 +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.
/etc/login.defs.security-misc
/etc/pam.d/common-session-noninteractive.security-misc
/etc/pam.d/common-session.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/show_icon_text 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

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

@ -0,0 +1,111 @@
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
rm_conffile /etc/sudoers.d/umask-security-misc
## https://forums.whonix.org/t/sysrq-magic-sysrq-key/8079
rm_conffile /etc/sysctl.d/sysrq.conf
## https://github.com/Whonix/security-misc/pull/45
rm_conffile /etc/apparmor.d/usr.lib.security-misc.pam_tally2-info
rm_conffile /etc/apparmor.d/usr.lib.security-misc.permission-lockdown
## merged into 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,44 +1,132 @@
#!/bin/bash
## Copyright (C) 2012 - 2018 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
if [ -f /usr/lib/helper-scripts/pre.bsh ]; then
source /usr/lib/helper-scripts/pre.bsh
if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then
source /usr/libexec/helper-scripts/pre.bsh
fi
## Required since this package uses debconf - this is mandatory even though
## the postinst itself does not use debconf commands.
source /usr/share/debconf/confmodule
set -e
true "
#####################################################################
## INFO: BEGIN: $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $@
## 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
configure)
if [ -d /etc/skel/.gnupg ]; then
## Lintian warns against use of chmod --recursive.
chmod 700 /etc/skel/.gnupg
fi
## /usr/share/glib-2.0/schemas/30_security-misc.gschema.override
glib-compile-schemas /usr/share/glib-2.0/schemas || true
## state dir for 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)
;;
triggered)
echo "INFO: triggered $DPKG_MAINTSCRIPT_PACKAGE: '$DPKG_MAINTSCRIPT_PACKAGE' $DPKG_MAINTSCRIPT_PACKAGE DPKG_MAINTSCRIPT_NAME: '$DPKG_MAINTSCRIPT_NAME' $\*: '$*' 2: '$2'"
/usr/share/security-misc/lkrg/lkrg-virtualbox || true
/usr/libexec/security-misc/mmap-rnd-bits || true
permission_hardening
exit 0
;;
*)
echo "$DPKG_MAINTSCRIPT_NAME called with unknown argument \`$1'" >&2
exit 1
;;
esac
[ -n "$DEBIAN_FRONTEND" ] || DEBIAN_FRONTEND="noninteractive"
[ -n "$DEBIAN_PRIORITY" ] || DEBIAN_PRIORITY="critical"
[ -n "$DEBCONF_NOWARNINGS" ] || DEBCONF_NOWARNINGS="yes"
[ -n "$APT_LISTCHANGES_FRONTEND" ] || APT_LISTCHANGES_FRONTEND="text"
export POLICYRCD DEBIAN_FRONTEND DEBIAN_PRIORITY DEBCONF_NOWARNINGS APT_LISTCHANGES_FRONTEND
pam-auth-update --package
## Jul 07 20:35:39 host sudo[16090]: PAM unable to dlopen(pam_cgfs.so): /lib/security/pam_cgfs.so: cannot open shared object file: No such file or directory
## Jul 07 20:35:39 host sudo[16090]: PAM adding faulty module: pam_cgfs.so
## --package hangs in Qubes updater since it starts whiptail for interactive dpkg configuration dialog.
pam-auth-update --force
/usr/libexec/security-misc/permission-lockdown
permission_hardening
## https://phabricator.whonix.org/T377
## Debian has no update-grub trigger yet:
## https://bugs.debian.org/481542
if command -v update-grub >/dev/null 2>&1; then
update-grub || \
echo "$DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME ERROR: Running \
'update-grub' failed with exit code $?. $DPKG_MAINTSCRIPT_PACKAGE is most \
likely only the trigger, not the cause. Unless you know this is not an issue, \
you should fix running 'update-grub', otherwise your system might no longer \
boot." >&2
fi
/usr/libexec/security-misc/mmap-rnd-bits || true
true "INFO: debhelper beginning here."
@ -46,9 +134,11 @@ true "INFO: debhelper beginning here."
true "INFO: Done with debhelper."
permission_hardening_legacy_config_folder
true "
#####################################################################
## INFO: END : $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $@
## INFO: END : $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $*
#####################################################################
"

36
debian/security-misc.postrm vendored Normal file
View File

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

249
debian/security-misc.preinst vendored Normal file
View File

@ -0,0 +1,249 @@
#!/bin/bash
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then
source /usr/libexec/helper-scripts/pre.bsh
fi
set -e
true "
#####################################################################
## INFO: BEGIN: $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $@
#####################################################################
"
user_groups_modifications() {
## /usr/libexec/security-misc/hide-hardware-info
addgroup --system sysfs
addgroup --system cpuinfo
## /usr/lib/systemd/system/proc-hidepid.service
addgroup --system proc
## group 'sudo' membership required to use 'su'
## /usr/share/pam-configs/wheel-security-misc
adduser root sudo
## Useful to create groups in preinst rather than postinst.
## Otherwise if a user saw an error message such as this:
##
## /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
##
## Then the user could not run 'sudo adduser user console' but also would
## have to create the groups himself.
## Related to Console Lockdown.
## /usr/share/pam-configs/console-lockdown-security-misc
## /etc/security/access-security-misc.conf
addgroup --system console
addgroup --system console-unrestricted
## This has no effect since by default this package also ships and an
## /etc/securetty configuration file that contains nothing but comments, i.e.
## an "empty" /etc/securetty.
## In case a system administrator edits /etc/securetty, there is no need to
## block for this to be still blocked by console lockdown. See also:
## https://www.kicksecure.com/wiki/Root#Root_Login
adduser root console
}
output_skip_checks() {
echo "security-misc '$0' INFO: Allow installation of security-misc anyway." >&2
echo "security-misc '$0' INFO: (technical reason: $@)" >&2
echo "security-misc '$0' INFO: If this is a chroot this is probably OK." >&2
echo "security-misc '$0' INFO: Otherwise you might not be able to login." >&2
}
sudo_users_check () {
if command -v "qubesdb-read" &>/dev/null; then
## Qubes users can use dom0 to get a root terminal emulator.
## For example:
## qvm-run -u root debian-10 xterm
return 0
fi
local sudo_users user_with_sudo are_there_any_sudo_users OLD_IFS
sudo_users="$(getent group sudo | cut -d: -f4)"
## example sudo_users:
## user,root
OLD_IFS="$IFS"
IFS=","
export IFS
for user_with_sudo in $sudo_users ; do
if [ "$user_with_sudo" = "root" ]; then
## root login is also restricted.
## Therefore user "root" being member of group "sudo" is
## considered insufficient.
continue
fi
are_there_any_sudo_users=yes
break
done
IFS="$OLD_IFS"
export IFS
if [ "$are_there_any_sudo_users" = "yes" ]; then
return 0
fi
## Prevent users from locking themselves out.
## https://forums.whonix.org/t/is-security-misc-suitable-for-hardening-bridges-and-relays/8299/4
echo "$0: ERROR: No user is a member of group 'sudo'. Installation aborted." >&2
echo "$0: ERROR: You probably want to run:" >&2
echo "$0: NOTE: Replace user 'user' with your actual Linux user account name." >&2
echo "" >&2
echo "sudo adduser user sudo" >&2
echo "sudo adduser user console" >&2
echo "" >&2
echo "$0: ERROR: See also installation instructions:" >&2
echo "https://www.kicksecure.com/wiki/security-misc#install" >&2
if [ "$SECURITY_MISC_INSTALL" = "force" ]; then
output_skip_checks "Environment variable SECURITY_MISC_INSTALL is set to 'force'."
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 200
}
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
## Qubes users can use dom0 to get a root terminal emulator.
## For example:
## qvm-run -u root debian-10 xterm
return 0
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)"
## example console_users:
## user
console_unrestricted_users="$(getent group console-unrestricted | cut -d: -f4)"
OLD_IFS="$IFS"
IFS=","
export IFS
for user_with_console in $console_users $console_unrestricted_users ; do
if [ "$user_with_console" = "root" ]; then
## root login is also restricted.
## Therefore user "root" being member of group "console" is
## considered insufficient.
continue
fi
are_there_any_console_users=yes
break
done
IFS="$OLD_IFS"
export IFS
## Prevent users from locking themselves out.
## https://forums.whonix.org/t/is-security-misc-suitable-for-hardening-bridges-and-relays/8299/4
if [ "$are_there_any_console_users" = "yes" ]; then
return 0
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() {
if [ -f "/var/lib/legacy/do_once/${FUNCNAME}_version_1" ]; then
return 0
fi
local continue_yes user_to_be_created
if [ -f "/usr/share/whonix/marker" ]; then
continue_yes=true
fi
if [ -f "/usr/share/kicksecure/marker" ]; then
continue_yes=true
fi
if [ ! "$continue_yes" = "true" ]; then
return 0
fi
if command -v "qubesdb-read" &>/dev/null; then
## Qubes users can use dom0 to get a root terminal emulator.
## For example:
## qvm-run -u root debian-10 xterm
return 0
fi
## https://forums.whonix.org/t/etc-security-hardening-console-lockdown-pam-access-access-conf/8592/7
user_to_be_created=user
if ! id "$user_to_be_created" &>/dev/null ; then
true "INFO: user '$user_to_be_created' does not exist. Skipping adduser console and pam-auth-update."
return 0
fi
adduser "$user_to_be_created" console
pam-auth-update --enable console-lockdown-security-misc
mkdir --parents "/var/lib/legacy/do_once"
touch "/var/lib/legacy/do_once/${FUNCNAME}_version_1"
}
user_groups_modifications
legacy
if [ "$1" = "install" ] || [ "$1" = "upgrade" ]; then
sudo_users_check
console_users_check
fi
true "INFO: debhelper beginning here."
#DEBHELPER#
true "INFO: Done with debhelper."
true "
#####################################################################
## INFO: END : $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $@
#####################################################################
"
## Explicitly "exit 0", so eventually trapped errors can be ignored.
exit 0

View File

@ -1,10 +1,10 @@
#!/bin/bash
## Copyright (C) 2012 - 2018 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
if [ -f /usr/lib/helper-scripts/pre.bsh ]; then
source /usr/lib/helper-scripts/pre.bsh
if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then
source /usr/libexec/helper-scripts/pre.bsh
fi
set -e
@ -15,30 +15,9 @@ true "
#####################################################################
"
[ -n "$DEBIAN_FRONTEND" ] || DEBIAN_FRONTEND="noninteractive"
[ -n "$DEBIAN_PRIORITY" ] || DEBIAN_PRIORITY="critical"
[ -n "$DEBCONF_NOWARNINGS" ] || DEBCONF_NOWARNINGS="yes"
[ -n "$APT_LISTCHANGES_FRONTEND" ] || APT_LISTCHANGES_FRONTEND="text"
export POLICYRCD DEBIAN_FRONTEND DEBIAN_PRIORITY DEBCONF_NOWARNINGS APT_LISTCHANGES_FRONTEND
## pam-auth-update is usually used in postinst and prerm.
## Added extra space after /var to avoid lintian false positive warning.
#grep -r -l pam-auth-update /var /lib/dpkg/info
# /var /lib/dpkg/info/libpam-runtime.postinst
# /var /lib/dpkg/info/libpam-runtime.prerm
# /var /lib/dpkg/info/libpam-cap:amd64.postinst
# /var /lib/dpkg/info/libpam-cap:amd64.prerm
# /var /lib/dpkg/info/libpam-systemd:amd64.postinst
# /var /lib/dpkg/info/libpam-systemd:amd64.prerm
# /var /lib/dpkg/info/libpam-cgfs.postinst
# /var /lib/dpkg/info/libpam-cgfs.prerm
# /var /lib/dpkg/info/libpam-gnome-keyring:amd64.postinst
# /var /lib/dpkg/info/libpam-gnome-keyring:amd64.prerm
## Jul 07 20:35:39 host sudo[16090]: PAM unable to dlopen(pam_cgfs.so): /lib/security/pam_cgfs.so: cannot open shared object file: No such file or directory
## Jul 07 20:35:39 host sudo[16090]: PAM adding faulty module: pam_cgfs.so
## --package hangs in Qubes updater since it starts whiptail for interactive dpkg configuration dialog.
pam-auth-update --force
if [ "$1" = remove ]; then
pam-auth-update --package --remove "$DPKG_MAINTSCRIPT_PACKAGE"
fi
true "INFO: debhelper beginning here."

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

6
debian/security-misc.undisplace vendored Normal file
View File

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

View File

@ -1,2 +1,2 @@
## 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.
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 - 2018 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.
alias /etc/pam.d/common-session -> /etc/pam.d//etc/pam.d/common-session.security-misc,
alias /etc/pam.d/common-session -> /etc/pam.d/common-session.security-misc,
alias /etc/pam.d/common-session-noninteractive -> /etc/pam.d/common-session-noninteractive.security-misc,
alias /etc/login.defs -> /etc/login.defs.security-misc,
alias /etc/securetty -> /etc/securetty.security-misc,

View File

@ -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.
## 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,2 +0,0 @@
# Enables IOMMU to prevent DMA attacks.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX intel_iommu=on amd_iommu=on"

View File

@ -1,18 +1,329 @@
# Disables the merging of slabs of similar sizes. Sometimes a slab can be used in a vulnerable way which an attacker can exploit.
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
kpkg="linux-image-$(dpkg --print-architecture)" || true
kver="$(dpkg-query --show --showformat='${Version}' "$kpkg")" 2>/dev/null || true
#echo "## kver: $kver"
## Definitions:
## KSPP=yes: compliant with recommendations by the KSPP
## KSPP=partial: partially compliant with recommendations by the KSPP
## KSPP=no: not (currently) compliant with recommendations by the KSPP
## If there is no explicit KSPP compliance notice, the setting is not mentioned by the KSPP.
## This configuration file is split into 4 sections:
## 1. Kernel Space
## 2. Direct Memory Access
## 3. Entropy
## 4. Networking
## See the documentation below for details on the majority of the selected commands:
## https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
## https://wiki.archlinux.org/title/Kernel_parameters#GRUB
## 1. Kernel Space:
##
## https://madaidans-insecurities.github.io/guides/linux-hardening.html#boot-parameters
## https://kspp.github.io/Recommended_Settings#kernel-command-line-options
## Disable merging of slabs with similar size.
## Reduces the risk of triggering heap overflows.
## Prevents overwriting objects from merged caches and limits influencing slab cache layout.
##
## https://www.openwall.com/lists/kernel-hardening/2017/06/19/33
## https://www.openwall.com/lists/kernel-hardening/2017/06/20/10
##
## KSPP=yes
## KSPP sets the kernel parameter and does not set CONFIG_SLAB_MERGE_DEFAULT.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX slab_nomerge"
# Enables sanity checks (F), redzoning (Z) and poisoning (P).
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX slab_debug=FZP"
## Enable sanity checks and red zoning of slabs via debugging options to detect corruption.
## As a by product of debugging, this will implicitly disabling kernel pointer hashing.
## 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"
# Wipes free memory so it can't leak in various ways and prevents some use-after-free vulnerabilites.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX page_poison=1"
## Zero memory at allocation time and free time.
## Fills newly allocated pages, freed pages, and heap objects with zeros.
## Mitigates use-after-free exploits by erasing sensitive information in memory.
##
## https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6471384af2a6530696fc0203bafe4de41a23c9ef
##
## KSPP=yes
## KSPP sets the kernel parameters, CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y, and CONFIG_INIT_ON_FREE_DEFAULT_ON=y.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX init_on_alloc=1"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX init_on_free=1"
# Makes the kernel panic on uncorrectable errors in ECC memory that an attacker could exploit.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mce=0"
## Enable the kernel page allocator to randomize free lists.
## During early boot, the page allocator has predictable FIFO behavior for physical pages.
## Limits some data exfiltration and ROP attacks that rely on inferring sensitive data location.
## Also improves performance by optimizing memory-side cache utilization.
##
## https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e900a918b0984ec8f2eb150b8477a47b75d17692
## https://en.wikipedia.org/wiki/Return-oriented_programming#Attacks
##
## KSPP=yes
## KSPP sets the kernel parameter and CONFIG_SHUFFLE_PAGE_ALLOCATOR=y.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX page_alloc.shuffle=1"
# Enables Kernel Page Table Isolation which mitigates Meltdown and improves KASLR.
## Enable kernel page table isolation to harden against kernel ASLR (KASLR) bypasses.
## Mitigates the Meltdown CPU vulnerability.
##
## https://en.wikipedia.org/wiki/Kernel_page-table_isolation
##
## KSPP=yes
## KSPP sets the kernel parameter and CONFIG_MITIGATION_PAGE_TABLE_ISOLATION=y.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX pti=on"
# Enables all mitigations for the MDS vulnerability.
# Disables smt which can be used to exploit the MDS vulnerability.
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mds=full,nosmt"
## Enable randomization of the kernel stack offset on syscall entries.
## Hardens against memory corruption attacks due to increased entropy.
## Limits attacks relying on deterministic stack addresses or cross-syscall address exposure.
##
## https://lkml.org/lkml/2019/3/18/246
## https://a13xp0p0v.github.io/2020/02/15/CVE-2019-18683.html
##
## KSPP=yes
## KSPP sets the kernel parameter and CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX randomize_kstack_offset=on"
## Disable vsyscalls to reduce attack surface as they have been replaced by vDSO.
## Vulnerable to ROP attacks as vsyscalls are located at fixed addresses in memory.
##
## https://lwn.net/Articles/446528/
## https://en.wikipedia.org/wiki/VDSO
##
## KSPP=yes
## KSPP sets the kernel parameter, CONFIG_LEGACY_VSYSCALL_NONE=y and does not set CONFIG_X86_VSYSCALL_EMULATION.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX vsyscall=none"
## Restrict access to debugfs by not registering the file system.
## Deactivated since the file system can contain sensitive information.
##
## https://lkml.org/lkml/2020/7/16/122
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX debugfs=off"
## Force the kernel to panic on "oopses".
## Can sometimes potentially indicate and thwart certain kernel exploitation attempts.
## Panics may be due to false-positives such as bad drivers.
##
## https://en.wikipedia.org/wiki/Kernel_panic#Linux
## https://en.wikipedia.org/wiki/Linux_kernel_oops
## https://forums.whonix.org/t/set-oops-panic-kernel-parameter-or-kernel-panic-on-oops-1-sysctl-for-better-security/7713
##
## KSPP=partial
## KSPP sets CONFIG_PANIC_ON_OOPS=y, but also requires CONFIG_PANIC_TIMEOUT=-1.
##
## 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

@ -0,0 +1,15 @@
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## Disable the /sys whitelist.
#sysfs_whitelist=0
## Disable the /proc/cpuinfo whitelist.
#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

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

View File

@ -1,337 +0,0 @@
#
# /etc/login.defs - Configuration control definitions for the login package.
#
# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH.
# If unspecified, some arbitrary (and possibly incorrect) value will
# be assumed. All other items are optional - if not specified then
# the described action or option will be inhibited.
#
# Comment lines (lines beginning with "#") and blank lines are ignored.
#
# Modified for Linux. --marekm
# REQUIRED for useradd/userdel/usermod
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define MAIL_DIR and MAIL_FILE,
# MAIL_DIR takes precedence.
#
# Essentially:
# - MAIL_DIR defines the location of users mail spool files
# (for mbox use) by appending the username to MAIL_DIR as defined
# below.
# - MAIL_FILE defines the location of the users mail spool files as the
# fully-qualified filename obtained by prepending the user home
# directory before $MAIL_FILE
#
# NOTE: This is no more used for setting up users MAIL environment variable
# which is, starting from shadow 4.0.12-1 in Debian, entirely the
# job of the pam_mail PAM modules
# See default PAM configuration files provided for
# login, su, etc.
#
# This is a temporary situation: setting these variables will soon
# move to /etc/default/useradd and the variables will then be
# no more supported
MAIL_DIR /var/mail
#MAIL_FILE .mail
#
# Enable logging and display of /var/log/faillog login failure info.
# This option conflicts with the pam_tally PAM module.
#
FAILLOG_ENAB yes
#
# Enable display of unknown usernames when login failures are recorded.
#
# WARNING: Unknown usernames may become world readable.
# See #290803 and #298773 for details about how this could become a security
# concern
LOG_UNKFAIL_ENAB no
#
# Enable logging of successful logins
#
LOG_OK_LOGINS no
#
# Enable "syslog" logging of su activity - in addition to sulog file logging.
# SYSLOG_SG_ENAB does the same for newgrp and sg.
#
SYSLOG_SU_ENAB yes
SYSLOG_SG_ENAB yes
#
# If defined, all su activity is logged to this file.
#
#SULOG_FILE /var/log/sulog
#
# If defined, file which maps tty line to TERM environment parameter.
# Each line of the file is in a format something like "vt100 tty01".
#
#TTYTYPE_FILE /etc/ttytype
#
# If defined, login failures will be logged here in a utmp format
# last, when invoked as lastb, will read /var/log/btmp, so...
#
FTMP_FILE /var/log/btmp
#
# If defined, the command name to display when running "su -". For
# example, if this is defined as "su" then a "ps" will display the
# command is "-su". If not defined, then "ps" would display the
# name of the shell actually being run, e.g. something like "-sh".
#
SU_NAME su
#
# If defined, file which inhibits all the usual chatter during the login
# sequence. If a full pathname, then hushed mode will be enabled if the
# user's name or shell are found in the file. If not a full pathname, then
# hushed mode will be enabled if the file exists in the user's home directory.
#
HUSHLOGIN_FILE .hushlogin
#HUSHLOGIN_FILE /etc/hushlogins
#
# *REQUIRED* The default PATH settings, for superuser and normal users.
#
# (they are minimal, add the rest in the shell startup files)
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
#
# Terminal permissions
#
# TTYGROUP Login tty will be assigned this group ownership.
# TTYPERM Login tty will be set to this permission.
#
# If you have a "write" program which is "setgid" to a special group
# which owns the terminals, define TTYGROUP to the group number and
# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign
# TTYPERM to either 622 or 600.
#
# In Debian /usr/bin/bsd-write or similar programs are setgid tty
# However, the default and recommended value for TTYPERM is still 0600
# to not allow anyone to write to anyone else console or terminal
# Users can still allow other people to write them by issuing
# the "mesg y" command.
TTYGROUP tty
TTYPERM 0600
#
# Login configuration initializations:
#
# ERASECHAR Terminal ERASE character ('\010' = backspace).
# KILLCHAR Terminal KILL character ('\025' = CTRL/U).
# UMASK Default "umask" value.
#
# The ERASECHAR and KILLCHAR are used only on System V machines.
#
# UMASK is the default umask value for pam_umask and is used by
# useradd and newusers to set the mode of the new home directories.
# 022 is the "historical" value in Debian for UMASK
# 027, or even 077, could be considered better for privacy
# There is no One True Answer here : each sysadmin must make up his/her
# mind.
#
# If USERGROUPS_ENAB is set to "yes", that will modify this UMASK default value
# for private user groups, i. e. the uid is the same as gid, and username is
# the same as the primary group name: for these, the user permissions will be
# used as group permissions, e. g. 022 will become 002.
#
# Prefix these values with "0" to get octal, "0x" to get hexadecimal.
#
ERASECHAR 0177
KILLCHAR 025
UMASK 006
#
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 1000
UID_MAX 60000
# System accounts
#SYS_UID_MIN 100
#SYS_UID_MAX 999
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 1000
GID_MAX 60000
# System accounts
#SYS_GID_MIN 100
#SYS_GID_MAX 999
#
# Max number of login retries if password is bad. This will most likely be
# overriden by PAM, since the default pam_unix module has it's own built
# in of 3 retries. However, this is a safe fallback in case you are using
# an authentication module that does not enforce PAM_MAXTRIES.
#
LOGIN_RETRIES 5
#
# Max time in seconds for login
#
LOGIN_TIMEOUT 60
#
# Which fields may be changed by regular users using chfn - use
# any combination of letters "frwh" (full name, room number, work
# phone, home phone). If not defined, no changes are allowed.
# For backward compatibility, "yes" = "rwh" and "no" = "frwh".
#
CHFN_RESTRICT rwh
#
# Should login be allowed if we can't cd to the home directory?
# Default in no.
#
DEFAULT_HOME yes
#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local
#
# If set to yes, userdel will remove the user's group if it contains no
# more members, and useradd will create by default a group with the name
# of the user.
#
# Other former uses of this variable such as setting the umask when
# user==primary group are not used in PAM environments, such as Debian
#
USERGROUPS_ENAB yes
#
# Instead of the real user shell, the program specified by this parameter
# will be launched, although its visible name (argv[0]) will be the shell's.
# The program may do whatever it wants (logging, additional authentification,
# banner, ...) before running the actual shell.
#
# FAKE_SHELL /bin/fakeshell
#
# If defined, either full pathname of a file containing device names or
# a ":" delimited list of device names. Root logins will be allowed only
# upon these devices.
#
# This variable is used by login and su.
#
#CONSOLE /etc/consoles
#CONSOLE console:tty01:tty02:tty03:tty04
#
# List of groups to add to the user's supplementary group set
# when logging in on the console (as determined by the CONSOLE
# setting). Default is none.
#
# Use with caution - it is possible for users to gain permanent
# access to these groups, even when not logged in on the console.
# How to do it is left as an exercise for the reader...
#
# This variable is used by login and su.
#
#CONSOLE_GROUPS floppy:audio:cdrom
#
# If set to "yes", new passwords will be encrypted using the MD5-based
# algorithm compatible with the one used by recent releases of FreeBSD.
# It supports passwords of unlimited length and longer salt strings.
# Set to "no" if you need to copy encrypted passwords to other systems
# which don't understand the new algorithm. Default is "no".
#
# This variable is deprecated. You should use ENCRYPT_METHOD.
#
#MD5_CRYPT_ENAB no
#
# If set to MD5 , MD5-based algorithm will be used for encrypting password
# If set to SHA256, SHA256-based algorithm will be used for encrypting password
# If set to SHA512, SHA512-based algorithm will be used for encrypting password
# If set to DES, DES-based algorithm will be used for encrypting password (default)
# Overrides the MD5_CRYPT_ENAB option
#
# Note: It is recommended to use a value consistent with
# the PAM modules configuration.
#
ENCRYPT_METHOD SHA512
#
# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512.
#
# Define the number of SHA rounds.
# With a lot of rounds, it is more difficult to brute forcing the password.
# But note also that it more CPU resources will be needed to authenticate
# users.
#
# If not specified, the libc will choose the default number of rounds (5000).
# The values must be inside the 1000-999999999 range.
# If only one of the MIN or MAX values is set, then this value will be used.
# If MIN > MAX, the highest value will be used.
#
# SHA_CRYPT_MIN_ROUNDS 5000
# SHA_CRYPT_MAX_ROUNDS 5000
################# OBSOLETED BY PAM ##############
# #
# These options are now handled by PAM. Please #
# edit the appropriate file in /etc/pam.d/ to #
# enable the equivelants of them.
#
###############
#MOTD_FILE
#DIALUPS_CHECK_ENAB
#LASTLOG_ENAB
#MAIL_CHECK_ENAB
#OBSCURE_CHECKS_ENAB
#PORTTIME_CHECKS_ENAB
#SU_WHEEL_ONLY
#CRACKLIB_DICTPATH
#PASS_CHANGE_TRIES
#PASS_ALWAYS_WARN
#ENVIRON_FILE
#NOLOGINS_FILE
#ISSUE_FILE
#PASS_MIN_LEN
#PASS_MAX_LEN
#ULIMIT
#ENV_HZ
#CHFN_AUTH
#CHSH_AUTH
#FAIL_DELAY
################# OBSOLETED #######################
# #
# These options are no more handled by shadow. #
# #
# Shadow utilities will display a warning if they #
# still appear. #
# #
###################################################
# CLOSE_SESSIONS
# LOGIN_STRING
# NO_PASSWORD_CONSOLE
# QMAIL_DIR

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.
## Do not disable by default for 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,11 @@
## 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.
## Increases kernel attack surface by enabling superfluous functionality such as IRC parsing in the kernel.
##
## 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 attack surface due to extended history of security vulnerabilities.
##
## https://en.wikipedia.org/wiki/Bluetooth#History_of_security_concerns
##
## Now replaced by 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 some 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 increasing become more intertwined with basic Intel system operation.
## Disabling may lead to breakages in numerous places without clear debugging/error messages.
## May cause issues with 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 some functionality 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:
## Disables Thunderbolt modules to prevent some 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,3 +0,0 @@
# Blacklist thunderbolt and firewire to prevent some DMA attacks.
install firewire-core /bin/true
install thunderbolt /bin/true

View File

@ -1,26 +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/true
install sctp /bin/true
install rds /bin/true
install tipc /bin/true
install n-hdlc /bin/true
install ax25 /bin/true
install netrom /bin/true
install x25 /bin/true
install rose /bin/true
install decnet /bin/true
install econet /bin/true
install af_802154 /bin/true
install ipx /bin/true
install appletalk /bin/true
install psnap /bin/true
install p8023 /bin/true
install llc /bin/true
install p8022 /bin/true

View File

@ -1,33 +0,0 @@
#
# /etc/pam.d/common-password - password-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define the services to be
# used to change user passwords. The default is pam_unix.
# Explanation of pam_unix options:
#
# The "sha512" option enables salted SHA512 passwords. Without this option,
# the default is Unix crypt. Prior releases used the option "md5".
#
# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in
# login.defs.
#
# See the pam_unix manpage for other options.
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules. See
# pam-auth-update(8) for details.
# here are the per-package modules (the "Primary" block)
password [success=1 default=ignore] pam_unix.so obscure sha512 rounds=65536
# here's the fallback if no module succeeds
password requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
password required pam_permit.so
# and here are more per-package modules (the "Additional" block)
# end of pam-auth-update config

View File

@ -1,28 +0,0 @@
#
# /etc/pam.d/common-session-noninteractive - session-related modules
# common to all non-interactive services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define tasks to be performed
# at the start and end of all non-interactive sessions.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules. See
# pam-auth-update(8) for details.
# here are the per-package modules (the "Primary" block)
session [default=1] pam_permit.so
# here's the fallback if no module succeeds
session requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
session required pam_permit.so
# and here are more per-package modules (the "Additional" block)
session required pam_unix.so
session optional pam_cgfs.so -c freezer,memory,name=systemd
# end of pam-auth-update config
session optional pam_umask.so usergroups

View File

@ -1,29 +0,0 @@
#
# /etc/pam.d/common-session - session-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define tasks to be performed
# at the start and end of sessions of *any* kind (both interactive and
# non-interactive).
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules. See
# pam-auth-update(8) for details.
# here are the per-package modules (the "Primary" block)
session [default=1] pam_permit.so
# here's the fallback if no module succeeds
session requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
session required pam_permit.so
# and here are more per-package modules (the "Additional" block)
session required pam_unix.so
session optional pam_systemd.so
session optional pam_cgfs.so -c freezer,memory,name=systemd
# end of pam-auth-update config
session optional pam_umask.so usergroups

View File

@ -1,61 +0,0 @@
#
# The PAM configuration file for the Shadow `su' service
#
# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so
# Uncomment this to force users to be a member of group root
# before they can use `su'. You can also add "group=foo"
# to the end of this line if you want to use a group other
# than the default "root" (but this may have side effect of
# denying "root" user, unless she's a member of "foo" or explicitly
# permitted earlier by e.g. "sufficient pam_rootok.so").
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
auth required pam_wheel.so
# Uncomment this if you want wheel members to be able to
# su without a password.
# auth sufficient pam_wheel.so trust
# Uncomment this if you want members of a specific group to not
# be allowed to use su at all.
# auth required pam_wheel.so deny group=nosu
# Uncomment and edit /etc/security/time.conf if you need to set
# time restrainst on su usage.
# (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs
# as well as /etc/porttime)
# account requisite pam_time.so
# This module parses environment configuration file(s)
# and also allows you to use an extended config
# file /etc/security/pam_env.conf.
#
# parsing /etc/environment needs "readenv=1"
session required pam_env.so readenv=1
# locale variables are also kept into /etc/default/locale in etch
# reading this file *in addition to /etc/environment* does not hurt
session required pam_env.so readenv=1 envfile=/etc/default/locale
# Defines the MAIL environment variable
# However, userdel also needs MAIL_DIR and MAIL_FILE variables
# in /etc/login.defs to make sure that removing a user
# also removes the user's mail spool file.
# See comments in /etc/login.defs
#
# "nopen" stands to avoid reporting new mail when su'ing to another user
session optional pam_mail.so nopen
# Sets up user limits according to /etc/security/limits.conf
# (Replaces the use of /etc/limits in old login)
session required pam_limits.so
# The standard Unix authentication modules, used with
# NIS (man nsswitch) as well as normal /etc/passwd and
# /etc/shadow entries.
@include common-auth
@include common-account
@include common-session

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.
# See securetty(5) and login(1).

View File

@ -0,0 +1,41 @@
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
## To enable root login, see:
## https://www.kicksecure.com/wiki/Root#Root_Login
## Console Lockdown
## https://forums.whonix.org/t/etc-security-hardening/8592
## This is the error message should this fail:
## sudo su
## sudo: PAM account management error: Permission denied
## see also:
## man access.conf
## man pam_access
## Usually tty7 is for X.
## Qubes uses tty1 for X.
## 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".
## 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'
## are restricted from everything else.
-: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"?>
<!-- ## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org> -->
<!-- ## See the file COPYING for copying conditions. -->
<!-- Configuration for Thunar. -->
<!-- Changes date style to iso format. -->
<!-- Disable thumbnails. -->
@ -13,4 +16,5 @@
<value type="string" value="network:///"/>
</property>
<property name="misc-volume-management" type="bool" value="false"/>
<property name="misc-show-delete-action" type="bool" value="true"/>
</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,5 +1,12 @@
## Copyright (C) 2012 - 2018 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.
user ALL=NOPASSWD: /usr/lib/security-misc/panic-on-oops
%sudo ALL=NOPASSWD: /usr/lib/security-misc/panic-on-oops
## Neither of these are needed.
#user ALL=NOPASSWD: /usr/libexec/security-misc/panic-on-oops
#%sudo ALL=NOPASSWD: /usr/libexec/security-misc/panic-on-oops
## Use a more open umask when executing commands with sudo
## Can be overridden on a per-user basis using .[z]profile if desirable
## https://www.kicksecure.com/wiki/Dev/Strong_Linux_User_Account_Isolation#umask_hardening
Defaults umask_override
Defaults umask=0022

View File

@ -1,3 +0,0 @@
# 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,2 +0,0 @@
# Restricts the kernel log to root only.
kernel.dmesg_restrict=1

View File

@ -1,3 +0,0 @@
# Makes some data spoofing attacks harder.
fs.protected_fifos=2
fs.protected_regular=2

View File

@ -1,3 +0,0 @@
# Hardens the BPF JIT compiler and restricts it to root.
kernel.unprivileged_bpf_disabled=1
net.core.bpf_jit_harden=2

View File

@ -1,2 +0,0 @@
# Disables kexec which can be used to replace the running kernel
kernel.kexec_load_disabled=1

View File

@ -1,2 +0,0 @@
# Hides kernel symbols in /proc/kallsyms
kernel.kptr_restrict=2

View File

@ -1,3 +0,0 @@
# Improves KASLR effectiveness for mmap.
vm.mmap_rnd_bits=32
vm.mmap_rnd_compat_bits=16

View File

@ -1,7 +0,0 @@
# 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,2 +0,0 @@
# Prevent setuid processes from creating coredumps.
fs.suid_dumpable=0

View File

@ -1,2 +0,0 @@
# Allow only rebooting/shutting down with the SysRq key.
kernel.sysrq=128

View File

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

View File

@ -1,2 +0,0 @@
# Disables SACK as it is commonly exploited and likely not needed.
net.ipv4.tcp_sack=0

View File

@ -1 +0,0 @@
net.ipv4.tcp_timestamps=0

View File

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

View File

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

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,33 +0,0 @@
## Copyright (C) 2012 - 2018 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
[Unit]
Description=Mounts /proc with hidepid=2
Documentation=https://github.com/Whonix/security-misc
Requires=local-fs.target
After=local-fs.target
[Service]
Type=oneshot
ExecStart=/bin/mount -o remount,nosuid,nodev,noexec,hidepid=2 /proc
## Disabled since not working in Qubes.
#ProtectSystem=strict
#ProtectHome=true
#ProtectKernelTunables=true
#ProtectKernelModules=true
#ProtectControlGroups=true
#PrivateTmp=true
#PrivateMounts=true
#PrivateDevices=true
#MemoryDenyWriteExecute=true
#NoNewPrivileges=true
#RestrictRealtime=true
#SystemCallArchitectures=native
#RestrictNamespaces=true
#SystemCallFilter=mount munmap access read open close stat fstat lstat mmap mprotect brk rt_sigaction rt_sigprocmask execve readlink getrlimit getuid getgid geteuid getegid statfs prctl arch_prctl set_tid_address newfstatat set_robust_list openat mkdir
PrivateNetwork=true
[Install]
WantedBy=multi-user.target

View File

@ -1,10 +0,0 @@
[Unit]
Description=Removes the System.map files
Documentation=https://github.com/Whonix/security-misc
[Service]
Type=oneshot
ExecStart=/usr/lib/security-misc/remove-system.map
[Install]
WantedBy=multi-user.target

View File

@ -3,8 +3,8 @@ Version: @VERSION@
Release: 1%{?dist}
Summary: enhances misc security settings
License: GPL-3+-with-additional-terms-1
URL: https://github.com/Whonix/security-misc
License: AGPL-3+
URL: https://github.com/Kicksecure/security-misc
Source0: %{name}-%{version}.tar.xz
BuildRequires: dpkg-dev
@ -13,50 +13,7 @@ Requires: make
BuildArch: noarch
%description
The following settings are changed:
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.
See README.
%prep
%setup -q
@ -72,32 +29,9 @@ make %{?_smp_mflags}
%files
%license debian/copyright
/etc/X11/Xsession.d/50security-misc
/etc/default/grub.d/40_enable_iommu.cfg
/etc/default/grub.d/40_kernel_hardening.cfg
/etc/modprobe.d/30_nf_conntrack_helper_disable.conf
/etc/modprobe.d/blacklist-dma.conf
/etc/modprobe.d/uncommon-network-protocols.conf
/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
/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/sysrq.conf
/etc/sysctl.d/tcp_hardening.conf
/etc/sysctl.d/tcp_timestamps.conf
/etc/sysctl.d/tcp_sack.conf
/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/remove-system.map
/usr/share/glib-2.0/schemas/30_security-misc.gschema.override
/usr/share/lintian/overrides/security-misc
/usr/share/security-misc/dolphinrc
/lib/systemd/system/remove-system-map.service
/etc/*
/lib/*
/usr/*
%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

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