diff --git a/Praxisbericht.tex b/Praxisbericht.tex index 7bd629e..1c3f224 100644 --- a/Praxisbericht.tex +++ b/Praxisbericht.tex @@ -222,6 +222,10 @@ Viele der Kunden sind an zunehmend an Ausfallsicherheit interessiert. Sofern ein Mit der Kombination aus Longhorn und CNPG können somit alle Stateful Workloads von selektron Highly-Available gemacht werden, um Ausfälle der Produktion zu vermeiden. +\subsection{Cert-Manager} + +Um eine sichere Verbindung zu gewährleisten, nutzen wir TLS. TLS garantiert die Verschlüsselung des Nachrichtenaustausch sowie die Identität des Gegenübers mithilfe von Zertifikaten. Um den möglichen Schaden bei Zertifikatdiebstahl oder Sicherheitslücken zu minimieren, sollen Zertifikate ein möglichst kurzes Ablaufdatum besitzen. Das Browser-Forum empfielt einen Zeitraum von 1.5 Monaten für öffentliche Server-Zertifikate\cite{cabforum47}, wobei das Zertifikat innerhalb des ersten Monats automatisch rotiert (ausgewechselt) wird, und Menschen im Falle eines Fehlers trotzdessen noch einen halben Monat haben um zu reagieren. Während unser Anwendungsfall kein öffentliches Zertifikat abbildet, sind 47 Tage ein guter Richtwert. Für TLS-Verschlüsselungen zwischen Microservices wird oft ein Zeitraum von nur 7 Tagen\cite{certTLSPKI} oder weniger empfohlen. Um diesen Richtwert bequem einzuhalten ist die zuvor genannte Automatisierung für Zertifikatsverwaltung notwendig, welche \textit{cert-manager}\cite{certManager} übernimmt. Cert-manager bildet einen Kubernetes Operator, welcher Zertifikate von einer Ansammlung an Zertifikat-Ausstellern anfragen und an Nutzer innerhalb des Kubernetes-Clusters verteilen kann. Aussteller die für unsere Umgebungen infrage kommen sind das \textit{Automated Certificate Management Environment}, kurz ACME, sofern die Kundenfirma einen eigenen Aussteller bereistellt. Mithilfe von ACME lassen sich Zertifikate für Domains oder öffentliche IP-Addressen automatisch anfragen. Im Falle, dass Kunden keine ACME-Infrastruktur bereitstellen, bieten sich von cert-manager verwaltete Selbstsignierte Verschlüsselungen an. Der Operator von cert-manager kann dabei die Zertifikate signieren oder signieren lassen und in \textit{Secrets} speichern. Secrets sind ein Datentyp von Kubernetes, in welchem Daten verschlüsselt gespeichert werden. Diese Secrets können dann von jeglichen Kubernetes-Komponenten benutzt werden. Besonders Bedienerfreundlich ist das Nutzen von cert-manager-\textit{Annotationen} auf Gateways, womit das Zertifikat mithilfe der in der Komponente existierenden Informationen automatisch erstellt und verwaltet wird. Annotationen sind dabei ein Kubernetes-nativer Weg, beliebige Informationen an einer Komponente festzuhalten. Sofern ein cert-manager Aussteller mit den Namen \texttt{aussteller} existiert, muss eine Gateway-Komponente nur mit der Annotation \verb+cert-manager.io/issuer: "austeller"+ markiert werden, wodurch der cert-manager Operator erkennt dass diese Resource ein Zertifikat benötigt. + \subsection{Airgap-Installation} diff --git a/literatur.bib b/literatur.bib index 37edbd4..d22275d 100644 --- a/literatur.bib +++ b/literatur.bib @@ -145,6 +145,36 @@ date = {2022-08-30} } +@online{cabforum47, + author = {CA/Browser Forum}, + title = {\glqq Latest Baseline Requirements\grqq}, + url = {https://cabforum.org/working-groups/server/baseline-requirements/requirements/}, + urldate = {2026-06-12}, + date = {2022-06-12} +} + +@ARTICLE{certTLSPKI, + author={Díaz-Sánchez, Daniel and Marín-Lopez, Andrés and Mendoza, Florina Almenárez and Cabarcos, Patricia Arias and Sherratt, R. Simon}, + journal={IEEE Communications Surveys \& Tutorials}, + title={TLS/PKI Challenges and Certificate Pinning Techniques for IoT and M2M Secure Communications}, + year={2019}, + volume={21}, + number={4}, + pages={5}, + keywords={Protocols;Authentication;Tutorials;Machine-to-machine communications;Software;Hardware;Transport layer security;DTLS;public key infrastructure;trusted third party;certificate pinning;Internet of Things;machine to machine}, + doi={10.1109/COMST.2019.2914453}, + url={https://centaur.reading.ac.uk/83566/1/TLSPKI.pdf} +} + +@online{certManager, + author = {cert-manager Authors}, + title = {\glqq cert-manager: Cloud native certificate management\grqq}, + url = {https://cert-manager.io/}, + urldate = {2026-06-12}, + date = {2022-06-12} +} + + @online{passESO, author = {external-secrets Authors}, title = {\glqq External Secrets Operator\grqq},