mirror of
https://github.com/Kicksecure/security-misc.git
synced 2026-01-12 08:31:03 -05:00
Compare commits
1532 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
34440d7cdf | ||
|
|
cbd91974b1 | ||
|
|
a0fd435751 | ||
|
|
6c4e7458a1 | ||
|
|
74533a7efa | ||
|
|
84408cb1a5 | ||
|
|
8a132749e0 | ||
|
|
e2d31a5b81 | ||
|
|
6e15c683ab | ||
|
|
52ef679c2c | ||
|
|
436308ae4e | ||
|
|
f8ac896b87 | ||
|
|
97640a9b57 | ||
|
|
c54d6a2258 | ||
|
|
7477a6711a | ||
|
|
885358794f | ||
|
|
44837c12bb | ||
|
|
7b37965c5c | ||
|
|
dddf79798c | ||
|
|
5e45248eb6 | ||
|
|
1b07fd2e73 | ||
|
|
d2796afe8e | ||
|
|
68c89cced3 | ||
|
|
8aef71c254 | ||
|
|
55a9755d90 | ||
|
|
6927a5d1ad | ||
|
|
29c1280868 | ||
|
|
7ed2d25def | ||
|
|
0bf0a73eb4 | ||
|
|
2106ed5aa6 | ||
|
|
969d4d8213 | ||
|
|
b9d4f0aaa5 | ||
|
|
005b66c265 | ||
|
|
3f097a35f2 | ||
|
|
e7e6d6d373 | ||
|
|
b8f7806267 | ||
|
|
eaf0f814bd | ||
|
|
8e56772c2f | ||
|
|
4d0a126955 | ||
|
|
39ce591976 | ||
|
|
650b923c7a | ||
|
|
b366c5e62a | ||
|
|
68de32e43e | ||
|
|
8040ba7579 | ||
|
|
fe1cfcd1a0 | ||
|
|
ab2d44677a | ||
|
|
5684a12d9d | ||
|
|
135ee80450 | ||
|
|
7d90121302 | ||
|
|
72f295a3f0 | ||
|
|
6a17255307 | ||
|
|
22b1e3dc92 | ||
|
|
53c4fdbeea | ||
|
|
725565c42e | ||
|
|
b7b6b6e5fb | ||
|
|
8f99672cb2 | ||
|
|
ac128dd873 | ||
|
|
85761a4153 | ||
|
|
17dd7af7d1 | ||
|
|
c44678f92d | ||
|
|
0534a34ed7 | ||
|
|
6f9732be98 | ||
|
|
b3eb739fe2 | ||
|
|
5f34b4146e | ||
|
|
2c253b1312 | ||
|
|
17ab1bb00f | ||
|
|
2b2d30afce | ||
|
|
f0d069c796 | ||
|
|
b73a830b0f | ||
|
|
e54cb007f9 | ||
|
|
84e193c44e | ||
|
|
65c45fc3d7 | ||
|
|
37b1d055f1 | ||
|
|
7280d8867d | ||
|
|
2089b3a9b8 | ||
|
|
cbd35502f1 | ||
|
|
cac73c3154 | ||
|
|
d68988e76c | ||
|
|
c1ca36d758 | ||
|
|
a3417e997d | ||
|
|
edda37809f | ||
|
|
ec11679514 | ||
|
|
5c4d3162ab | ||
|
|
30068ec8cd | ||
|
|
f75e987337 | ||
|
|
79be87ec5f | ||
|
|
1a7b0a9122 | ||
|
|
1865cafe44 | ||
|
|
28476d3d53 | ||
|
|
446d3771bf | ||
|
|
3646a2fefe | ||
|
|
66ba273d44 | ||
|
|
e6aa648d54 | ||
|
|
59869979bb | ||
|
|
4597fd16a9 | ||
|
|
5adc007536 | ||
|
|
31e3aa0c3a | ||
|
|
9f85a78c99 | ||
|
|
4e7cfb0d06 | ||
|
|
936c799cb5 | ||
|
|
68025d3624 | ||
|
|
ebc011e67b | ||
|
|
62dc2d4483 | ||
|
|
29176d2ed2 | ||
|
|
9f897c5ccd | ||
|
|
b6fe1a5a6e | ||
|
|
99e993b885 | ||
|
|
d267cf6761 | ||
|
|
efa06a1eae | ||
|
|
abf5852eba | ||
|
|
3af8916455 | ||
|
|
d891313d57 | ||
|
|
0b9b9ffb1e | ||
|
|
3070aa5d1f | ||
|
|
ab98da957c | ||
|
|
fb587f78fd | ||
|
|
fc1b865dd7 | ||
|
|
45126cede6 | ||
|
|
61637a5ff0 | ||
|
|
ddb59a3b01 | ||
|
|
ae1e2e3b52 | ||
|
|
f2b7658542 | ||
|
|
71ca68bd4a | ||
|
|
e9e6c12b03 | ||
|
|
f5db916bf7 | ||
|
|
bb0a23fcc8 | ||
|
|
39a6ce002e | ||
|
|
94de949a47 | ||
|
|
5ac02d2d52 | ||
|
|
b89aaea61e | ||
|
|
5fbd42bbec | ||
|
|
9d86379f56 | ||
|
|
a3830db09e | ||
|
|
0aa0b67df6 | ||
|
|
0939883f0b | ||
|
|
0391411885 | ||
|
|
26b96ce280 | ||
|
|
1ef974300a | ||
|
|
48ce12eba3 | ||
|
|
69419357e1 | ||
|
|
d50e6afc8f | ||
|
|
1267960842 | ||
|
|
1e48886c7e | ||
|
|
d6c949c791 | ||
|
|
fa32ba6c4f | ||
|
|
635c216d4e | ||
|
|
a46f678c7f | ||
|
|
37b493826e | ||
|
|
019a0cf72c | ||
|
|
4c88b91141 | ||
|
|
e43d4d7f71 | ||
|
|
53d90b1128 | ||
|
|
322584db33 | ||
|
|
5e87c9bea4 | ||
|
|
3fdfebc464 | ||
|
|
5b97e7bd27 | ||
|
|
58d5f738e6 | ||
|
|
5121f80f28 | ||
|
|
29685938bd | ||
|
|
c5f91eb33a | ||
|
|
d175d1be52 | ||
|
|
7beb19b64a | ||
|
|
5a6730450a | ||
|
|
7de05e88f5 | ||
|
|
fe8b7fda3d | ||
|
|
ad0053d937 | ||
|
|
94918eeefb | ||
|
|
6cc5eebe22 | ||
|
|
81a279ee1f | ||
|
|
e24eee361d | ||
|
|
53d3809891 | ||
|
|
dcccad9266 | ||
|
|
cfaa953373 | ||
|
|
8b766fc3ad | ||
|
|
948c96afe9 | ||
|
|
aae472d9cf | ||
|
|
3b2092ee76 | ||
|
|
d1e148eba7 | ||
|
|
b168c37e84 | ||
|
|
c9d48ef7fd | ||
|
|
2dda826e02 | ||
|
|
cb70f19837 | ||
|
|
53db631964 | ||
|
|
f2b33b1ad5 | ||
|
|
1f093f8175 | ||
|
|
8f78269949 | ||
|
|
7969ffd4a5 | ||
|
|
f555c48c51 | ||
|
|
9f7480e20a | ||
|
|
f2c3eba4f0 | ||
|
|
929421bd25 | ||
|
|
f5b7aab87e | ||
|
|
806eec423a | ||
|
|
70fbbc230c | ||
|
|
11d9b94038 | ||
|
|
708e1358df | ||
|
|
3d5e659b78 | ||
|
|
29639fe69e | ||
|
|
026d55ac41 | ||
|
|
35fce26476 | ||
|
|
4f63af4200 | ||
|
|
f690b58870 | ||
|
|
9db63d9777 | ||
|
|
2304174171 | ||
|
|
7161430a60 | ||
|
|
6cc1c27fb3 | ||
|
|
4d9c3dc357 | ||
|
|
968de33c65 | ||
|
|
98f27c3b2e | ||
|
|
28a88c7091 | ||
|
|
f4a87e7748 | ||
|
|
6cf8a623fe | ||
|
|
e89c7ae025 | ||
|
|
685070bd02 | ||
|
|
ba6ec919f0 | ||
|
|
718772ea78 | ||
|
|
0c8f2f1b44 | ||
|
|
4340bf50b7 | ||
|
|
dd961b8427 | ||
|
|
e6ba4dad46 | ||
|
|
60f8153f64 | ||
|
|
7e016b5632 | ||
|
|
194b8fce4e | ||
|
|
22c9863493 | ||
|
|
08199dfe94 | ||
|
|
58cc6731f2 | ||
|
|
78492e0e56 | ||
|
|
b9deefed61 | ||
|
|
590aaec73d | ||
|
|
2536880394 | ||
|
|
17ee63aca4 | ||
|
|
d31f63fb10 | ||
|
|
275eecc4f8 | ||
|
|
c45a4ffdd2 | ||
|
|
2a39d5997c | ||
|
|
5738bb6104 | ||
|
|
9acdfc741b | ||
|
|
62ea7e5041 | ||
|
|
02d0ba49bb | ||
|
|
0c7bee33a7 | ||
|
|
3583004796 | ||
|
|
67b1cb319d | ||
|
|
4bd08f8c81 | ||
|
|
068750543a | ||
|
|
ca90feb8d5 | ||
|
|
4eb9ec15e1 | ||
|
|
c2594a022e | ||
|
|
41ba668d23 | ||
|
|
1b194f9fd6 | ||
|
|
80562557ef | ||
|
|
c99ea95410 | ||
|
|
13e926207c | ||
|
|
55a8ec685d | ||
|
|
b4a7d84bf5 | ||
|
|
43ed739479 | ||
|
|
ea878c351f | ||
|
|
06c045f70f | ||
|
|
f70550d015 | ||
|
|
2de10d5b7b | ||
|
|
24424bcbc0 | ||
|
|
2d3b4ee124 | ||
|
|
ad367c0bbc | ||
|
|
95eeb579a6 | ||
|
|
21c605e27e | ||
|
|
90b6486ffe | ||
|
|
7b32e9339e | ||
|
|
d262db2e6c | ||
|
|
75306a3f96 | ||
|
|
ac6bc65e3c | ||
|
|
2319bd9164 | ||
|
|
85fd8ea52b | ||
|
|
b95598b6f7 | ||
|
|
78b66ba159 | ||
|
|
28d695fd2d | ||
|
|
0a61107b5a | ||
|
|
94ebb5c84c | ||
|
|
ef458ce0d3 | ||
|
|
893faa9822 | ||
|
|
cd44a7e136 | ||
|
|
28f44d2e1d | ||
|
|
53e930b4cc | ||
|
|
df8a323d03 | ||
|
|
5898a6457a | ||
|
|
f713dceff4 | ||
|
|
8cdbbf8292 | ||
|
|
2baf5cfc0b | ||
|
|
f6f4fd77e5 | ||
|
|
7f211209f7 | ||
|
|
19b7e4b4d0 | ||
|
|
3229dd8967 | ||
|
|
81d437fe3e | ||
|
|
e48897cc44 | ||
|
|
add054933b | ||
|
|
c2d5bf38f5 | ||
|
|
812f05f847 | ||
|
|
2b876c74a3 | ||
|
|
0e4664daa0 | ||
|
|
31fd316e72 | ||
|
|
5d67277c9f | ||
|
|
f77c71dd15 | ||
|
|
e15bdd2de5 | ||
|
|
312586307b | ||
|
|
a471069378 | ||
|
|
c0ad577793 | ||
|
|
45fcd163d1 | ||
|
|
37c0bc0c5d | ||
|
|
b5a36e02f1 | ||
|
|
210aa97650 | ||
|
|
f175d1961e | ||
|
|
3de9cd5646 | ||
|
|
e06b78a522 | ||
|
|
6df3e3cde8 | ||
|
|
247015bcc6 | ||
|
|
7a8dfa528c | ||
|
|
8dcd3493f8 | ||
|
|
f1de0da69b | ||
|
|
c33f7d04e2 | ||
|
|
1f75426f07 | ||
|
|
cba16879ef | ||
|
|
b4086b8e77 | ||
|
|
66ec5bda58 | ||
|
|
94668b2e93 | ||
|
|
e2c65a2a6f | ||
|
|
65afc31ba7 | ||
|
|
a2a9e8440b | ||
|
|
00c660d40d | ||
|
|
fce86dccb6 | ||
|
|
c33ea7be6d | ||
|
|
51d5ba29df | ||
|
|
c7bdca32c0 | ||
|
|
3629f2c3a5 | ||
|
|
7aa38245de | ||
|
|
c59a3b233b | ||
|
|
4930703b8c | ||
|
|
5dc251c5da | ||
|
|
046c932898 | ||
|
|
2ada07cf66 | ||
|
|
0cc0a83100 | ||
|
|
505a2b7d79 | ||
|
|
5f2425ba6f | ||
|
|
3a77abe5c9 | ||
|
|
0c1af00aae | ||
|
|
29480df770 | ||
|
|
2a3bc39eba | ||
|
|
44e7d3059a | ||
|
|
4294165362 | ||
|
|
784ff8af36 | ||
|
|
4166d6d1e6 | ||
|
|
86f44063eb | ||
|
|
498551536c | ||
|
|
45d20dd972 | ||
|
|
1f7525722e | ||
|
|
5a17e67c0a | ||
|
|
c2690efcac | ||
|
|
166bc257b0 | ||
|
|
63f2909341 | ||
|
|
d1bca0204f | ||
|
|
92bcd824e4 | ||
|
|
4da810c8fa | ||
|
|
b9416fa77a | ||
|
|
4ba029471e | ||
|
|
28ce706441 | ||
|
|
1a60da71ed | ||
|
|
e42078e90d | ||
|
|
a1d1c56033 | ||
|
|
c1e76aa52c | ||
|
|
36114e29a2 | ||
|
|
f851886ffd | ||
|
|
5889d134a2 | ||
|
|
6f9763f525 | ||
|
|
b745c8ddae | ||
|
|
e387086de4 | ||
|
|
dfb6f143f0 | ||
|
|
2a7071055f | ||
|
|
e3ce9c38c5 | ||
|
|
b06fb54280 | ||
|
|
468cf40e2a | ||
|
|
865a052bf4 | ||
|
|
bb208fb134 | ||
|
|
4314b1e85b | ||
|
|
e3c4519179 | ||
|
|
115b6f6aa2 | ||
|
|
4639d1aab5 | ||
|
|
109c013467 | ||
|
|
72613203b9 | ||
|
|
dd0b55cc45 | ||
|
|
5159de6343 | ||
|
|
3e102df765 | ||
|
|
d5edc243ac | ||
|
|
eda1d0aef6 | ||
|
|
5a10ad031d | ||
|
|
3559bc86b7 | ||
|
|
c59b2e4bc5 | ||
|
|
e966774862 | ||
|
|
017ee29eb3 | ||
|
|
5195977be4 | ||
|
|
abb2207313 | ||
|
|
45016146f7 | ||
|
|
395169fbce | ||
|
|
1c35303204 | ||
|
|
ace45d7c95 | ||
|
|
142ea21189 | ||
|
|
a969fa350e | ||
|
|
f023651c98 | ||
|
|
f086787464 | ||
|
|
d7643954d1 | ||
|
|
aa905fc887 | ||
|
|
92d3a36a0f | ||
|
|
2c1abb23e0 | ||
|
|
0801b96ae7 | ||
|
|
ef8515ba82 | ||
|
|
784867e24b | ||
|
|
0eea681ce8 | ||
|
|
e1bae1c68a | ||
|
|
bd01a68305 | ||
|
|
14cf205579 | ||
|
|
ff6bc5d5b6 | ||
|
|
353b6e83c5 | ||
|
|
5930e27052 | ||
|
|
5c981e0891 | ||
|
|
e14b81b15e | ||
|
|
7a079c3de8 | ||
|
|
94dc9da4ab | ||
|
|
19d7e1af5d | ||
|
|
405880e63b | ||
|
|
88235cc97b | ||
|
|
601ea77b00 | ||
|
|
d8feca1276 | ||
|
|
7f2ba0980d | ||
|
|
4d1f8c44d2 | ||
|
|
e478750814 | ||
|
|
35fa32e4ed | ||
|
|
a1bde21ccb | ||
|
|
91a76db66b | ||
|
|
6c3be9ced0 | ||
|
|
f3d46ee562 | ||
|
|
341dce33fb | ||
|
|
06e1e44b00 | ||
|
|
ba1012ca87 | ||
|
|
a8f6132bec | ||
|
|
1d14a9f324 | ||
|
|
612f5f92fd | ||
|
|
e154d0af6d | ||
|
|
4bf0e3a636 | ||
|
|
502f5953c7 | ||
|
|
abb0c83619 | ||
|
|
efa2967fca | ||
|
|
dc7e857904 | ||
|
|
9948ae114d | ||
|
|
4aca622706 | ||
|
|
701f4a0e88 | ||
|
|
a670c0d873 | ||
|
|
4799f3ce02 | ||
|
|
c4f0e1d16f | ||
|
|
81634930fa | ||
|
|
90330a1ec9 | ||
|
|
ce2c9a21a3 | ||
|
|
96ff7c8dc6 | ||
|
|
5a37790e6b | ||
|
|
7512aa6757 | ||
|
|
e0e2a9b61c | ||
|
|
9f2836d2ba | ||
|
|
5e88dfe809 | ||
|
|
c0a18c5a71 | ||
|
|
74ca63d12c | ||
|
|
aa0ffff427 | ||
|
|
da9dd3c3f1 | ||
|
|
163d51f32a | ||
|
|
4d2b2e6546 | ||
|
|
39f4f5b607 | ||
|
|
173606891a | ||
|
|
f0d17c7e41 | ||
|
|
df2fc2cf6b | ||
|
|
f643ebc2f9 | ||
|
|
d927fe238c | ||
|
|
cd0ba94ac5 | ||
|
|
3e7d1b4e23 | ||
|
|
0615e6e995 | ||
|
|
4d62ee3ab3 | ||
|
|
ce4b57d1cb | ||
|
|
2a4a228b15 | ||
|
|
041caf286b | ||
|
|
ac1493fcfc | ||
|
|
c0f2f11014 | ||
|
|
9f5e522b83 | ||
|
|
7c150d116d | ||
|
|
6aaf708217 | ||
|
|
10508cb580 | ||
|
|
b9dee26331 | ||
|
|
6b4fa1ef00 | ||
|
|
b10f5489a3 | ||
|
|
3c18734db3 | ||
|
|
f90ffacac3 | ||
|
|
3a056c9d9c | ||
|
|
d5ad29a732 | ||
|
|
c8a2483cf6 | ||
|
|
80bd314436 | ||
|
|
9b012bdeee | ||
|
|
507130a1cc | ||
|
|
42f34f5a4c | ||
|
|
5e60416c86 | ||
|
|
ed767e00b0 | ||
|
|
4b1e530674 | ||
|
|
15d13a8571 | ||
|
|
a97620a2e4 | ||
|
|
f1b6bff30b | ||
|
|
df9d058ed9 | ||
|
|
8ff5f3b221 | ||
|
|
4e0d5a196c | ||
|
|
1b4d1edfc3 | ||
|
|
51c7010e8f | ||
|
|
876d596a07 | ||
|
|
c9e2f82bd0 | ||
|
|
bf73f1f2b5 | ||
|
|
597186972e | ||
|
|
ca25716410 | ||
|
|
2dfd30a44a | ||
|
|
328f747179 | ||
|
|
c6f09748f3 | ||
|
|
a0f81958df | ||
|
|
396372c129 | ||
|
|
a84d3ba732 | ||
|
|
709036c79f | ||
|
|
659c7037c6 | ||
|
|
86d3db15bf | ||
|
|
876c0b6187 | ||
|
|
c46178dee4 | ||
|
|
f3c07a2451 | ||
|
|
bbc4ad7c2a | ||
|
|
9bb92e91a8 | ||
|
|
95dd8f419f | ||
|
|
0a2f06b456 | ||
|
|
6a4f9c1bd8 | ||
|
|
e60183ec07 | ||
|
|
a812961bea | ||
|
|
0e4dfc59dd | ||
|
|
cdf179f127 | ||
|
|
41cd09933a | ||
|
|
eec2e2c8ee | ||
|
|
6d282226ef | ||
|
|
466308e4f9 | ||
|
|
7a5f8b87af | ||
|
|
d89ffcde30 | ||
|
|
9f1759ba0e | ||
|
|
0ac85ea9f5 | ||
|
|
fce6a5f830 | ||
|
|
1e99404813 | ||
|
|
b198591537 | ||
|
|
7d44db2cb2 | ||
|
|
7e7632a553 | ||
|
|
420cb3f86f | ||
|
|
b7e7b2767e | ||
|
|
b2a1a0ec9f | ||
|
|
69ae2d9ea0 | ||
|
|
de9ebabd46 | ||
|
|
a9e87e9d30 | ||
|
|
5570d3e5b9 | ||
|
|
07786de039 | ||
|
|
de1f31e3df | ||
|
|
b0baa8baa5 | ||
|
|
d6a7cd3e0d | ||
|
|
485d9abd1d | ||
|
|
c17485baa1 | ||
|
|
e9ef3602dd | ||
|
|
1b33e83529 | ||
|
|
486757bfae | ||
|
|
17ff249150 | ||
|
|
27d19ba568 | ||
|
|
482960d056 | ||
|
|
cf435a8fa8 | ||
|
|
3a31cc99b3 | ||
|
|
538b312349 | ||
|
|
1f8eee4720 | ||
|
|
5e3785d76e | ||
|
|
5941195e96 | ||
|
|
c4cfb8597d | ||
|
|
c6be621968 | ||
|
|
6e0787957b | ||
|
|
d4767b7520 | ||
|
|
93ebf176c5 | ||
|
|
895c0f541f | ||
|
|
40b23cfad4 | ||
|
|
33114f771a | ||
|
|
bb24bff296 | ||
|
|
0640964c35 | ||
|
|
717e6fcfbe | ||
|
|
dbcb612517 | ||
|
|
397b476a82 | ||
|
|
66f8c18c65 | ||
|
|
83d3867959 | ||
|
|
6602fb102d | ||
|
|
aa82202e70 | ||
|
|
27d015d58e | ||
|
|
2f3a2bce77 | ||
|
|
3c73c0cd3a | ||
|
|
a4c76c617a | ||
|
|
b40bc0a2c9 | ||
|
|
b21c394ea5 | ||
|
|
cd027b86e7 | ||
|
|
ad6e1f5ad4 | ||
|
|
a2c1e8c218 | ||
|
|
6de5d2d076 | ||
|
|
721b100fb6 | ||
|
|
642b4eeedc | ||
|
|
175b442d5b | ||
|
|
c99021bb0c | ||
|
|
2e6e1701a0 | ||
|
|
c37f4efadf | ||
|
|
af1d06973b | ||
|
|
750367a906 | ||
|
|
95b535764c | ||
|
|
daf0a0900b | ||
|
|
e9a5b14a0d | ||
|
|
3135a03e21 | ||
|
|
c7f7196471 | ||
|
|
f0c611d9ed | ||
|
|
4f681be774 | ||
|
|
e5b67e044b | ||
|
|
4cf5757575 | ||
|
|
9d69cd1912 | ||
|
|
3749f8ff09 | ||
|
|
0dff2cd28f | ||
|
|
3e96fdd9cc | ||
|
|
45355aabdc | ||
|
|
defba1f245 | ||
|
|
943c421889 | ||
|
|
ca3a73ac13 | ||
|
|
4c3ca68453 | ||
|
|
9d06341c91 | ||
|
|
c116796854 | ||
|
|
a9dd592a8b | ||
|
|
58722324ec | ||
|
|
518224b8cf | ||
|
|
439fa7f3be | ||
|
|
7902311c57 | ||
|
|
1ce37d42cd | ||
|
|
5b88e92e5c | ||
|
|
93b51819d4 | ||
|
|
1708a03e1e | ||
|
|
59299a6639 | ||
|
|
98d7c245ee | ||
|
|
f9b5d7d3f4 | ||
|
|
d32cb8c95b | ||
|
|
62a551cfe3 | ||
|
|
d7475e252a | ||
|
|
af43472d0c | ||
|
|
c7e9460b2a | ||
|
|
31804e30ec | ||
|
|
ef95b3f9a5 | ||
|
|
412b371e85 | ||
|
|
141b84c40d | ||
|
|
18aec201bf | ||
|
|
a25d4f8df8 | ||
|
|
c2aae73ce1 | ||
|
|
57e1edde23 | ||
|
|
7987a3914d | ||
|
|
8c2e8e6979 | ||
|
|
65fc0419a8 | ||
|
|
50161f5d79 | ||
|
|
7c06e22c7d | ||
|
|
ef05b1a160 | ||
|
|
862d23cb10 | ||
|
|
29ae5f5980 | ||
|
|
4c649577f0 | ||
|
|
29b1f1ec5f | ||
|
|
5bd0a277bf | ||
|
|
238f32e81d | ||
|
|
8107782fa5 | ||
|
|
a1d1f97955 | ||
|
|
3af2684134 | ||
|
|
71c58442ca | ||
|
|
cfe19e31d8 | ||
|
|
0d50615658 | ||
|
|
ef0eb5f7a0 | ||
|
|
fdd1f4b7f8 | ||
|
|
d00235897d | ||
|
|
6c2e808b9f | ||
|
|
b44e507900 | ||
|
|
566cda5e4b | ||
|
|
5991a23049 | ||
|
|
fd34baff8f | ||
|
|
690e8dd826 | ||
|
|
b6433309fd | ||
|
|
0cfcdf4f89 | ||
|
|
0adb9b7c06 | ||
|
|
e50ad807c0 | ||
|
|
eb72163d57 | ||
|
|
a9f238fe04 | ||
|
|
09fe46adc9 | ||
|
|
263335f74e | ||
|
|
9169611645 | ||
|
|
8227a3dde2 | ||
|
|
0c0774f6c0 | ||
|
|
dc470cac1d | ||
|
|
8a2d432ffe | ||
|
|
0e3ffa3f11 | ||
|
|
f401d94d5e | ||
|
|
ac1378743c | ||
|
|
eae38e72f3 | ||
|
|
f3b50a23c9 | ||
|
|
39d063d494 | ||
|
|
5572eb897a | ||
|
|
e04f9cd4c1 | ||
|
|
65aa910503 | ||
|
|
870ff88605 | ||
|
|
769767a96a | ||
|
|
18d426f521 | ||
|
|
3280dbd5d5 | ||
|
|
1bc694fa12 | ||
|
|
01908d505a | ||
|
|
e914028be7 | ||
|
|
40fb14c654 | ||
|
|
5a255d4831 | ||
|
|
563a898013 | ||
|
|
d618f9f35b | ||
|
|
175945ec9a | ||
|
|
b0a8544182 | ||
|
|
7393ba1591 | ||
|
|
59374ce902 | ||
|
|
7e2838ec07 | ||
|
|
0762794ff6 | ||
|
|
6294729c8e | ||
|
|
3101035a3f | ||
|
|
9c918eb431 | ||
|
|
f70fe308a9 | ||
|
|
463aa58f28 | ||
|
|
328840c933 | ||
|
|
9e91c98cc9 | ||
|
|
2c356e8b0e | ||
|
|
2841d789be | ||
|
|
ac6602ac35 | ||
|
|
9dbd200be4 | ||
|
|
cf824ddb24 | ||
|
|
500568e322 | ||
|
|
73900b59db | ||
|
|
43d13b70f1 | ||
|
|
835376418d | ||
|
|
ae85fd5b4c | ||
|
|
433b15f985 | ||
|
|
af87a84b4f | ||
|
|
32de5e7c49 | ||
|
|
e4909b5e28 | ||
|
|
342caf82b2 | ||
|
|
b87a18d405 | ||
|
|
18ed77ecc9 | ||
|
|
56b28e3826 | ||
|
|
e61027a40e | ||
|
|
94dab1b7c5 | ||
|
|
683110e7f0 | ||
|
|
1f51d4eeb2 | ||
|
|
248e094b8e | ||
|
|
759aee8150 | ||
|
|
fae586c3c5 | ||
|
|
e962153f84 | ||
|
|
40b12f5a2a | ||
|
|
305467c652 | ||
|
|
12296c68dc | ||
|
|
036bcea4e6 | ||
|
|
81bf7a8f90 | ||
|
|
ef60c5b153 | ||
|
|
cea8e75378 | ||
|
|
84376d23fc | ||
|
|
a132980023 | ||
|
|
9212a4e937 | ||
|
|
23a77d4973 | ||
|
|
e3a3207a44 | ||
|
|
be9308e490 | ||
|
|
4bc12b07b4 | ||
|
|
9e61e37c17 | ||
|
|
dfd1c97168 | ||
|
|
b552b92401 | ||
|
|
326d82a9be | ||
|
|
73db68dbf9 | ||
|
|
f8fa89b245 | ||
|
|
3456f1c1d7 | ||
|
|
15c638acad | ||
|
|
077bc48a26 | ||
|
|
d8bcec881f | ||
|
|
0b0683499a | ||
|
|
e5a38fc856 | ||
|
|
a5373afc55 | ||
|
|
e98dc8c4f8 | ||
|
|
50fa721fd5 | ||
|
|
ec3038c7bc | ||
|
|
debd7a7b7a | ||
|
|
89e816dda6 | ||
|
|
967f9e257b | ||
|
|
a25aaf900a | ||
|
|
6bc039a430 | ||
|
|
ce60d5615f | ||
|
|
b0278428a7 | ||
|
|
8559079312 | ||
|
|
d102ec1997 | ||
|
|
c0d140f221 | ||
|
|
aa34d86598 | ||
|
|
4f7f820160 | ||
|
|
fa9091869d | ||
|
|
725118c575 | ||
|
|
06f0c27128 | ||
|
|
6d97408a6d | ||
|
|
8abc5ae8f0 | ||
|
|
eab66dad09 | ||
|
|
6f14d68cdc | ||
|
|
22b6cee80c | ||
|
|
b77d1a2b98 | ||
|
|
ca2179bb6a | ||
|
|
52aeacb4da | ||
|
|
9099ecce8a | ||
|
|
f6a16258a1 | ||
|
|
e53d24fc48 | ||
|
|
de6f3ea74a | ||
|
|
d036094089 | ||
|
|
0f86fbd8ce | ||
|
|
9cabaa1bd1 | ||
|
|
d2d024ebe9 | ||
|
|
9fbee9fc82 | ||
|
|
e60ce50d30 | ||
|
|
e86b2e7f8f | ||
|
|
1445457626 | ||
|
|
73979d4342 | ||
|
|
1c9f33f906 | ||
|
|
330cf14eab | ||
|
|
62bb4bc626 | ||
|
|
886f6095db | ||
|
|
7969e86071 | ||
|
|
0318f577ab | ||
|
|
e2ae93a957 | ||
|
|
8ec23ed712 | ||
|
|
6096ed1109 | ||
|
|
ac41d1cfff | ||
|
|
3b033ceba2 | ||
|
|
04d9ca1ebe | ||
|
|
20454fb811 | ||
|
|
6bbf176e3b | ||
|
|
794f6a25fa | ||
|
|
7e0f1a8701 | ||
|
|
ee037c01a1 | ||
|
|
82d401a7de | ||
|
|
0e661bc688 | ||
|
|
d144f68d1a | ||
|
|
05504b9ab2 | ||
|
|
d96c0633d4 | ||
|
|
8e40c10c31 | ||
|
|
f2c9c2f5d1 | ||
|
|
2b40ea75e9 | ||
|
|
6f0551b944 | ||
|
|
aac450f808 | ||
|
|
30f46790a4 | ||
|
|
95722d6d79 | ||
|
|
19f131c742 | ||
|
|
9694cf0cd1 | ||
|
|
bdfe764f9d | ||
|
|
9f135231cc | ||
|
|
f616da7c06 | ||
|
|
4397de0138 | ||
|
|
652a06c8e9 | ||
|
|
3b8a3f9b83 | ||
|
|
28b25bda3f | ||
|
|
ed3336694c | ||
|
|
3926b91dcf | ||
|
|
f699eb02a2 | ||
|
|
9231f05891 | ||
|
|
4cc1289e89 | ||
|
|
10c73b326f | ||
|
|
a16dd8474b | ||
|
|
cc2b335ee6 | ||
|
|
6cadc70a96 | ||
|
|
cda0d26af7 | ||
|
|
4a5312b3a9 | ||
|
|
3bf1f26c0b | ||
|
|
151ca659a9 | ||
|
|
c9fd2ceb61 | ||
|
|
721392901b | ||
|
|
9712b5b4e3 | ||
|
|
00911df5c1 | ||
|
|
d536683511 | ||
|
|
a6e517736b | ||
|
|
ced02fb9e0 | ||
|
|
b9dfe70a01 | ||
|
|
1cbda79981 | ||
|
|
a077ae54ea | ||
|
|
1135d34ab3 | ||
|
|
7200e9bd8c | ||
|
|
1b6161c2dc | ||
|
|
88c88187f2 | ||
|
|
8be21b6eff | ||
|
|
aa99de68d3 | ||
|
|
06fbcdac1d | ||
|
|
fb494c2ba5 | ||
|
|
7ee1ea2cc7 | ||
|
|
9c3566f524 | ||
|
|
d6fc71dba7 | ||
|
|
f582e54343 | ||
|
|
d2563ed923 | ||
|
|
64f8b2eb58 | ||
|
|
4cae74d610 | ||
|
|
04fb00572f | ||
|
|
f0a478c7c9 | ||
|
|
a189956adc | ||
|
|
3c720a0715 | ||
|
|
c4965ed838 | ||
|
|
9f53a0182b | ||
|
|
8791aecb38 | ||
|
|
06894d1c98 | ||
|
|
2d11436432 | ||
|
|
cac5bbad99 | ||
|
|
a5eed00eba | ||
|
|
21efacf1b1 | ||
|
|
61628c2baf | ||
|
|
05cf438199 | ||
|
|
2ccc95f6d4 | ||
|
|
95286df502 | ||
|
|
13cc1f0986 | ||
|
|
9e6facda70 | ||
|
|
faa9181a6c | ||
|
|
6d211faf59 | ||
|
|
b04828f858 | ||
|
|
d454f36c63 | ||
|
|
f4da582aa3 | ||
|
|
9e976474d5 | ||
|
|
b569fc02a4 | ||
|
|
a2e26f441b | ||
|
|
c8be4ac83c | ||
|
|
24cd70a014 | ||
|
|
5cec685cf9 | ||
|
|
821a416fe3 | ||
|
|
9a387f95e9 | ||
|
|
fd41acdc72 | ||
|
|
4afe257a42 | ||
|
|
d0a59617f6 | ||
|
|
8f3896c3da | ||
|
|
1087387b36 | ||
|
|
0da22c2031 | ||
|
|
c336b266f6 | ||
|
|
df80385289 | ||
|
|
afe3c25a49 | ||
|
|
f7772fb85a | ||
|
|
6157e328f4 | ||
|
|
daee8b900b | ||
|
|
a4ba6e485d | ||
|
|
954ff1be41 | ||
|
|
9a75135633 | ||
|
|
d29a616142 | ||
|
|
a2802f352f | ||
|
|
0b873b765e | ||
|
|
070bb46a08 | ||
|
|
6d6e5473f2 | ||
|
|
cf5f0edbb8 | ||
|
|
25fd532ce6 | ||
|
|
39fd125eb0 | ||
|
|
a3408990ab | ||
|
|
693b47e623 | ||
|
|
81a3715c7c | ||
|
|
abafb1945c | ||
|
|
f317aaebab | ||
|
|
d69fe88091 | ||
|
|
49594ccb22 | ||
|
|
824d9b82e5 | ||
|
|
d1119c38b6 | ||
|
|
fe5c840b79 | ||
|
|
6e63fc8985 | ||
|
|
fe0846c8c2 | ||
|
|
94df2e3d24 | ||
|
|
41f0b53dd6 | ||
|
|
73f6d4b26f | ||
|
|
724435e56e | ||
|
|
61941da375 | ||
|
|
22ba7a7c39 | ||
|
|
9300c208e2 | ||
|
|
f2db11269e | ||
|
|
382f1e9ec0 | ||
|
|
a8bc1144c3 | ||
|
|
fda3832eaf | ||
|
|
8219a1e257 | ||
|
|
cb2fb95b81 | ||
|
|
c52b1a3fd2 | ||
|
|
96aa63267a | ||
|
|
51f7776bc8 | ||
|
|
9e40ff0551 | ||
|
|
82c5a93f7c | ||
|
|
99b0ce7948 | ||
|
|
4476a477a7 | ||
|
|
e0696d02a2 | ||
|
|
b2657bc61f | ||
|
|
1c2afc1f25 | ||
|
|
c8385d82fb | ||
|
|
d229e8b04d | ||
|
|
fbfdb0fa99 | ||
|
|
f4d652fa7b | ||
|
|
69c8e84927 | ||
|
|
48e1ac4163 | ||
|
|
99038c7a06 | ||
|
|
f550fbe07c | ||
|
|
a33d4cd099 | ||
|
|
acd60e45d8 | ||
|
|
5cf9afc215 | ||
|
|
2b9e174c9d | ||
|
|
dd1741c4a1 | ||
|
|
565597c9a2 | ||
|
|
5ba5a85ad0 | ||
|
|
ad860063ab | ||
|
|
9f58266546 | ||
|
|
8f2ec75f81 | ||
|
|
98580bb39a | ||
|
|
2de3a79599 | ||
|
|
f34b9d7c45 | ||
|
|
5f10cc8bcf | ||
|
|
41a3bf92fb | ||
|
|
f31dc8aebc | ||
|
|
b02230a783 | ||
|
|
fc792ff232 | ||
|
|
fe20f3240e | ||
|
|
275a4ffc11 | ||
|
|
b7796a5334 | ||
|
|
05c1711b16 | ||
|
|
e48115588c | ||
|
|
cad8d85755 | ||
|
|
e198447866 | ||
|
|
b316352ede | ||
|
|
c815304026 | ||
|
|
641e98e577 | ||
|
|
e0cd9579d6 | ||
|
|
bbe64a0b79 | ||
|
|
ae24a97d4d | ||
|
|
a735857852 | ||
|
|
4efa293f3b | ||
|
|
bfca98ea89 | ||
|
|
eb82884fb2 | ||
|
|
12e006ef9c | ||
|
|
2f716050d1 | ||
|
|
1bb843ec38 | ||
|
|
dddac1dc40 | ||
|
|
5867b1b014 | ||
|
|
9b589bc311 | ||
|
|
8d01fc2d35 | ||
|
|
8a28c1bc38 | ||
|
|
0f1119f326 | ||
|
|
547757f451 | ||
|
|
7b9fe44a20 | ||
|
|
62ea4dc176 | ||
|
|
677f75ae8e | ||
|
|
06f13bb766 | ||
|
|
f3800a4e2b | ||
|
|
132b41ae73 | ||
|
|
4694268b8f | ||
|
|
8f7768ce96 | ||
|
|
0c031a29d3 | ||
|
|
1122b3402c | ||
|
|
c002bd62e8 | ||
|
|
d89d7e8ef8 | ||
|
|
015dcc4212 | ||
|
|
de4f4be947 | ||
|
|
965c8641fd | ||
|
|
a9886a3119 | ||
|
|
5cbdf3c126 | ||
|
|
ab8b6da484 | ||
|
|
493576836c | ||
|
|
7fba04d148 | ||
|
|
7dba3fb7be | ||
|
|
d9ac01ba5c | ||
|
|
ecaa024f22 | ||
|
|
357ea5deab | ||
|
|
0a018bdebc | ||
|
|
0b81316300 | ||
|
|
03ed546cd8 | ||
|
|
57fc487e5e | ||
|
|
a5206bde33 | ||
|
|
0f0d9ca2a4 | ||
|
|
6b76373395 | ||
|
|
af6c6971a7 | ||
|
|
e013070e0b | ||
|
|
a5cc1774f2 | ||
|
|
808e72f24b | ||
|
|
2d1d1b246f | ||
|
|
d8f5376c4f | ||
|
|
cf84762a3a | ||
|
|
f2958bbfa5 | ||
|
|
bc8f9edc31 | ||
|
|
b23d167342 | ||
|
|
02d6f67741 | ||
|
|
d13d1aa7ec | ||
|
|
a1f898e3b3 | ||
|
|
c3dd178b19 | ||
|
|
ef44ecea44 | ||
|
|
3bc1765dbb | ||
|
|
6b73e6c2a9 | ||
|
|
37a7abdf0c | ||
|
|
eb3e0b9292 | ||
|
|
c0924321b8 | ||
|
|
d148a769b7 | ||
|
|
6d7cf3c12a | ||
|
|
f7831db197 | ||
|
|
5bdd7b8475 | ||
|
|
44a15cd97d | ||
|
|
c0f98b05b6 | ||
|
|
1e1613aa93 | ||
|
|
7c7b4b24b4 | ||
|
|
38783faf60 | ||
|
|
ad9d913902 | ||
|
|
02090da08c | ||
|
|
ba13657d89 | ||
|
|
b16c99ab62 | ||
|
|
139b10a9aa | ||
|
|
6c54e35027 | ||
|
|
4509a5fc95 | ||
|
|
4231155efa | ||
|
|
8037ce52f9 | ||
|
|
185bfe7497 | ||
|
|
64e41b113c | ||
|
|
1855fa08b1 | ||
|
|
f0e2a82b55 | ||
|
|
314e5b490c | ||
|
|
08619d6a73 | ||
|
|
3048e0ac76 | ||
|
|
5a6cd4c2ab | ||
|
|
071b984a1e | ||
|
|
011e55e3e5 | ||
|
|
0efee2f50f | ||
|
|
18a06935e0 | ||
|
|
66e6371221 | ||
|
|
0d78ecaee3 | ||
|
|
3ba8fe586e | ||
|
|
186f6015da | ||
|
|
6aa55698ab | ||
|
|
9cafd78fe2 | ||
|
|
fa53848b5c | ||
|
|
4f7973bc56 | ||
|
|
ed7c09fc46 | ||
|
|
a90cd43631 | ||
|
|
862bf6b5ab | ||
|
|
dc8d9eece3 | ||
|
|
1199871d7b | ||
|
|
128bb01b35 | ||
|
|
df0f9d3267 | ||
|
|
86f91e3030 | ||
|
|
3f1304403f | ||
|
|
e8f8dcd0fb | ||
|
|
70a86fa994 | ||
|
|
71060f1f53 | ||
|
|
74afcc9c63 | ||
|
|
bc02c72018 | ||
|
|
db0503e71d | ||
|
|
abf72c2ee4 | ||
|
|
f138cf0f78 | ||
|
|
a94f2a3f46 | ||
|
|
8daf97ab01 | ||
|
|
94c0e26a08 | ||
|
|
5b36599c0c | ||
|
|
e15596e7af | ||
|
|
f64a869bfd | ||
|
|
c86c83cef7 | ||
|
|
971ff687b1 | ||
|
|
9fce67fcd9 | ||
|
|
40fd8cb608 | ||
|
|
4aa645f29f | ||
|
|
2b7aeedb4a | ||
|
|
0d9e9780da | ||
|
|
00f9ab4394 | ||
|
|
55709b3aa0 | ||
|
|
b0dd967611 | ||
|
|
269fada14a | ||
|
|
0810c1ce3c | ||
|
|
37b4ab15a8 | ||
|
|
79f398d219 | ||
|
|
c90ada3c39 | ||
|
|
34bf297bd1 | ||
|
|
d5fc9f6201 | ||
|
|
7fa597deca | ||
|
|
f70a034da2 | ||
|
|
f055fe5da2 | ||
|
|
99f2edd4f6 | ||
|
|
039de1dc9b | ||
|
|
dcaafa6c8b | ||
|
|
5a73817a95 | ||
|
|
dfaea492c7 | ||
|
|
69c895af09 | ||
|
|
36850f89fb | ||
|
|
c9ea7a4dca | ||
|
|
e83c1d7ed6 | ||
|
|
befd21e0c0 | ||
|
|
c4e21ca5f4 | ||
|
|
feab1432f9 | ||
|
|
dc04040cb3 | ||
|
|
2634dbff2b | ||
|
|
f2ad8383cf | ||
|
|
dd15823a97 | ||
|
|
83e13bb62d | ||
|
|
0d7af9707f | ||
|
|
04d27a10b0 | ||
|
|
7963f811e1 | ||
|
|
82bd9138de | ||
|
|
c2b3ff5243 | ||
|
|
c8b9f5a917 | ||
|
|
3b614f3753 | ||
|
|
7c8b9b2946 | ||
|
|
7d31e17fc5 | ||
|
|
4e4df5dd7c | ||
|
|
a51674410c | ||
|
|
8d58077d68 | ||
|
|
5b85a0b34d | ||
|
|
7757080519 | ||
|
|
20f804f19c | ||
|
|
a1e00be0e0 | ||
|
|
5bb357cac0 | ||
|
|
7309445ee5 | ||
|
|
f09d97fc9e | ||
|
|
64c8c7a8d5 | ||
|
|
9682b51d54 | ||
|
|
a40b9bc095 | ||
|
|
2c1a3da433 | ||
|
|
4e96ffaabb | ||
|
|
df5f3e8056 | ||
|
|
72f6e6bb9c | ||
|
|
3bc831a1f7 | ||
|
|
fd1f38b2eb | ||
|
|
79f9c1fb3a | ||
|
|
2de5ab4120 | ||
|
|
5a96616b39 | ||
|
|
ad079ac5cc | ||
|
|
be023c7722 | ||
|
|
e1f413c1ee | ||
|
|
f2ea1abc9b | ||
|
|
95d1cfb4a0 | ||
|
|
24b4d59ce4 | ||
|
|
4482f1841c | ||
|
|
c5167c8f0d | ||
|
|
2571bbf315 | ||
|
|
aa17087883 | ||
|
|
d203e539aa | ||
|
|
4ebab940c7 | ||
|
|
ad010ef5b4 | ||
|
|
826e76d037 | ||
|
|
3130a39d8c | ||
|
|
18a2d814cc | ||
|
|
36f3c30440 | ||
|
|
4fda9d2e84 | ||
|
|
4219347f0a | ||
|
|
e72f79236b | ||
|
|
dea0d9a78a | ||
|
|
017ae18ad7 | ||
|
|
65e3c14643 | ||
|
|
40e536a9be | ||
|
|
51decff2fd | ||
|
|
52b6e92e00 | ||
|
|
1900c1ab07 | ||
|
|
76e3a3c5f9 | ||
|
|
d4494fd3c3 | ||
|
|
949c163370 | ||
|
|
4a19fbae0b | ||
|
|
c75f80b29f | ||
|
|
0544657123 | ||
|
|
42be631023 | ||
|
|
55ba5d4832 | ||
|
|
eab5d7d4ec | ||
|
|
811d1cd0dd | ||
|
|
5a75bcfb19 | ||
|
|
93437952b4 | ||
|
|
f32b543887 | ||
|
|
4946f85d43 | ||
|
|
56b90eecbf | ||
|
|
817ca116f6 | ||
|
|
3178677584 | ||
|
|
d9b5d770cf | ||
|
|
dcead44cc6 | ||
|
|
f6bf69b41f | ||
|
|
2e64d89b04 | ||
|
|
19eceaa810 | ||
|
|
a187d23c41 | ||
|
|
fbd9e5d017 | ||
|
|
97054b2b10 | ||
|
|
978e3e4abd | ||
|
|
0242c04dc2 | ||
|
|
d1b5a3ffd5 | ||
|
|
48adb44c6f | ||
|
|
b6d53f698d | ||
|
|
04b210ee88 | ||
|
|
5e73f78ed9 | ||
|
|
8e66a41778 | ||
|
|
7dc99d54c0 | ||
|
|
2a602e78d6 | ||
|
|
ceffd2b3ee | ||
|
|
cdd66ee376 | ||
|
|
c33a3d9aad | ||
|
|
d71ac03d96 | ||
|
|
8326aecdb4 | ||
|
|
b85d48eb83 | ||
|
|
07540db90d | ||
|
|
f8913ceb2e | ||
|
|
43bd789c30 | ||
|
|
cd216095eb | ||
|
|
ac224b270a | ||
|
|
07882f61a8 | ||
|
|
9f063584c1 | ||
|
|
3e604618a8 | ||
|
|
3ee4be652b | ||
|
|
1abac794b5 | ||
|
|
5a583ca48c | ||
|
|
229032d691 | ||
|
|
1049298e7b | ||
|
|
76e684cc0a | ||
|
|
a768f1f1eb | ||
|
|
bb14a05852 | ||
|
|
44906e8f39 | ||
|
|
5ed2a5ce4a | ||
|
|
bb1161986b | ||
|
|
b7cddd6e55 | ||
|
|
fc8e201e84 | ||
|
|
90a88225a4 | ||
|
|
13b4ddbb62 | ||
|
|
b298d152fc | ||
|
|
3d4b04fddc | ||
|
|
e90f62eaab | ||
|
|
604d839537 | ||
|
|
c975c3c0ff | ||
|
|
f2c23a2831 | ||
|
|
7d576842fb | ||
|
|
7cff267002 | ||
|
|
928cdb81d4 | ||
|
|
39fed058f4 | ||
|
|
a330a9fd75 | ||
|
|
8bf5ff82be | ||
|
|
92a6ecc40a | ||
|
|
1123d23114 | ||
|
|
91c445244c | ||
|
|
88f396264c | ||
|
|
b5ba03247a | ||
|
|
f487752ba1 | ||
|
|
88cd5a905d | ||
|
|
d9f10c221a | ||
|
|
99355c6169 | ||
|
|
ca9603af17 | ||
|
|
5f4222c1c3 | ||
|
|
e5d989af5a | ||
|
|
8557e0963e | ||
|
|
b7e2d49f5f | ||
|
|
5d71217e59 | ||
|
|
6a22351d29 | ||
|
|
b7c52800f4 | ||
|
|
a2f811aff0 | ||
|
|
ee6716e178 | ||
|
|
3317332cb4 | ||
|
|
42c802cd1e | ||
|
|
5320c11f3f | ||
|
|
1f489719ef | ||
|
|
9dda6f69a7 | ||
|
|
89381fe7ab | ||
|
|
f0857fd560 | ||
|
|
f3b40f12cb | ||
|
|
d2e8a6dad3 | ||
|
|
e7aafd64d4 | ||
|
|
ee15f749bb | ||
|
|
d521662d04 | ||
|
|
0e80acf38d | ||
|
|
a1c3b87fce | ||
|
|
f6d1346e2b | ||
|
|
9a649ddd09 | ||
|
|
11382881b5 | ||
|
|
5182d7502b | ||
|
|
555d83792d | ||
|
|
a88c0a3ad2 | ||
|
|
316282952f | ||
|
|
a7629b98cf | ||
|
|
7112eac3be | ||
|
|
f80b5fe376 | ||
|
|
ce0babce21 | ||
|
|
fa0804b7ae | ||
|
|
70cbe4daaa | ||
|
|
36f2acb93f | ||
|
|
9b9e9ce1c0 | ||
|
|
3731716a49 | ||
|
|
eec87a0508 | ||
|
|
f3286cf440 | ||
|
|
eb90d38d8c | ||
|
|
f440209738 | ||
|
|
7f03c2b137 | ||
|
|
c85db586ca | ||
|
|
7c0ea4324a | ||
|
|
b29b626b41 | ||
|
|
6198ae317c | ||
|
|
245fad0986 | ||
|
|
619f1705e1 | ||
|
|
52fa7db087 | ||
|
|
8a592c2e37 | ||
|
|
3c183294cd | ||
|
|
e689f38ad0 | ||
|
|
6675a2e931 | ||
|
|
4288e10554 | ||
|
|
b0181af099 | ||
|
|
28cb53341d | ||
|
|
f70f36e6cf | ||
|
|
479ab61a1d | ||
|
|
84ca0ac8a0 | ||
|
|
1696c37251 | ||
|
|
e7d30955e8 | ||
|
|
975a017dec | ||
|
|
8eb4607a0e | ||
|
|
f1da0ce746 | ||
|
|
26826e8398 | ||
|
|
a423b85f81 | ||
|
|
233fa4625b | ||
|
|
3ebe8cf4de | ||
|
|
24d2e26397 | ||
|
|
fcba70df2e | ||
|
|
a05bd3dd0e | ||
|
|
41077c94fb | ||
|
|
ef69e512bd | ||
|
|
d5cb7ecec9 | ||
|
|
1120d0652d | ||
|
|
45ce0ff74d | ||
|
|
b81a991731 | ||
|
|
292a5c3a8a | ||
|
|
bb57b1a289 | ||
|
|
4f6f45fb39 | ||
|
|
181a642479 | ||
|
|
84fd41931c | ||
|
|
33d97a2560 | ||
|
|
c409e3221e | ||
|
|
f472ce690a | ||
|
|
90f2b5e11c | ||
|
|
167683ce76 | ||
|
|
05e9accf64 | ||
|
|
e065f85c88 | ||
|
|
f0ee470ecd | ||
|
|
e257f2a380 | ||
|
|
27b3ba8bdf | ||
|
|
ed11c68ac6 | ||
|
|
6f4bf57ff2 | ||
|
|
6dec5cb1d6 | ||
|
|
bc768aa196 | ||
|
|
c069c73109 | ||
|
|
abc3592734 | ||
|
|
59a5fea25d | ||
|
|
ac63b0eb3d | ||
|
|
ef3f157573 | ||
|
|
ae2c1c5a7a | ||
|
|
43375fa1f4 | ||
|
|
d543825d85 | ||
|
|
dd43ab634d | ||
|
|
645ee814e4 | ||
|
|
13a4f37e50 | ||
|
|
2d45241084 | ||
|
|
e96e6aa38e | ||
|
|
fa820e8978 | ||
|
|
358e4226f1 | ||
|
|
81ad786dfc | ||
|
|
ab56b7ca0c | ||
|
|
29aaf13c13 | ||
|
|
8a6baea990 | ||
|
|
609c8c0697 | ||
|
|
94a326ec7f | ||
|
|
b610cdcbcd | ||
|
|
0c56d3d9d2 | ||
|
|
63599a09d7 | ||
|
|
25760f7024 | ||
|
|
be990188f5 | ||
|
|
07b3ce0bcd | ||
|
|
4e28ace103 | ||
|
|
b11a336b4f | ||
|
|
b0b73db3c8 | ||
|
|
cf003dfad8 | ||
|
|
c921d4e915 | ||
|
|
39676395f8 | ||
|
|
1f38fcfefa | ||
|
|
d66a9bac55 | ||
|
|
6ab400c9d9 | ||
|
|
9d23717b6d | ||
|
|
6511dac1d4 | ||
|
|
0c10b3f038 | ||
|
|
a815c9b986 | ||
|
|
5d4d04a2eb | ||
|
|
2d465c6249 | ||
|
|
b756314eb8 | ||
|
|
014a28ba07 | ||
|
|
ec01c1a996 | ||
|
|
3dc406f138 | ||
|
|
40e940ec58 | ||
|
|
f4fd0f9012 | ||
|
|
a8e4121bef | ||
|
|
9184e6bb92 | ||
|
|
89168ef40c | ||
|
|
d6d79e96c9 | ||
|
|
15d0ee1008 | ||
|
|
2d40bbc8fe | ||
|
|
48a68ba237 | ||
|
|
434cfb427f | ||
|
|
76ca8a27f9 | ||
|
|
2cf105700a | ||
|
|
61f63255ac | ||
|
|
5c6db28881 | ||
|
|
8a34d6c067 | ||
|
|
ed5f8be9eb | ||
|
|
7a4212dd76 | ||
|
|
1137e6c910 | ||
|
|
8c3204a5e4 | ||
|
|
65c29f493b | ||
|
|
56c7c57b3a | ||
|
|
b87d9eb865 | ||
|
|
a482008650 | ||
|
|
7bda2ad3e8 | ||
|
|
11d0bb2c00 | ||
|
|
c506652187 | ||
|
|
b3d85f115c | ||
|
|
6faa050dd8 | ||
|
|
ad5d0d4b12 | ||
|
|
87c4e77c01 | ||
|
|
3867acf723 | ||
|
|
d769099db1 | ||
|
|
7fa6946694 | ||
|
|
f3b84e15be | ||
|
|
96d6ca7ae0 | ||
|
|
8367b27a0d | ||
|
|
da0fc9f5bd | ||
|
|
5b11eecaec | ||
|
|
e81dd6cd25 | ||
|
|
938b87d26c | ||
|
|
0b1310a219 | ||
|
|
2fd302f580 | ||
|
|
921bc3e867 | ||
|
|
080abe574b | ||
|
|
5689c07f97 | ||
|
|
8e2db269b0 | ||
|
|
a07af63155 | ||
|
|
1d22ebde08 | ||
|
|
539156c0da | ||
|
|
02f44459ad | ||
|
|
abbaea582d | ||
|
|
ab89d0e06e | ||
|
|
2e833b40a1 | ||
|
|
3777ecba85 | ||
|
|
e0ded5e69d | ||
|
|
996c6af2d8 | ||
|
|
4fca8f4225 |
253 changed files with 21899 additions and 4147 deletions
709
COPYING
709
COPYING
|
|
@ -1,73 +1,668 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
|
||||
Files: *
|
||||
Copyright: 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
License: GPL-3+-with-additional-terms-1
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
Copyright: 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
License: AGPL-3+
|
||||
|
||||
License: AGPL-3+
|
||||
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
Version 3, 19 November 2007
|
||||
.
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
Preamble
|
||||
.
|
||||
On Debian systems, the full text of the GNU General Public
|
||||
License version 3 can be found in the file
|
||||
`/usr/share/common-licenses/GPL-3'.
|
||||
The GNU Affero General Public License is a free, copyleft license for
|
||||
software and other kinds of works, specifically designed to ensure
|
||||
cooperation with the community in the case of network server software.
|
||||
.
|
||||
ADDITIONAL TERMS APPLICABLE per GNU GPL version 3 section 7
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
our General Public Licenses are intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users.
|
||||
.
|
||||
1. Replacement of Section 15. Section 15 of the GPL shall be deleted in its
|
||||
entirety and replaced with the following:
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
.
|
||||
15. Disclaimer of Warranty.
|
||||
Developers that use our General Public Licenses protect your rights
|
||||
with two steps: (1) assert copyright on the software, and (2) offer
|
||||
you this License which gives you legal permission to copy, distribute
|
||||
and/or modify the software.
|
||||
.
|
||||
THE PROGRAM IS PROVIDED WITHOUT ANY WARRANTIES, WHETHER EXPRESSED OR IMPLIED,
|
||||
INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
|
||||
PURPOSE, NON-INFRINGEMENT, TITLE AND MERCHANTABILITY. THE PROGRAM IS BEING
|
||||
DELIVERED OR MADE AVAILABLE 'AS IS', 'WITH ALL FAULTS' AND WITHOUT WARRANTY OR
|
||||
REPRESENTATION. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
A secondary benefit of defending all users' freedom is that
|
||||
improvements made in alternate versions of the program, if they
|
||||
receive widespread use, become available for other developers to
|
||||
incorporate. Many developers of free software are heartened and
|
||||
encouraged by the resulting cooperation. However, in the case of
|
||||
software used on network servers, this result may fail to come about.
|
||||
The GNU General Public License permits making a modified version and
|
||||
letting the public access it on a server without ever releasing its
|
||||
source code to the public.
|
||||
.
|
||||
The GNU Affero General Public License is designed specifically to
|
||||
ensure that, in such cases, the modified source code becomes available
|
||||
to the community. It requires the operator of a network server to
|
||||
provide the source code of the modified version running there to the
|
||||
users of that server. Therefore, public use of a modified version, on
|
||||
a publicly accessible server, gives the public access to the source
|
||||
code of the modified version.
|
||||
.
|
||||
An older license, called the Affero General Public License and
|
||||
published by Affero, was designed to accomplish similar goals. This is
|
||||
a different license, not a version of the Affero GPL, but Affero has
|
||||
released a new version of the Affero GPL which permits relicensing under
|
||||
this license.
|
||||
.
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
.
|
||||
TERMS AND CONDITIONS
|
||||
.
|
||||
0. Definitions.
|
||||
.
|
||||
"This License" refers to version 3 of the GNU Affero General Public License.
|
||||
.
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
.
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
.
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
.
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
.
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
.
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
.
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
.
|
||||
1. Source Code.
|
||||
.
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
.
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
.
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
.
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
.
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
.
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
.
|
||||
2. Basic Permissions.
|
||||
.
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
.
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
.
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
.
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
.
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
.
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
.
|
||||
4. Conveying Verbatim Copies.
|
||||
.
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
.
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
.
|
||||
5. Conveying Modified Source Versions.
|
||||
.
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
.
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
.
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
.
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
.
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
.
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
.
|
||||
6. Conveying Non-Source Forms.
|
||||
.
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
.
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
.
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
.
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
.
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
.
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
.
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
.
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
.
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
.
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
.
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
.
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
.
|
||||
7. Additional Terms.
|
||||
.
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
.
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
.
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
.
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
.
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
.
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
.
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
.
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
.
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
.
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
.
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
.
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
.
|
||||
8. Termination.
|
||||
.
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
.
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
.
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
.
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
.
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
.
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
.
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
.
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
.
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
.
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
.
|
||||
11. Patents.
|
||||
.
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
.
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
.
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
.
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
.
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
.
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
.
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
.
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
.
|
||||
12. No Surrender of Others' Freedom.
|
||||
.
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
.
|
||||
13. Remote Network Interaction; Use with the GNU General Public License.
|
||||
.
|
||||
Notwithstanding any other provision of this License, if you modify the
|
||||
Program, your modified version must prominently offer all users
|
||||
interacting with it remotely through a computer network (if your version
|
||||
supports such interaction) an opportunity to receive the Corresponding
|
||||
Source of your version by providing access to the Corresponding Source
|
||||
from a network server at no charge, through some standard or customary
|
||||
means of facilitating copying of software. This Corresponding Source
|
||||
shall include the Corresponding Source for any work covered by version 3
|
||||
of the GNU General Public License that is incorporated pursuant to the
|
||||
following paragraph.
|
||||
.
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the work with which it is combined will remain governed by version
|
||||
3 of the GNU General Public License.
|
||||
.
|
||||
14. Revised Versions of this License.
|
||||
.
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU Affero General Public License from time to time. Such new versions
|
||||
will be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
.
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU Affero General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU Affero General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
.
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU Affero General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
.
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
.
|
||||
15. Disclaimer of Warranty.
|
||||
.
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
.
|
||||
2. Replacement of Section 16. Section 16 of the GPL shall be deleted in its
|
||||
entirety and replaced with the following:
|
||||
16. Limitation of Liability.
|
||||
.
|
||||
16. LIMITATION OF LIABILITY.
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
.
|
||||
UNDER NO CIRCUMSTANCES SHALL ANY COPYRIGHT HOLDER OR ITS AFFILIATES, OR ANY
|
||||
OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE
|
||||
LIABLE TO YOU, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, FOR ANY
|
||||
DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, DIRECT, INDIRECT, SPECIAL,
|
||||
INCIDENTAL, CONSEQUENTIAL OR PUNITIVE DAMAGES ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE USE OR INABILITY TO USE THE PROGRAM OR OTHER DEALINGS WITH
|
||||
THE PROGRAM(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
|
||||
INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
|
||||
PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), WHETHER OR NOT ANY COPYRIGHT HOLDER
|
||||
OR SUCH OTHER PARTY RECEIVES NOTICE OF ANY SUCH DAMAGES AND WHETHER OR NOT SUCH
|
||||
DAMAGES COULD HAVE BEEN FORESEEN.
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
.
|
||||
3. LEGAL NOTICES; NO TRADEMARK LICENSE; ORIGIN. You must reproduce faithfully
|
||||
all trademark, copyright and other proprietary and legal notices on any copies
|
||||
of the Program or any other required author attributions. This license does not
|
||||
grant you rights to use any copyright holder or any other party's name, logo, or
|
||||
trademarks. Neither the name of the copyright holder or its affiliates, or any
|
||||
other party who modifies and/or conveys the Program may be used to endorse or
|
||||
promote products derived from this software without specific prior written
|
||||
permission. The origin of the Program must not be misrepresented; you must not
|
||||
claim that you wrote the original Program. Altered source versions must be
|
||||
plainly marked as such, and must not be misrepresented as being the original
|
||||
Program.
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
.
|
||||
4. INDEMNIFICATION. IF YOU CONVEY A COVERED WORK AND AGREE WITH ANY RECIPIENT
|
||||
OF THAT COVERED WORK THAT YOU WILL ASSUME ANY LIABILITY FOR THAT COVERED WORK,
|
||||
YOU HEREBY AGREE TO INDEMNIFY, DEFEND AND HOLD HARMLESS THE OTHER LICENSORS AND
|
||||
AUTHORS OF THAT COVERED WORK FOR ANY DAMAGES, DEMANDS, CLAIMS, LOSSES, CAUSES OF
|
||||
ACTION, LAWSUITS, JUDGMENTS EXPENSES (INCLUDING WITHOUT LIMITATION REASONABLE
|
||||
ATTORNEYS' FEES AND EXPENSES) OR ANY OTHER LIABILITY ARISING FROM, RELATED TO OR
|
||||
IN CONNECTION WITH YOUR ASSUMPTIONS OF LIABILITY.
|
||||
END OF TERMS AND CONDITIONS
|
||||
.
|
||||
How to Apply These Terms to Your New Programs
|
||||
.
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
.
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
.
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
.
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
.
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
.
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
.
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
.
|
||||
If your software can interact with users remotely through a computer
|
||||
network, you should also make sure that it provides a way for users to
|
||||
get its source. For example, if your program is a web application, its
|
||||
interface could display a "Source" link that leads users to an archive
|
||||
of the code. There are many ways you could offer source, and different
|
||||
solutions will be better for different programs; see section 13 for the
|
||||
specific requirements.
|
||||
.
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU AGPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
|
|
|
|||
674
GPLv3
674
GPLv3
|
|
@ -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>.
|
||||
|
|
@ -1,25 +1,27 @@
|
|||
# Enhances Miscellaneous Security Settings #
|
||||
|
||||
https://github.com/Whonix/security-misc/blob/master/README.md
|
||||
https://github.com/Kicksecure/security-misc/blob/master/README.md
|
||||
|
||||
https://www.whonix.org/wiki/Security-misc
|
||||
https://www.kicksecure.com/wiki/Security-misc
|
||||
|
||||
Package security-misc-desktop and/or security-misc-server may also be useful.
|
||||
|
||||
Discussion:
|
||||
|
||||
Happening primarily in Whonix forums.
|
||||
https://forums.whonix.org/t/kernel-hardening/7296
|
||||
https://forums.whonix.org/t/kernel-hardening-security-misc/7296
|
||||
|
||||
## How to install `security-misc` using apt-get ##
|
||||
|
||||
1\. Download the APT Signing Key.
|
||||
|
||||
```
|
||||
wget https://www.kicksecure.com/derivative.asc
|
||||
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..
|
||||
2\. Add the APT Signing Key.
|
||||
|
||||
```
|
||||
sudo cp ~/derivative.asc /usr/share/keyrings/derivative.asc
|
||||
|
|
@ -28,7 +30,7 @@ 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 bullseye main contrib non-free" | sudo tee /etc/apt/sources.list.d/derivative.list
|
||||
echo "deb [signed-by=/usr/share/keyrings/derivative.asc] https://deb.kicksecure.com trixie main contrib non-free" | sudo tee /etc/apt/sources.list.d/derivative.list
|
||||
```
|
||||
|
||||
4\. Update your package lists.
|
||||
|
|
@ -61,7 +63,7 @@ NOTE: Replace `generic-package` with the actual name of this package `security-m
|
|||
## Contact ##
|
||||
|
||||
* [Free Forum Support](https://forums.kicksecure.com)
|
||||
* [Professional Support](https://www.kicksecure.com/wiki/Professional_Support)
|
||||
* [Premium Support](https://www.kicksecure.com/wiki/Premium_Support)
|
||||
|
||||
## Donate ##
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Alerts the user that a kernel module failed to load due to it being blacklisted by default.
|
||||
|
||||
echo "$0: ERROR: This bluetooth kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc.conf | args: $@" >&2
|
||||
|
||||
exit 1
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Alerts the user that a kernel module failed to load due to it being blacklisted by default.
|
||||
|
||||
echo "$0: ERROR: This CD-ROM kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc.conf | args: $@" >&2
|
||||
|
||||
exit 1
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Alerts the user that a kernel module failed to load due to it being blacklisted by default.
|
||||
|
||||
echo "$0: ERROR: This file system kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc.conf | args: $@" >&2
|
||||
|
||||
exit 1
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Alerts the user that a kernel module failed to load due to it being blacklisted by default.
|
||||
|
||||
echo "$0: ERROR: This firewire kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc.conf | args: $@" >&2
|
||||
|
||||
exit 1
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Alerts the user that a kernel module failed to load due to it being blacklisted by default.
|
||||
|
||||
echo "$0: ERROR: 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.conf | args: $@" >&2
|
||||
|
||||
exit 1
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Alerts the user that a kernel module failed to load due to it being blacklisted by default.
|
||||
|
||||
echo "$0: ERROR: This CPU MSR kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc.conf | args: $@" >&2
|
||||
|
||||
exit 1
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Alerts the user that a kernel module failed to load due to it being blacklisted by default.
|
||||
|
||||
echo "$0: ERROR: This network file system kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc.conf | args: $@" >&2
|
||||
|
||||
exit 1
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Alerts the user that a kernel module failed to load due to it being blacklisted by default.
|
||||
|
||||
echo "$0: ERROR: This network protocol kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc.conf | args: $@" >&2
|
||||
|
||||
exit 1
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Alerts the user that a kernel module failed to load due to it being blacklisted by default.
|
||||
|
||||
echo "$0: ERROR: This thunderbolt kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc.conf | args: $@" >&2
|
||||
|
||||
exit 1
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Alerts the user that a kernel module failed to load due to it being blacklisted by default.
|
||||
|
||||
echo "$0: ERROR: This vivid kernel module is disabled by package security-misc by default. See the configuration file /etc/modprobe.d/30_security-misc.conf | args: $@" >&2
|
||||
|
||||
exit 1
|
||||
10453
changelog.upstream
10453
changelog.upstream
File diff suppressed because it is too large
Load diff
1446
debian/changelog
vendored
1446
debian/changelog
vendored
File diff suppressed because it is too large
Load diff
80
debian/control
vendored
80
debian/control
vendored
|
|
@ -1,29 +1,79 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@kicksecure.com>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
Source: security-misc
|
||||
Section: misc
|
||||
Priority: optional
|
||||
Maintainer: Patrick Schleizer <adrelanos@whonix.org>
|
||||
Build-Depends: debhelper (>= 13), debhelper-compat (= 13), config-package-dev, dh-apparmor
|
||||
Homepage: https://github.com/Whonix/security-misc
|
||||
Vcs-Browser: https://github.com/Whonix/security-misc
|
||||
Vcs-Git: https://github.com/Whonix/security-misc.git
|
||||
Standards-Version: 4.5.1
|
||||
Maintainer: Patrick Schleizer <adrelanos@kicksecure.com>
|
||||
Build-Depends: debhelper (>= 13),
|
||||
debhelper-compat (= 13),
|
||||
dh-apparmor,
|
||||
dh-exec,
|
||||
config-package-dev,
|
||||
po-debconf
|
||||
Homepage: https://www.kicksecure.com/wiki/Security-misc
|
||||
Vcs-Browser: https://github.com/Kicksecure/security-misc
|
||||
Vcs-Git: https://github.com/Kicksecure/security-misc.git
|
||||
Standards-Version: 4.7.2
|
||||
Rules-Requires-Root: no
|
||||
|
||||
Package: security-misc
|
||||
## 'Package: security-misc-shared' Comments
|
||||
##
|
||||
## 'Conflicts: security-misc' is needed.
|
||||
## > dpkg-divert: error: 'diversion of /etc/securetty to /etc/securetty.security-misc-orig by security-misc-shared' clashes with 'diversion of /etc/securetty to /etc/securetty.security-misc-orig by security-misc'
|
||||
##
|
||||
## 'Provides: security-misc' is useful.
|
||||
## sudo dpkg -i /home/user/derivative-binary/genmkfile-packages-result/security-misc-shared_47.7-1_all.deb
|
||||
## > dpkg: considering removing security-misc in favour of security-misc-shared ...
|
||||
## > dpkg: no, cannot proceed with removal of security-misc (--auto-deconfigure will help):
|
||||
## > systemcheck depends on security-misc
|
||||
## > security-misc is to be removed
|
||||
Package: security-misc-shared
|
||||
Architecture: all
|
||||
Depends: python3, libglib2.0-bin, libpam-runtime, sudo, adduser, libcap2-bin,
|
||||
apparmor-profile-dist, helper-scripts, libpam-modules-bin,
|
||||
secure-delete, dmsetup, kexec-tools, ${misc:Depends}
|
||||
Replaces: tcp-timestamps-disable, anon-gpg-tweaks, swappiness-lowest
|
||||
Depends: adduser,
|
||||
apparmor-profile-dist,
|
||||
build-essential,
|
||||
dmsetup,
|
||||
helper-scripts,
|
||||
libcap2-bin,
|
||||
libglib2.0-bin,
|
||||
libpam-modules-bin,
|
||||
libpam-runtime,
|
||||
libpam-umask,
|
||||
memlockd,
|
||||
python3,
|
||||
secure-delete,
|
||||
${misc:Depends}
|
||||
Replaces: anon-gpg-tweaks,
|
||||
security-misc,
|
||||
swappiness-lowest,
|
||||
tcp-timestamps-disable
|
||||
Conflicts: security-misc
|
||||
Provides: security-misc
|
||||
Description: Enhances Miscellaneous Security Settings
|
||||
https://github.com/Whonix/security-misc/blob/master/README.md
|
||||
https://github.com/Kicksecure/security-misc/blob/master/README.md
|
||||
.
|
||||
https://www.whonix.org/wiki/Security-misc
|
||||
https://www.kicksecure.com/wiki/Security-misc
|
||||
.
|
||||
Package security-misc-desktop and/or security-misc-server may also be useful.
|
||||
.
|
||||
Discussion:
|
||||
.
|
||||
Happening primarily in Whonix forums.
|
||||
https://forums.whonix.org/t/kernel-hardening/7296
|
||||
https://forums.whonix.org/t/kernel-hardening-security-misc/7296
|
||||
|
||||
Package: security-misc-desktop
|
||||
Architecture: all
|
||||
Depends: security-misc-shared, ${misc:Depends}
|
||||
Description: Security improvements for desktops
|
||||
For desktops.
|
||||
.
|
||||
(Or servers running a desktop?)
|
||||
|
||||
Package: security-misc-server
|
||||
Architecture: all
|
||||
Depends: security-misc-shared, ${misc:Depends}
|
||||
Description: Security improvements for servers
|
||||
For servers.
|
||||
.
|
||||
(Or desktops running a server?)
|
||||
|
|
|
|||
709
debian/copyright
vendored
709
debian/copyright
vendored
|
|
@ -1,73 +1,668 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
|
||||
Files: *
|
||||
Copyright: 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
License: GPL-3+-with-additional-terms-1
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
Copyright: 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
License: AGPL-3+
|
||||
|
||||
License: AGPL-3+
|
||||
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
Version 3, 19 November 2007
|
||||
.
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
Preamble
|
||||
.
|
||||
On Debian systems, the full text of the GNU General Public
|
||||
License version 3 can be found in the file
|
||||
`/usr/share/common-licenses/GPL-3'.
|
||||
The GNU Affero General Public License is a free, copyleft license for
|
||||
software and other kinds of works, specifically designed to ensure
|
||||
cooperation with the community in the case of network server software.
|
||||
.
|
||||
ADDITIONAL TERMS APPLICABLE per GNU GPL version 3 section 7
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
our General Public Licenses are intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users.
|
||||
.
|
||||
1. Replacement of Section 15. Section 15 of the GPL shall be deleted in its
|
||||
entirety and replaced with the following:
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
.
|
||||
15. Disclaimer of Warranty.
|
||||
Developers that use our General Public Licenses protect your rights
|
||||
with two steps: (1) assert copyright on the software, and (2) offer
|
||||
you this License which gives you legal permission to copy, distribute
|
||||
and/or modify the software.
|
||||
.
|
||||
THE PROGRAM IS PROVIDED WITHOUT ANY WARRANTIES, WHETHER EXPRESSED OR IMPLIED,
|
||||
INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
|
||||
PURPOSE, NON-INFRINGEMENT, TITLE AND MERCHANTABILITY. THE PROGRAM IS BEING
|
||||
DELIVERED OR MADE AVAILABLE 'AS IS', 'WITH ALL FAULTS' AND WITHOUT WARRANTY OR
|
||||
REPRESENTATION. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
A secondary benefit of defending all users' freedom is that
|
||||
improvements made in alternate versions of the program, if they
|
||||
receive widespread use, become available for other developers to
|
||||
incorporate. Many developers of free software are heartened and
|
||||
encouraged by the resulting cooperation. However, in the case of
|
||||
software used on network servers, this result may fail to come about.
|
||||
The GNU General Public License permits making a modified version and
|
||||
letting the public access it on a server without ever releasing its
|
||||
source code to the public.
|
||||
.
|
||||
The GNU Affero General Public License is designed specifically to
|
||||
ensure that, in such cases, the modified source code becomes available
|
||||
to the community. It requires the operator of a network server to
|
||||
provide the source code of the modified version running there to the
|
||||
users of that server. Therefore, public use of a modified version, on
|
||||
a publicly accessible server, gives the public access to the source
|
||||
code of the modified version.
|
||||
.
|
||||
An older license, called the Affero General Public License and
|
||||
published by Affero, was designed to accomplish similar goals. This is
|
||||
a different license, not a version of the Affero GPL, but Affero has
|
||||
released a new version of the Affero GPL which permits relicensing under
|
||||
this license.
|
||||
.
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
.
|
||||
TERMS AND CONDITIONS
|
||||
.
|
||||
0. Definitions.
|
||||
.
|
||||
"This License" refers to version 3 of the GNU Affero General Public License.
|
||||
.
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
.
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
.
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
.
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
.
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
.
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
.
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
.
|
||||
1. Source Code.
|
||||
.
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
.
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
.
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
.
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
.
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
.
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
.
|
||||
2. Basic Permissions.
|
||||
.
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
.
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
.
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
.
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
.
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
.
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
.
|
||||
4. Conveying Verbatim Copies.
|
||||
.
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
.
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
.
|
||||
5. Conveying Modified Source Versions.
|
||||
.
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
.
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
.
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
.
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
.
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
.
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
.
|
||||
6. Conveying Non-Source Forms.
|
||||
.
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
.
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
.
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
.
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
.
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
.
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
.
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
.
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
.
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
.
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
.
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
.
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
.
|
||||
7. Additional Terms.
|
||||
.
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
.
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
.
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
.
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
.
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
.
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
.
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
.
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
.
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
.
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
.
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
.
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
.
|
||||
8. Termination.
|
||||
.
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
.
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
.
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
.
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
.
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
.
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
.
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
.
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
.
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
.
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
.
|
||||
11. Patents.
|
||||
.
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
.
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
.
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
.
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
.
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
.
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
.
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
.
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
.
|
||||
12. No Surrender of Others' Freedom.
|
||||
.
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
.
|
||||
13. Remote Network Interaction; Use with the GNU General Public License.
|
||||
.
|
||||
Notwithstanding any other provision of this License, if you modify the
|
||||
Program, your modified version must prominently offer all users
|
||||
interacting with it remotely through a computer network (if your version
|
||||
supports such interaction) an opportunity to receive the Corresponding
|
||||
Source of your version by providing access to the Corresponding Source
|
||||
from a network server at no charge, through some standard or customary
|
||||
means of facilitating copying of software. This Corresponding Source
|
||||
shall include the Corresponding Source for any work covered by version 3
|
||||
of the GNU General Public License that is incorporated pursuant to the
|
||||
following paragraph.
|
||||
.
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the work with which it is combined will remain governed by version
|
||||
3 of the GNU General Public License.
|
||||
.
|
||||
14. Revised Versions of this License.
|
||||
.
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU Affero General Public License from time to time. Such new versions
|
||||
will be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
.
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU Affero General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU Affero General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
.
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU Affero General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
.
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
.
|
||||
15. Disclaimer of Warranty.
|
||||
.
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
.
|
||||
2. Replacement of Section 16. Section 16 of the GPL shall be deleted in its
|
||||
entirety and replaced with the following:
|
||||
16. Limitation of Liability.
|
||||
.
|
||||
16. LIMITATION OF LIABILITY.
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
.
|
||||
UNDER NO CIRCUMSTANCES SHALL ANY COPYRIGHT HOLDER OR ITS AFFILIATES, OR ANY
|
||||
OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE
|
||||
LIABLE TO YOU, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, FOR ANY
|
||||
DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, DIRECT, INDIRECT, SPECIAL,
|
||||
INCIDENTAL, CONSEQUENTIAL OR PUNITIVE DAMAGES ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE USE OR INABILITY TO USE THE PROGRAM OR OTHER DEALINGS WITH
|
||||
THE PROGRAM(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
|
||||
INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
|
||||
PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), WHETHER OR NOT ANY COPYRIGHT HOLDER
|
||||
OR SUCH OTHER PARTY RECEIVES NOTICE OF ANY SUCH DAMAGES AND WHETHER OR NOT SUCH
|
||||
DAMAGES COULD HAVE BEEN FORESEEN.
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
.
|
||||
3. LEGAL NOTICES; NO TRADEMARK LICENSE; ORIGIN. You must reproduce faithfully
|
||||
all trademark, copyright and other proprietary and legal notices on any copies
|
||||
of the Program or any other required author attributions. This license does not
|
||||
grant you rights to use any copyright holder or any other party's name, logo, or
|
||||
trademarks. Neither the name of the copyright holder or its affiliates, or any
|
||||
other party who modifies and/or conveys the Program may be used to endorse or
|
||||
promote products derived from this software without specific prior written
|
||||
permission. The origin of the Program must not be misrepresented; you must not
|
||||
claim that you wrote the original Program. Altered source versions must be
|
||||
plainly marked as such, and must not be misrepresented as being the original
|
||||
Program.
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
.
|
||||
4. INDEMNIFICATION. IF YOU CONVEY A COVERED WORK AND AGREE WITH ANY RECIPIENT
|
||||
OF THAT COVERED WORK THAT YOU WILL ASSUME ANY LIABILITY FOR THAT COVERED WORK,
|
||||
YOU HEREBY AGREE TO INDEMNIFY, DEFEND AND HOLD HARMLESS THE OTHER LICENSORS AND
|
||||
AUTHORS OF THAT COVERED WORK FOR ANY DAMAGES, DEMANDS, CLAIMS, LOSSES, CAUSES OF
|
||||
ACTION, LAWSUITS, JUDGMENTS EXPENSES (INCLUDING WITHOUT LIMITATION REASONABLE
|
||||
ATTORNEYS' FEES AND EXPENSES) OR ANY OTHER LIABILITY ARISING FROM, RELATED TO OR
|
||||
IN CONNECTION WITH YOUR ASSUMPTIONS OF LIABILITY.
|
||||
END OF TERMS AND CONDITIONS
|
||||
.
|
||||
How to Apply These Terms to Your New Programs
|
||||
.
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
.
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
.
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
.
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
.
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
.
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
.
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
.
|
||||
If your software can interact with users remotely through a computer
|
||||
network, you should also make sure that it provides a way for users to
|
||||
get its source. For example, if your program is a web application, its
|
||||
interface could display a "Source" link that leads users to an archive
|
||||
of the code. There are many ways you could offer source, and different
|
||||
solutions will be better for different programs; see section 13 for the
|
||||
specific requirements.
|
||||
.
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU AGPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
|
|
|
|||
4
debian/make-helper-overrides.bsh
vendored
4
debian/make-helper-overrides.bsh
vendored
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2021 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## Copyright (C) 2021 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## https://forums.whonix.org/t/blacklist-more-kernel-modules-to-reduce-attack-surface/7989/24
|
||||
genmkfile_lintian_post_opts+=" --suppress-tags obsolete-command-in-modprobe.d-file"
|
||||
genmkfile_lintian_post_opts+=" --suppress-tags obsolete-command-in-modprobe.d-file --suppress-tags no-complete-debconf-translation"
|
||||
|
|
|
|||
1
debian/po/POTFILES.in
vendored
Normal file
1
debian/po/POTFILES.in
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
[type: gettext/rfc822deb] security-misc-shared.templates
|
||||
36
debian/po/templates.pot
vendored
Normal file
36
debian/po/templates.pot
vendored
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the security-misc-shared package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: security-misc-shared\n"
|
||||
"Report-Msgid-Bugs-To: security-misc-shared@packages.debian.org\n"
|
||||
"POT-Creation-Date: 2025-01-14 09:31-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. Type: note
|
||||
#. Description
|
||||
#: ../security-misc-shared.templates:1001
|
||||
msgid "Manual intervention may be required for permission-hardener update"
|
||||
msgstr ""
|
||||
|
||||
#. Type: note
|
||||
#. Description
|
||||
#: ../security-misc-shared.templates:1001
|
||||
msgid ""
|
||||
"No need to panic. Nothing is broken. A rare condition has been encountered. "
|
||||
"permission-hardener is being updated to fix a minor bug that caused "
|
||||
"corruption in the permission-hardener state file. If you installed your own "
|
||||
"custom permission-hardener configuration, some manual intervention may be "
|
||||
"required. See: https://www.kicksecure.com/wiki/"
|
||||
"SUID_Disabler_and_Permission_Hardener#fixing_state_files"
|
||||
msgstr ""
|
||||
2
debian/rules
vendored
2
debian/rules
vendored
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/make -f
|
||||
|
||||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
#export DH_VERBOSE=1
|
||||
|
|
|
|||
12
debian/security-misc-desktop.install
vendored
Executable file
12
debian/security-misc-desktop.install
vendored
Executable file
|
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/dh-exec
|
||||
|
||||
## Copyright (C) 2020 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## This file was generated using 'genmkfile debinstfile'.
|
||||
|
||||
etc/bluetooth/30_security-misc.conf#security-misc-desktop => /etc/bluetooth/30_security-misc.conf
|
||||
etc/sudoers.d/security-misc-desktop#security-misc-desktop => /etc/sudoers.d/security-misc-desktop
|
||||
usr/lib/NetworkManager/conf.d/80_ipv6-privacy.conf#security-misc-desktop => /usr/lib/NetworkManager/conf.d/80_ipv6-privacy.conf
|
||||
usr/lib/NetworkManager/conf.d/80_randomize-mac.conf#security-misc-desktop => /usr/lib/NetworkManager/conf.d/80_randomize-mac.conf
|
||||
usr/lib/systemd/networkd.conf.d/80_ipv6-privacy-extensions.conf#security-misc-desktop => /usr/lib/systemd/networkd.conf.d/80_ipv6-privacy-extensions.conf
|
||||
8
debian/security-misc-server.install
vendored
Executable file
8
debian/security-misc-server.install
vendored
Executable file
|
|
@ -0,0 +1,8 @@
|
|||
#!/usr/bin/dh-exec
|
||||
|
||||
## Copyright (C) 2020 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## This file was generated using 'genmkfile debinstfile'.
|
||||
|
||||
usr/libexec/security-misc/placeholder#security-misc-server => /usr/libexec/security-misc/placeholder
|
||||
190
debian/security-misc-shared.config
vendored
Executable file
190
debian/security-misc-shared.config
vendored
Executable file
|
|
@ -0,0 +1,190 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2025 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then
|
||||
source /usr/libexec/helper-scripts/pre.bsh
|
||||
fi
|
||||
|
||||
source /usr/share/debconf/confmodule
|
||||
|
||||
set -e
|
||||
|
||||
## Not set by DPKG for '.config' script.
|
||||
DPKG_MAINTSCRIPT_PACKAGE="security-misc-shared"
|
||||
DPKG_MAINTSCRIPT_NAME="config"
|
||||
|
||||
true "
|
||||
#####################################################################
|
||||
## INFO: BEGIN: $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $*
|
||||
#####################################################################
|
||||
"
|
||||
|
||||
## NOTE: Code duplication.
|
||||
## Copied from: helper-scripts /usr/libexec/helper-scripts/package_installed_check.sh
|
||||
##
|
||||
## '.config' scripts are run very early. Even 'Pre-Depends: helper-scripts' would be insufficient.
|
||||
## Therefore the code is duplicated here.
|
||||
pkg_installed() {
|
||||
local package_name dpkg_query_output
|
||||
local requested_action status error_state
|
||||
|
||||
package_name="$1"
|
||||
## Cannot use '&>' because it is a bashism.
|
||||
dpkg_query_output="$(dpkg-query --show --showformat='${Status}' "$package_name" 2>/dev/null)" || true
|
||||
## dpkg_query_output Examples:
|
||||
## install ok half-configured
|
||||
## install ok installed
|
||||
|
||||
requested_action=$(printf '%s' "$dpkg_query_output" | awk '{print $1}')
|
||||
status=$(printf '%s' "$dpkg_query_output" | awk '{print $2}')
|
||||
error_state=$(printf '%s' "$dpkg_query_output" | awk '{print $3}')
|
||||
|
||||
if [ "$requested_action" = 'install' ]; then
|
||||
true "$0: INFO: $package_name is installed, ok."
|
||||
return 0
|
||||
fi
|
||||
|
||||
true "$0: INFO: $package_name is not installed, ok."
|
||||
return 1
|
||||
}
|
||||
|
||||
check_migrate_permission_hardener_state() {
|
||||
local pkg_list modified_pkg_data_str custom_hardening_arr config_file
|
||||
|
||||
## If folder /var/lib/permission-hardener (version 1) does not exist, this migration is unneeded.
|
||||
if [ ! -d '/var/lib/permission-hardener' ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
local orig_hardening_arr custom_hardening_arr config_file custom_config_file
|
||||
if [ -f "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_2" ]; then
|
||||
return 0
|
||||
fi
|
||||
mkdir --parents '/var/lib/security-misc/do_once'
|
||||
|
||||
orig_hardening_arr=(
|
||||
'/usr/lib/permission-hardener.d/25_default_passwd.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_sudo.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_bubblewrap.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_chromium.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_dbus.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_firejail.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_fuse.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_hardened_malloc.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_mount.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_pam.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_passwd.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_policykit.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_postfix.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_qubes.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_selinux.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_spice.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_ssh.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_sudo.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_unix_chkpwd.conf'
|
||||
'/usr/lib/permission-hardener.d/25_default_whitelist_virtualbox.conf'
|
||||
'/usr/lib/permission-hardener.d/20_user-sysmaint-split.conf'
|
||||
'/usr/lib/permission-hardener.d/30_ping.conf'
|
||||
'/usr/lib/permission-hardener.d/30_default.conf'
|
||||
'/etc/permission-hardener.d/25_default_passwd.conf'
|
||||
'/etc/permission-hardener.d/25_default_sudo.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_bubblewrap.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_chromium.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_dbus.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_firejail.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_fuse.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_hardened_malloc.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_mount.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_pam.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_passwd.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_policykit.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_postfix.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_qubes.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_selinux.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_spice.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_ssh.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_sudo.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_unix_chkpwd.conf'
|
||||
'/etc/permission-hardener.d/25_default_whitelist_virtualbox.conf'
|
||||
'/etc/permission-hardener.d/20_user-sysmaint-split.conf'
|
||||
'/etc/permission-hardener.d/30_ping.conf'
|
||||
'/etc/permission-hardener.d/30_default.conf'
|
||||
)
|
||||
|
||||
pkg_list=( "security-misc-shared" )
|
||||
if pkg_installed user-sysmaint-split ; then
|
||||
pkg_list+=( "user-sysmaint-split" )
|
||||
fi
|
||||
if pkg_installed anon-apps-config ; then
|
||||
pkg_list+=( "anon-apps-config" )
|
||||
fi
|
||||
|
||||
## This will exit non-zero if some of the packages don't exist, but we
|
||||
## don't care. The packages that *are* installed will still be scanned.
|
||||
modified_pkg_data_str="$(dpkg --verify "${pkg_list[@]}")" || true
|
||||
|
||||
## Example modified_pkg_data_str:
|
||||
#modified_pkg_data_str='missing /usr/lib/permission-hardener.d/20_user-sysmaint-split.conf'
|
||||
|
||||
readarray -t custom_hardening_arr < <(awk '/permission-hardener.d/{ print $NF }' <<< "${modified_pkg_data_str}")
|
||||
|
||||
## If the above `dpkg --verify` command doesn't return any permission-hardener
|
||||
## related lines, the array will contain no meaningful info, just a single
|
||||
## blank element at the start. Set the array to be explicitly empty in
|
||||
## this scenario.
|
||||
if [ -z "${custom_hardening_arr[0]}" ]; then
|
||||
custom_hardening_arr=()
|
||||
fi
|
||||
|
||||
for config_file in \
|
||||
/usr/lib/permission-hardener.d/*.conf \
|
||||
/etc/permission-hardener.d/*.conf \
|
||||
/usr/local/etc/permission-hardener.d/*.conf \
|
||||
/etc/permission-hardening.d/*.conf \
|
||||
/usr/local/etc/permission-hardening.d/*.conf
|
||||
do
|
||||
# shellcheck disable=SC2076
|
||||
if ! [[ " ${orig_hardening_arr[*]} " =~ " ${config_file} " ]]; then
|
||||
if [ -f "${config_file}" ]; then
|
||||
custom_hardening_arr+=( "${config_file}" )
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "${#custom_hardening_arr[@]}" != '0' ]; then
|
||||
for custom_config_file in "${custom_hardening_arr[@]}"; do
|
||||
if ! test -e "${custom_config_file}" ; then
|
||||
echo "$0: INFO: Possible missing configuration file found: '${custom_config_file}'"
|
||||
else
|
||||
echo "$0: INFO: Possible custom configuration file found: '${custom_config_file}'"
|
||||
fi
|
||||
done
|
||||
## db_input will return code 30 if the message won't be displayed, which
|
||||
## causes a non-interactive install to error out if you don't use || true
|
||||
db_input critical security-misc-shared/alert-on-permission-hardener-v2-upgrade || true
|
||||
## db_go can return code 30 too in some instances, we don't care here
|
||||
# shellcheck disable=SC2119
|
||||
db_go || true
|
||||
fi
|
||||
|
||||
touch "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_2"
|
||||
}
|
||||
|
||||
check_migrate_permission_hardener_state
|
||||
|
||||
true "INFO: debhelper beginning here."
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
true "INFO: Done with debhelper."
|
||||
|
||||
true "
|
||||
#####################################################################
|
||||
## INFO: END : $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $*
|
||||
#####################################################################
|
||||
"
|
||||
|
||||
## Explicitly "exit 0", so eventually trapped errors can be ignored.
|
||||
exit 0
|
||||
7
debian/security-misc-shared.displace
vendored
Normal file
7
debian/security-misc-shared.displace
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
/etc/securetty.security-misc
|
||||
/etc/security/faillock.conf.security-misc
|
||||
/etc/usbguard/usbguard-daemon.conf.security-misc
|
||||
/usr/share/polkit-1/actions/org.freedesktop.Flatpak.policy.security-misc
|
||||
6
debian/security-misc-shared.gconf-defaults
vendored
Normal file
6
debian/security-misc-shared.gconf-defaults
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
/apps/nautilus/preview_sound never
|
||||
/apps/nautilus/show_icon_text never
|
||||
/apps/nautilus/show-image-thumbnails never
|
||||
6
debian/security-misc-shared.hide
vendored
Normal file
6
debian/security-misc-shared.hide
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
## Copyright (C) 2025 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Allows users in the 'sudo' group to install Flatpak software without
|
||||
## authorization. Breaks user/sysmaint separation, thus disabled.
|
||||
/usr/share/polkit-1/rules.d/org.freedesktop.Flatpak.rules
|
||||
144
debian/security-misc-shared.install
vendored
Executable file
144
debian/security-misc-shared.install
vendored
Executable file
|
|
@ -0,0 +1,144 @@
|
|||
#!/usr/bin/dh-exec
|
||||
|
||||
## Copyright (C) 2020 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## This file was generated using 'genmkfile debinstfile'.
|
||||
|
||||
etc/apparmor.d/tunables/home.d/security-misc#security-misc-shared => /etc/apparmor.d/tunables/home.d/security-misc
|
||||
etc/apt/apt.conf.d/40error-on-any#security-misc-shared => /etc/apt/apt.conf.d/40error-on-any
|
||||
etc/apt/apt.conf.d/40sandbox#security-misc-shared => /etc/apt/apt.conf.d/40sandbox
|
||||
etc/default/grub.d/40_cpu_mitigations.cfg#security-misc-shared => /etc/default/grub.d/40_cpu_mitigations.cfg
|
||||
etc/default/grub.d/40_kernel_hardening.cfg#security-misc-shared => /etc/default/grub.d/40_kernel_hardening.cfg
|
||||
etc/default/grub.d/40_remount_secure.cfg#security-misc-shared => /etc/default/grub.d/40_remount_secure.cfg
|
||||
etc/default/grub.d/40_signed_modules.cfg#security-misc-shared => /etc/default/grub.d/40_signed_modules.cfg
|
||||
etc/default/grub.d/41_quiet_boot.cfg#security-misc-shared => /etc/default/grub.d/41_quiet_boot.cfg
|
||||
etc/default/grub.d/41_recovery_restrict.cfg#security-misc-shared => /etc/default/grub.d/41_recovery_restrict.cfg
|
||||
etc/dracut.conf.d/30-security-misc.conf#security-misc-shared => /etc/dracut.conf.d/30-security-misc.conf
|
||||
etc/gitconfig#security-misc-shared => /etc/gitconfig
|
||||
etc/hide-hardware-info.d/30_default.conf#security-misc-shared => /etc/hide-hardware-info.d/30_default.conf
|
||||
etc/kernel/postinst.d/30_remove-system-map#security-misc-shared => /etc/kernel/postinst.d/30_remove-system-map
|
||||
etc/modprobe.d/30_security-misc_blacklist.conf#security-misc-shared => /etc/modprobe.d/30_security-misc_blacklist.conf
|
||||
etc/modprobe.d/30_security-misc_conntrack.conf#security-misc-shared => /etc/modprobe.d/30_security-misc_conntrack.conf
|
||||
etc/modprobe.d/30_security-misc_disable.conf#security-misc-shared => /etc/modprobe.d/30_security-misc_disable.conf
|
||||
etc/profile.d/30_security-misc.sh#security-misc-shared => /etc/profile.d/30_security-misc.sh
|
||||
etc/securetty.security-misc#security-misc-shared => /etc/securetty.security-misc
|
||||
etc/security-misc/emerg-shutdown/30_security_misc.conf#security-misc-shared => /etc/security-misc/emerg-shutdown/30_security_misc.conf
|
||||
etc/security/access-security-misc.conf#security-misc-shared => /etc/security/access-security-misc.conf
|
||||
etc/security/faillock.conf.security-misc#security-misc-shared => /etc/security/faillock.conf.security-misc
|
||||
etc/security/limits.d/30_security-misc.conf#security-misc-shared => /etc/security/limits.d/30_security-misc.conf
|
||||
etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml#security-misc-shared => /etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
|
||||
etc/skel/.gnupg/gpg.conf#security-misc-shared => /etc/skel/.gnupg/gpg.conf
|
||||
etc/ssh/ssh_config.d/30_security-misc.conf#security-misc-shared => /etc/ssh/ssh_config.d/30_security-misc.conf
|
||||
etc/ssh/sshd_config.d/30_security-misc.conf#security-misc-shared => /etc/ssh/sshd_config.d/30_security-misc.conf
|
||||
etc/sudoers.d/security-misc#security-misc-shared => /etc/sudoers.d/security-misc
|
||||
etc/systemd/system/emergency.service.d/override.conf#security-misc-shared => /etc/systemd/system/emergency.service.d/override.conf
|
||||
etc/systemd/system/rescue.service.d/override.conf#security-misc-shared => /etc/systemd/system/rescue.service.d/override.conf
|
||||
etc/usbguard/IPCAccessControl.d/:qubes#security-misc-shared => /etc/usbguard/IPCAccessControl.d/:qubes
|
||||
etc/usbguard/IPCAccessControl.d/:sudo#security-misc-shared => /etc/usbguard/IPCAccessControl.d/:sudo
|
||||
etc/usbguard/rules.d/30_security-misc.conf#security-misc-shared => /etc/usbguard/rules.d/30_security-misc.conf
|
||||
etc/usbguard/usbguard-daemon.conf.security-misc#security-misc-shared => /etc/usbguard/usbguard-daemon.conf.security-misc
|
||||
usr/bin/disabled-bluetooth-by-security-misc#security-misc-shared => /usr/bin/disabled-bluetooth-by-security-misc
|
||||
usr/bin/disabled-cdrom-by-security-misc#security-misc-shared => /usr/bin/disabled-cdrom-by-security-misc
|
||||
usr/bin/disabled-cpumsr-by-security-misc#security-misc-shared => /usr/bin/disabled-cpumsr-by-security-misc
|
||||
usr/bin/disabled-filesys-by-security-misc#security-misc-shared => /usr/bin/disabled-filesys-by-security-misc
|
||||
usr/bin/disabled-firewire-by-security-misc#security-misc-shared => /usr/bin/disabled-firewire-by-security-misc
|
||||
usr/bin/disabled-framebuffer-by-security-misc#security-misc-shared => /usr/bin/disabled-framebuffer-by-security-misc
|
||||
usr/bin/disabled-gps-by-security-misc#security-misc-shared => /usr/bin/disabled-gps-by-security-misc
|
||||
usr/bin/disabled-intelme-by-security-misc#security-misc-shared => /usr/bin/disabled-intelme-by-security-misc
|
||||
usr/bin/disabled-intelpmt-by-security-misc#security-misc-shared => /usr/bin/disabled-intelpmt-by-security-misc
|
||||
usr/bin/disabled-miscellaneous-by-security-misc#security-misc-shared => /usr/bin/disabled-miscellaneous-by-security-misc
|
||||
usr/bin/disabled-netfilesys-by-security-misc#security-misc-shared => /usr/bin/disabled-netfilesys-by-security-misc
|
||||
usr/bin/disabled-network-by-security-misc#security-misc-shared => /usr/bin/disabled-network-by-security-misc
|
||||
usr/bin/disabled-thunderbolt-by-security-misc#security-misc-shared => /usr/bin/disabled-thunderbolt-by-security-misc
|
||||
usr/bin/permission-hardener#security-misc-shared => /usr/bin/permission-hardener
|
||||
usr/bin/remount-secure#security-misc-shared => /usr/bin/remount-secure
|
||||
usr/lib/dracut/modules.d-disabled/20remount-secure/module-setup.sh#security-misc-shared => /usr/lib/dracut/modules.d-disabled/20remount-secure/module-setup.sh
|
||||
usr/lib/dracut/modules.d-disabled/20remount-secure/remount-secure.sh#security-misc-shared => /usr/lib/dracut/modules.d-disabled/20remount-secure/remount-secure.sh
|
||||
usr/lib/dracut/modules.d/99emerg-shutdown/module-setup.sh#security-misc-shared => /usr/lib/dracut/modules.d/99emerg-shutdown/module-setup.sh
|
||||
usr/lib/issue.d/20_security-misc.issue#security-misc-shared => /usr/lib/issue.d/20_security-misc.issue
|
||||
usr/lib/modules-load.d/30_security-misc.conf#security-misc-shared => /usr/lib/modules-load.d/30_security-misc.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_bubblewrap.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_bubblewrap.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_chromium.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_chromium.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_dbus.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_dbus.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_firejail.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_firejail.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_fuse.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_fuse.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_hardened_malloc.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_hardened_malloc.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_mount.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_mount.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_pam.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_pam.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_passwd.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_passwd.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_policykit.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_policykit.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_postfix.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_postfix.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_qubes.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_qubes.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_selinux.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_selinux.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_spice.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_spice.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_ssh.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_ssh.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_sudo.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_sudo.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_unix_chkpwd.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_unix_chkpwd.conf
|
||||
usr/lib/permission-hardener.d/25_default_whitelist_virtualbox.conf#security-misc-shared => /usr/lib/permission-hardener.d/25_default_whitelist_virtualbox.conf
|
||||
usr/lib/permission-hardener.d/30_default.conf#security-misc-shared => /usr/lib/permission-hardener.d/30_default.conf
|
||||
usr/lib/sysctl.d/30_security-misc_kexec-disable.conf#security-misc-shared => /usr/lib/sysctl.d/30_security-misc_kexec-disable.conf
|
||||
usr/lib/sysctl.d/30_security-misc_ptrace-disable.conf#security-misc-shared => /usr/lib/sysctl.d/30_security-misc_ptrace-disable.conf
|
||||
usr/lib/sysctl.d/30_silent-kernel-printk.conf#security-misc-shared => /usr/lib/sysctl.d/30_silent-kernel-printk.conf
|
||||
usr/lib/sysctl.d/990-security-misc.conf#security-misc-shared => /usr/lib/sysctl.d/990-security-misc.conf
|
||||
usr/lib/systemd/coredump.conf.d/30_security-misc.conf#security-misc-shared => /usr/lib/systemd/coredump.conf.d/30_security-misc.conf
|
||||
usr/lib/systemd/pstore.conf.d/30_security-misc.conf#security-misc-shared => /usr/lib/systemd/pstore.conf.d/30_security-misc.conf
|
||||
usr/lib/systemd/system-preset/50-security-misc.preset#security-misc-shared => /usr/lib/systemd/system-preset/50-security-misc.preset
|
||||
usr/lib/systemd/system/block-shutdown.service#security-misc-shared => /usr/lib/systemd/system/block-shutdown.service
|
||||
usr/lib/systemd/system/emerg-shutdown.service#security-misc-shared => /usr/lib/systemd/system/emerg-shutdown.service
|
||||
usr/lib/systemd/system/ensure-shutdown-trigger.service#security-misc-shared => /usr/lib/systemd/system/ensure-shutdown-trigger.service
|
||||
usr/lib/systemd/system/ensure-shutdown.service#security-misc-shared => /usr/lib/systemd/system/ensure-shutdown.service
|
||||
usr/lib/systemd/system/harden-module-loading.service#security-misc-shared => /usr/lib/systemd/system/harden-module-loading.service
|
||||
usr/lib/systemd/system/haveged.service.d/30_security-misc.conf#security-misc-shared => /usr/lib/systemd/system/haveged.service.d/30_security-misc.conf
|
||||
usr/lib/systemd/system/hide-hardware-info.service#security-misc-shared => /usr/lib/systemd/system/hide-hardware-info.service
|
||||
usr/lib/systemd/system/kill-vboxdrmclient-on-shutdown.service#security-misc-shared => /usr/lib/systemd/system/kill-vboxdrmclient-on-shutdown.service
|
||||
usr/lib/systemd/system/panic-on-oops.service#security-misc-shared => /usr/lib/systemd/system/panic-on-oops.service
|
||||
usr/lib/systemd/system/permission-hardener.service#security-misc-shared => /usr/lib/systemd/system/permission-hardener.service
|
||||
usr/lib/systemd/system/proc-hidepid.service#security-misc-shared => /usr/lib/systemd/system/proc-hidepid.service
|
||||
usr/lib/systemd/system/remount-secure.service#security-misc-shared => /usr/lib/systemd/system/remount-secure.service
|
||||
usr/lib/systemd/system/remove-system-map.service#security-misc-shared => /usr/lib/systemd/system/remove-system-map.service
|
||||
usr/lib/systemd/system/sysinit-post.target#security-misc-shared => /usr/lib/systemd/system/sysinit-post.target
|
||||
usr/lib/systemd/system/usbguard.service.d/30_security-misc.conf#security-misc-shared => /usr/lib/systemd/system/usbguard.service.d/30_security-misc.conf
|
||||
usr/lib/systemd/system/user@.service.d/sysfs.conf#security-misc-shared => /usr/lib/systemd/system/user@.service.d/sysfs.conf
|
||||
usr/lib/systemd/user/usbguard-notifier.service.d/30_security-misc.conf#security-misc-shared => /usr/lib/systemd/user/usbguard-notifier.service.d/30_security-misc.conf
|
||||
usr/lib/udev/rules.d/95-emerg-shutdown.rules#security-misc-shared => /usr/lib/udev/rules.d/95-emerg-shutdown.rules
|
||||
usr/libexec/security-misc/askpass#security-misc-shared => /usr/libexec/security-misc/askpass
|
||||
usr/libexec/security-misc/block-unsafe-logins#security-misc-shared => /usr/libexec/security-misc/block-unsafe-logins
|
||||
usr/libexec/security-misc/check-for-usb-controller#security-misc-shared => /usr/libexec/security-misc/check-for-usb-controller
|
||||
usr/libexec/security-misc/disable-kernel-module-loading#security-misc-shared => /usr/libexec/security-misc/disable-kernel-module-loading
|
||||
usr/libexec/security-misc/echo-path#security-misc-shared => /usr/libexec/security-misc/echo-path
|
||||
usr/libexec/security-misc/emerg-shutdown#security-misc-shared => /usr/libexec/security-misc/emerg-shutdown
|
||||
usr/libexec/security-misc/ensure-shutdown#security-misc-shared => /usr/libexec/security-misc/ensure-shutdown
|
||||
usr/libexec/security-misc/hide-hardware-info#security-misc-shared => /usr/libexec/security-misc/hide-hardware-info
|
||||
usr/libexec/security-misc/kill-vboxdrmclient-on-shutdown#security-misc-shared => /usr/libexec/security-misc/kill-vboxdrmclient-on-shutdown
|
||||
usr/libexec/security-misc/mmap-rnd-bits#security-misc-shared => /usr/libexec/security-misc/mmap-rnd-bits
|
||||
usr/libexec/security-misc/pam-abort-on-locked-password#security-misc-shared => /usr/libexec/security-misc/pam-abort-on-locked-password
|
||||
usr/libexec/security-misc/pam-info#security-misc-shared => /usr/libexec/security-misc/pam-info
|
||||
usr/libexec/security-misc/pam_faillock_not_if_x#security-misc-shared => /usr/libexec/security-misc/pam_faillock_not_if_x
|
||||
usr/libexec/security-misc/pam_only_if_login#security-misc-shared => /usr/libexec/security-misc/pam_only_if_login
|
||||
usr/libexec/security-misc/pam_only_if_su#security-misc-shared => /usr/libexec/security-misc/pam_only_if_su
|
||||
usr/libexec/security-misc/panic-on-oops#security-misc-shared => /usr/libexec/security-misc/panic-on-oops
|
||||
usr/libexec/security-misc/permission-lockdown#security-misc-shared => /usr/libexec/security-misc/permission-lockdown
|
||||
usr/libexec/security-misc/remove-system.map#security-misc-shared => /usr/libexec/security-misc/remove-system.map
|
||||
usr/libexec/security-misc/virusforget#security-misc-shared => /usr/libexec/security-misc/virusforget
|
||||
usr/share/doc/security-misc/fstab-vm#security-misc-shared => /usr/share/doc/security-misc/fstab-vm
|
||||
usr/share/glib-2.0/schemas/30_security-misc.gschema.override#security-misc-shared => /usr/share/glib-2.0/schemas/30_security-misc.gschema.override
|
||||
usr/share/lintian/overrides/security-misc-shared#security-misc-shared => /usr/share/lintian/overrides/security-misc-shared
|
||||
usr/share/pam-configs/block-unsafe-logins-security-misc#security-misc-shared => /usr/share/pam-configs/block-unsafe-logins-security-misc
|
||||
usr/share/pam-configs/console-lockdown-security-misc#security-misc-shared => /usr/share/pam-configs/console-lockdown-security-misc
|
||||
usr/share/pam-configs/faillock-preauth-security-misc#security-misc-shared => /usr/share/pam-configs/faillock-preauth-security-misc
|
||||
usr/share/pam-configs/mkhomedir-security-misc#security-misc-shared => /usr/share/pam-configs/mkhomedir-security-misc
|
||||
usr/share/pam-configs/pam-abort-on-locked-password-security-misc#security-misc-shared => /usr/share/pam-configs/pam-abort-on-locked-password-security-misc
|
||||
usr/share/pam-configs/umask-security-misc#security-misc-shared => /usr/share/pam-configs/umask-security-misc
|
||||
usr/share/pam-configs/unix-faillock-security-misc#security-misc-shared => /usr/share/pam-configs/unix-faillock-security-misc
|
||||
usr/share/pam-configs/wheel-security-misc#security-misc-shared => /usr/share/pam-configs/wheel-security-misc
|
||||
usr/share/polkit-1/actions/org.freedesktop.Flatpak.policy.security-misc#security-misc-shared => /usr/share/polkit-1/actions/org.freedesktop.Flatpak.policy.security-misc
|
||||
usr/share/security-misc/dolphinrc#security-misc-shared => /usr/share/security-misc/dolphinrc
|
||||
usr/share/security-misc/emerg-shutdown-initramfs.service#security-misc-shared => /usr/share/security-misc/emerg-shutdown-initramfs.service
|
||||
usr/share/security-misc/lkrg/30-lkrg-virtualbox.conf#security-misc-shared => /usr/share/security-misc/lkrg/30-lkrg-virtualbox.conf
|
||||
usr/share/security-misc/lkrg/lkrg-virtualbox#security-misc-shared => /usr/share/security-misc/lkrg/lkrg-virtualbox
|
||||
usr/share/security-misc/permission-hardener-existing-mode-legacy-hardcoded#security-misc-shared => /usr/share/security-misc/permission-hardener-existing-mode-legacy-hardcoded
|
||||
usr/share/security-misc/permission-hardener-new-mode-legacy-hardcoded#security-misc-shared => /usr/share/security-misc/permission-hardener-new-mode-legacy-hardcoded
|
||||
usr/share/security-misc/security-misc-memlockd.cfg#security-misc-shared => /usr/share/security-misc/security-misc-memlockd.cfg
|
||||
usr/src/security-misc/emerg-shutdown.c#security-misc-shared => /usr/src/security-misc/emerg-shutdown.c
|
||||
var/cache/security-misc/state-files/placeholder#security-misc-shared => /var/cache/security-misc/state-files/placeholder
|
||||
5
debian/security-misc-shared.links
vendored
Normal file
5
debian/security-misc-shared.links
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
/etc/profile.d/30_security-misc.sh /etc/zprofile.d/30_security-misc.zsh
|
||||
/etc/profile.d/30_security-misc.sh /etc/X11/Xsession.d/30_security-misc
|
||||
111
debian/security-misc-shared.maintscript
vendored
Normal file
111
debian/security-misc-shared.maintscript
vendored
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
rm_conffile /etc/sudoers.d/umask-security-misc
|
||||
|
||||
## https://forums.whonix.org/t/sysrq-magic-sysrq-key/8079
|
||||
rm_conffile /etc/sysctl.d/sysrq.conf
|
||||
|
||||
## https://github.com/Kicksecure/security-misc/pull/45
|
||||
rm_conffile /etc/apparmor.d/usr.lib.security-misc.pam_tally2-info
|
||||
rm_conffile /etc/apparmor.d/usr.lib.security-misc.permission-lockdown
|
||||
|
||||
## merged into 3 files /usr/lib/sysctl.d/30_security-misc_kexec-disable.conf, /usr/lib/sysctl.d/30_silent-kernel-printk.conf, and /usr/lib/sysctl.d/990-security-misc.conf
|
||||
rm_conffile /etc/sysctl.d/fs_protected.conf
|
||||
rm_conffile /etc/sysctl.d/kptr_restrict.conf
|
||||
rm_conffile /etc/sysctl.d/suid_dumpable.conf
|
||||
rm_conffile /etc/sysctl.d/harden_bpf.conf
|
||||
rm_conffile /etc/sysctl.d/ptrace_scope.conf
|
||||
rm_conffile /etc/sysctl.d/tcp_timestamps.conf
|
||||
rm_conffile /etc/sysctl.d/mmap_aslr.conf
|
||||
rm_conffile /etc/sysctl.d/dmesg_restrict.conf
|
||||
rm_conffile /etc/sysctl.d/coredumps.conf
|
||||
rm_conffile /etc/sysctl.d/kexec.conf
|
||||
rm_conffile /etc/sysctl.d/tcp_hardening.conf
|
||||
rm_conffile /etc/sysctl.d/tcp_sack.conf
|
||||
|
||||
## merged into 3 files /etc/modprobe.d/30_security-misc_blacklist.conf, 30_security-misc_conntrack.conf, and /etc/modprobe.d/30_security-misc_disable.conf
|
||||
rm_conffile /etc/modprobe.d/uncommon-network-protocols.conf
|
||||
rm_conffile /etc/modprobe.d/blacklist-bluetooth.conf
|
||||
rm_conffile /etc/modprobe.d/vivid.conf
|
||||
rm_conffile /etc/modprobe.d/blacklist-dma.conf
|
||||
rm_conffile /etc/modprobe.d/msr.conf
|
||||
rm_conffile /etc/modprobe.d/30_nf_conntrack_helper_disable.conf
|
||||
rm_conffile /etc/modprobe.d/30_security-misc.conf
|
||||
|
||||
## renamed to /etc/security/limits.d/30_security-misc.conf
|
||||
rm_conffile /etc/security/limits.d/disable-coredumps.conf
|
||||
|
||||
## moved to separate package ram-wipe
|
||||
rm_conffile /etc/default/grub.d/40_cold_boot_attack_defense.cfg
|
||||
|
||||
rm_conffile /etc/X11/Xsession.d/50panic_on_oops
|
||||
rm_conffile /etc/X11/Xsession.d/50security-misc
|
||||
|
||||
## moved to /usr/lib/sysctl.d
|
||||
rm_conffile /etc/sysctl.d/30_security-misc.conf
|
||||
rm_conffile /etc/sysctl.d/30_silent-kernel-printk.conf
|
||||
rm_conffile /etc/sysctl.d/30_security-misc_kexec-disable.conf
|
||||
|
||||
## moved to /etc/permission-hardener.d
|
||||
rm_conffile /etc/permission-hardening.d/25_default_passwd.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_sudo.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_whitelist_bubblewrap.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_whitelist_chromium.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_whitelist_dbus.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_whitelist_firejail.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_whitelist_fuse.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_whitelist_hardened_malloc.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_whitelist_mount.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_whitelist_pam.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_whitelist_policykit.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_whitelist_qubes.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_whitelist_selinux.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_whitelist_spice.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_whitelist_ssh.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_whitelist_sudo.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_whitelist_unix_chkpwd.conf
|
||||
rm_conffile /etc/permission-hardening.d/25_default_whitelist_virtualbox.conf
|
||||
rm_conffile /etc/permission-hardening.d/30_default.conf
|
||||
|
||||
## moved to /usr/lib/permission-hardener.d
|
||||
rm_conffile /etc/permission-hardener.d/25_default_passwd.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_sudo.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_bubblewrap.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_chromium.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_dbus.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_firejail.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_fuse.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_hardened_malloc.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_mount.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_pam.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_policykit.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_postfix.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_qubes.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_selinux.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_spice.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_ssh.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_sudo.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_unix_chkpwd.conf
|
||||
rm_conffile /etc/permission-hardener.d/25_default_whitelist_virtualbox.conf
|
||||
rm_conffile /etc/permission-hardener.d/30_default.conf
|
||||
|
||||
## merged into 1 file /etc/default/grub.d/40_kernel_hardening.cfg
|
||||
rm_conffile /etc/default/grub.d/40_distrust_bootloader.cfg
|
||||
rm_conffile /etc/default/grub.d/40_distrust_cpu.cfg
|
||||
rm_conffile /etc/default/grub.d/40_enable_iommu.cfg
|
||||
|
||||
## renamed to /etc/default/grub.d/40_remount_secure.cfg
|
||||
rm_conffile /etc/default/grub.d/40_remmount-secure.cfg
|
||||
|
||||
## renamed to /etc/default/grub.d/40_signed_modules.cfg
|
||||
rm_conffile /etc/default/grub.d/40_only_allow_signed_modules.cfg
|
||||
|
||||
## renamed to /etc/default/grub.d/41_quiet_boot.cfg
|
||||
rm_conffile /etc/default/grub.d/41_quiet.cfg
|
||||
|
||||
## moved to usability-misc
|
||||
rm_conffile /etc/dkms/framework.conf.d/30_security-misc.conf
|
||||
|
||||
## renamed to reflect the fact that this uses a whitelist
|
||||
rm_conffile /usr/lib/permission-hardener.d/25_default_passwd.conf
|
||||
212
debian/security-misc-shared.postinst
vendored
Executable file
212
debian/security-misc-shared.postinst
vendored
Executable file
|
|
@ -0,0 +1,212 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then
|
||||
source /usr/libexec/helper-scripts/pre.bsh
|
||||
fi
|
||||
|
||||
## Required since this package uses debconf - this is mandatory even though
|
||||
## the postinst itself does not use debconf commands.
|
||||
source /usr/share/debconf/confmodule
|
||||
|
||||
set -e
|
||||
|
||||
true "
|
||||
#####################################################################
|
||||
## INFO: BEGIN: $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $*
|
||||
#####################################################################
|
||||
"
|
||||
|
||||
permission_hardening_legacy_config_folder() {
|
||||
if ! test -d /etc/permission-hardening.d ; then
|
||||
return 0
|
||||
fi
|
||||
rmdir --verbose --ignore-fail-on-non-empty /etc/permission-hardening.d || true
|
||||
}
|
||||
|
||||
permission_hardening() {
|
||||
echo "Running SUID Disabler and Permission Hardener... See also:"
|
||||
echo "https://www.kicksecure.com/wiki/SUID_Disabler_and_Permission_Hardener"
|
||||
echo "$0: INFO: running: permission-hardener enable"
|
||||
if ! permission-hardener enable ; then
|
||||
echo "$0: ERROR: Permission hardening failed." >&2
|
||||
return 0
|
||||
fi
|
||||
echo "$0: INFO: Permission hardening success."
|
||||
}
|
||||
|
||||
fix_pkexec_remembered_permissions() {
|
||||
if [ -f "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_1" ]; then
|
||||
return 0
|
||||
fi
|
||||
mkdir --parents '/var/lib/security-misc/do_once'
|
||||
|
||||
if ! [ -f "/var/lib/permission-hardener-v2/existing_mode/statoverride" ]; then
|
||||
## 'statoverride' file does not exist yet. Therefore no need to fix it using 'str_replace'.
|
||||
touch "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_1"
|
||||
return 0
|
||||
fi
|
||||
|
||||
## The existing_mode database may incorrectly list the original permissions
|
||||
## of pkexec as '755'. They should be '4755'. Fix this with str_replace. If
|
||||
## this issue is not present, str_replace will do nothing.
|
||||
str_replace 'root root 755 /usr/bin/pkexec' \
|
||||
'root root 4755 /usr/bin/pkexec' \
|
||||
/var/lib/permission-hardener-v2/existing_mode/statoverride
|
||||
|
||||
touch "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_1"
|
||||
}
|
||||
|
||||
install_permission_hardener_base_state() {
|
||||
local state_str
|
||||
|
||||
if [ -f "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_1" ]; then
|
||||
return 0
|
||||
fi
|
||||
mkdir --parents '/var/lib/security-misc/do_once'
|
||||
|
||||
if [ -f "/var/lib/permission-hardener-v2/existing_mode/statoverride" ]; then
|
||||
## 'statoverride' file already exists. Therefore no need to pre-populate it.
|
||||
touch "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_1"
|
||||
return 0
|
||||
fi
|
||||
|
||||
mkdir --parents -- '/var/lib/permission-hardener-v2/existing_mode'
|
||||
state_str="root root 644 /etc/passwd-
|
||||
root root 755 /etc/cron.monthly
|
||||
root root 755 /etc/sudoers.d
|
||||
root shadow 2755 /usr/bin/expiry
|
||||
root root 4755 /usr/bin/umount
|
||||
root root 4755 /usr/bin/gpasswd
|
||||
root root 755 /usr/lib/modules
|
||||
root root 644 /etc/issue.net
|
||||
root root 644 /etc/group-
|
||||
root root 4755 /usr/bin/newgrp
|
||||
root root 755 /etc/cron.weekly
|
||||
root root 4755 /usr/lib/polkit-1/polkit-agent-helper-1
|
||||
root root 644 /etc/hosts.deny
|
||||
root root 4755 /usr/bin/newgidmap
|
||||
root root 644 /etc/issue.kicksecure
|
||||
root root 4755 /usr/bin/pkexec
|
||||
root root 4755 /usr/bin/su
|
||||
root root 644 /etc/hosts.allow
|
||||
root root 700 /root
|
||||
root root 755 /etc/cron.daily
|
||||
root root 644 /etc/motd
|
||||
root root 4755 /usr/bin/newuidmap
|
||||
root root 755 /boot
|
||||
root root 755 /home
|
||||
root shadow 2755 /usr/bin/chage
|
||||
root root 4755 /usr/lib/openssh/ssh-keysign
|
||||
root root 4755 /usr/bin/ntfs-3g
|
||||
root root 4755 /usr/bin/chsh
|
||||
root root 644 /etc/motd.kicksecure
|
||||
root root 755 /usr/bin/su-to-root
|
||||
root root 4755 /usr/bin/passwd
|
||||
root root 4755 /usr/bin/chfn
|
||||
root root 644 /etc/group
|
||||
root root 4755 /usr/bin/sudo
|
||||
root root 644 /etc/passwd
|
||||
root root 755 /usr/src
|
||||
root root 4755 /usr/bin/mount
|
||||
root root 644 /etc/issue
|
||||
root root 755 /etc/cron.d"
|
||||
|
||||
printf '%s\n' "$state_str" | tee /var/lib/permission-hardener-v2/existing_mode/statoverride
|
||||
|
||||
touch "/var/lib/security-misc/do_once/${FUNCNAME[0]}_version_1"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
configure)
|
||||
if [ -d /etc/skel/.gnupg ]; then
|
||||
## Lintian warns against use of chmod --recursive.
|
||||
chmod 700 /etc/skel/.gnupg
|
||||
fi
|
||||
|
||||
## /usr/share/glib-2.0/schemas/30_security-misc.gschema.override
|
||||
glib-compile-schemas /usr/share/glib-2.0/schemas || true
|
||||
|
||||
## state dir for PAM 'faillock'
|
||||
mkdir -p /var/lib/security-misc/faillock
|
||||
|
||||
## Fix pkexec remembered permissions if necessary.
|
||||
fix_pkexec_remembered_permissions
|
||||
|
||||
## Pre-populate permission-hardener state on first postinst run.
|
||||
## Necessary because the first permission-hardener run may occur
|
||||
## before all permissions are set properly by package postinst
|
||||
## scripts. In particular, pkexec is not SUID-root until after its
|
||||
## postinst runs.
|
||||
install_permission_hardener_base_state
|
||||
|
||||
## Fix usbguard config permissions, this seemingly can't be done
|
||||
## during the unpack stage
|
||||
usbguard_config_file_list=(
|
||||
'/etc/usbguard/rules.d/30_security-misc.conf'
|
||||
'/etc/usbguard/usbguard-daemon.conf.security-misc'
|
||||
'/etc/usbguard/IPCAccessControl.d/:sudo'
|
||||
'/etc/usbguard/IPCAccessControl.d/:qubes'
|
||||
)
|
||||
for usbguard_config_file in "${usbguard_config_file_list[@]}"; do
|
||||
if test -f "${usbguard_config_file}"; then
|
||||
chmod 0600 "${usbguard_config_file}"
|
||||
fi
|
||||
done
|
||||
;;
|
||||
|
||||
abort-upgrade|abort-remove|abort-deconfigure)
|
||||
;;
|
||||
|
||||
triggered)
|
||||
echo "INFO: triggered $DPKG_MAINTSCRIPT_PACKAGE: '$DPKG_MAINTSCRIPT_PACKAGE' $DPKG_MAINTSCRIPT_PACKAGE DPKG_MAINTSCRIPT_NAME: '$DPKG_MAINTSCRIPT_NAME' $\*: '$*' 2: '$2'"
|
||||
/usr/share/security-misc/lkrg/lkrg-virtualbox || true
|
||||
/usr/libexec/security-misc/mmap-rnd-bits || true
|
||||
permission_hardening
|
||||
exit 0
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "$DPKG_MAINTSCRIPT_NAME called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
pam-auth-update --package
|
||||
|
||||
/usr/libexec/security-misc/permission-lockdown
|
||||
|
||||
permission_hardening
|
||||
|
||||
## https://phabricator.whonix.org/T377
|
||||
## Debian has no update-grub trigger yet:
|
||||
## https://bugs.debian.org/481542
|
||||
if command -v update-grub >/dev/null 2>&1; then
|
||||
update-grub || \
|
||||
echo "$DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME ERROR: Running \
|
||||
'update-grub' failed with exit code $?. $DPKG_MAINTSCRIPT_PACKAGE is most \
|
||||
likely only the trigger, not the cause. Unless you know this is not an issue, \
|
||||
you should fix running 'update-grub', otherwise your system might no longer \
|
||||
boot." >&2
|
||||
fi
|
||||
|
||||
/usr/libexec/security-misc/mmap-rnd-bits || true
|
||||
|
||||
true "INFO: debhelper beginning here."
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
true "INFO: Done with debhelper."
|
||||
|
||||
permission_hardening_legacy_config_folder
|
||||
|
||||
true "
|
||||
#####################################################################
|
||||
## INFO: END : $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $*
|
||||
#####################################################################
|
||||
"
|
||||
|
||||
## Explicitly "exit 0", so eventually trapped errors can be ignored.
|
||||
exit 0
|
||||
4
debian/security-misc.postrm → debian/security-misc-shared.postrm
vendored
Normal file → Executable file
4
debian/security-misc.postrm → debian/security-misc-shared.postrm
vendored
Normal file → Executable file
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then
|
||||
|
|
@ -18,6 +18,8 @@ true "
|
|||
## https://forums.whonix.org/t/is-security-misc-suitable-for-hardening-bridges-and-relays/8299/11
|
||||
pam-auth-update --package --remove "$DPKG_MAINTSCRIPT_PACKAGE"
|
||||
|
||||
rm -f /etc/sysctl.d/30_security-misc_aslr-mmap.conf
|
||||
|
||||
true "INFO: debhelper beginning here."
|
||||
|
||||
#DEBHELPER#
|
||||
34
debian/security-misc.preinst → debian/security-misc-shared.preinst
vendored
Normal file → Executable file
34
debian/security-misc.preinst → debian/security-misc-shared.preinst
vendored
Normal file → Executable file
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then
|
||||
|
|
@ -20,6 +20,17 @@ user_groups_modifications() {
|
|||
addgroup --system sysfs
|
||||
addgroup --system cpuinfo
|
||||
|
||||
## /usr/lib/systemd/system/proc-hidepid.service
|
||||
addgroup --system proc
|
||||
|
||||
## Avoid 'debian/control' file 'Depends:' 'sudo'.
|
||||
##
|
||||
## Could use '/usr/libexec/helper-scripts/user_create.bsh' in preinst? Looks more complex. Avoided.
|
||||
## group 'sudo' is not a system group.
|
||||
#addgroup --system sudo
|
||||
## Function 'is_group' is complex. Hence, use '2>/dev/null || true'.
|
||||
addgroup sudo 2>/dev/null || true
|
||||
|
||||
## group 'sudo' membership required to use 'su'
|
||||
## /usr/share/pam-configs/wheel-security-misc
|
||||
adduser root sudo
|
||||
|
|
@ -44,15 +55,15 @@ user_groups_modifications() {
|
|||
## an "empty" /etc/securetty.
|
||||
## In case a system administrator edits /etc/securetty, there is no need to
|
||||
## block for this to be still blocked by console lockdown. See also:
|
||||
## https://www.whonix.org/wiki/Root#Root_Login
|
||||
## https://www.kicksecure.com/wiki/Root#Root_Login
|
||||
adduser root console
|
||||
}
|
||||
|
||||
output_skip_checks() {
|
||||
echo "security-misc '$0' INFO: Allow installation of security-misc anyway." >&2
|
||||
echo "security-misc '$0' INFO: (technical reason: $@)" >&2
|
||||
echo "security-misc '$0' INFO: If this is a chroot this is probably OK." >&2
|
||||
echo "security-misc '$0' INFO: Otherwise you might not be able to login." >&2
|
||||
echo "security-misc-shared '$0' INFO: Allow installation of security-misc-shared anyway." >&2
|
||||
echo "security-misc-shared '$0' INFO: (technical reason: $@)" >&2
|
||||
echo "security-misc-shared '$0' INFO: If this is a chroot this is probably OK." >&2
|
||||
echo "security-misc-shared '$0' INFO: Otherwise you might not be able to login." >&2
|
||||
}
|
||||
|
||||
sudo_users_check () {
|
||||
|
|
@ -93,14 +104,15 @@ sudo_users_check () {
|
|||
|
||||
## Prevent users from locking themselves out.
|
||||
## https://forums.whonix.org/t/is-security-misc-suitable-for-hardening-bridges-and-relays/8299/4
|
||||
echo "$0: ERROR: No user is a member of group 'sudo'. Installation aborted." >&2
|
||||
echo "$0: ERROR: No account is a member of group 'sudo'. Installation aborted." >&2
|
||||
echo "$0: ERROR: You probably want to run:" >&2
|
||||
echo "$0: NOTE: Replace account 'user' with your actual Linux user account name." >&2
|
||||
echo "" >&2
|
||||
echo "sudo adduser user sudo" >&2
|
||||
echo "sudo adduser user console" >&2
|
||||
echo "" >&2
|
||||
echo "$0: ERROR: See also installation instructions:" >&2
|
||||
echo "https://www.whonix.org/wiki/security-misc#install" >&2
|
||||
echo "https://www.kicksecure.com/wiki/security-misc#install" >&2
|
||||
|
||||
if [ "$SECURITY_MISC_INSTALL" = "force" ]; then
|
||||
output_skip_checks "Environment variable SECURITY_MISC_INSTALL is set to 'force'."
|
||||
|
|
@ -142,7 +154,7 @@ console_users_check() {
|
|||
for user_with_console in $console_users $console_unrestricted_users ; do
|
||||
if [ "$user_with_console" = "root" ]; then
|
||||
## root login is also restricted.
|
||||
## Therefore user "root" being member of group "console" is
|
||||
## Therefore account "root" being member of group "console" is
|
||||
## considered insufficient.
|
||||
continue
|
||||
fi
|
||||
|
|
@ -159,7 +171,7 @@ console_users_check() {
|
|||
return 0
|
||||
fi
|
||||
|
||||
echo "$0: ERROR: No user is a member of group 'console'. Installation aborted." >&2
|
||||
echo "$0: ERROR: No account is a member of group 'console'. Installation aborted." >&2
|
||||
echo "$0: ERROR: You probably want to run:" >&2
|
||||
echo "" >&2
|
||||
echo "sudo adduser user console" >&2
|
||||
|
|
@ -209,7 +221,7 @@ legacy() {
|
|||
user_to_be_created=user
|
||||
|
||||
if ! id "$user_to_be_created" &>/dev/null ; then
|
||||
true "INFO: user '$user_to_be_created' does not exist. Skipping adduser console and pam-auth-update."
|
||||
true "INFO: Account '$user_to_be_created' does not exist. Skipping adding account '$user_to_be_created' to group 'console' and also skipping 'pam-auth-update --enable console-lockdown-security-misc'."
|
||||
return 0
|
||||
fi
|
||||
|
||||
2
debian/security-misc.prerm → debian/security-misc-shared.prerm
vendored
Normal file → Executable file
2
debian/security-misc.prerm → debian/security-misc-shared.prerm
vendored
Normal file → Executable file
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then
|
||||
9
debian/security-misc-shared.templates
vendored
Normal file
9
debian/security-misc-shared.templates
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
Template: security-misc-shared/alert-on-permission-hardener-v2-upgrade
|
||||
Type: note
|
||||
_Description: Manual intervention may be required for permission-hardener update
|
||||
No need to panic. Nothing is broken. A rare condition has been encountered.
|
||||
permission-hardener is being updated to fix a minor bug that caused
|
||||
corruption in the permission-hardener state file. If you installed your own
|
||||
custom permission-hardener configuration, some manual intervention may be
|
||||
required. See:
|
||||
https://www.kicksecure.com/wiki/SUID_Disabler_and_Permission_Hardener#fixing_state_files
|
||||
16
debian/security-misc-shared.triggers
vendored
Normal file
16
debian/security-misc-shared.triggers
vendored
Normal 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-shared.undisplace
vendored
Normal file
6
debian/security-misc-shared.undisplace
vendored
Normal 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
|
||||
6
debian/security-misc.displace
vendored
6
debian/security-misc.displace
vendored
|
|
@ -1,6 +0,0 @@
|
|||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
/etc/securetty.security-misc
|
||||
/etc/security/faillock.conf.security-misc
|
||||
/etc/dkms/framework.conf.security-misc
|
||||
3
debian/security-misc.gconf-defaults
vendored
3
debian/security-misc.gconf-defaults
vendored
|
|
@ -1,3 +0,0 @@
|
|||
/apps/nautilus/preview_sound never
|
||||
/apps/nautilus/show_icon_text never
|
||||
/apps/nautilus/show-image-thumbnails never
|
||||
10
debian/security-misc.install
vendored
10
debian/security-misc.install
vendored
|
|
@ -1,10 +0,0 @@
|
|||
## Copyright (C) 2020 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## This file was generated using 'genmkfile debinstfile'.
|
||||
|
||||
bin/*
|
||||
etc/*
|
||||
lib/*
|
||||
usr/*
|
||||
var/*
|
||||
39
debian/security-misc.maintscript
vendored
39
debian/security-misc.maintscript
vendored
|
|
@ -1,39 +0,0 @@
|
|||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
rm_conffile /etc/sudoers.d/umask-security-misc
|
||||
|
||||
## https://forums.whonix.org/t/allow-loading-signed-kernel-modules-by-default-disallow-kernel-module-loading-by-default/7880/23
|
||||
rm_conffile /etc/default/grub.d/40_only_allow_signed_modules.cfg
|
||||
|
||||
## https://forums.whonix.org/t/sysrq-magic-sysrq-key/8079
|
||||
rm_conffile /etc/sysctl.d/sysrq.conf
|
||||
|
||||
## https://github.com/Whonix/security-misc/pull/45
|
||||
rm_conffile /etc/apparmor.d/usr.lib.security-misc.pam_tally2-info
|
||||
rm_conffile /etc/apparmor.d/usr.lib.security-misc.permission-lockdown
|
||||
|
||||
## merged into 1 file /etc/sysctl.d/30_security-misc.conf
|
||||
rm_conffile /etc/sysctl.d/fs_protected.conf
|
||||
rm_conffile /etc/sysctl.d/kptr_restrict.conf
|
||||
rm_conffile /etc/sysctl.d/suid_dumpable.conf
|
||||
rm_conffile /etc/sysctl.d/harden_bpf.conf
|
||||
rm_conffile /etc/sysctl.d/ptrace_scope.conf
|
||||
rm_conffile /etc/sysctl.d/tcp_timestamps.conf
|
||||
rm_conffile /etc/sysctl.d/mmap_aslr.conf
|
||||
rm_conffile /etc/sysctl.d/dmesg_restrict.conf
|
||||
rm_conffile /etc/sysctl.d/coredumps.conf
|
||||
rm_conffile /etc/sysctl.d/kexec.conf
|
||||
rm_conffile /etc/sysctl.d/tcp_hardening.conf
|
||||
rm_conffile /etc/sysctl.d/tcp_sack.conf
|
||||
|
||||
## merged into 1 file /etc/modprobe.d/30_security-misc.conf
|
||||
rm_conffile /etc/modprobe.d/uncommon-network-protocols.conf
|
||||
rm_conffile /etc/modprobe.d/blacklist-bluetooth.conf
|
||||
rm_conffile /etc/modprobe.d/vivid.conf
|
||||
rm_conffile /etc/modprobe.d/blacklist-dma.conf
|
||||
rm_conffile /etc/modprobe.d/msr.conf
|
||||
rm_conffile /etc/modprobe.d/30_nf_conntrack_helper_disable.conf
|
||||
|
||||
## renamed to /etc/security/limits.d/30_security-misc.conf
|
||||
rm_conffile /etc/security/limits.d/disable-coredumps.conf
|
||||
73
debian/security-misc.postinst
vendored
73
debian/security-misc.postinst
vendored
|
|
@ -1,73 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then
|
||||
source /usr/libexec/helper-scripts/pre.bsh
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
true "
|
||||
#####################################################################
|
||||
## INFO: BEGIN: $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $@
|
||||
#####################################################################
|
||||
"
|
||||
|
||||
case "$1" in
|
||||
configure)
|
||||
if [ -d /etc/skel/.gnupg ]; then
|
||||
## Lintian warns against use of chmod --recursive.
|
||||
chmod 700 /etc/skel/.gnupg
|
||||
fi
|
||||
|
||||
## /usr/share/glib-2.0/schemas/30_security-misc.gschema.override
|
||||
glib-compile-schemas /usr/share/glib-2.0/schemas || true
|
||||
;;
|
||||
|
||||
abort-upgrade|abort-remove|abort-deconfigure)
|
||||
;;
|
||||
|
||||
triggered)
|
||||
echo "INFO: triggered $DPKG_MAINTSCRIPT_PACKAGE: '$DPKG_MAINTSCRIPT_PACKAGE' $DPKG_MAINTSCRIPT_PACKAGE DPKG_MAINTSCRIPT_NAME: '$DPKG_MAINTSCRIPT_NAME' $\@: '$@' 2: '$2'"
|
||||
/usr/share/security-misc/lkrg/lkrg-virtualbox || true
|
||||
exit 0
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "$DPKG_MAINTSCRIPT_NAME called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
pam-auth-update --package
|
||||
|
||||
/usr/libexec/security-misc/permission-lockdown
|
||||
|
||||
## https://phabricator.whonix.org/T377
|
||||
## Debian has no update-grub trigger yet:
|
||||
## https://bugs.debian.org/481542
|
||||
if command -v update-grub >/dev/null 2>&1; then
|
||||
update-grub || \
|
||||
echo "$DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME ERROR: Running \
|
||||
'update-grub' failed with exit code $?. $DPKG_MAINTSCRIPT_PACKAGE is most \
|
||||
likely only the trigger, not the cause. Unless you know this is not an issue, \
|
||||
you should fix running 'update-grub', otherwise your system might no longer \
|
||||
boot." >&2
|
||||
fi
|
||||
|
||||
true "INFO: debhelper beginning here."
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
true "INFO: Done with debhelper."
|
||||
|
||||
true "
|
||||
#####################################################################
|
||||
## INFO: END : $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $@
|
||||
#####################################################################
|
||||
"
|
||||
|
||||
## Explicitly "exit 0", so eventually trapped errors can be ignored.
|
||||
exit 0
|
||||
18
debian/security-misc.triggers
vendored
18
debian/security-misc.triggers
vendored
|
|
@ -1,18 +0,0 @@
|
|||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
#### meta start
|
||||
#### project Whonix
|
||||
#### category security
|
||||
#### description
|
||||
|
||||
## Trigger 'activate-noawait update-initramfs' also works with both,
|
||||
## initramfs-tools as well as dracut.
|
||||
## - Activate initramfs hook that sets the sysctl values before init is executed.
|
||||
## - dracut module 40sdmem-security-misc
|
||||
activate-noawait update-initramfs
|
||||
|
||||
## LKRG /usr/share/security-misc/lkrg/lkrg-virtualbox
|
||||
interest-noawait /usr/bin/vboxmanage
|
||||
|
||||
#### meta end
|
||||
5
debian/security-misc.undisplace
vendored
5
debian/security-misc.undisplace
vendored
|
|
@ -1,5 +0,0 @@
|
|||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
/etc/login.defs.security-misc
|
||||
/usr/bin/pkexec.security-misc
|
||||
2
debian/source/lintian-overrides
vendored
2
debian/source/lintian-overrides
vendored
|
|
@ -1,2 +1,2 @@
|
|||
## https://phabricator.whonix.org/T277
|
||||
debian-watch-does-not-check-gpg-signature
|
||||
debian-watch-does-not-check-openpgp-signature
|
||||
|
|
|
|||
4
debian/watch
vendored
4
debian/watch
vendored
|
|
@ -1,6 +1,6 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
version=4
|
||||
opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/security-misc-$1\.tar\.gz/ \
|
||||
https://github.com/Whonix/security-misc/tags .*/v?(\d\S+)\.tar\.gz
|
||||
https://github.com/Kicksecure/security-misc/tags .*/v?(\d\S+)\.tar\.gz
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
if [ -x /usr/libexec/security-misc/panic-on-oops ]; then
|
||||
sudo --non-interactive /usr/libexec/security-misc/panic-on-oops
|
||||
fi
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
if [ -z "$XDG_CONFIG_DIRS" ]; then
|
||||
XDG_CONFIG_DIRS=/etc/xdg
|
||||
fi
|
||||
export XDG_CONFIG_DIRS=/usr/share/security-misc/:$XDG_CONFIG_DIRS
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
alias /etc/pam.d/common-session -> /etc/pam.d//etc/pam.d/common-session.security-misc,
|
||||
alias /etc/pam.d/common-session -> /etc/pam.d/common-session.security-misc,
|
||||
alias /etc/pam.d/common-session-noninteractive -> /etc/pam.d/common-session-noninteractive.security-misc,
|
||||
alias /etc/login.defs -> /etc/login.defs.security-misc,
|
||||
alias /etc/securetty -> /etc/securetty.security-misc,
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
## Copyright (C) 2021 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## Copyright (C) 2021 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Make "sudo apt-get update" exit non-zero for transient failures.
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## https://forums.whonix.org/t/apt-seccomp-bpf-sandboxing/7702
|
||||
28
etc/bluetooth/30_security-misc.conf#security-misc-desktop
Normal file
28
etc/bluetooth/30_security-misc.conf#security-misc-desktop
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
## Copyright (C) 2023 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
[General]
|
||||
# How long to stay in pairable mode before going back to non-discoverable
|
||||
# The value is in seconds. Default is 0.
|
||||
# 0 = disable timer, i.e. stay pairable forever
|
||||
PairableTimeout = 30
|
||||
|
||||
# How long to stay in discoverable mode before going back to non-discoverable
|
||||
# The value is in seconds. Default is 180, i.e. 3 minutes.
|
||||
# 0 = disable timer, i.e. stay discoverable forever
|
||||
DiscoverableTimeout = 30
|
||||
|
||||
# Maximum number of controllers allowed to be exposed to the system.
|
||||
# Default=0 (unlimited)
|
||||
MaxControllers=1
|
||||
|
||||
[Policy]
|
||||
# AutoEnable defines option to enable all controllers when they are found.
|
||||
# This includes adapters present on start as well as adapters that are plugged
|
||||
# in later on. Defaults to 'true'.
|
||||
AutoEnable=false
|
||||
|
||||
# network/on: A device will only accept advertising packets from peer
|
||||
# devices that contain private addresses. It may not be compatible with some
|
||||
# legacy devices since it requires the use of RPA(s) all the time.
|
||||
Privacy=network/on
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
## Copyright (C) 2022 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Wiping RAM at shutdown to defeat cold boot attacks.
|
||||
##
|
||||
## RAM wipe is enabled by default on host operating systems, real hardware.
|
||||
## RAM wipe is disabled by in virtual machines (VMs).
|
||||
##
|
||||
## Most users should not make any modifications to this config file because
|
||||
## there is no need for that.
|
||||
##
|
||||
## User documentation:
|
||||
## https://www.kicksecure.com/wiki/Cold_Boot_Attack_Defense
|
||||
##
|
||||
## Design documentation:
|
||||
## https://www.kicksecure.com/wiki/Dev/RAM_Wipe
|
||||
|
||||
## RAM wipe is omitted in virtual machines (VMs) by default because it is
|
||||
## unclear if that could actually lead to the host operating system using
|
||||
## swap. Through use of kernel parameter wiperam=force it is possible to
|
||||
## force RAM wipe inside VMs which is useful for testing, development purposes.
|
||||
## There is no additional security benefit by the wiperam=force setting
|
||||
## for host operating systems.
|
||||
#GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT wiperam=force"
|
||||
|
||||
## Kernel parameter wiperam=skip is provided to support disabling RAM wipe
|
||||
## at shutdown, which might be useful to speed up shutdown or in case should
|
||||
## there ever be issues.
|
||||
#GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT wiperam=skip"
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Enables all known mitigations for CPU vulnerabilities.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/index.html
|
||||
## https://forums.whonix.org/t/should-all-kernel-patches-for-cpu-bugs-be-unconditionally-enabled-vs-performance-vs-applicability/7647
|
||||
|
||||
## Enable mitigations for Spectre variant 2 (indirect branch speculation).
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/spectre.html
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX spectre_v2=on"
|
||||
|
||||
## Disable Speculative Store Bypass.
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX spec_store_bypass_disable=on"
|
||||
|
||||
## Enable mitigations for the L1TF vulnerability through disabling SMT
|
||||
## and L1D flush runtime control.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX l1tf=full,force"
|
||||
|
||||
## Enable mitigations for the MDS vulnerability through clearing buffer cache
|
||||
## and disabling SMT.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mds=full,nosmt"
|
||||
|
||||
## Patches the TAA vulnerability by disabling TSX and enables mitigations using
|
||||
## TSX Async Abort along with disabling SMT.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/tsx_async_abort.html
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX tsx=off tsx_async_abort=full,nosmt"
|
||||
|
||||
## Mark all huge pages in the EPT as non-executable to mitigate iTLB multihit.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/multihit.html
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kvm.nx_huge_pages=force"
|
||||
|
||||
## Enables mitigations for SRBDS to prevent MDS attacks on RDRAND and RDSEED instructions.
|
||||
## Only mitigated through microcode updates from Intel.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/special-register-buffer-data-sampling.html
|
||||
## https://access.redhat.com/solutions/5142691
|
||||
|
||||
## Force disable SMT as it has caused numerous CPU vulnerabilities.
|
||||
## The only full mitigation of cross-HT attacks is to disable SMT.
|
||||
##
|
||||
## 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
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX nosmt=force"
|
||||
|
||||
## Enables the prctl interface to prevent leaks from L1D on context switches.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1d_flush.html
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX l1d_flush=on"
|
||||
|
||||
## Mitigates numerous MMIO Stale Data vulnerabilities and disables SMT.
|
||||
##
|
||||
## 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"
|
||||
231
etc/default/grub.d/40_cpu_mitigations.cfg#security-misc-shared
Normal file
231
etc/default/grub.d/40_cpu_mitigations.cfg#security-misc-shared
Normal file
|
|
@ -0,0 +1,231 @@
|
|||
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Definitions:
|
||||
## KSPP=yes: compliant with recommendations by the KSPP
|
||||
## KSPP=partial: partially compliant with recommendations by the KSPP
|
||||
## KSPP=no: not (currently) compliant with recommendations by the KSPP
|
||||
## If there is no explicit KSPP compliance notice, the setting is not mentioned by the KSPP.
|
||||
|
||||
## Enable known mitigations for CPU vulnerabilities.
|
||||
## Note, the mitigations for SSB and Retbleed are not currently mentioned in the first link.
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/index.html
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
|
||||
## https://forums.whonix.org/t/should-all-kernel-patches-for-cpu-bugs-be-unconditionally-enabled-vs-performance-vs-applicability/7647
|
||||
|
||||
## Check for potential updates directly from AMD and Intel.
|
||||
## https://www.amd.com/en/resources/product-security.html
|
||||
## https://www.intel.com/content/www/us/en/developer/topic-technology/software-security-guidance/advisory-guidance.html
|
||||
## https://www.intel.com/content/www/us/en/developer/topic-technology/software-security-guidance/disclosure-documentation.html
|
||||
|
||||
## Tabular comparison between the utility and functionality of various mitigations.
|
||||
## https://forums.whonix.org/t/kernel-hardening-security-misc/7296/587
|
||||
|
||||
## For complete protection, users must install the latest relevant security microcode update.
|
||||
## BIOS/UEFI updates should only be obtained directly from OEMs and/or motherboard manufacturers.
|
||||
## Note that incorrectly performing system BIOS/UEFI updates can potentially lead to serious functionality issues.
|
||||
## The parameters below only provide (partial) protection at both the kernel and user space level.
|
||||
|
||||
## If using Secure Boot, users must also ensure the Secure Boot Forbidden Signature Database (DBX) is up to date.
|
||||
## The UEFI Revocation List contains signatures of now revoked firmware and software used in booting systems.
|
||||
## If using compatible hardware, the database can be updated directly in user space using fwupd.
|
||||
## Note that incorrectly performing DBX updates can potentially lead to serious functionality issues.
|
||||
## https://github.com/microsoft/secureboot_objects
|
||||
## https://uefi.org/revocationlistfile
|
||||
## https://github.com/fwupd/fwupd
|
||||
|
||||
## Enable a subset of known default mitigations for some CPU vulnerabilities and disable SMT.
|
||||
## Note that this redundant parameter simply applies each mitigation at the already applied default settings.
|
||||
## The default values are not always the strictest and so we reapply each below to their highest setting.
|
||||
## We retain it here for completeness as many other distributions heavily rely on this for many CPU mitigations.
|
||||
##
|
||||
## https://github.com/Kicksecure/security-misc/issues/199#issuecomment-3327391859
|
||||
## https://github.com/secureblue/secureblue/issues/1405
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/attack_vector_controls.html
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets the kernel parameters.
|
||||
##
|
||||
## WARNING: Do not rely on this parameter, it is presented here only for educational purposes.
|
||||
## WARNING: Parameters are applied consecutively and so do not ever move this setting down.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mitigations=auto,nosmt"
|
||||
|
||||
## Disable SMT as it has been the cause of and amplified numerous CPU exploits.
|
||||
## The only full mitigation of cross-HT attacks is to disable SMT.
|
||||
## Disabling will significantly decrease system performance on multi-threaded tasks.
|
||||
## Note, this setting will prevent re-enabling SMT via the sysfs interface.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/core-scheduling.html
|
||||
## https://forums.whonix.org/t/should-all-kernel-patches-for-cpu-bugs-be-unconditionally-enabled-vs-performance-vs-applicability/7647/17
|
||||
## https://github.com/anthraxx/linux-hardened/issues/37#issuecomment-619597365
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets the kernel parameter.
|
||||
##
|
||||
## To re-enable SMT:
|
||||
## - Remove "nosmt=force".
|
||||
## - Remove all occurrences of ",nosmt" in this file (note the comma ",").
|
||||
## - Downgrade "l1tf=full,force" protection to "l1tf=flush".
|
||||
## - Regenerate the dracut initramfs and then reboot system.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX nosmt=force"
|
||||
|
||||
## Spectre Side Channels (BTI and BHI):
|
||||
## Unconditionally enable mitigation for Spectre Variant 2 (branch target injection).
|
||||
## Enable mitigation for the Intel branch history injection vulnerability.
|
||||
## Currently affects both AMD and Intel CPUs.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/spectre.html
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX spectre_v2=on"
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX spectre_bhi=on"
|
||||
|
||||
## Meltdown:
|
||||
## Mitigate Spectre Variant 3 using kernel page table isolation (PTI).
|
||||
## Force enable PTI of user and kernel address spaces on all cores.
|
||||
## Mitigations for X86_64 CPUs are done in /etc/default/grub.d/40_kernel_hardening.cfg using "pti=on".
|
||||
## Currently affects ARM64 CPUs.
|
||||
##
|
||||
## https://en.wikipedia.org/wiki/Meltdown_(security_vulnerability)
|
||||
## https://en.wikipedia.org/wiki/Kernel_page-table_isolation
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets CONFIG_UNMAP_KERNEL_AT_EL0=y.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kpti=1"
|
||||
|
||||
## Speculative Store Bypass (SSB):
|
||||
## Mitigate Spectre Variant 4 by disabling speculative store bypass system-wide.
|
||||
## Unconditionally enable the mitigation for both kernel and userspace.
|
||||
## Currently affects AMD, ARM64, and Intel CPUs.
|
||||
##
|
||||
## https://en.wikipedia.org/wiki/Speculative_Store_Bypass
|
||||
## https://www.suse.com/support/kb/doc/?id=000019189
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX spec_store_bypass_disable=on"
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX ssbd=force-on"
|
||||
|
||||
## L1 Terminal Fault (L1TF):
|
||||
## Mitigate the vulnerability by disabling L1D flush runtime control and SMT.
|
||||
## If L1D flushing is conditional, mitigate the vulnerability for certain KVM hypervisor configurations.
|
||||
## Currently affects Intel CPUs.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX l1tf=full,force"
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kvm-intel.vmentry_l1d_flush=always"
|
||||
|
||||
## Microarchitectural Data Sampling (MDS):
|
||||
## Mitigate the vulnerability by clearing the CPU buffer cache and disabling SMT.
|
||||
## Currently affects Intel CPUs.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mds=full,nosmt"
|
||||
|
||||
## TSX Asynchronous Abort (TAA):
|
||||
## Mitigate the vulnerability by disabling TSX.
|
||||
## If TSX is enabled, clear CPU buffer rings on transitions and disable SMT.
|
||||
## Currently affects Intel CPUs.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/tsx_async_abort.html
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX tsx=off"
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX tsx_async_abort=full,nosmt"
|
||||
|
||||
## iTLB Multihit:
|
||||
## Mitigate the vulnerability by marking all huge pages in the EPT as non-executable.
|
||||
## Currently affects Intel CPUs.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/multihit.html
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kvm.nx_huge_pages=force"
|
||||
|
||||
## Special Register Buffer Data Sampling (SRBDS):
|
||||
## Mitigation of the vulnerability is only possible via microcode update from Intel.
|
||||
## Currently affects Intel CPUs.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/special-register-buffer-data-sampling.html
|
||||
## https://access.redhat.com/solutions/5142691
|
||||
|
||||
## L1D Flushing:
|
||||
## Mitigate leaks from the L1D cache on context switches by enabling the prctl() interface.
|
||||
## Currently affects Intel CPUs.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1d_flush.html
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX l1d_flush=on"
|
||||
|
||||
## Processor MMIO Stale Data:
|
||||
## Mitigate the vulnerabilities by appropriately clearing the CPU buffer and disabling SMT.
|
||||
## Currently affects Intel CPUs.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/processor_mmio_stale_data.html
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mmio_stale_data=full,nosmt"
|
||||
|
||||
## Arbitrary Speculative Code Execution with Return Instructions (Retbleed):
|
||||
## Mitigate the vulnerability through CPU-dependent implementation and disable SMT.
|
||||
## Currently affects both AMD Zen 1-2 and Intel CPUs.
|
||||
##
|
||||
## https://en.wikipedia.org/wiki/Retbleed
|
||||
## https://comsec.ethz.ch/research/microarch/retbleed/
|
||||
## https://www.suse.com/support/kb/doc/?id=000020693
|
||||
## https://access.redhat.com/solutions/retbleed
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX retbleed=auto,nosmt"
|
||||
|
||||
## Cross-Thread Return Address Predictions:
|
||||
## Mitigate the vulnerability for certain KVM hypervisor configurations.
|
||||
## Currently affects AMD Zen 1-2 CPUs.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/cross-thread-rsb.html
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kvm.mitigate_smt_rsb=1"
|
||||
|
||||
## Speculative Return Stack Overflow (SRSO):
|
||||
## Mitigate the vulnerability by ensuring all RET instructions speculate to a controlled location.
|
||||
## Currently affects AMD Zen 1-4 CPUs.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/srso.html
|
||||
##
|
||||
## The default kernel setting will be utilized until provided sufficient evidence to modify.
|
||||
## Using "spec_rstack_overflow=ibpb" may provide superior protection to the default software-based approach.
|
||||
## The use of hardware barriers may be more effective while possibly incurring a greater performance loss.
|
||||
##
|
||||
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX spec_rstack_overflow=safe-ret"
|
||||
|
||||
## Gather Data Sampling (GDS):
|
||||
## Mitigate the vulnerability either via microcode update or by disabling AVX.
|
||||
## Note, without a suitable microcode update, this will entirely disable use of the AVX instructions set.
|
||||
## Currently affects Intel CPUs.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/gather_data_sampling.html
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX gather_data_sampling=force"
|
||||
|
||||
## Register File Data Sampling (RFDS):
|
||||
## Mitigate the vulnerability by appropriately clearing the CPU buffer.
|
||||
## Currently affects Intel Atom CPUs (which encompasses E-cores on hybrid architectures).
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/reg-file-data-sampling.html
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX reg_file_data_sampling=on"
|
||||
|
||||
## Indirect Target Selection (ITS):
|
||||
## Mitigate the vulnerability by not allowing indirect branches in the lower half of the cacheline.
|
||||
## Currently affects Intel CPUs.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/indirect-target-selection.html
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX indirect_target_selection=force"
|
||||
|
||||
## VMScape:
|
||||
## Mitigate the vulnerability by flushing branch predictors before returning to userspace when exiting guests.
|
||||
## Comprehensive protection may also require disabling SMT to limit cross-thread attacks.
|
||||
## Currently affects both AMD and Intel CPUs.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/vmscape.html
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX vmscape=force"
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Distrusts the bootloader for initial entropy at boot.
|
||||
##
|
||||
## https://lkml.org/lkml/2022/6/5/271
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX random.trust_bootloader=off"
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Distrusts the CPU for initial entropy at boot as it is not possible to
|
||||
## audit, may contain weaknesses or a backdoor.
|
||||
##
|
||||
## https://en.wikipedia.org/wiki/RDRAND#Reception
|
||||
## https://twitter.com/pid_eins/status/1149649806056280069
|
||||
## https://archive.nytimes.com/www.nytimes.com/interactive/2013/09/05/us/documents-reveal-nsa-campaign-against-encryption.html
|
||||
## https://forums.whonix.org/t/entropy-config-random-trust-cpu-yes-or-no-rng-core-default-quality/8566
|
||||
## https://lkml.org/lkml/2022/6/5/271
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX random.trust_cpu=off"
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Enables IOMMU to prevent DMA attacks.
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX intel_iommu=on amd_iommu=on"
|
||||
|
||||
## Disable the busmaster bit on all PCI bridges during very
|
||||
## early boot to avoid holes in IOMMU.
|
||||
##
|
||||
## https://mjg59.dreamwidth.org/54433.html
|
||||
## https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4444f8541dad16fefd9b8807ad1451e806ef1d94
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX efi=disable_early_pci_dma"
|
||||
|
||||
## Enables strict enforcement of IOMMU TLB invalidation so devices will never be able to access stale data contents
|
||||
## https://github.com/torvalds/linux/blob/master/drivers/iommu/Kconfig#L97
|
||||
## Page 11 of https://lenovopress.lenovo.com/lp1467.pdf
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX iommu.passthrough=0 iommu.strict=1"
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
kpkg="linux-image-$(dpkg --print-architecture)" || true
|
||||
kver="$(dpkg-query --show --showformat='${Version}' "$kpkg")" 2>/dev/null || true
|
||||
#echo "## kver: $kver"
|
||||
|
||||
## Disables the merging of slabs of similar sizes.
|
||||
## Sometimes a slab can be used in a vulnerable way which an attacker can exploit.
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX slab_nomerge"
|
||||
|
||||
## Enables sanity checks (F) and redzoning (Z).
|
||||
## Disabled due to kernel deciding to implicitly disable kernel pointer hashing
|
||||
## https://github.com/torvalds/linux/commit/792702911f581f7793962fbeb99d5c3a1b28f4c3
|
||||
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX slub_debug=FZ"
|
||||
|
||||
## Zero memory at allocation and free time.
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX init_on_alloc=1 init_on_free=1"
|
||||
|
||||
## Machine check exception handler decides whether the system should panic or not based on the exception that happened.
|
||||
## https://forums.whonix.org/t/kernel-hardening/7296/494
|
||||
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mce=0"
|
||||
|
||||
## Enables Kernel Page Table Isolation which mitigates Meltdown and improves KASLR.
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX pti=on"
|
||||
|
||||
## Vsyscalls are obsolete, are at fixed addresses and are a target for ROP.
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX vsyscall=none"
|
||||
|
||||
## Enables page allocator freelist randomization.
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX page_alloc.shuffle=1"
|
||||
|
||||
## Enables randomisation of the kernel stack offset on syscall entries (introduced in kernel 5.13).
|
||||
## https://lkml.org/lkml/2019/3/18/246
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX randomize_kstack_offset=on"
|
||||
|
||||
## Enables kernel lockdown.
|
||||
##
|
||||
## Disabled for now as it enforces module signature verification which breaks
|
||||
## too many things.
|
||||
## https://forums.whonix.org/t/enforce-kernel-module-software-signature-verification-module-signing-disallow-kernel-module-loading-by-default/7880
|
||||
##
|
||||
#if dpkg --compare-versions "${kver}" ge "5.4"; then
|
||||
# GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX lockdown=confidentiality"
|
||||
#fi
|
||||
|
||||
## Gather more entropy during boot.
|
||||
##
|
||||
## Requires linux-hardened kernel patch.
|
||||
## https://github.com/anthraxx/linux-hardened
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX extra_latent_entropy"
|
||||
|
||||
## Restrict access to debugfs since it can contain a lot of sensitive information.
|
||||
## https://lkml.org/lkml/2020/7/16/122
|
||||
## https://github.com/torvalds/linux/blob/fb1201aececc59990b75ef59fca93ae4aa1e1444/Documentation/admin-guide/kernel-parameters.txt#L835-L848
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX debugfs=off"
|
||||
|
||||
## Force the kernel to panic on "oopses" (which may be due to false positives)
|
||||
## https://forums.whonix.org/t/set-oops-panic-kernel-parameter-or-kernel-panic-on-oops-1-sysctl-for-better-security/7713
|
||||
## Implemented differently:
|
||||
## /usr/libexec/security-misc/panic-on-oops
|
||||
## /etc/X11/Xsession.d/50panic_on_oops
|
||||
## /etc/sudoers.d/security-misc
|
||||
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX oops=panic"
|
||||
440
etc/default/grub.d/40_kernel_hardening.cfg#security-misc-shared
Normal file
440
etc/default/grub.d/40_kernel_hardening.cfg#security-misc-shared
Normal file
|
|
@ -0,0 +1,440 @@
|
|||
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
kpkg="linux-image-$(dpkg --print-architecture)" || true
|
||||
kver="$(dpkg-query --show --showformat='${Version}' "$kpkg")" 2>/dev/null || true
|
||||
#echo "## kver: $kver"
|
||||
|
||||
## Definitions:
|
||||
## KSPP=yes: compliant with recommendations by the KSPP
|
||||
## KSPP=partial: partially compliant with recommendations by the KSPP
|
||||
## KSPP=no: not (currently) compliant with recommendations by the KSPP
|
||||
## If there is no explicit KSPP compliance notice, the setting is not mentioned by the KSPP.
|
||||
|
||||
## This configuration file is split into 4 sections:
|
||||
## 1. Kernel Space
|
||||
## 2. Direct Memory Access
|
||||
## 3. Entropy
|
||||
## 4. Networking
|
||||
|
||||
## See the documentation below for details on the majority of the selected commands:
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
|
||||
## https://wiki.archlinux.org/title/Kernel_parameters#GRUB
|
||||
|
||||
## 1. Kernel Space:
|
||||
##
|
||||
## https://madaidans-insecurities.github.io/guides/linux-hardening.html#boot-parameters
|
||||
## https://kspp.github.io/Recommended_Settings#kernel-command-line-options
|
||||
|
||||
## Disable merging of slabs with similar size.
|
||||
## Reduces the risk of triggering heap overflows.
|
||||
## Prevents overwriting objects from merged caches and limits influencing slab cache layout.
|
||||
##
|
||||
## https://www.openwall.com/lists/kernel-hardening/2017/06/19/33
|
||||
## https://www.openwall.com/lists/kernel-hardening/2017/06/20/10
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets the kernel parameter and does not set CONFIG_SLAB_MERGE_DEFAULT.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX slab_nomerge"
|
||||
|
||||
## Enable sanity checks and red zoning of slabs via debugging options to detect memory corruption.
|
||||
## Sanity checks force additional verification steps on every memory allocation and free operation.
|
||||
## Red zoning adds extra metadata to each object to detect writes beyond the object's boundaries.
|
||||
## As a by product of debugging, this will implicitly disabling kernel pointer hashing unless manually re-enabled.
|
||||
## Enabling this (for now) will therefore leak exact and all kernel memory addresses to root.
|
||||
## Introduces a noticeable performance overhead during all memory allocation and deallocation operations.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/mm/slub.html
|
||||
## https://www.kernel.org/doc/Documentation/vm/slub.txt
|
||||
## https://lore.kernel.org/all/20210601182202.3011020-5-swboyd@chromium.org/T/#u
|
||||
## https://blogs.oracle.com/linux/post/linux-slub-allocator-internals-and-debugging-2
|
||||
## https://gitlab.tails.boum.org/tails/tails/-/issues/19613
|
||||
## https://github.com/Kicksecure/security-misc/issues/253
|
||||
##
|
||||
## KSPP=partial
|
||||
## KSPP sets the kernel parameters and CONFIG_SLUB_DEBUG.
|
||||
##
|
||||
## TODO: Debian forky / 14
|
||||
## The first parameter is applicable when using Linux kernel >= 6.17 (retained here for future-proofing and completeness).
|
||||
##
|
||||
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX hash_pointers=always"
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX slab_debug=FZ"
|
||||
|
||||
## Zero memory at allocation time and free time.
|
||||
## Fills newly allocated pages, freed pages, and heap objects with zeros.
|
||||
## Mitigates use-after-free exploits by erasing sensitive information in memory.
|
||||
##
|
||||
## https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6471384af2a6530696fc0203bafe4de41a23c9ef
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets the kernel parameters, CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y, and CONFIG_INIT_ON_FREE_DEFAULT_ON=y.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX init_on_alloc=1"
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX init_on_free=1"
|
||||
|
||||
## Enable the kernel page allocator to randomize free lists.
|
||||
## During early boot, the page allocator has predictable FIFO behavior for physical pages.
|
||||
## Limits some data exfiltration and ROP attacks that rely on inferring sensitive data location.
|
||||
## Also improves performance by optimizing memory-side cache utilization.
|
||||
##
|
||||
## https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e900a918b0984ec8f2eb150b8477a47b75d17692
|
||||
## https://en.wikipedia.org/wiki/Return-oriented_programming#Attacks
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets the kernel parameter and CONFIG_SHUFFLE_PAGE_ALLOCATOR=y.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX page_alloc.shuffle=1"
|
||||
|
||||
## Enable kernel page table isolation to harden against kernel ASLR (KASLR) bypasses.
|
||||
## Mitigates the Meltdown (Spectre Variant 3) CPU vulnerability.
|
||||
## Mitigations for ARM64 CPUs are done in /etc/default/grub.d/40_cpu_mitigations.cfg using "kpti=1".
|
||||
##
|
||||
## https://en.wikipedia.org/wiki/Meltdown_(security_vulnerability)
|
||||
## https://en.wikipedia.org/wiki/Kernel_page-table_isolation
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets the kernel parameter and CONFIG_MITIGATION_PAGE_TABLE_ISOLATION=y.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX pti=on"
|
||||
|
||||
## Enable randomization of the kernel stack offset on syscall entries.
|
||||
## Hardens against memory corruption attacks due to increased entropy.
|
||||
## Limits attacks relying on deterministic stack addresses or cross-syscall address exposure.
|
||||
##
|
||||
## https://lkml.org/lkml/2019/3/18/246
|
||||
## https://a13xp0p0v.github.io/2020/02/15/CVE-2019-18683.html
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets the kernel parameter and CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX randomize_kstack_offset=on"
|
||||
|
||||
## Disable vsyscalls to reduce attack surface as they have been replaced by vDSO.
|
||||
## Vulnerable to ROP attacks as vsyscalls are located at fixed addresses in memory.
|
||||
##
|
||||
## https://lwn.net/Articles/446528/
|
||||
## https://en.wikipedia.org/wiki/VDSO
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets the kernel parameter, CONFIG_LEGACY_VSYSCALL_NONE=y and does not set CONFIG_X86_VSYSCALL_EMULATION.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX vsyscall=none"
|
||||
|
||||
## Restrict access to debugfs by not registering the file system.
|
||||
## Deactivated since the file system can contain sensitive information.
|
||||
##
|
||||
## https://lkml.org/lkml/2020/7/16/122
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX debugfs=off"
|
||||
|
||||
## Force the kernel to immediately panic on "oopses" and kernel warnings in the WARN() path.
|
||||
## Panics may be due to false-positives such as bad drivers.
|
||||
## Both allowed limits are set to one so that panics occur on the single first instance of either scenario.
|
||||
## Oopses are serious but non-fatal errors.
|
||||
## Certain "oopses" can sometimes indicate and thwart potential kernel exploitation attempts.
|
||||
## Warnings are messages generated by the kernel to indicate unexpected conditions or errors.
|
||||
## By default, code execution continues regardless of warnings emitted by macros like WARN() and WARN_ON().
|
||||
## Note that by forcing kernel panics on oopses and warnings, this exposes the system to targeted denial of service attacks.
|
||||
##
|
||||
## https://en.wikipedia.org/wiki/Kernel_panic#Linux
|
||||
## https://en.wikipedia.org/wiki/Linux_kernel_oops
|
||||
## https://lwn.net/Articles/876209/
|
||||
## https://git.sr.ht/~gregkh/presentation-security/tree/3fdaf81a2f8b2c8d64cdb2f529cc714624868aa8/item/security-stuff.pdf
|
||||
## https://forums.whonix.org/t/set-oops-panic-kernel-parameter-or-kernel-panic-on-oops-1-sysctl-for-better-security/7713
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets CONFIG_PANIC_ON_OOPS=y.
|
||||
##
|
||||
## See /usr/libexec/security-misc/panic-on-oops for implementation.
|
||||
##
|
||||
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX oops=panic"
|
||||
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX panic_on_warn=1"
|
||||
|
||||
## Force immediate system reboots on the occurrence of a single kernel panic.
|
||||
## Increases resilience and limits impact of denial of service attacks as system automatically restarts.
|
||||
## Ensures the system does not hang forever if a panic occurs, reducing susceptibility to both cold and warm boot attacks.
|
||||
## Immediate rebooting also prevents persistent information disclosure on panic details that were dumped to screen.
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets CONFIG_PANIC_TIMEOUT=-1.
|
||||
##
|
||||
## See /usr/libexec/security-misc/panic-on-oops for implementation.
|
||||
##
|
||||
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX panic=-1"
|
||||
|
||||
## Force the kernel to immediately panic if it becomes tainted.
|
||||
## Using kernel documentation, one can select a subset of taints to create a security policy.
|
||||
## Requires summing the numbers for each taint state and then converting it to a hexadecimal bitmask.
|
||||
## Some example combinations are shown below.
|
||||
## S - Panic on using out of specification hardware: 4 = 0x4.
|
||||
## B - On the above and bad page faults or some unexpected page flags: 36 = 0x24.
|
||||
## A - On the above and ACPI tables are overridden by users: 292 = 0x124.
|
||||
## I - On the above and severe firmware bugs: 2340 = 0x924.
|
||||
## N - On the above and in-kernel tests have been run: 264484 = 0x40924.
|
||||
## J - On the above and userspace has used a mutating debug operation in fwctl: 788772 = 0xC0924.
|
||||
## G/P, O - On the above and the loading of proprietary or out-of-tree modules: 792869 = 0xC1925.
|
||||
## All must first be tested to ensure there are no pre-existing issues on user hardware.
|
||||
## After confirming stability this reduces attack surface.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/admin-guide/tainted-kernels.html
|
||||
## https://support.scc.suse.com/s/kb/Tainted-kernel-1583239310621?language=en_US
|
||||
## https://lore.kernel.org/all/20200515175502.146720-1-aquini@redhat.com/T/
|
||||
## https://github.com/Kicksecure/security-misc/pull/339
|
||||
##
|
||||
## Note that this must be used with panic=-1 for it to function as intended.
|
||||
##
|
||||
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX panic_on_taint=0xC0924"
|
||||
|
||||
## Prevent sensitive kernel information leaks in the console during boot.
|
||||
## Must be used in combination with the kernel.printk sysctl.
|
||||
## See /usr/lib/sysctl.d/30_silent-kernel-printk.conf for implementation.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/core-api/printk-basics.html
|
||||
## https://wiki.archlinux.org/title/silent_boot
|
||||
##
|
||||
## See /etc/default/grub.d/41_quiet_boot.cfg for implementation.
|
||||
##
|
||||
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX loglevel=0"
|
||||
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX quiet"
|
||||
|
||||
## Enable the kernel "Electric-Fence" sampling-based memory safety error detector.
|
||||
## KFENCE detects heap out-of-bounds access, use-after-free, and invalid-free errors.
|
||||
## Aims to have very low processing overhead at each sampling interval.
|
||||
## Sampling interval is set to occur every 100 milliseconds as per KSPP recommendation.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/dev-tools/kfence.html
|
||||
## https://google.github.io/kernel-sanitizers/KFENCE.html
|
||||
## https://blogs.oracle.com/linux/post/linux-slub-allocator-internals-and-debugging-4
|
||||
## https://lwn.net/Articles/835542/
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets the kernel parameter, CONFIG_KFENCE=y, and CONFIG_KFENCE_SAMPLE_INTERVAL=100.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kfence.sample_interval=100"
|
||||
|
||||
## Disable 32-bit Virtual Dynamic Shared Object (vDSO) mappings.
|
||||
## Legacy compatibility feature for superseded glibc versions.
|
||||
##
|
||||
## https://lore.kernel.org/lkml/20080409082927.BD59E26F992@magilla.localdomain/T/
|
||||
## https://lists.openwall.net/linux-kernel/2014/03/11/3
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets the kernel parameter and does not set CONFIG_COMPAT_VDSO.
|
||||
##
|
||||
## See /usr/lib/sysctl.d/990-security-misc.conf for another additional implementation.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX vdso32=0"
|
||||
|
||||
## Switch (back) to using kCFI as the default Control Flow Integrity (CFI) implementation.
|
||||
## The default implementation is FineIBT as of Linux kernel 6.2.
|
||||
## The Intel-developed IBT (Indirect Branch Tracking) is only used if supported by the CPU.
|
||||
## kCFI is software-only while FineIBT is a hybrid software/hardware implementation.
|
||||
## FineIBT may result in some performance benefits as it only performs hash checks at the destinations.
|
||||
## kCFI mandates hash validation at the source (which is randomized), making it more difficult to bypass.
|
||||
## FineIBT is considered weaker against attacks that can write arbitrary executables into memory.
|
||||
##
|
||||
## https://lwn.net/Articles/891976/
|
||||
## https://lore.kernel.org/lkml/202210010918.4918F847C4@keescook/T/#u
|
||||
## https://lore.kernel.org/lkml/202210182217.486CBA50@keescook/T/
|
||||
## https://lore.kernel.org/all/20221027092842.699804264@infradead.org/
|
||||
## https://lore.kernel.org/lkml/202407150933.E1871BE@keescook/
|
||||
## https://isopenbsdsecu.re/mitigations/forward_edge_cfi/
|
||||
## https://docs.kernel.org/next/x86/shstk.html
|
||||
## https://source.android.com/docs/security/test/kcfi
|
||||
## https://lpc.events/event/16/contributions/1315/attachments/1067/2169/cfi.pdf
|
||||
## https://forums.whonix.org/t/kernel-hardening-security-misc/7296/561
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets the kernel parameter.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX cfi=kcfi"
|
||||
|
||||
## Disable support for all 32-bit x86 processes and syscalls.
|
||||
## Unconditionally disables IA32 emulation to substantially reduce attack surface.
|
||||
##
|
||||
## https://lore.kernel.org/all/20230623111409.3047467-7-nik.borisov@suse.com/
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP does not set CONFIG_COMPAT, CONFIG_IA32_EMULATION, CONFIG_X86_X32, CONFIG_X86_X32_ABI, and CONFIG_MODIFY_LDT_SYSCALL.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX ia32_emulation=0"
|
||||
|
||||
## Disable EFI persistent storage feature.
|
||||
## Disable Error Record Serialization Table (ERST) support as a form of defense-in-depth.
|
||||
## Prevents the kernel from writing crash logs and other persistent data to the storage backend.
|
||||
## Both the UEFI variable storage and ACPI ERST backends are deactivated.
|
||||
##
|
||||
## https://blogs.oracle.com/linux/post/pstore-linux-kernel-persistent-storage-file-system
|
||||
## https://www.ais.com/understanding-pstore-linux-kernel-persistent-storage-file-system/
|
||||
## https://lwn.net/Articles/434821/
|
||||
## https://manpages.debian.org/testing/systemd/systemd-pstore.service.8.en.html
|
||||
## https://gitlab.tails.boum.org/tails/tails/-/issues/20813
|
||||
## https://github.com/Kicksecure/security-misc/issues/299
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX efi_pstore.pstore_disable=1"
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX erst_disable"
|
||||
|
||||
## Enable AMD Secure Memory Encryption (SME) and Secure Encrypted Virtualization (SEV).
|
||||
## SME encrypts memory with a single key at the kernel level to protect against cold boot attacks.
|
||||
## SEV extends SME to VMs by encrypting the memory of each with a unique key for guest isolation.
|
||||
## SEV-ES (Encrypted State) extends SEV by encrypting each guests virtual CPU register state during VM exits.
|
||||
## SEV-SNP (Secure Nested Paging) extends SEV by activating hardware-level memory integrity.
|
||||
## This is hardware-based encryption managed by the proprietary and closed-source AMD Platform Security Processor (PSP).
|
||||
## Both require a compatible AMD CPU and support for SME to first be enabled in the BIOS/UEFI.
|
||||
## Likely unavailable in consumer-grade AMD CPUs where Transparent SME (TSME) can be enabled in the BIOS/UEFI to achieve SME.
|
||||
## Note the corresponding Intel Total Memory Encryption (TME) can also be enabled via the BIOS/UEFI.
|
||||
## May cause boot failure on certain hardware with incompatible DMA masks especially if IOMMU is disabled.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/next/x86/amd-memory-encryption.html
|
||||
## https://www.kernel.org/doc/html/latest/virt/kvm/x86/amd-memory-encryption.html
|
||||
## https://docs.amd.com/v/u/en-US/memory-encryption-white-paper
|
||||
## https://docs.amd.com/v/u/en-US/SEV-SNP-strengthening-vm-isolation-with-integrity-protection-and-more
|
||||
## https://github.com/AMDESE/AMDSEV
|
||||
## https://en.wikichip.org/wiki/x86/sme
|
||||
## https://lore.kernel.org/all/YWRgN63FOrQGO8jS@zn.tnic/
|
||||
## https://lore.kernel.org/lkml/YWvy9bSRaC+m1sV+@zn.tnic/T/#m01bcb37040b6b0d119d385d9a34b9c7ac4ce5f84
|
||||
## https://mricher.fr/post/amd-memory-encryption/
|
||||
## https://www.kicksecure.com/wiki/Dev/confidential_computing#AMD
|
||||
## https://github.com/secureblue/secureblue/pull/1631#issuecomment-3655501478
|
||||
## https://forums.whonix.org/t/enable-secure-memory-encryption-sme-kernel-parameter-mem-encrypt-by-default/10393
|
||||
##
|
||||
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mem_encrypt=on"
|
||||
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kvm_amd.sev=1"
|
||||
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kvm_amd.sev_es=1"
|
||||
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kvm_amd.sev_snp=1"
|
||||
|
||||
## Prevent processes from writing to block devices that are mounted by filesystems.
|
||||
## Enhances system stability and security by protecting against runaway privileged processes.
|
||||
## Allowing processes to write to the buffer cache can cause filesystem corruption and kernel crashes.
|
||||
## Does not prevent data modifications using direct SCSI commands or lower-level storage stack access.
|
||||
## May lead to breakages in certain limited scenarios.
|
||||
##
|
||||
## https://github.com/torvalds/linux/commit/ed5cc702d311c14b653323d76062b0294effa66e
|
||||
## https://lore.kernel.org/lkml/20240105-vfs-super-4092d802972c@brauner/
|
||||
## https://github.com/a13xp0p0v/kernel-hardening-checker/issues/186
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX bdev_allow_write_mounted=0"
|
||||
|
||||
## Restrict processes from modifying their own memory mappings.
|
||||
## Prevents the use of /proc/PID/mem to write to protected pages via the kernel's
|
||||
## mem_rw() FOLL_FORCE flag. This makes it harder to trick applications into
|
||||
## overwriting their own memory.
|
||||
##
|
||||
## https://lore.kernel.org/lkml/20240712-vfs-procfs-ce7e6c7cf26b@brauner/
|
||||
## https://lwn.net/Articles/983169/
|
||||
## https://github.com/a13xp0p0v/kernel-hardening-checker/pull/201
|
||||
## https://github.com/Kicksecure/security-misc/issues/330
|
||||
##
|
||||
## Using "proc_mem.force_override=never" provides superior protection by never allowing overrides.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX proc_mem.force_override=ptrace"
|
||||
|
||||
## 2. Direct Memory Access:
|
||||
##
|
||||
## https://madaidans-insecurities.github.io/guides/linux-hardening.html#dma-attacks
|
||||
|
||||
## Enable CPU manufacturer-specific IOMMU drivers to mitigate some DMA attacks.
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets CONFIG_INTEL_IOMMU=y, CONFIG_INTEL_IOMMU_DEFAULT_ON=y, CONFIG_INTEL_IOMMU_SVM=y, CONFIG_AMD_IOMMU=y, and CONFIG_AMD_IOMMU_V2=y.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX amd_iommu=force_isolation"
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX intel_iommu=on"
|
||||
|
||||
## Enable and force use of IOMMU translation to protect against some DMA attacks.
|
||||
## Strictly force DMA unmap operations to synchronously invalidate IOMMU hardware TLBs.
|
||||
## Ensures devices will never be able to access stale data contents.
|
||||
##
|
||||
## https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_management_unit
|
||||
## https://en.wikipedia.org/wiki/DMA_attack
|
||||
## https://lenovopress.lenovo.com/lp1467.pdf
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets the kernel parameters, CONFIG_IOMMU_SUPPORT=y, CONFIG_IOMMU_DEFAULT_DMA_STRICT=y, and does not set CONFIG_IOMMU_DEFAULT_PASSTHROUGH.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX iommu=force"
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX iommu.passthrough=0"
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX iommu.strict=1"
|
||||
|
||||
## Clear the busmaster bit on all PCI bridges during the EFI hand-off.
|
||||
## Terminates all existing DMA transactions prior to the kernel's IOMMU setup.
|
||||
## Forces third party PCI devices to then re-set their busmaster bit in order to perform DMA.
|
||||
## Assumes that the motherboard chipset and firmware are not malicious.
|
||||
## May cause complete boot failure on certain hardware with incompatible firmware.
|
||||
##
|
||||
## https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4444f8541dad16fefd9b8807ad1451e806ef1d94
|
||||
## https://mjg59.dreamwidth.org/54433.html
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets CONFIG_EFI_DISABLE_PCI_DMA=y.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX efi=disable_early_pci_dma"
|
||||
|
||||
## 3. Entropy:
|
||||
##
|
||||
## https://madaidans-insecurities.github.io/guides/linux-hardening.html#rdrand
|
||||
|
||||
## Do not credit the CPU seeds as an entropy sources at boot.
|
||||
## The RDRAND and RDSEED CPU (RNG) instructions are proprietary and closed-source.
|
||||
## Numerous implementations of RDRAND and RDSEED have a long history of being defective.
|
||||
## Maximizing the entropy pool at boot is desirable for all cryptographic operations.
|
||||
## This ensures additional entropy is obtained from other sources to initialize the Linux CRNG.
|
||||
## Note that distrusting this (relatively fast) source of entropy will increase boot time.
|
||||
##
|
||||
## https://en.wikipedia.org/wiki/RDRAND
|
||||
## https://systemd.io/RANDOM_SEEDS/
|
||||
## https://www.kicksecure.com/wiki/Dev/Entropy#RDRAND
|
||||
## https://archive.nytimes.com/www.nytimes.com/interactive/2013/09/05/us/documents-reveal-nsa-campaign-against-encryption.html
|
||||
## https://forums.whonix.org/t/entropy-config-random-trust-cpu-yes-or-no-rng-core-default-quality/8566
|
||||
## https://lkml.org/lkml/2022/6/5/271
|
||||
## https://lwn.net/Articles/961121/
|
||||
## https://lore.kernel.org/lkml/aPFDn-4Cm6n0_3_e@gourry-fedora-PF4VCD3F/
|
||||
## https://www.amd.com/en/resources/product-security/bulletin/amd-sb-7055.html
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets CONFIG_RANDOM_TRUST_CPU=y.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX random.trust_cpu=off"
|
||||
|
||||
## Do not credit the bootloader seeds as an entropy source at boot.
|
||||
## The RNG seed passed by the bootloader could potentially be tampered.
|
||||
## Maximizing the entropy pool at boot is desirable for all cryptographic operations.
|
||||
## This ensures additional entropy is obtained from other sources to initialize the Linux CRNG.
|
||||
## Note that distrusting this (relatively fast) source of entropy will increase boot time.
|
||||
##
|
||||
## https://systemd.io/RANDOM_SEEDS/
|
||||
## https://github.com/NixOS/nixpkgs/pull/165355
|
||||
## https://lkml.org/lkml/2022/6/5/271
|
||||
##
|
||||
## KSPP=yes
|
||||
## KSPP sets CONFIG_RANDOM_TRUST_BOOTLOADER=y.
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX random.trust_bootloader=off"
|
||||
|
||||
## Obtain more entropy during boot as the runtime memory allocator is being initialized.
|
||||
## Entropy will be extracted from up to the first 4GB of RAM as another source.
|
||||
## Note that entropy extracted this way is not cryptographically secure and so is not credited.
|
||||
## Maximizing the entropy pool at boot is desirable for all cryptographic operations.
|
||||
## This will increase boot time due to interrupting the boot process.
|
||||
## Requires the linux-hardened kernel patch.
|
||||
##
|
||||
## https://www.kicksecure.com/wiki/Hardened-kernel#linux-hardened
|
||||
## https://github.com/anthraxx/linux-hardened/commit/c3e7df1dba1eb8105d6d5143079a6a0ad9e9ebc7
|
||||
## https://github.com/anthraxx/linux-hardened/commit/a04458f97fe1f7e95888c77c0165b646375db9c4
|
||||
##
|
||||
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX extra_latent_entropy"
|
||||
|
||||
## 4. Networking
|
||||
##
|
||||
## https://madaidans-insecurities.github.io/guides/linux-hardening.html#kasr-boot-parameters
|
||||
|
||||
## Disable the entire IPv6 stack functionality.
|
||||
## Removes attack surface associated with the IPv6 module.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/networking/ipv6.html
|
||||
## https://wiki.archlinux.org/title/IPv6#Disable_IPv6
|
||||
##
|
||||
## Enabling makes redundant many network hardening sysctl's in /usr/lib/sysctl.d/990-security-misc.conf.
|
||||
##
|
||||
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX ipv6.disable=1"
|
||||
|
|
@ -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"
|
||||
|
|
@ -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
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Prevent kernel info leaks in console during boot.
|
||||
## https://phabricator.whonix.org/T950
|
||||
|
||||
## LANG=C str_replace is provided by package helper-scripts.
|
||||
|
||||
## The following command actually removed "quiet" from the kernel command line.
|
||||
## If verbosity is desired, the user might want to keep this line.
|
||||
## Remove "quiet" from GRUB_CMDLINE_LINUX_DEFAULT because "quiet" must be first.
|
||||
GRUB_CMDLINE_LINUX_DEFAULT="$(echo "$GRUB_CMDLINE_LINUX_DEFAULT" | LANG=C str_replace "quiet" "")"
|
||||
|
||||
## If verbosity is desired, the user might want to out-comment the following line.
|
||||
GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT quiet loglevel=0"
|
||||
|
||||
## NOTE:
|
||||
## After editing this file, running:
|
||||
## sudo update-grub
|
||||
## is required.
|
||||
##
|
||||
## If higher verbosity is desired, the user might also want to delete file
|
||||
## /etc/sysctl.d/30_silent-kernel-printk.conf
|
||||
## (or out-comment its settings).
|
||||
##
|
||||
## Alternatively, the user could consider to install the debug-misc package,
|
||||
## which will undo the settings found here.
|
||||
35
etc/default/grub.d/41_quiet_boot.cfg#security-misc-shared
Normal file
35
etc/default/grub.d/41_quiet_boot.cfg#security-misc-shared
Normal 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.
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
## Copyright (C) 2024 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Definitions:
|
||||
## KSPP=yes: compliant with recommendations by the KSPP
|
||||
## KSPP=partial: partially compliant with recommendations by the KSPP
|
||||
## KSPP=no: not (currently) compliant with recommendations by the KSPP
|
||||
## If there is no explicit KSPP compliance notice, the setting is not mentioned by the KSPP.
|
||||
|
||||
## Disable access to the GRUB single-user (recovery) mode menu entries.
|
||||
##
|
||||
## https://forums.kicksecure.com/t/remove-linux-recovery-mode-boot-option-from-default-grub-boot-menu/727
|
||||
##
|
||||
GRUB_DISABLE_RECOVERY="true"
|
||||
|
||||
## Disable access to Dracut's recovery console.
|
||||
## Prevents the emergency shell from starting automatically during boot failures.
|
||||
##
|
||||
## https://insinuator.net/2025/07/insecure-boot-injecting-initramfs-from-a-debug-shell/
|
||||
## https://serverfault.com/questions/554853/how-can-i-secure-the-dracut-shell
|
||||
## https://forums.kicksecure.com/t/harden-dracut-initramfs-generator-by-disabling-recovery-console/724
|
||||
##
|
||||
GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT rd.emergency=halt"
|
||||
GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT rd.shell=0"
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
## This configuration file modifies the behavior of
|
||||
## DKMS (Dynamic Kernel Module Support) and is sourced
|
||||
## in by DKMS every time it is run.
|
||||
|
||||
## Source Tree Location (default: /usr/src)
|
||||
# source_tree="/usr/src"
|
||||
|
||||
## DKMS Tree Location (default: /var/lib/dkms)
|
||||
# dkms_tree="/var/lib/dkms"
|
||||
|
||||
## Install Tree Location (default: /lib/modules)
|
||||
# install_tree="/lib/modules"
|
||||
|
||||
## tmp Location (default: /tmp)
|
||||
# tmp_location="/tmp"
|
||||
|
||||
## verbosity setting (verbose will be active if you set it to a non-null value)
|
||||
# verbose=""
|
||||
|
||||
## symlink kernel modules (will be active if you set it to a non-null value)
|
||||
## This creates symlinks from the install_tree into the dkms_tree instead of
|
||||
## copying the modules. This preserves some space on the costs of being less
|
||||
## safe.
|
||||
# symlink_modules=""
|
||||
|
||||
## Automatic installation and upgrade for all installed kernels (if set to a
|
||||
## non-null value)
|
||||
# autoinstall_all_kernels=""
|
||||
|
||||
## Script to sign modules during build, script is called with kernel version
|
||||
## and module name
|
||||
# sign_tool="/etc/dkms/sign_helper.sh"
|
||||
|
||||
### BEGIN modifications by package security-misc ###
|
||||
|
||||
## original:
|
||||
## https://github.com/dell/dkms/blob/master/dkms_framework.conf
|
||||
|
||||
## DKMS feature request:
|
||||
## add /etc/dkms/framework.conf.d configuration file drop-in folder
|
||||
## https://github.com/dell/dkms/issues/116
|
||||
|
||||
## Lower parallel compilation jobs to 1 if less than 2 GB RAM to avoid freezing
|
||||
## of virtual machines.
|
||||
##
|
||||
## This does not necessarily belong into security-misc, however likely
|
||||
## security-misc will need to modify /etc/dkms/framework.conf in the future to
|
||||
## enable kernel module signing. See below.
|
||||
##
|
||||
## https://forums.whonix.org/t/linux-kernel-runtime-guard-lkrg-linux-kernel-runtime-integrity-checking-and-exploit-detection/8477/26
|
||||
ENOUGH_RAM="1950"
|
||||
total_ram="$(free -m | sed -n -e '/^Mem:/s/^[^0-9]*\([0-9]*\) .*/\1/p')"
|
||||
if [ "$total_ram" -ge "$ENOUGH_RAM" ]; then
|
||||
true "INFO: Enough RAM available. Not lowering compilation cores."
|
||||
else
|
||||
true "INFO: Not enough RAM available. Lowering compilation cores to 1."
|
||||
parallel_jobs=1
|
||||
fi
|
||||
|
||||
## https://forums.whonix.org/t/enforce-kernel-module-software-signature-verification-module-signing-disallow-kernel-module-loading-by-default/7880/58
|
||||
## https://github.com/dell/dkms/blob/master/sign_helper.sh
|
||||
#sign_tool="/etc/dkms/sign_helper.sh"
|
||||
|
||||
### END modifications by package security-misc ###
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
reproducible=yes
|
||||
|
||||
## Debugging.
|
||||
#show_modules=yes
|
||||
|
|
@ -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#security-misc-shared
Normal file
38
etc/gitconfig#security-misc-shared
Normal 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/
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Disable the /sys whitelist.
|
||||
|
|
@ -7,6 +7,9 @@
|
|||
## Disable the /proc/cpuinfo whitelist.
|
||||
#cpuinfo_whitelist=0
|
||||
|
||||
## Disable /sys hardening.
|
||||
#sysfs=0
|
||||
|
||||
## Disable selinux mode.
|
||||
## https://www.whonix.org/wiki/Security-misc#selinux
|
||||
## https://www.kicksecure.com/wiki/Security-misc#selinux
|
||||
#selinux=0
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
set -e
|
||||
|
||||
PREREQ=""
|
||||
prereqs()
|
||||
{
|
||||
echo "$PREREQ"
|
||||
}
|
||||
case $1 in
|
||||
prereqs)
|
||||
prereqs
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
. /usr/share/initramfs-tools/hook-functions
|
||||
copy_exec /sbin/sysctl /sbin
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
PREREQ=""
|
||||
prereqs()
|
||||
{
|
||||
echo "$PREREQ"
|
||||
}
|
||||
case $1 in
|
||||
prereqs)
|
||||
prereqs
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
## Write to '/run/initramfs' folder.
|
||||
## https://forums.whonix.org/t/kernel-hardening/7296/435
|
||||
|
||||
sysctl -p ${rootmnt}/etc/sysctl.conf >/dev/null 2> "/run/initramfs/sysctl-initramfs-error.log"
|
||||
sysctl -p ${rootmnt}/etc/sysctl.d/*.conf >/dev/null 2>> "/run/initramfs/sysctl-initramfs-error.log"
|
||||
|
||||
grep -v "unprivileged_userfaultfd" "/run/initramfs/sysctl-initramfs-error.log"
|
||||
|
||||
true
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
if test -x /usr/libexec/security-misc/remove-system.map ; then
|
||||
|
|
@ -1,146 +0,0 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <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
|
||||
|
||||
## Disable automatic conntrack helper assignment
|
||||
## https://phabricator.whonix.org/T486
|
||||
options nf_conntrack nf_conntrack_helper=0
|
||||
|
||||
## Disable bluetooth to reduce attack surface due to extended history of security vulnerabilities
|
||||
## https://en.wikipedia.org/wiki/Bluetooth#History_of_security_concerns
|
||||
install bluetooth /bin/disabled-bluetooth-by-security-misc
|
||||
install btusb /bin/disabled-bluetooth-by-security-misc
|
||||
|
||||
## Disable thunderbolt and firewire modules to prevent some DMA attacks
|
||||
install thunderbolt /bin/disabled-thunderbolt-by-security-misc
|
||||
install firewire-core /bin/disabled-firewire-by-security-misc
|
||||
install firewire_core /bin/disabled-firewire-by-security-misc
|
||||
install firewire-ohci /bin/disabled-firewire-by-security-misc
|
||||
install firewire_ohci /bin/disabled-firewire-by-security-misc
|
||||
install firewire_sbp2 /bin/disabled-firewire-by-security-misc
|
||||
install firewire-sbp2 /bin/disabled-firewire-by-security-misc
|
||||
install ohci1394 /bin/disabled-firewire-by-security-misc
|
||||
install sbp2 /bin/disabled-firewire-by-security-misc
|
||||
install dv1394 /bin/disabled-firewire-by-security-misc
|
||||
install raw1394 /bin/disabled-firewire-by-security-misc
|
||||
install video1394 /bin/disabled-firewire-by-security-misc
|
||||
|
||||
## 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
|
||||
install msr /bin/disabled-msr-by-security-misc
|
||||
|
||||
## 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/disabled-network-by-security-misc
|
||||
install sctp /bin/disabled-network-by-security-misc
|
||||
install rds /bin/disabled-network-by-security-misc
|
||||
install tipc /bin/disabled-network-by-security-misc
|
||||
install n-hdlc /bin/disabled-network-by-security-misc
|
||||
install ax25 /bin/disabled-network-by-security-misc
|
||||
install netrom /bin/disabled-network-by-security-misc
|
||||
install x25 /bin/disabled-network-by-security-misc
|
||||
install rose /bin/disabled-network-by-security-misc
|
||||
install decnet /bin/disabled-network-by-security-misc
|
||||
install econet /bin/disabled-network-by-security-misc
|
||||
install af_802154 /bin/disabled-network-by-security-misc
|
||||
install ipx /bin/disabled-network-by-security-misc
|
||||
install appletalk /bin/disabled-network-by-security-misc
|
||||
install psnap /bin/disabled-network-by-security-misc
|
||||
install p8023 /bin/disabled-network-by-security-misc
|
||||
install p8022 /bin/disabled-network-by-security-misc
|
||||
install can /bin/disabled-network-by-security-misc
|
||||
install atm /bin/disabled-network-by-security-misc
|
||||
|
||||
## Disable uncommon file systems to reduce attack surface
|
||||
## HFS and HFS+ are legacy Apple filesystems that may be required depending on the EFI parition format
|
||||
install cramfs /bin/disabled-filesys-by-security-misc
|
||||
install freevxfs /bin/disabled-filesys-by-security-misc
|
||||
install jffs2 /bin/disabled-filesys-by-security-misc
|
||||
install hfs /bin/disabled-filesys-by-security-misc
|
||||
install hfsplus /bin/disabled-filesys-by-security-misc
|
||||
install udf /bin/disabled-filesys-by-security-misc
|
||||
|
||||
## Disable uncommon network file systems to reduce attack surface
|
||||
install cifs /bin/disabled-netfilesys-by-security-misc
|
||||
install nfs /bin/disabled-netfilesys-by-security-misc
|
||||
install nfsv3 /bin/disabled-netfilesys-by-security-misc
|
||||
install nfsv4 /bin/disabled-netfilesys-by-security-misc
|
||||
install ksmbd /bin/disabled-netfilesys-by-security-misc
|
||||
install gfs2 /bin/disabled-netfilesys-by-security-misc
|
||||
|
||||
## Disables the vivid kernel module as it's only required for testing and has been the cause of multiple vulnerabilities
|
||||
## https://forums.whonix.org/t/kernel-recompilation-for-better-hardening/7598/233
|
||||
## https://www.openwall.com/lists/oss-security/2019/11/02/1
|
||||
## https://github.com/a13xp0p0v/kconfig-hardened-check/commit/981bd163fa19fccbc5ce5d4182e639d67e484475
|
||||
install vivid /bin/disabled-vivid-by-security-misc
|
||||
|
||||
## Disable Intel Management Engine (ME) interface with the OS
|
||||
## https://www.kernel.org/doc/html/latest/driver-api/mei/mei.html
|
||||
install mei /bin/disabled-intelme-by-security-misc
|
||||
install mei-me /bin/disabled-intelme-by-security-misc
|
||||
|
||||
## Blacklist automatic loading of the Atheros 5K RF MACs madwifi driver
|
||||
## https://git.launchpad.net/ubuntu/+source/kmod/tree/debian/modprobe.d/blacklist-ath_pci.conf?h=ubuntu/disco
|
||||
blacklist ath_pci
|
||||
|
||||
## Blacklist automatic loading of miscellaneous modules
|
||||
## https://git.launchpad.net/ubuntu/+source/kmod/tree/debian/modprobe.d/blacklist.conf?h=ubuntu/disco
|
||||
blacklist evbug
|
||||
blacklist usbmouse
|
||||
blacklist usbkbd
|
||||
blacklist eepro100
|
||||
blacklist de4x5
|
||||
blacklist eth1394
|
||||
blacklist snd_intel8x0m
|
||||
blacklist snd_aw2
|
||||
blacklist prism54
|
||||
blacklist bcm43xx
|
||||
blacklist garmin_gps
|
||||
blacklist asus_acpi
|
||||
blacklist snd_pcsp
|
||||
blacklist pcspkr
|
||||
blacklist amd76x_edac
|
||||
|
||||
## Blacklist automatic loading of framebuffer drivers
|
||||
## https://git.launchpad.net/ubuntu/+source/kmod/tree/debian/modprobe.d/blacklist-framebuffer.conf?h=ubuntu/disco
|
||||
blacklist aty128fb
|
||||
blacklist atyfb
|
||||
blacklist radeonfb
|
||||
blacklist cirrusfb
|
||||
blacklist cyber2000fb
|
||||
blacklist cyblafb
|
||||
blacklist gx1fb
|
||||
blacklist hgafb
|
||||
blacklist i810fb
|
||||
blacklist intelfb
|
||||
blacklist kyrofb
|
||||
blacklist lxfb
|
||||
blacklist matroxfb_bases
|
||||
blacklist neofb
|
||||
blacklist nvidiafb
|
||||
blacklist pm2fb
|
||||
blacklist rivafb
|
||||
blacklist s1d13xxxfb
|
||||
blacklist savagefb
|
||||
blacklist sisfb
|
||||
blacklist sstfb
|
||||
blacklist tdfxfb
|
||||
blacklist tridentfb
|
||||
blacklist vesafb
|
||||
blacklist vfb
|
||||
blacklist viafb
|
||||
blacklist vt8623fb
|
||||
blacklist udlfb
|
||||
|
||||
## Disable CD-ROM devices
|
||||
## https://nvd.nist.gov/vuln/detail/CVE-2018-11506
|
||||
## https://forums.whonix.org/t/blacklist-more-kernel-modules-to-reduce-attack-surface/7989/31
|
||||
#install cdrom /bin/disabled-cdrom-by-security-misc
|
||||
#install sr_mod /bin/disabled-cdrom-by-security-misc
|
||||
blacklist cdrom
|
||||
blacklist sr_mod
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## See the following links for a community discussion and overview regarding the selections.
|
||||
## https://forums.whonix.org/t/blacklist-more-kernel-modules-to-reduce-attack-surface/7989
|
||||
## https://madaidans-insecurities.github.io/guides/linux-hardening.html#kasr-kernel-modules
|
||||
|
||||
## Blacklisting prevents kernel modules from automatically starting.
|
||||
## Disabling prohibits kernel modules from starting.
|
||||
|
||||
## CD-ROM/DVD:
|
||||
## Blacklist CD-ROM and DVD modules.
|
||||
## Not disabled by default due to potential future ISO plans.
|
||||
## Can uncomment the bottom pair to disable both modules.
|
||||
##
|
||||
## https://nvd.nist.gov/vuln/detail/CVE-2018-11506
|
||||
## https://forums.whonix.org/t/blacklist-more-kernel-modules-to-reduce-attack-surface/7989/31
|
||||
##
|
||||
blacklist cdrom
|
||||
blacklist sr_mod
|
||||
#install cdrom /usr/bin/disabled-cdrom-by-security-misc
|
||||
#install sr_mod /usr/bin/disabled-cdrom-by-security-misc
|
||||
|
||||
## Miscellaneous:
|
||||
|
||||
## GrapheneOS:
|
||||
## Partial selection of their infrastructure blacklist.
|
||||
## Duplicate and already disabled modules have been omitted.
|
||||
## Currently snd_intel8x0 is required by some users for VirtualBox audio device ICH AC97.
|
||||
##
|
||||
## https://github.com/GrapheneOS/infrastructure/tree/main/etc/modprobe.d
|
||||
## https://www.kicksecure.com/wiki/Dev/audio
|
||||
## https://github.com/Kicksecure/security-misc/issues/271
|
||||
##
|
||||
#blacklist cfg80211
|
||||
#blacklist intel_agp
|
||||
#blacklist ip_tables
|
||||
#blacklist mousedev
|
||||
#blacklist psmouse
|
||||
#blacklist snd_intel8x0
|
||||
#blacklist tls
|
||||
#blacklist virtio_balloon
|
||||
#blacklist virtio_console
|
||||
|
||||
## Ubuntu:
|
||||
## Already disabled modules have been omitted.
|
||||
##
|
||||
## https://git.launchpad.net/ubuntu/+source/kmod/tree/debian/modprobe.d/blacklist.conf?h=ubuntu/disco
|
||||
## https://git.launchpad.net/ubuntu/+source/kmod/tree/debian/modprobe.d/blacklist-ath_pci.conf?h=ubuntu/disco
|
||||
##
|
||||
blacklist amd76x_edac
|
||||
blacklist ath_pci
|
||||
blacklist evbug
|
||||
blacklist pcspkr
|
||||
blacklist snd_aw2
|
||||
blacklist snd_intel8x0m
|
||||
blacklist snd_pcsp
|
||||
blacklist usbkbd
|
||||
blacklist usbmouse
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Conntrack:
|
||||
## Disable Netfilter's automatic connection tracking helper assignment.
|
||||
## This functionality adds unnecessary features, such as IRC protocol parsing, into the kernel.
|
||||
## Disabling it reduces the kernel attack surface and improves security.
|
||||
##
|
||||
## https://conntrack-tools.netfilter.org/manual.html
|
||||
## https://home.regit.org/netfilter-en/secure-use-of-helpers/
|
||||
## https://forums.whonix.org/t/disable-conntrack-helper/18917
|
||||
##
|
||||
options nf_conntrack nf_conntrack_helper=0
|
||||
|
|
@ -0,0 +1,356 @@
|
|||
## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## See the following links for a community discussion and overview regarding the selections:
|
||||
## https://forums.whonix.org/t/blacklist-more-kernel-modules-to-reduce-attack-surface/7989
|
||||
## https://madaidans-insecurities.github.io/guides/linux-hardening.html#kasr-kernel-modules
|
||||
|
||||
## Blacklisting prevents kernel modules from automatically starting.
|
||||
## Disabling prohibits kernel modules from starting.
|
||||
|
||||
## This configuration file is split into 4 sections:
|
||||
## 1. Hardware
|
||||
## 2. File Systems
|
||||
## 3. Networking
|
||||
## 4. Miscellaneous
|
||||
|
||||
## 1. Hardware:
|
||||
|
||||
## Bluetooth:
|
||||
## Disable Bluetooth to reduce the attack surface due to its long history of security vulnerabilities.
|
||||
## Replaced with a privacy and security preserving default Bluetooth configuration for better usability.
|
||||
##
|
||||
## https://en.wikipedia.org/wiki/Bluetooth#History_of_security_concerns
|
||||
## https://github.com/Kicksecure/security-misc/pull/145
|
||||
##
|
||||
#install bluetooth /usr/bin/disabled-bluetooth-by-security-misc
|
||||
#install bluetooth_6lowpan /usr/bin/disabled-bluetooth-by-security-misc
|
||||
#install bt3c_cs /usr/bin/disabled-bluetooth-by-security-misc
|
||||
#install btbcm /usr/bin/disabled-bluetooth-by-security-misc
|
||||
#install btintel /usr/bin/disabled-bluetooth-by-security-misc
|
||||
#install btmrvl /usr/bin/disabled-bluetooth-by-security-misc
|
||||
#install btmrvl_sdio /usr/bin/disabled-bluetooth-by-security-misc
|
||||
#install btmtk /usr/bin/disabled-bluetooth-by-security-misc
|
||||
#install btmtksdio /usr/bin/disabled-bluetooth-by-security-misc
|
||||
#install btmtkuart /usr/bin/disabled-bluetooth-by-security-misc
|
||||
#install btnxpuart /usr/bin/disabled-bluetooth-by-security-misc
|
||||
#install btqca /usr/bin/disabled-bluetooth-by-security-misc
|
||||
#install btrsi /usr/bin/disabled-bluetooth-by-security-misc
|
||||
#install btrtl /usr/bin/disabled-bluetooth-by-security-misc
|
||||
#install btsdio /usr/bin/disabled-bluetooth-by-security-misc
|
||||
#install btusb /usr/bin/disabled-bluetooth-by-security-misc
|
||||
#install virtio_bt /usr/bin/disabled-bluetooth-by-security-misc
|
||||
|
||||
## CPU Model-Specific Registers (MSRs):
|
||||
## User-level read access to MSRs can allow malicious unprivileged applications to access other trust domains.
|
||||
## MSRs can also be abused to write to arbitrary memory.
|
||||
##
|
||||
## https://en.wikipedia.org/wiki/Model-specific_register
|
||||
## https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/running-average-power-limit-energy-reporting.html
|
||||
## https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/best-practices/reading-writing-msrs-in-linux.html
|
||||
## https://security.stackexchange.com/questions/119712/methods-root-can-use-to-elevate-itself-to-kernel-mode
|
||||
## https://github.com/Kicksecure/security-misc/issues/215
|
||||
##
|
||||
#install intel_rapl_msr /usr/bin/disabled-cpumsr-by-security-misc
|
||||
#install isst_if_mbox_msr /usr/bin/disabled-cpumsr-by-security-misc
|
||||
#install msr /usr/bin/disabled-cpumsr-by-security-misc
|
||||
|
||||
## FireWire (IEEE 1394):
|
||||
## Disable IEEE 1394 (FireWire/i.LINK/Lynx) modules to prevent certain DMA attacks.
|
||||
##
|
||||
## https://en.wikipedia.org/wiki/IEEE_1394#Security_issues
|
||||
##
|
||||
install dv1394 /usr/bin/disabled-firewire-by-security-misc
|
||||
install firewire-core /usr/bin/disabled-firewire-by-security-misc
|
||||
install firewire-ohci /usr/bin/disabled-firewire-by-security-misc
|
||||
install firewire-net /usr/bin/disabled-firewire-by-security-misc
|
||||
install firewire-sbp2 /usr/bin/disabled-firewire-by-security-misc
|
||||
install ohci1394 /usr/bin/disabled-firewire-by-security-misc
|
||||
install raw1394 /usr/bin/disabled-firewire-by-security-misc
|
||||
install sbp2 /usr/bin/disabled-firewire-by-security-misc
|
||||
install video1394 /usr/bin/disabled-firewire-by-security-misc
|
||||
|
||||
## Global Positioning Systems (GPS):
|
||||
## Disable GPS-related modules like GNSS (Global Navigation Satellite System).
|
||||
##
|
||||
install garmin_gps /usr/bin/disabled-gps-by-security-misc
|
||||
install gnss /usr/bin/disabled-gps-by-security-misc
|
||||
install gnss-mtk /usr/bin/disabled-gps-by-security-misc
|
||||
install gnss-serial /usr/bin/disabled-gps-by-security-misc
|
||||
install gnss-sirf /usr/bin/disabled-gps-by-security-misc
|
||||
install gnss-ubx /usr/bin/disabled-gps-by-security-misc
|
||||
install gnss-usb /usr/bin/disabled-gps-by-security-misc
|
||||
|
||||
## Intel Management Engine (ME):
|
||||
## Partially disable the Intel ME interface with the OS.
|
||||
## ME functionality has increasingly become intertwined with basic Intel system operation.
|
||||
## Disabling it may lead to breakages in various components without clear debugging/error messages.
|
||||
## It may affect firmware updates, security, power management, display, and DRM.
|
||||
##
|
||||
## https://www.kernel.org/doc/html/latest/driver-api/mei/mei.html
|
||||
## https://en.wikipedia.org/wiki/Intel_Management_Engine#Security_vulnerabilities
|
||||
## https://www.kicksecure.com/wiki/Out-of-band_Management_Technology#Intel_ME_Disabling_Disadvantages
|
||||
## https://github.com/Kicksecure/security-misc/pull/236#issuecomment-2229092813
|
||||
## https://github.com/Kicksecure/security-misc/issues/239
|
||||
##
|
||||
#install mei /usr/bin/disabled-intelme-by-security-misc
|
||||
#install mei-gsc /usr/bin/disabled-intelme-by-security-misc
|
||||
#install mei_gsc_proxy /usr/bin/disabled-intelme-by-security-misc
|
||||
#install mei_hdcp /usr/bin/disabled-intelme-by-security-misc
|
||||
#install mei-me /usr/bin/disabled-intelme-by-security-misc
|
||||
#install mei_phy /usr/bin/disabled-intelme-by-security-misc
|
||||
#install mei_pxp /usr/bin/disabled-intelme-by-security-misc
|
||||
#install mei-txe /usr/bin/disabled-intelme-by-security-misc
|
||||
#install mei-vsc /usr/bin/disabled-intelme-by-security-misc
|
||||
#install mei-vsc-hw /usr/bin/disabled-intelme-by-security-misc
|
||||
#install mei_wdt /usr/bin/disabled-intelme-by-security-misc
|
||||
#install microread_mei /usr/bin/disabled-intelme-by-security-misc
|
||||
|
||||
## Intel Platform Monitoring Technology (PMT) Telemetry:
|
||||
## Disable certain functionalities of the Intel PMT components.
|
||||
##
|
||||
## https://www.intel.com/content/www/us/en/content-details/710389/intel-platform-monitoring-technology-intel-pmt-technical-specification.html
|
||||
## https://github.com/intel/Intel-PMT
|
||||
##
|
||||
install pmt_class /usr/bin/disabled-intelpmt-by-security-misc
|
||||
install pmt_crashlog /usr/bin/disabled-intelpmt-by-security-misc
|
||||
install pmt_telemetry /usr/bin/disabled-intelpmt-by-security-misc
|
||||
|
||||
## Thunderbolt:
|
||||
## Disable Thunderbolt modules to prevent certain DMA attacks.
|
||||
##
|
||||
## https://en.wikipedia.org/wiki/Thunderbolt_(interface)#Security_vulnerabilities
|
||||
##
|
||||
install intel-wmi-thunderbolt /usr/bin/disabled-thunderbolt-by-security-misc
|
||||
install thunderbolt /usr/bin/disabled-thunderbolt-by-security-misc
|
||||
install thunderbolt_net /usr/bin/disabled-thunderbolt-by-security-misc
|
||||
|
||||
## 2. File Systems:
|
||||
|
||||
## File Systems:
|
||||
## Disable uncommon file systems to reduce attack surface.
|
||||
## HFS/HFS+ are legacy Apple file systems that may be required depending on the EFI partition format.
|
||||
##
|
||||
## https://docs.kernel.org/filesystems/index.html
|
||||
## https://github.com/secureblue/secureblue/tree/live/files/system/usr/lib/modprobe.d
|
||||
##
|
||||
install adfs /usr/bin/disabled-filesys-by-security-misc
|
||||
install affs /usr/bin/disabled-filesys-by-security-misc
|
||||
install afs /usr/bin/disabled-filesys-by-security-misc
|
||||
install befs /usr/bin/disabled-filesys-by-security-misc
|
||||
install ceph /usr/bin/disabled-filesys-by-security-misc
|
||||
install coda /usr/bin/disabled-filesys-by-security-misc
|
||||
install cramfs /usr/bin/disabled-filesys-by-security-misc
|
||||
install ecryptfs /usr/bin/disabled-filesys-by-security-misc
|
||||
install freevxfs /usr/bin/disabled-filesys-by-security-misc
|
||||
install hfs /usr/bin/disabled-filesys-by-security-misc
|
||||
install hfsplus /usr/bin/disabled-filesys-by-security-misc
|
||||
install jffs2 /usr/bin/disabled-filesys-by-security-misc
|
||||
install jfs /usr/bin/disabled-filesys-by-security-misc
|
||||
install kafs /usr/bin/disabled-filesys-by-security-misc
|
||||
install minix /usr/bin/disabled-filesys-by-security-misc
|
||||
install nilfs2 /usr/bin/disabled-filesys-by-security-misc
|
||||
install ocfs2 /usr/bin/disabled-filesys-by-security-misc
|
||||
install orangefs /usr/bin/disabled-filesys-by-security-misc
|
||||
install reiserfs /usr/bin/disabled-filesys-by-security-misc
|
||||
install romfs /usr/bin/disabled-filesys-by-security-misc
|
||||
install sysv /usr/bin/disabled-filesys-by-security-misc
|
||||
install ubifs /usr/bin/disabled-filesys-by-security-misc
|
||||
install udf /usr/bin/disabled-filesys-by-security-misc
|
||||
install ufs /usr/bin/disabled-filesys-by-security-misc
|
||||
install zonefs /usr/bin/disabled-filesys-by-security-misc
|
||||
|
||||
## Network File Systems:
|
||||
## Disable uncommon network file systems to reduce attack surface.
|
||||
## Currently 9p is required for KVM shared folders in Whonix.
|
||||
##
|
||||
## https://www.whonix.org/wiki/KVM#Shared_Folder
|
||||
##
|
||||
#install 9p /usr/bin/disabled-netfilesys-by-security-misc
|
||||
install gfs2 /usr/bin/disabled-netfilesys-by-security-misc
|
||||
install ksmbd /usr/bin/disabled-netfilesys-by-security-misc
|
||||
|
||||
## Network File System - Common Internet File System (CIFS):
|
||||
##
|
||||
install cifs /usr/bin/disabled-netfilesys-by-security-misc
|
||||
install cifs_arc4 /usr/bin/disabled-netfilesys-by-security-misc
|
||||
install cifs_md4 /usr/bin/disabled-netfilesys-by-security-misc
|
||||
|
||||
## Network File System - Network File System (NFS):
|
||||
##
|
||||
install nfs /usr/bin/disabled-netfilesys-by-security-misc
|
||||
install nfs_acl /usr/bin/disabled-netfilesys-by-security-misc
|
||||
install nfs_layout_nfsv41_files /usr/bin/disabled-netfilesys-by-security-misc
|
||||
install nfs_layout_flexfiles /usr/bin/disabled-netfilesys-by-security-misc
|
||||
install nfsd /usr/bin/disabled-netfilesys-by-security-misc
|
||||
install nfsv2 /usr/bin/disabled-netfilesys-by-security-misc
|
||||
install nfsv3 /usr/bin/disabled-netfilesys-by-security-misc
|
||||
install nfsv4 /usr/bin/disabled-netfilesys-by-security-misc
|
||||
|
||||
## 2. Networking:
|
||||
|
||||
## Network Protocols:
|
||||
## Disable rare and unneeded network protocols that are a common source of unknown vulnerabilities.
|
||||
## Previously had blacklisted eepro100 and eth1394.
|
||||
##
|
||||
## https://tails.boum.org/blueprint/blacklist_modules/
|
||||
## https://fedoraproject.org/wiki/Security_Features_Matrix#Blacklist_Rare_Protocols
|
||||
## https://git.launchpad.net/ubuntu/+source/kmod/tree/debian/modprobe.d/blacklist-rare-network.conf?h=ubuntu/disco
|
||||
## https://github.com/Kicksecure/security-misc/pull/234#issuecomment-2230732015
|
||||
##
|
||||
install af_802154 /usr/bin/disabled-network-by-security-misc
|
||||
install appletalk /usr/bin/disabled-network-by-security-misc
|
||||
install ax25 /usr/bin/disabled-network-by-security-misc
|
||||
install decnet /usr/bin/disabled-network-by-security-misc
|
||||
install dccp /usr/bin/disabled-network-by-security-misc
|
||||
install econet /usr/bin/disabled-network-by-security-misc
|
||||
install eepro100 /usr/bin/disabled-network-by-security-misc
|
||||
install eth1394 /usr/bin/disabled-network-by-security-misc
|
||||
install ipx /usr/bin/disabled-network-by-security-misc
|
||||
install n-hdlc /usr/bin/disabled-network-by-security-misc
|
||||
install netrom /usr/bin/disabled-network-by-security-misc
|
||||
install p8022 /usr/bin/disabled-network-by-security-misc
|
||||
install p8023 /usr/bin/disabled-network-by-security-misc
|
||||
install psnap /usr/bin/disabled-network-by-security-misc
|
||||
install rose /usr/bin/disabled-network-by-security-misc
|
||||
install x25 /usr/bin/disabled-network-by-security-misc
|
||||
|
||||
## Network Protocol - Asynchronous Transfer Mode (ATM):
|
||||
##
|
||||
install atm /usr/bin/disabled-network-by-security-misc
|
||||
install ueagle-atm /usr/bin/disabled-network-by-security-misc
|
||||
install usbatm /usr/bin/disabled-network-by-security-misc
|
||||
install xusbatm /usr/bin/disabled-network-by-security-misc
|
||||
|
||||
## Network Protocol - Controller Area Network (CAN):
|
||||
##
|
||||
install c_can /usr/bin/disabled-network-by-security-misc
|
||||
install c_can_pci /usr/bin/disabled-network-by-security-misc
|
||||
install c_can_platform /usr/bin/disabled-network-by-security-misc
|
||||
install can /usr/bin/disabled-network-by-security-misc
|
||||
install can-bcm /usr/bin/disabled-network-by-security-misc
|
||||
install can-dev /usr/bin/disabled-network-by-security-misc
|
||||
install can-gw /usr/bin/disabled-network-by-security-misc
|
||||
install can-isotp /usr/bin/disabled-network-by-security-misc
|
||||
install can-raw /usr/bin/disabled-network-by-security-misc
|
||||
install can-j1939 /usr/bin/disabled-network-by-security-misc
|
||||
install can327 /usr/bin/disabled-network-by-security-misc
|
||||
install ifi_canfd /usr/bin/disabled-network-by-security-misc
|
||||
install janz-ican3 /usr/bin/disabled-network-by-security-misc
|
||||
install m_can /usr/bin/disabled-network-by-security-misc
|
||||
install m_can_pci /usr/bin/disabled-network-by-security-misc
|
||||
install m_can_platform /usr/bin/disabled-network-by-security-misc
|
||||
install phy-can-transceiver /usr/bin/disabled-network-by-security-misc
|
||||
install slcan /usr/bin/disabled-network-by-security-misc
|
||||
install ucan /usr/bin/disabled-network-by-security-misc
|
||||
install vxcan /usr/bin/disabled-network-by-security-misc
|
||||
install vcan /usr/bin/disabled-network-by-security-misc
|
||||
|
||||
## Network Protocol - Transparent Inter Process Communication (TIPC):
|
||||
##
|
||||
install tipc /usr/bin/disabled-network-by-security-misc
|
||||
install tipc_diag /usr/bin/disabled-network-by-security-misc
|
||||
|
||||
## Network Protocol - Reliable Datagram Sockets (RDS):
|
||||
##
|
||||
install rds /usr/bin/disabled-network-by-security-misc
|
||||
install rds_rdma /usr/bin/disabled-network-by-security-misc
|
||||
install rds_tcp /usr/bin/disabled-network-by-security-misc
|
||||
|
||||
## Network Protocol - Stream Control Transmission Protocol (SCTP):
|
||||
##
|
||||
install sctp /usr/bin/disabled-network-by-security-misc
|
||||
install sctp_diag /usr/bin/disabled-network-by-security-misc
|
||||
|
||||
## 4. Miscellaneous:
|
||||
|
||||
## Amateur Radios:
|
||||
##
|
||||
install hamradio /usr/bin/disabled-miscellaneous-by-security-misc
|
||||
|
||||
## Floppy Disks:
|
||||
##
|
||||
install floppy /usr/bin/disabled-miscellaneous-by-security-misc
|
||||
|
||||
## Framebuffer (fbdev):
|
||||
## Video drivers are known to be buggy, cause kernel panics, and are generally only used by legacy devices.
|
||||
## These were all previously blacklisted.
|
||||
##
|
||||
## https://docs.kernel.org/fb/index.html
|
||||
## https://en.wikipedia.org/wiki/Linux_framebuffer
|
||||
## https://git.launchpad.net/ubuntu/+source/kmod/tree/debian/modprobe.d/blacklist-framebuffer.conf?h=ubuntu/disco
|
||||
##
|
||||
install aty128fb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install atyfb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install cirrusfb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install cyber2000fb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install cyblafb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install gx1fb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install hgafb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install i810fb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install intelfb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install kyrofb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install lxfb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install matroxfb_base /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install neofb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install nvidiafb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install pm2fb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install radeonfb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install rivafb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install s1d13xxxfb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install savagefb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install sisfb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install sstfb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install tdfxfb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install tridentfb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install vesafb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install vfb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install viafb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install vt8623fb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
install udlfb /usr/bin/disabled-framebuffer-by-security-misc
|
||||
|
||||
## Joysticks:
|
||||
##
|
||||
## https://docs.kernel.org/input/joydev/joystick.html
|
||||
##
|
||||
install joydev /usr/bin/disabled-miscellaneous-by-security-misc
|
||||
|
||||
## Replaced Modules:
|
||||
## These legacy drivers have all been entirely replaced and superseded by newer drivers.
|
||||
## Many of these were previously blacklisted.
|
||||
##
|
||||
## https://git.launchpad.net/ubuntu/+source/kmod/tree/debian/modprobe.d/blacklist.conf?h=ubuntu/disco
|
||||
##
|
||||
install asus_acpi /usr/bin/disabled-miscellaneous-by-security-misc
|
||||
install bcm43xx /usr/bin/disabled-miscellaneous-by-security-misc
|
||||
install brcm80211 /usr/bin/disabled-miscellaneous-by-security-misc
|
||||
install de4x5 /usr/bin/disabled-miscellaneous-by-security-misc
|
||||
install prism54 /usr/bin/disabled-miscellaneous-by-security-misc
|
||||
|
||||
## RNDIS:
|
||||
## Disable as believed to have unfixable buffer overflow issues impossible to make secure.
|
||||
## Used by some network devices common with Android USB tethering.
|
||||
##
|
||||
## https://en.wikipedia.org/wiki/RNDIS
|
||||
## https://lkml.org/lkml/2022/11/23/728
|
||||
## https://lore.kernel.org/lkml/2023071333-wildly-playroom-878b@gregkh/
|
||||
##
|
||||
install rndis_host /usr/bin/disabled-miscellaneous-by-security-misc
|
||||
install usb_f_rndis /usr/bin/disabled-miscellaneous-by-security-misc
|
||||
|
||||
## USB Video Device Class:
|
||||
## Disable the USB-based video streaming driver for devices like some webcams and digital camcorders.
|
||||
##
|
||||
#install uvcvideo /usr/bin/disabled-miscellaneous-by-security-misc
|
||||
|
||||
## Vivid:
|
||||
## Disable the vivid kernel module since it has been the cause of multiple vulnerabilities.
|
||||
## Required only for running tests associated with the Qubes Video Companion.
|
||||
##
|
||||
## https://forums.whonix.org/t/kernel-recompilation-for-better-hardening/7598/233
|
||||
## https://www.openwall.com/lists/oss-security/2019/11/02/1
|
||||
## https://github.com/a13xp0p0v/kconfig-hardened-check/commit/981bd163fa19fccbc5ce5d4182e639d67e484475
|
||||
## https://forums.whonix.org/t/testing-qubes-video-companion-on-whonix/21393
|
||||
## https://github.com/Kicksecure/security-misc/issues/298
|
||||
##
|
||||
#install vivid /usr/bin/disabled-miscellaneous-by-security-misc
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Please use "/etc/permission-hardening.d/20_user.conf" or
|
||||
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
|
||||
## configuration. When security-misc is updated, this file may be overwritten.
|
||||
|
||||
# Keep the `passwd` utility executable to prevent issues with the
|
||||
# /usr/libexec/security-misc/pam-abort-on-locked-password script blocking
|
||||
# user logins with `su` and KScreenLocker
|
||||
#
|
||||
# See also: https://www.kicksecure.com/wiki/SUID_Disabler_and_Permission_Hardener#passwd
|
||||
/usr/bin/passwd 0755 root root
|
||||
/bin/passwd 0755 root root
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Please use "/etc/permission-hardening.d/20_user.conf" or
|
||||
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
|
||||
## configuration. When security-misc is updated, this file may be overwritten.
|
||||
|
||||
## https://forums.whonix.org/t/restrict-root-access/7658/116
|
||||
## This restricts the file permissions of the sudo executable so that a vulnerability
|
||||
## in the program will not be exploitable by any users not in the "sudo" group. sudo
|
||||
## is a very complex program and is setuid so vulnerabilities in it can allow privilege
|
||||
## escalation, regardless of other root access restrictions. For example, the following
|
||||
## buffer overflow vulnerability could have been exploited by any user on the system:
|
||||
## https://www.openwall.com/lists/oss-security/2021/01/26/3
|
||||
## With this restriction, only users explicitly permitted to use sudo by being added to
|
||||
## the "sudo" group could exploit such vulnerabilities. For example, this would prevent a
|
||||
## compromised network-facing daemon (such as web servers, time synchronization daemons,
|
||||
## etc.) running as its own user from exploiting sudo to escalate privileges.
|
||||
#/usr/bin/sudo 4750 root sudo
|
||||
#/bin/sudo 4750 root sudo
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Please use "/etc/permission-hardening.d/20_user.conf" or
|
||||
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
|
||||
## configuration. When security-misc is updated, this file may be overwritten.
|
||||
|
||||
/usr/bin/bwrap exactwhitelist
|
||||
/bin/bwrap exactwhitelist
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Please use "/etc/permission-hardening.d/20_user.conf" or
|
||||
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
|
||||
## configuration. When security-misc is updated, this file may be overwritten.
|
||||
|
||||
/usr/lib/chromium/chrome-sandbox exactwhitelist
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Please use "/etc/permission-hardening.d/20_user.conf" or
|
||||
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
|
||||
## configuration. When security-misc is updated, this file may be overwritten.
|
||||
|
||||
dbus-daemon-launch-helper matchwhitelist
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Please use "/etc/permission-hardening.d/20_user.conf" or
|
||||
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
|
||||
## configuration. When security-misc is updated, this file may be overwritten.
|
||||
|
||||
## There is a controversy about firejail but those who choose to install it
|
||||
## should be able to use it.
|
||||
## https://www.whonix.org/wiki/Dev/Firejail#Security
|
||||
/usr/bin/firejail exactwhitelist
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Please use "/etc/permission-hardening.d/20_user.conf" or
|
||||
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
|
||||
## configuration. When security-misc is updated, this file may be overwritten.
|
||||
|
||||
## required for AppImages such as electrum Bitcoin wallet
|
||||
## https://forums.whonix.org/t/disable-suid-binaries/7706/57
|
||||
/fusermount matchwhitelist
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Please use "/etc/permission-hardening.d/20_user.conf" or
|
||||
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
|
||||
## configuration. When security-misc is updated, this file may be overwritten.
|
||||
|
||||
## https://forums.whonix.org/t/disable-suid-binaries/7706/61
|
||||
## Protect from 'chmod -x' (and SUID removal).
|
||||
## SUID will be removed below in separate step.
|
||||
/bin/mount exactwhitelist
|
||||
/usr/bin/mount exactwhitelist
|
||||
|
||||
## Remove SUID from 'mount' but keep executable.
|
||||
## https://forums.whonix.org/t/disable-suid-binaries/7706/61
|
||||
/bin/mount 745 root root
|
||||
/usr/bin/mount 745 root root
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Please use "/etc/permission-hardening.d/20_user.conf" or
|
||||
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
|
||||
## configuration. When security-misc is updated, this file may be overwritten.
|
||||
|
||||
/usr/bin/pkexec exactwhitelist
|
||||
/bin/pkexec exactwhitelist
|
||||
/usr/bin/pkexec.security-misc-orig exactwhitelist
|
||||
/bin/pkexec.security-misc-orig exactwhitelist
|
||||
|
||||
## TODO: research
|
||||
## match both:
|
||||
#/usr/lib/policykit-1/polkit-agent-helper-1 matchwhitelist
|
||||
#/lib/policykit-1/polkit-agent-helper-1
|
||||
polkit-agent-helper-1 matchwhitelist
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Please use "/etc/permission-hardening.d/20_user.conf" or
|
||||
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
|
||||
## configuration. When security-misc is updated, this file may be overwritten.
|
||||
|
||||
## TODO: research
|
||||
## https://github.com/QubesOS/qubes-core-agent-linux/blob/master/qubes-rpc/qfile-unpacker.c
|
||||
## match both:
|
||||
#/usr/lib/qubes/qfile-unpacker whitelist
|
||||
#/lib/qubes/qfile-unpacker
|
||||
/qubes/qfile-unpacker matchwhitelist
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Please use "/etc/permission-hardening.d/20_user.conf" or
|
||||
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
|
||||
## configuration. When security-misc is updated, this file may be overwritten.
|
||||
|
||||
/utempter/utempter matchwhitelist
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Please use "/etc/permission-hardening.d/20_user.conf" or
|
||||
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
|
||||
## configuration. When security-misc is updated, this file may be overwritten.
|
||||
|
||||
/usr/lib/spice-gtk/spice-client-glib-usb-acl-helper exactwhitelist
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Please use "/etc/permission-hardening.d/20_user.conf" or
|
||||
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
|
||||
## configuration. When security-misc is updated, this file may be overwritten.
|
||||
|
||||
/usr/bin/sudo exactwhitelist
|
||||
/bin/sudo exactwhitelist
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Please use "/etc/permission-hardening.d/20_user.conf" or
|
||||
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
|
||||
## configuration. When security-misc is updated, this file may be overwritten.
|
||||
|
||||
## required for performing password validation from unprivileged user
|
||||
## processes such as KScreenLocker's unlock prompt
|
||||
/usr/sbin/unix_chkpwd exactwhitelist
|
||||
/sbin/unix_chkpwd exactwhitelist
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
## Copyright (C) 2012 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Please use "/etc/permission-hardening.d/20_user.conf" or
|
||||
## "/usr/local/etc/permission-hardening.d/20_user.conf" for your custom
|
||||
## configuration. When security-misc is updated, this file may be overwritten.
|
||||
|
||||
## TODO: research
|
||||
/usr/lib/virtualbox/ matchwhitelist
|
||||
11
etc/profile.d/30_security-misc.sh#security-misc-shared
Executable file
11
etc/profile.d/30_security-misc.sh#security-misc-shared
Executable file
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
|
||||
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
if [ -z "$XDG_CONFIG_DIRS" ]; then
|
||||
XDG_CONFIG_DIRS="/etc:/etc/xdg:/usr/share"
|
||||
fi
|
||||
if ! printf '%s\n' "$XDG_CONFIG_DIRS" | grep -- "/usr/share/security-misc/" >/dev/null 2>/dev/null ; then
|
||||
export XDG_CONFIG_DIRS="/usr/share/security-misc/:$XDG_CONFIG_DIRS"
|
||||
fi
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
# /etc/securetty: list of terminals on which root is allowed to login.
|
||||
# See securetty(5) and login(1).
|
||||
5
etc/securetty.security-misc#security-misc-shared
Normal file
5
etc/securetty.security-misc#security-misc-shared
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
# /etc/securetty: list of terminals on which root is allowed to login.
|
||||
# See securetty(5) and login(1).
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
## Copyright (C) 2025 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## Please use "/etc/security-misc/emerg-shutdown/50_user.conf" or
|
||||
## "/usr/local/etc/security-misc/emerg-shutdown/50_user.conf"
|
||||
## for your custom configuration, which will override the defaults found here.
|
||||
## When Kicksecure is updated, this file may be overwritten.
|
||||
|
||||
## Set the key combo for forcing immediate shutdown. See the "Keys and
|
||||
## buttons" section of "/usr/include/linux/input-event-codes.h" for possibly
|
||||
## supported values. Not all keys are supported.
|
||||
##
|
||||
## All specified keys must be depressed at the same time to trigger a
|
||||
## shutdown. Use a comma (",") to separate keys. If you want to alias certain
|
||||
## keys to each other from emerg-shutdown's standpoint, use a pipe
|
||||
## character("|").
|
||||
##
|
||||
## The default key sequence triggers a shutdown when Ctrl+Alt+Delete is
|
||||
## pressed, allowing the use of either the left or right Ctrl and Alt keys.
|
||||
EMERG_SHUTDOWN_KEYS="KEY_LEFTCTRL|KEY_RIGHTCTRL,KEY_LEFTALT|KEY_RIGHTALT,KEY_END"
|
||||
|
||||
## Set the maximum number of seconds shutdown can take. If shutdown gets stuck
|
||||
## for longer than this, the system will forcibly power down.
|
||||
##
|
||||
## NOTE: This requires ensure-shutdown.service and
|
||||
## ensure-shutdown-trigger.service to be enabled, which is not done by
|
||||
## default. Enabling ensure-shutdown.service will cause shutdown to always
|
||||
## take at least as long as systemd's DefaultTimeoutStopSec (which by default
|
||||
## is 90 seconds). If you are going to enable ensure-shutdown.service, it is
|
||||
## highly recommended to set DefaultTimeoutStopSec to a much smaller value,
|
||||
## such as 5 seconds. The maximum shutdown time set here should be at least 10
|
||||
## seconds *longer* than DefaultTimeoutStopSec, to give normal shutdown a
|
||||
## chance to actually succeed before forcibly shutting down the system.
|
||||
ENSURE_SHUTDOWN_TIMEOUT=30
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
## Copyright (C) 2019 - 2022 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
|
||||
## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
## To enable root login, see:
|
||||
## https://www.whonix.org/wiki/Root#Root_Login
|
||||
## https://www.kicksecure.com/wiki/Root#Root_Login
|
||||
|
||||
## Console Lockdown
|
||||
## https://forums.whonix.org/t/etc-security-hardening/8592
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
+:(console):console tty1 tty2 tty3 tty4 tty5 tty6 tty7 pts/0 pts/1 pts/2 pts/3 pts/4 pts/5 pts/6 pts/7 pts/8 pts/9 hvc0 hvc1 hvc2 hvc3 hvc4 hvc5 hvc6 hvc7 hvc8 hvc9 ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ttyS5 ttyS6 ttyS7 ttyS8 ttyS9
|
||||
|
||||
## Same as above also for members of group `sudo`.
|
||||
## https://github.com/Whonix/security-misc/pull/74#issuecomment-607748407
|
||||
## https://github.com/Kicksecure/security-misc/pull/74#issuecomment-607748407
|
||||
+:(sudo):console tty1 tty2 tty3 tty4 tty5 tty6 tty7 pts/0 pts/1 pts/2 pts/3 pts/4 pts/5 pts/6 pts/7 pts/8 pts/9 hvc0 hvc1 hvc2 hvc3 hvc4 hvc5 hvc6 hvc7 hvc8 hvc9 ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ttyS5 ttyS6 ttyS7 ttyS8 ttyS9
|
||||
|
||||
## Everyone else except members of group 'console-unrestricted'
|
||||
|
|
@ -1,9 +1,12 @@
|
|||
## Copyright (C) 2021 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
|
||||
## See the file COPYING for copying conditions.
|
||||
|
||||
# Configuration for locking the user after multiple failed
|
||||
# authentication attempts.
|
||||
#
|
||||
# The directory where the user files with the failure records are kept.
|
||||
# The default is /var/run/faillock.
|
||||
# dir = /var/run/faillock
|
||||
dir = /var/lib/security-misc/faillock
|
||||
#
|
||||
# Will log the user name into the system log if the user is not found.
|
||||
# Enabled if option is present.
|
||||
|
|
@ -35,14 +38,19 @@ deny = 50
|
|||
# authentication failures must happen for the user account
|
||||
# lock out is <replaceable>n</replaceable> seconds.
|
||||
# The default is 900 (15 minutes).
|
||||
# fail_interval = 900
|
||||
# security-misc note: the interval should be set to infinity if possible,
|
||||
# however pam_faillock arbitrarily limits this variable to a maximum of 604800
|
||||
# seconds (7 days). See
|
||||
# https://github.com/linux-pam/linux-pam/blob/539816e4a0a277dbb632412be91e482fff9d9d09/modules/pam_faillock/faillock_config.h#L59
|
||||
# for details. Therefore we set this to the maximum allowable value of 7 days.
|
||||
fail_interval = 604800
|
||||
#
|
||||
# The access will be re-enabled after n seconds after the lock out.
|
||||
# The value 0 has the same meaning as value `never` - the access
|
||||
# will not be re-enabled without resetting the faillock
|
||||
# entries by the `faillock` command.
|
||||
# The default is 600 (10 minutes).
|
||||
# unlock_time = 600
|
||||
unlock_time = never
|
||||
#
|
||||
# Root account can become locked as well as regular accounts.
|
||||
# Enabled if option is present.
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue