Was tun, wenn Sie keine 300 € für ein Zertifikat ausgeben wollen? Was ist zu tun, wenn Sie mehr als ein Zertifikat benötigen? Wir haben uns entschieden, kostenlose SSL-Zertifikate zu verwenden und die Verwaltung mehrerer Zertifikate mit unserem benutzerdefinierten Tool zu optimieren. Wir sparen mehrere tausend Euro pro Jahr und bieten den Benutzern eine hohe Sicherheit.
Ein SSL-Zertifikat ist wie ein Wächter, der den Zugriff auf die zwischen einer Website und einem Webbrowser übertragenen Daten schützt. Die Daten werden von unseren Servern zu einem Benutzer transportiert, aber mithilfe eines SSL-Zertifikats wird diese Übertragung verschlüsselt. Auf diese Weise schützen wir unsere Benutzer vor einigen Arten von Angriffen (Man-in-the-Middle, Session Hijacking usw.).
Das Jahr 2018 brachte Veränderungen für das gesamte Web. Chrome, gefolgt von Firefox und Opera, hat begonnen zu signalisieren, ob eine besuchte Website geschützt ist.
Diese Meldung bedeutet, dass der Eigentümer einer Website kein SSL-Zertifikat installiert hat. Als ob das nicht schon genug wäre, werden Websites ohne SSL-Zertifikat von Google in den Suchergebnissen schlechter behandelt. Mit anderen Worten: Ihre Sichtbarkeit nimmt ab, und Chrome hält die Benutzer davon ab, sie einzugeben.
Einige Unternehmen waren deshalb gezwungen, SSL-Zertifikate zu kaufen. Und es zwang uns, darüber nachzudenken, wie wir die Anforderungen eines technologischen Riesen erfüllen können, ohne jedes Jahr ein Vermögen auszugeben.
Ein SSL-Zertifikat ist eine kleine Datei auf einem Server
In der Praxis ist ein SSL-Zertifikat eine kleine Datei, die wir auf unserem Server ablegen. Er besteht aus einem privaten und einem öffentlichen Schlüssel, mit denen wir die Sicherheit der Kommunikation mit einer Website gewährleisten. Wir müssen daran denken, dass es nicht dazu gedacht ist, unsere Website zu schützen, sondern um die Verbindung zwischen einer Website und einem Besucher zu sichern.
Wie viel kostet ein SSL-Zertifikat? Neben kostenlosen Zertifikaten gibt es auch solche, deren Preis zwischen 8 € und 1000 € pro Jahr liegt.
Die Gültigkeit von SSL-Zertifikaten ist ein Problem für Unternehmen und IT-Administratoren
Zu Beginn stießen wir auf ein ernstes Problem. Bei "Let's Encrypt", mit dem wir kostenlose SSL generieren, wird ein Zertifikat für maximal drei Monate ausgestellt.
Das bedeutet, dass wir das Zertifikat nach drei Monaten erneuern müssen, was für uns ein wenig problematisch ist. Wir betreuen viele Websites verschiedener Kunden, daher war es notwendig, die Ablaufdaten der Zertifikate im Auge zu behalten. Natürlich können wir versuchen, die Erneuerung von Zertifikaten zu automatisieren, aber das ist nicht immer möglich. Die Vielfalt der Kundeninfrastrukturen, Einschränkungen bei den Sicherheitszugangsanforderungen, unterschiedliche Betriebssysteme und andere Komplikationen machten in einigen Fällen eine manuelle Aktualisierung der Zertifikate erforderlich.
Die Nichterneuerung eines Zertifikats führt nicht nur zu Sicherheitsproblemen, sondern auch zu einem Imageschaden für die Marke und im Falle von Plattformen, die aktiv Produkte verkaufen, zu einem messbaren finanziellen Verlust, da jeder Browser den Zugang zu einer Website, deren Zertifikat abgelaufen ist, effektiv blockiert (das Öffnen der Website ist zwar noch möglich, aber problematisch).
Zyklische Aufgaben, die uns an auslaufende Zertifikate für bestimmte Domänen erinnern? Behalten Sie den Überblick über die von Let's Encrypt gesendeten Erinnerungen an den Ablauf von Zertifikaten? Dies kann jedoch zu Fehlern führen und ist ein wenig unprofessionell, insbesondere bei Hunderten von Domänen, die von verschiedenen Teams oder oft auch von Kundenverwaltern außerhalb unseres Unternehmens betreut werden.
Wir haben uns nach Diensten umgesehen, die dieses Problem lösen und in einem Abonnementmodell verfügbar sind.
Wir haben sehr schnell gemerkt, dass die Kosten bei vielen Domains sehr hoch sein würden. Außerdem entsprach die Logik dieser Tools nicht immer der Organisationsstruktur unseres Unternehmens oder den Bedürfnissen des Kunden. Und es wäre ein weiteres abonnementbasiertes SaaS in der Sammlung der von der IT-Abteilung genutzten Dienste. Wir haben einen anderen Weg gewählt.
Spezielles Werkzeug zur Kontrolle von SSL-Zertifikaten
Wir haben ein spezielles Werkzeug geschrieben, das uns an ablaufende Zertifikate auf Domains und Websites erinnert, die von The Story verwaltet werden.
Anstatt sich auf das Einstellen von Erinnerungen in einem Kalender oder auf eine Aufgabenliste zu verlassen, haben wir eine einfache Anwendung entwickelt, die regelmäßig unsere Websites befragt und das Ablaufdatum von SSL-Zertifikaten überprüft.
Wenn die Software ein ablaufendes Zertifikat erkennt, wird eine E-Mail an interessierte Parteien (DevOps, Kunden oder Projektmanager) mit einer Liste von Servern und Domänen gesendet, auf denen SSL-Zertifikate aktualisiert werden müssen. Die Meldungen werden so lange gesendet, bis das Zertifikat erneuert oder die SSL-Überwachung für die betreffende Website deaktiviert wird.
Eine einfache Methode in Python, die die Anzahl der Tage zurückgibt, die noch verbleiben, bis ein Domain-Zertifikat abläuft:
import datetime import socket import ssl from ssl import CertificateError def expire_in_days(self, domain_name): ssl_date_fmt = r'%b %d %H:%M:%S %Y %Z' now = datetime.datetime.now() context = ssl.create_default_context() expiration_days = 0 conn = context.wrap_socket(socket.socket(socket.AF_INET), server_hostname=str(domain_name)) conn.settimeout(3) try: conn.connect((self.domain, 443)) ssl_info = conn.getpeercert() expiration_date = datetime.datetime.strptime(ssl_info['notAfter'], ssl_date_fmt) expiration_days = (expiration_date - now).days except IOError: pass except CertificateError: pass return expiration_days
Wie ein SSL-Zertifikat am Beispiel von Let's Encrypt funktioniert
Wie funktioniert Let's Encrypt? Wir starten das entsprechende Werkzeug auf dem Server und erhalten ein Secure Socket Layer-Zertifikat. Wir unterziehen uns einer Verifizierung, die sicherstellt, dass wir die Eigentümer einer bestimmten Domäne sind (es gibt mehrere Verifizierungsmethoden, und wir können für jedes Projekt eine geeignete Methode auswählen). Als Ergebnis erhalten wir ein Zertifikat, das die Kommunikation zwischen einem Benutzer und einer Website schützt.
Es gibt auch Zertifikate mit höherem Niveau, die teurer sind. Solche Zertifikate erfordern eine zusätzliche Überprüfung des Unternehmens, zu dem eine Website gehört. Im Gegenzug erhalten wir jedoch eine Versicherungspolice. Der Versicherungsanbieter ist der Aussteller des Zertifikats, das dem Benutzer eine Entschädigung zahlt, wenn der Benutzer durch unsere Website einen Schaden erlitten hat.
Kundenspezifische Unternehmens-Website. Probieren Sie es aus!
SSL-Zertifikate — warum lohnen sie sich?
Als Entwickler empfehle ich die Installation von SSL-Zertifikaten auf jeder Website. Es ist kein kompliziertes Verfahren, und es gibt kostenlose Zertifikate auf dem Markt.
Bei Transaktionssystemen empfehle ich die Verwendung von kostenpflichtigen Zertifikaten (SSL EV/OV) wegen des grünen Vorhängeschlosses, das die Glaubwürdigkeit der Website bei den Benutzern und die Sicherheit der Zahlungen erhöht (denken Sie an die Entschädigung!).
Für die Verwaltung von Domains und Subdomains ist der Erwerb eines Wildcard-SSL-Zertifikats vorteilhafter. Gegen eine Gebühr können Sie Ihre Hauptdomain (z. B. certificates.com) und alle ihre Subdomains sichern, d. h. URLs, die andere Zeichen vor der Hauptdomain haben, z. B. a.certificates.com, b.certificates.com.
Hero shot: Richard Patterson / Flickr.com / Bit.ly/2wiwQ9c / CC BY 2.0
Vielen Dank fürs Lesen! Wir ermutigen Sie, den Artikel zu teilen!
Haftungsausschluss
Die in diesem Artikel vorgestellten Preisbeispiele stellen kein Sonderangebot im Sinne des polnischen Zivilgesetzbuches dar.