Access key module
Cliff Wells
cliff at develix.com
Mon Dec 31 02:48:12 MSK 2007
On Sun, 2007-12-30 at 16:41 +0100, Manlio Perillo wrote:
> Cliff Wells ha scritto:
> > 1) A secure, centralized place (RCS system or even just tarballs) to
> > download from (wiki is too open: even links to outside source code make
> > me nervous since they could be altered by a malicious editor to lead to
> > poisoned source code).
> >
>
> Each developer should sign his module source distribution with PGP.
But if this is linked to from the wiki, then it does little good. All a
malicious person needs to do is sign their poisoned source with PGP as
well, either on the wiki or on a fake module page they substitute for
the real one.
> Moreover, each developer should have his key signed by a "master key"
> (Igor?) so that nginx core can verify the external module during
> configuration.
This would be better, but seems more complicated than need be (at least
initially). All we really need for the moment is a place where not just
any anonymous user who creates a wiki account can change where source
code is available from.
> But none of the open source projects I know with support to external
> modules do such a thing... (signing and verification is done at
> "Distribution" level, like Debian).
Sure, but a lot of people are using source rather than distro tools to
install Nginx, so I don't think counting on this is safe. Plus, a lot
of OSS projects do exactly this: usually it's a "contrib" directory in
the source distribution or RCS tree. With Nginx we don't have the main
source tree hosted in RCS, so it's a bit different, but the concept is
similar.
This actually brings up another thought: perhaps we should start an RCS
tree for Nginx. We don't actually need Igor to use it (I'm sure he has
his own tools and methods and I don't want to interrupt that): diffs can
be generated automatically from the tarball Igor provides. Of course,
we lose revision comments (assuming there are any), but we would at
least have a public history and a place to provide downstream patches
against (i.e. adding the ability to automatically pull 3rd party modules
into the build process).
> Adding a RCS system can be too hard to handle, altough a distribuited
> revision system can help (and some of them permits to sign each revision).
Not sure why this would be hard. Have current module developers vote on
a preferred RCS and use it. And I agree that a distributed system (such
as git) would be a good choice.
> > 2) Issue tracking. Might be handy for module authors to not have to
> > maintain their own Trac (or whatever) instance.
> >
>
> Yes, this can be very helpful.
> But it is always possible to use Google Code or some other projects hosting.
Sure, but it doesn't solve the problem of creating a trusted code
repository. Remember, the problem isn't how people are storing their
code: it's how others *get* to that code. If they follow a link from a
wiki, then there's the potential that they are not going to a legitimate
site.
> > 3) Perhaps adding some feature to the Nginx build process that allowed
> > 3rd party modules to be easily downloaded and installed (from site
> > listed in item 1) via configure/make flags (or is this just wishful
> > thinking?).
> >
>
> I don't think this is a priority.
Well, nothing is a priority until it's a problem =) We've gone from
having zero 3rd party modules to nearly a dozen in just a few months.
It would be nice to get something in place while it's still a manageable
task.
Regards,
Cliff
More information about the nginx
mailing list