Nur wenige Dinge ändern sich schneller als die Technologie, und insbesondere DevOps befindet sich auf der Höhe der Zeit, was Innovation und Automatisierung angeht.
DevOps bezieht sich auf Tools und bewährte Verfahren, die eine effizientere software Bereitstellung ermöglichen. DevOps hat sich aus der beliebten Agile-Methode entwickelt und konzentriert sich auf Automatisierung, Standardisierung und schnelle Iteration, um den software Lebenszyklus zu rationalisieren.
Ein wichtiger Bestandteil von DevOps ist die Public Key Infrastructure (PKI). Um die Vorschriften einzuhalten, sensible Informationen unter Verschluss zu halten und die Sicherheit aufrechtzuerhalten, müssen die Arbeitsumgebungen auf einer robusten PKI.
PKI-Tools haben jedoch nicht mit dem Tempo der Entwicklung im DevOps-Bereich Schritt gehalten, was sowohl eine Herausforderung als auch eine Chance darstellt.
Die Anwendungs- und Betriebsteams von heute müssen schnell agieren, auf jeder Plattform arbeiten und alles automatisieren. Entwickler können jedoch nicht schnell arbeiten oder agil sein, wenn sie ständig durch die archaischen, manuellen Sicherheitsprozesse bei der Verwendung herkömmlicher PKI-Tools aufgehalten werden.
Dieses Problem kann gar nicht hoch genug eingeschätzt werden. Wenn Entwickler routinemäßig mit PKI-Werkzeugen arbeiten, die es unmöglich machen, enge Fristen einzuhalten, werden sie schnellere, nicht konforme Wege finden, um Zertifikate zu erhalten. Anders ausgedrückt: Automatisierung ist bei der Bereitstellung und Verwendung von PKI in DevOps nicht optional.
Das Team von Keyfactor hat dieses Thema kürzlich in einem Webinar aufgegriffen und die Tools und Best Practices erörtert, die DevOps-Teams zur Vereinfachung und Skalierung von PKI einsetzen können.
Wie PKI in CI/CD-Umgebungen eingesetzt wird
Bei der Verwendung von PKI in Kontexten der kontinuierlichen Integration/kontinuierlichen Bereitstellung (CI/CD) dreht sich alles um Vertrauen. Wenn Sie Anwendungen entwickeln und bereitstellen, müssen Sie sich darauf verlassen können, dass die von Ihnen verwendete Infrastruktur und die von Ihnen bereitgestellte software vertrauenswürdig sind.
Mit PKI on Demand ist dies viel einfacher zu erreichen. Wie jeder andere On-Demand-Service bedeutet PKI on Demand, dass Sie die Ausstellung, den Entzug und die Verwaltung von Zertifikaten dynamisch skalieren können. Wenn Sie in fortschrittlichen, sich schnell verändernden Umgebungen arbeiten, die für moderne DevOps charakteristisch sind, könnte diese Flexibilität und Anpassungsfähigkeit nicht wichtiger sein.
Um die Bedeutung von PKI on Demand zu verstehen, ist es hilfreich, sich die spezifischen Anwendungsfälle vor Augen zu führen, in denen PKI erforderlich sein könnte. Hier sind ein paar solcher Anwendungsfälle:
- Ausstellung von Gerätezertifizierungen für die 802.1x-Authentifizierung in einem Netzwerk
- WiFi-Zertifikate für Geräte, z. B. in einer Fabrik oder im Internet der Dinge (IoT) Anwendung.
- Signieren von Code oder Zeitstempelung von Code
Digitale Zertifikate sind das Rückgrat der PKI, so dass diese Art der Zertifikatsverwaltung absolut unerlässlich ist. Eine Möglichkeit zur schnellen und effizienten Handhabung der Gerätezertifizierung ist ein zentraler Bestandteil des sicheren Betriebs, aber Sie müssen auch in der Lage sein, zu zeigen, wie Geräte validiert und zertifiziert werden, um zu beweisen, dass Ihre Sicherheit den erforderlichen Standards entspricht. Dies gilt insbesondere, wenn Sie mit staatlichen Aufträgen oder geheimen Daten arbeiten wollen.
Die Bedeutung der Automatisierung bei DevOps
Wir haben eingangs festgestellt, dass Automatisierung bei der Verwaltung von PKI für DevOps nicht optional ist. DevOps und Automatisierung gehen Hand in Hand, denn zusammen schaffen sie zwei Dinge, die Teams brauchen: Geschwindigkeit und Konsistenz.
Im Grunde bedeutet DevOps eine Abkehr von der statischen Konfiguration. Während in der Vergangenheit Prozesse wie die Code-Integration manuell durchgeführt und nur im Falle eines signifikanten Problems wieder aufgegriffen wurden, werden sie bei modernen DevOps in Skripten definiert. Wenn ein Prozess in einem Skript definiert ist, wird er automatisiert und wiederholbar, und das wiederum macht ihn zuverlässig (weil das Skript immer auf die gleiche Weise ausgeführt wird) und skalierbar (weil es immer möglich ist, die Rechenressourcen zu erhöhen, während eine Erhöhung der menschlichen Zeit viel schwieriger ist). Wenn Skripte richtig eingesetzt werden, sind sie modular und wiederverwendbar, was das Testen, Ändern und Warten Ihrer Codebasis erleichtert.
Um jedoch die Umgebung zu sichern, in der diese Skripte geschrieben und ausgeführt werden, muss DevOps auf PKI zurückgreifen. Dies stellt einen erheblichen Engpass im DevOps-Workflow dar, da die vorhandene Suite von PKI-Tools manuell, langsam und konfigurationsintensiv ist.
Die Microsoft-Zertifizierungsstelle (CA) ist ein gutes Beispiel. Eine CA ist für die Zuweisung digitaler Zertifikate an Geräte, Websites, Personen und andere Einrichtungen zuständig.
Microsoft CA hat erhebliche Nachteile, die sie für moderne DevOps-Umgebungen ungeeignet machen: Sie ist stark von der Microsoft-Infrastruktur abhängig, Teams müssen jedes Mal einen neuen Server bereitstellen, wenn sie eine neue CA benötigen, und wichtige Aufgaben wie die CA-Bereitstellung lassen sich nicht einfach automatisieren. Wie die meisten anderen angebotenen PKI-Lösungen kann sie nicht die Dinge ermöglichen, die DevOps braucht, um innovativ zu bleiben.
Unternehmen benötigen heute eine PKI-Infrastruktur, die sich nahtlos in ihre aktuellen Tools integrieren lässt und gleichzeitig grundlegende Funktionen wie Automatisierung bietet. Sie stellen oft fest, dass sie ihrer PKI entwachsen sind, wenn sie eine umfangreiche REST-API benötigen, das Enrollment over Secure Transport (EST) oder das Certificate Management Protocol (CMP) für x.509-Zertifizierungoder wenn sie ein Kommunikationsprotokoll wie das Automated Certificate Management Environment (ACME) verwenden wollen.
Ganz zu schweigen von den Schwierigkeiten, eine gruppenspezifische PKI zu Testzwecken schnell aufzusetzen oder alte PKIs anhand von Spezifikationen neu zu erstellen - beides aus der DevOps-Perspektive ziemlich einfache und routinemäßige Aufgaben.
Nun stellt sich die Frage: Worauf sollten diese Teams bei einer PKI-Lösung achten?
PKI automatisieren
PKI für DevOps muss in der Lage sein, PKI bei Bedarf auf eine Weise bereitzustellen die wiederholbar und skalierbar ist ohne dabei die kritischen zugrunde liegenden Prozesse zu beeinträchtigen, die PKI zur Grundlage für das Vertrauen in software machen.
Um DevOps in seiner jetzigen Form zu unterstützen, sollte eine PKI-Plattform so konzipiert sein, dass sie überall und in jeder gewünschten Form bereitgestellt werden kann - sei es als Cloud-basierter Dienst, als Docker- oder Kubernetes-Container oder als schlüsselfertige Anwendung hardware/software . Mit anderen Worten: Sie sollte zu dem passen, was Sie zu erreichen versuchen.
Darüber hinaus sollte sie dynamisch skalierbar sein. Konkret bedeutet dies, dass mehrere Zertifizierungsstellen auf einem einzigen Knoten eingerichtet, auf verschiedene Knoten aufgeteilt und für eine hohe Verfügbarkeit zu einem Cluster zusammengefasst werden können. All dies ist mit Microsoft CA nicht möglich.
Und eine PKI-Plattform sollte sich in die bestehende Infrastruktur und die vorhandenen Werkzeuge einfügen. Sie muss die bereits erwähnten EST-, CMP- und ACME-Protokolle unterstützen. Wie jeder, der sich mit PKI beschäftigt hat, bestätigen kann, gibt es eine Vielzahl von Formaten und Anwendungsfällen, die berücksichtigt werden müssen. Außerdem müssen verschiedene Methoden für die Verbindung mit den Algorithmen und Hardware Sicherheitsmodulen (HSMs), die hinter der PKI stehen, unterstützt werden.
Wenn sie diese Eigenschaften hat, kann Ihre PKI wie gewünscht automatisiert, flexibel, skalierbar und wiederholbar eingesetzt werden und passt in den aktuellen DevOps-Stack, den Sie bereits verwenden. So können Sie schnell vorankommen, ohne Kompromisse beim Vertrauen einzugehen.
Für viele Teams ist die Kombination aus EJBCA und Ansible die Lösung, die ihren Anforderungen am besten gerecht wird. Durch die Behandlung von PKI als eine Reihe von Microservices in CI/CD und DevOps ist die PKI-Bereitstellung schnell, die Konfiguration konsistent und die Infrastruktur skalierbar.
Wenn Sie mehr über die Verwendung von DevOps-Tools und Best Practices zur Vereinfachung und Skalierung von PKI erfahren und eine Demo von EJBCA und Ansible in Aktion sehen möchten, besuchen Sie unser Webinar "PKI On-Demand für DevOps mit Ansible und EJBCA".