This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Building consensus over DNSSEC enhancements to glibc.


On 11/17/2015 12:55 AM, Paul Wouters wrote:
>> Optionally NetworkManager via resolvconf (coordinating
>> /etc/resolv.conf changes) could set the option if only one insecure
>> public network was connected to the system.
> 
> So indeed, this is an insecure solution. One write to
> /etc/resolv.conf and all trusted applications are compromised.
> Applications like gpg or ssh or openpgpkey-milter or even browsers
> checking TLSA records should not bet their security on this.

A system configuration is as secure as the servers in the trusted
/etc/resolv.conf file. If you want secure DNSSEC then set /etc/resolv.conf
to unwritable by SELinux, and add trusted DNS servers, or set the option
to strip the AD-bit.

> If that is the only API to be offered, I recommend we patch the
> applications with the "postfix method" instead and for now limit
> ourselves with dnssec only if localhost is specified in resolv.conf.

Why? It will never be enough to guarantee what you want. Such a check
is only a heuristic. 

If you want something more sane we could make a synthetic hwcap bit
like we did for Xen's "nosegneg" and use that to alter the behaviour
of the stub resolver. This gives you something which would allow you
to lock down the called recursive resolver from the very first userspace
process. It could also be disabled on a per-process basis if you had
a kernel interface for it. We have also had a thread local storage
synthetic hwcap bit when we transitioned to using that feature, so
there is some precedent.

So you'd have:

(a) New synthetic hwcap bit "local-validating-resolver" which forces
    glibc to only talk to 127.0.0.1 from the very first userspace process.

(b) New options flag "dns-strip-dnssec-ad-bit" which forces glibc to
    remove AD-bit data.

Mix-and-match.

Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]