Vortrag im Linux-Cafe 2020-06-03

Im Vortrag wird gezeigt, wie man schnell und einfach eine eigene kleine Certificate Authority (CA) aufsetzen kann, vor allem zur Verwendung im privaten oder persönlichen Bereich.

Vorbereitung

Falls noch jemand sein Wissen zu X.509 / Zertifikaten / … auffrischen oder vertiefen möchte, kann ich empfehlen, vorab den TLS4Developers Workshop durchzuarbeiten, der ebenfalls auf GitHub zu finden ist: https://github.com/booboo-at-gluga-de/TLS4Developers_Workshop

Der Workshop ist so konzipiert, dass man sich selbst an Hand von praktischen Beispielen, die man alle selber ausprobiert, immer tiefer in das Thema einarbeitet.

Wozu eine eigene CA?

Generelle Empfehlung: Server-Zertifikate sollten möglichst immer von einer offiziellen CA ausgestellt werden. Im privaten / persönlichen Bereich bietet sich dabei sicher meist Let’s Encrypt an, da für die Zertifikate keine Kosten entstehen.

Wenn es um Client-Zertifikate geht, mit denen ich Nutzer (oder Maschinen) authentifiziere, denen ich Zugang zu Diensten in meinem eigenen Netz gewähre, kann es schon anders aussehen: Da kann aus rein praktischen / administrativen Gründen oder auch Sicherheitsüberlegungen heraus eine eigene CA eine echte Alternative sein.

Hinweis: Wenn auf einer TLS-Verbindung mTLS aktiviert ist, d. h. sowohl ein Client- als auch ein Server-Zertifikat verwendet wird, damit sich beide Kommunikationspartner wechselseitig authentifizieren, dann müssen die beiden Zertifikate nicht von der gleichen CA kommen. Es kann durchaus ein Server-Zertifikat von Let’s Encrypt und ein Client-Zertifikat meiner eigenen CA in ein und dem selben TLS-Handshake genutzt werden.

Anwendungsfälle

  • Authentifizierung von HTTPS Clients mit Client-Zertifikaten

  • OpenVPN