The CA pub keys should be deployed to the agent as part of the
provisioning process. This is no different than how your browser trust
a well known certificate signing authority, it has to be deployed to
the client in advance. Ideally, roll it into a package and generate it
with a sufficiently long TTL.
> We would like a system which could not be compromised by the removal
> of a file from a client coupled with a man-in-the-middle attack. Does
> anyone know of any magic "force secure connections" options or
> similar?
Man in the middle in itself doesn't pose an issue, however if the
attacker have access to the agent system to replace the entire ssl
directory, I think you have bigger problem on your hand, and it's not
something certificates were designed to protect you against. This is
no different then asking the question, if someone replaced my web
browser certificate trust and hijacks my DNS, how do I know he's not
acting as man in a middle as my bank's website?
Thanks,
Nan
Not a Puppet/Webrick/Apache fix but it is a secondary way at least to provide added assurance that the certificate received won't be accidentally (or perhaps purposely) updated/replaced/removed without someone's knowledge or effort prior.
-Mark
> --
> You received this message because you are subscribed to the Google Groups "Puppet Users" group.
> To post to this group, send email to puppet...@googlegroups.com.
> To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
>
For me this was a problem rather than a feature and the problem was
mainly because nginx (version < 1.0.0) did not support optional ssl
client verification as Apache does. With nginx 1.0.5 I can set
ssl_verify_client to optional and now my new clients get signed as
expected. SInce all my clients are in the local LAN or connected via
VPN I think I can dismiss the middle in the man security problem.
regards,
Horacio
For what is worth, this specific feature was added in Nginx 0.8.7 then
backported a little bit after into 0.7.63 (circa Oct 2009).
I do know this well because I wrote the patch so that we could support
puppet clients with nginx without resorting to using a different port
for CA :)
--
Brice Figureau
My Blog: http://www.masterzen.fr/
To clarify, puppet will verify the agent and master certificates
against the CA cert. So I think your focus is on the CA cert. If you
distribute the CA as part of the puppet install, it should resolve
this issue. Make the CA file immutable as Mark has suggested. If you
want to take it one step further, maybe a feature request so puppet
agent doesn't request the CA, maybe something like an option
:disable_cacert_download.
In order to verify the CA cert up some chain, it only make sense if
it's not self signed (and I don't believe puppet cert will generate
anything other than a self signed CA), so we need to know what to
verify it against. Are you planning to have a third party like
Verisign/Thawte sign the CA cert?
Thanks,
Nan