sks-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Sks-devel] status pages on sks-keyservers.net


From: Phil Pennock
Subject: Re: [Sks-devel] status pages on sks-keyservers.net
Date: Sat, 23 Mar 2013 19:40:32 -0400

On 2013-03-23 at 15:54 +0100, Michael Nausch wrote:
> My keyserver
> http://sks-keyservers.net/status/info/keyserver.nausch.org is listed
> with some strange datas.

You might want to read:

  http://www.sks-keyservers.net/overview-of-pools.php

to get an idea of the pools being constructed from this data.

>  - Hostname is O.K.
>  - IPv6     is O.K. maked with color red - I'm fighting with my ISP
>                     about a dualstack-connection on my business
>                     connection. :/
>  - RProx    ???     whats that? reverseproxy? 

Yes.  Bear in mind that SKS is single-threaded non-forking.  One slow
client connection will tie up SKS so that it can't handle the next
client.  Best practice is to make SKS listen to localhost:11371 and then
use a reverse proxy in front of it.

You might want to read through:

  https://bitbucket.org/skskeyserver/sks-keyserver/wiki/Peering

>  - Port 80  it's colord false with red, 'cause you can reach my server
>                     http://keyserver.nausch.org as you can reach it as
>                     http://keyserver.nausch.org:11371

As Christoph says, this is a vhost issue.  This works:
----------------------------8< cut here >8------------------------------
% telnet keyserver.nausch.org 80   
[...]
GET /pks/lookup?op=stats HTTP/1.0
Host: keyserver.nausch.org 
Connection: close

----------------------------8< cut here >8------------------------------

while if I supply a Host: header of "pool.sks-keyservers.net" then I get
a redirect to https, and if I retry with TLS on port 443, then I get a
404 Not Found.

>  - hkps     it's colord false with red, 'cause you can reach my server
>                     https://keyserver.nausch.org with root-certificates
>                     from http://www.cacert.org/index.php?id=3

So, that certificate is for "Subject: CN=*.nausch.org", and no
subjectAltNames are present.  When a client tries to connect to
hkps.pool.sks-keyservers.net, it is going to send the only trusted
hostname it has, "hkps.pool.sks-keyservers.net", and your certificate
will then fail validation.

There are two ways out of this:

 (1) Make DNSSEC a pre-requisite of ever being able to validate a pool
     hostname, chase DNSSEC-signed delegations, get a hostname under
     your control and use that (even if the hostname->IP resolution is
     unsigned).  It works, but means that all _clients_, not just
     servers, need to handle DNSSEC and DNSSEC validation.  That's an
     operationally hard issue to solve.

 (2) Make sure you have a certificate for the trusted hostname supplied
     by the client, in configuration.  So a certificate for
     "hkps.pool.sks-keyservers.net".

     With TLS SNI, you can have multiple different certificates on one
     IP address; we've worked with the GnuPG folks to make sure SNI gets
     sent, if the clients' libraries support SNI (OpenSSL, when cURL is
     linked against OpenSSL, is the main blocker, if the system has old
     OpenSSL libraries) and so it's just a matter of adding an extra
     certificate.

Look at: <http://www.sks-keyservers.net/overview-of-pools.php>
Read the section "hkps.pool.sks-keyservers.net".
Follow the instructions there to get a certificate from Kristian and
join us in providing clients with verifiable link-layer security to
public keyservers.  :)

PGP's self-signatures provide a level of object-level security which
means that, for PGP to work, link-layer security isn't strictly needed,
but having privacy on the wire to defeat analysis of whose keys you're
retrieving is a nice extra.

Oh, and continue to have a cert available for when the SNI says
"keyserver.nausch.org", because the gradual deployment of DNSSEC might
mean that at some point in the future, clients might chase delegations
and send the derived hostname.  If we have to come up with a solution to
the "problem" of deciding which of two trusted hostnames to support,
we'll already be wildly succeeding and that will be a nice problem to
have.

-Phil



reply via email to

[Prev in Thread] Current Thread [Next in Thread]