SSL Zertifikate auf den beteiligten Systemen

AWS-Systeme

Die AWS-Instanzen (Elastic Beanstalk mit Load Balancern), nutzen die von AWS angebotenen SSL-Zertifikate (HTTPS auf Elastic Beanstalk).

Die Systemen von Elastic Beanstalk als Single Instance, verwenden nun auch automatische SSL-Zertifikate mit letsencrypt.

Die Erzeugung der SSL-Zertifikaten wird mit acme.sh realisiert. Hier für werden die benötigten Schritte in das AWS Provisioning (.ebextensions) per Script eingebunden.

Da durch das Deployment die .config Dateien immer ausgeführt werden, muss bei der aktuellen Implementierung folgendens beachtet werden:

Hinweis

Ein erzeugtes Zertifikat wird automatisch nach 60 Tagen erneuert. Es wird bei jedem Update ein Zertifikat erzeugt, auch wenn dieses noch nicht kurz vor dem Ablauf steht. Allerdings kann für eine Domain nur max. 5 pro Woche ein Zertifikat erzeugt werden. acme.sh bietet zwar staging Zertifikate an, diese werden jedoch in der Regel als nicht sicher angesehen. Da unser Staging System des öfteren wechselt, wurde hier die automatische Erzeugung abgeschaltet. Dem zu folge muss hier spätestens alle 60 Tage direkt auf dem System der folgende Befehl ausgeführt werden.

acme.sh --issue (--force) --standalone -d stadtwerke-xy.pluservices.de
(--force falls noch nicht abgelaufen)
  1. Das acme.sh Script ist direkt in den ebextensions integriert und auf die Instanz kopiert
  2. Falls noch nicht vorhanden, wird acme.sh --install ausgeführt
  3. Vor dem Erstellen des Zertifikats wird der Apache gestoppt
  4. Erstellen des Zertifikats mit obigen Befehl. Die Zertifikats-Dateien werden im Verzeichnis /.acme.sh/ abgelegt. Es wird auch ein cron-Job erzeugt, welcher das Zertifikat nach 49 Tagen erneuert
  5. Die zur Registrierung im Apache nötige Konfiguration ist ebenfalls in den .ebextensions abgelegt und wird nach /etc/httpd/conf.d kopiert
  6. Zum Schluss wird der Apache wieder gestartet und das Zertifikat erstellt

Die Unterscheidung im Provisioning, ob ein Zertifikat per Let's Encrypt angelegt wird, wird über den folgenden filter-Parameter geregelt.

filter.plusservices.letsencrypt=true/false

Automatische SSL-Zertifikate mit letsencrypt

Einige Systeme, die direkt als EC2-Instanzen eingerichtet wurden (Amazon SSL-Zertifikate nur mit Load Balancer bzw. Elastic Beanstalk) nutzen letsencrypt für die Erstellung und Aktualisierung der SSL-Zertifikate (ci.plusservices.de, docs.plusservices.de).

ICS-System

Das ICS System verwendet ein Zertifikat von ssl.com für die plusservices.de Domäne.

Nützliche Informationen zu letsencrypt: