Generieren von Server- und Client-Zertifikaten mit mehreren Hostnamen

Generieren von Server- und Client-Zertifikaten mit mehreren Hostnamen

Wenn ich meinen Puppet Master zum ersten Mal starte, generiert er automatisch sein eigenes Serverzertifikat, was großartig ist.

Der Hostname meines Servers ist kungfumasterund der Puppet Master generiert ein Zertifikat mit dem allgemeinen Namen:

kungfumaster.mynetwork.com

Außerdem werden die folgenden alternativen DNS-Namen als Betreff hinzugefügt:

X509v3 Subject Alternative Name:
    DNS:kungfumaster.mynetwork.com, DNS:puppet, DNS:puppet.mynetwork.com

Ich weiß nicht genau, wie es herausgefunden hat, dass diese Domäne in liegt mynetwork.com, aber es ist so, da hostnameder FQDN bei keiner Parameterkonfiguration preisgegeben wird.

Der einzige Name, der anscheinend übersehen wurde, ist der unqualifizierte Hostname . Interessanterweise wurde für und kungfumastereine Domäne angehängt , aber bequemerweise wurde übersprungen .puppetpuppet.mynetwork.comkungfumaster

Wie erstelle ich in meinem Startskript für Puppet Master das Serverzertifikat ordnungsgemäß, d. h. mit allen erforderlichen DNS-Namen?

Antwort1

Bevor Sie irgendetwas ausführen, verwenden Sie das puppet certTool, um Zertifikatsnamen mit einer angegebenen Liste alternativer DNS-Namen zu generieren:

puppet cert generate --dns_alt_names \
    kungfumaster,kungfumaster.mynetwork.com kungfumaster

Wenn Sie bereits eines generiert haben, bereinigen Sie es:

puppet cert clean -a

Ich muss noch herausfinden, woher es meine Zoneninformationen kennt, aber das ist eine andere Frage.

verwandte Informationen