Hi,

I wonder how would the local changes to ebuilds be handled ?
Currently it's possible to change ebuild, do "ebuild package.ebuild
manifest" and emerge package - will this still be supported ?

If not, would there be any plans for a tool for creating trusted local
overlays ?

This feature is useful when fixing ebuilds or adding new versions by
copying existing ones locally.

Best regards,
Mariusz Ceier


On 2 July 2018 at 17:36, Jason A. Donenfeld <zx...@gentoo.org> wrote:
> Hey guys,
>
> While our infrastructure team has some nice technical competence, the
> recent disaster and ongoing embarrassing aftermath has made ever more
> urgent the need to have end-to-end signatures between developers and
> users. While the infrastructure team seems fairly impressive at
> deploying services and keeping the house running smoothly, I'd rather
> we don't place additional burden on them to do everything they're
> doing securely. Specifically, I'd like to ensure that 100% of Gentoo's
> infrastructure can be hacked, yet not backdoor a single witting user
> of the portage tree. Right now, as it stands, rsync distributes
> signatures to users that are derived from some
> infrastructure-controlled keys, not from the developers themselves.
>
> Proposal:
> - Sign every file in the portage tree so that it has a corresponding
> .asc. Repoman will need support for this.
> - Ensure the naming scheme of portage files is sufficiently strict, so
> that renaming or re-parenting signed files doesn't result in RCE. [*]
> - Distribute said .asc files with rsync per usual.
> - Never rsync into the /usr/portage directory, but rather into an
> unused shadow directory, and only copy files from the shadow directory
> into /usr/portage after verification succeeds. (The fact that those
> files are visible to portage prior to verification and following a
> failed verification is a shameful oversight of the current system.)
> - Have verification use a keyring of all Gentoo developers, with a
> manual prompt to add new Gentoo developers to it.
> - Eventually acquire (sponsors?) nitrokeys/yubikeys for all
> developers, and mandate everyone stores their Gentoo key material in
> there exclusively.
>
> This is very similar to what Arch Linux is doing, and AFAIK, it works
> well there. I'm sure this list will want to bikeshed over the
> particulars of the implementation, but the two design goals from this
> are:
>
> - Signatures are made by developers, not by infra.
> - Portage doesn't see any files that haven't yet been verified.
>
> Regarding the [*] comment above about the directory tree. There might
> be more clever ways of handling this, like having the last developer
> who modified the tree compute some kind of holistic signature, in
> addition to each of the individual ones. Or, perhaps, this is the one
> place where we would consider relying on infrakeys, provided portage
> isn't victim to clever RCE by rearrangement. Other attacks include, of
> course, downgrades and DoS.
>
> Hopefully we can move Gentoo's portage tree security up to modern
> security expectations, and no longer be forced to trust vulnerable
> sitting-duck infra machines for our signatures.
>
> Jason
>

Reply via email to