1 |
Hi, |
2 |
|
3 |
I wonder how would the local changes to ebuilds be handled ? |
4 |
Currently it's possible to change ebuild, do "ebuild package.ebuild |
5 |
manifest" and emerge package - will this still be supported ? |
6 |
|
7 |
If not, would there be any plans for a tool for creating trusted local |
8 |
overlays ? |
9 |
|
10 |
This feature is useful when fixing ebuilds or adding new versions by |
11 |
copying existing ones locally. |
12 |
|
13 |
Best regards, |
14 |
Mariusz Ceier |
15 |
|
16 |
|
17 |
On 2 July 2018 at 17:36, Jason A. Donenfeld <zx2c4@g.o> wrote: |
18 |
> Hey guys, |
19 |
> |
20 |
> While our infrastructure team has some nice technical competence, the |
21 |
> recent disaster and ongoing embarrassing aftermath has made ever more |
22 |
> urgent the need to have end-to-end signatures between developers and |
23 |
> users. While the infrastructure team seems fairly impressive at |
24 |
> deploying services and keeping the house running smoothly, I'd rather |
25 |
> we don't place additional burden on them to do everything they're |
26 |
> doing securely. Specifically, I'd like to ensure that 100% of Gentoo's |
27 |
> infrastructure can be hacked, yet not backdoor a single witting user |
28 |
> of the portage tree. Right now, as it stands, rsync distributes |
29 |
> signatures to users that are derived from some |
30 |
> infrastructure-controlled keys, not from the developers themselves. |
31 |
> |
32 |
> Proposal: |
33 |
> - Sign every file in the portage tree so that it has a corresponding |
34 |
> .asc. Repoman will need support for this. |
35 |
> - Ensure the naming scheme of portage files is sufficiently strict, so |
36 |
> that renaming or re-parenting signed files doesn't result in RCE. [*] |
37 |
> - Distribute said .asc files with rsync per usual. |
38 |
> - Never rsync into the /usr/portage directory, but rather into an |
39 |
> unused shadow directory, and only copy files from the shadow directory |
40 |
> into /usr/portage after verification succeeds. (The fact that those |
41 |
> files are visible to portage prior to verification and following a |
42 |
> failed verification is a shameful oversight of the current system.) |
43 |
> - Have verification use a keyring of all Gentoo developers, with a |
44 |
> manual prompt to add new Gentoo developers to it. |
45 |
> - Eventually acquire (sponsors?) nitrokeys/yubikeys for all |
46 |
> developers, and mandate everyone stores their Gentoo key material in |
47 |
> there exclusively. |
48 |
> |
49 |
> This is very similar to what Arch Linux is doing, and AFAIK, it works |
50 |
> well there. I'm sure this list will want to bikeshed over the |
51 |
> particulars of the implementation, but the two design goals from this |
52 |
> are: |
53 |
> |
54 |
> - Signatures are made by developers, not by infra. |
55 |
> - Portage doesn't see any files that haven't yet been verified. |
56 |
> |
57 |
> Regarding the [*] comment above about the directory tree. There might |
58 |
> be more clever ways of handling this, like having the last developer |
59 |
> who modified the tree compute some kind of holistic signature, in |
60 |
> addition to each of the individual ones. Or, perhaps, this is the one |
61 |
> place where we would consider relying on infrakeys, provided portage |
62 |
> isn't victim to clever RCE by rearrangement. Other attacks include, of |
63 |
> course, downgrades and DoS. |
64 |
> |
65 |
> Hopefully we can move Gentoo's portage tree security up to modern |
66 |
> security expectations, and no longer be forced to trust vulnerable |
67 |
> sitting-duck infra machines for our signatures. |
68 |
> |
69 |
> Jason |
70 |
> |