Insecure Puppet Design Patterns Update

Page content

Per my previous post, that I explained the security issue relation to using facts. A colleague of mine has found out that you can’t even trust $clientcert.

Due to this I have wrote the function below to allow you to get the actual CertName, that has been validated against the certificate.

module Puppet::Parser::Functions
newfunction(:certcheck, :type => :rvalue, :doc => <<-EOS
    Returns the actual certname
    EOS
    ) do |arguments|
    return host
  end
end

This allows you to use the following Puppet code to get a variable that you can trust to identify the Puppet agent.

$actualyclientcert = certcheck()