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)
- Das acme.sh Script ist direkt in den ebextensions integriert und auf die Instanz kopiert
- Falls noch nicht vorhanden, wird acme.sh --install ausgeführt
- Vor dem Erstellen des Zertifikats wird der Apache gestoppt
- 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 - Die zur Registrierung im Apache nötige Konfiguration ist ebenfalls in den .ebextensions abgelegt und wird nach /etc/httpd/conf.d kopiert
- 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.