Lets Encrypt Zertifikat auf PaloAlto Firewall hochladen

Ich nutze seit es möglich ist die kostenlose Zertifikate von Let's Encrypt mittels eines Update-Scripts welches per dns-01 challenge dieses regelmäßig aktualisiert und für die WAF meiner Sophos UTM aktualisiert.

Um diese auch auf einer PaloAlto zu nutzen bedarf es nur weniger Schritte da man hier problemlos per curl & API zugreifen kann.

Zunächst generieren wir einen API Key für den Zugriff auf die PaloAlto (Link zur PA Knowledge Base) in meinem Beispiel die Management IP der PA Appliance etwa 192.168.1.1 und User "admin" mit dem Passwort "test".

curl -k -X GET "https://192.168.1.1/api/?type=keygen&user=admin&password=test"

nun bekommen wir einen längeren Text String welches den API Key darstellt. Diesen notieren.

folgenden curl Aufruf müssen wir innerhalb eines vorhanden Scripts ausführen um ein Lets Encrypt Zertifikat hochzuladen. Wählt man den vorhandenen Namen wird das alte Zertifikat in der PA überschrieben

curl -k --form [email protected] "https://192.168.1.1/api/?type=import&category=keypair&certificate-name=BuscheLE&format=pkcs12&pem&passphrase=ben&key=hierkommtderAPIkeyrein"

jetzt ist das Zertifikat in der "candidate configuration". Muss also noch "commited" werden damit es aktiv wird. Also einen zusätzlichen Aufruf in das Script:

curl -k -X GET "https://192.168.1.1//api/?type=commit&cmd=<commit></commit>&key=hierkommtderAPIkeyrein"

Wichtig: Das Letsencrypt Certifikat muss vorher manuell über die GUI in der PA unter dem selben Namen (etwa BuscheLE) importiert werden. Ansonsten lässt es sich nicht als Decrypt Cert auswählen!

UPDATE: man muss als category "keypair" angeben, sonst klappt es mit dem Certificate nicht. (category=certificate). Ich habe es in dem Muster oben bereits geändert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

WordPress Appliance - Powered by TurnKey Linux