On Fri, Mar 26, 2010 at 12:22 AM, Daniel Pittman <dan...@rimspace.net> wrote:
> G'day.
>
> One of the current problems we face with our puppet network, and about which
> I would like to solicit opinions, is the distribution of secret keys for
> (mostly) SSL secured services.
>
> The most pressing example of this is that for reasons of availability want to
> process SSL on multiple machines for a single certificate.  The same issue
> applies to a wide range of internal and public services, though, where we need
> to distribute key material.[1]
>
>
> The prospect of putting the secret key into our revision control system has
> ... well, little appeal is probably being fair: we could certainly do it, but
> it suddenly means that a whole bunch of extra data has to be treated as high
> security rather than low security.[2]

What about keeping encrypted versions of the key in your revision
control system, and then writing a function for the puppet servers
that decrypts them using a key that you need to distribute out of band
to your puppet servers?

You'd still be sending the unencrypted data across, but this should be
a secured connection, and it will end up in your client catalogs, but
they should be protected just as much as the data on the client disk
would be.



>
>
> On the other hand, it would be good if a trusted agent like puppet can be
> configured to automatically bring up nodes that run secure services from
> scratch with no human intervention involved.  That helps with availability,
> as well as security issues like key rollover.
>
>
> On the gripping hand, I mistrust human involvement: if I have to give *people*
> (including me) access to the key material, rather than software, I have a
> whole set of less trustworthy and reliable agents handling it.
>
>
> So, on the whole my feeling is that an automatic "key distribution service"
> that was accessible to puppet but (mostly) not to people would be ideal.
>
> I also feel that it would be ideal to keep that service distinct from our
> standard puppet Subversion repository, to keep the need for security
> boundaries small.
>
>
> I am interested here in other views on my assessment of the problem, and in
> pointers to practical tools used to solve the problem.
>
>        Daniel
>
> Oh, and at the moment I am considering the puppet client/server protocol
> trustworthy enough to enforce access control to the key material. :)
>
>
> Footnotes:
> [1]  Generally, key material where we don't require a passphrase to unlock
>     before use, because we have made the availability/security decision based
>     on our business needs.
>
> [2]  ...well, technically "medium grade" security, since at present reading
>     our puppet manifests is worth little to an attacker, but writing to them
>     is valuable.  So, we protect writes heavily but don't worry too much
>     about, for example, a backup of the VCS repository they live in.
>
> --
> ✣ Daniel Pittman            ✉ dan...@rimspace.net            ☎ +61 401 155 707
>               ♽ made with 100 percent post-consumer electrons
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Puppet Users" group.
> To post to this group, send email to puppet-us...@googlegroups.com.
> To unsubscribe from this group, send email to 
> puppet-users+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/puppet-users?hl=en.
>
>



-- 
nigel

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to