SSL-Zertifikate #
Komplette Webseiten aber zu mindestens die Registrierdaten und die Bezahlseiten eines SHOP-Systems, sollten über ein SSL-Zertifikat geschützt sein. Dies gewährleistet eine Verschlüsselung der Daten vom Browser bis zum Server, so dass die Daten nicht von unbefugten gelesen oder verändert werden können.
Die SHOP-Software NopCommerce läuft aktuell unter dem Windows Betriebssystem. Hier bietet der Windowsserver 2012 R2 mit dem IIS 8 (Internet Information Server) die Möglichkeit, Zertifikate anzufordern und abzuspeichern.
Die Zertifikate werden von Zertifizierungsstellen erstellt und sind in der Regel kostenpflichtig. Die Preise liegen hier je nach Zertifikatstyp schnell bei bis zu 1000 EUR pro Jahr.
Wir nutzen für die Domainverwaltung die Firma EURODNS (= www.eurodns.de), welche auch Zertifikate anbietet. Wurde das Domain über EURODNS erworben, kann der eigene Nameserver sehr einfach, komplett webgesteuert, verwaltet und kostenfrei eigene Subdomains anlegt werden. Seit kurzem bietet EURODNS zu den dort registrierten Domains auch ein kostenfreies AlphaSSL-Zertifikat an.
Wir möchten hier zeigen, wie dies in wenigen Minuten beantragen und auf dem eigenen Webserver eingerichtet werden kann. Nach der Einrichtung lässt sich der SHOP ebenfalls mit wenigen Klicks auf SSL umstellen.
Vorteile mit SSL #
Die Vorteile bei SSL sind zum einen, die sichere Verschlüsselung und zum anderen das damit einhergehende größere Vertrauen von Kunden, die auf diesen Seiten Login-Daten eingeben oder Waren bezahlen. Darüber hinaus bewerten einige Suchmaschinen Seiten, die vollständig verschlüsselt sind höher im Ranking. Der Aufwand SSL einzurichten, lohnt sich somit in jedem Fall.
Nachteile von SSL #
Ein Nachteil von SSL ist, dass nicht immer kostenfreie Zertifikate erhältlich sind. Außerdem ist die Einrichtung mit einem größeren Arbeitsaufwand verbunden. Werden auf demselben Webserver mehrere Zertifikate verwaltet, der Server hat aber nur eine globale, also öffentliche IP-Nummer, muss zusätzlich SNI aktiviert werden. Websites mit aktivierten SNI können jedoch nicht mehr von Kunden mit Windows XP und altem Internet-Explorer angesteuert werden. Ob das ein signifikanter Nachteil ist muss jeder selbst entscheiden. Rein statistisch liegt der Anteil an Windows XP im Jahre 2017 zwischen 4-5%, wobei man davon ausgehen kann, dass einige PCs mit XP nur wegen spezieller Aufgaben im Einsatz sind.
In der Regel werden die Vorteile von SSL den Nachteilen überwiegen.
SSL beantragen und einrichten Kurzübersicht #
Auch wenn die folgenden Punkte auf den ersten Blick komplex erscheinen, sind die Angaben in wenigen Minuten gemacht und das gesamte System sollte inkl. der Beantragung in ca. 30 Minuten umgestellt sein.
Dienste wie PayPal-Plus oder PayPal-Express setzen eine SSL-Verschlüsselung voraus.
Vorbereitung am Windows Server #
- Auf dem Windows 2012 R2 Server die Managementkonsole zum IIS8 aufrufen
- Im linken Auswahlbereich den Server anklicken
- Im rechten Bereich im Abschnitt IIS das Icon „Server Certificates“ auswählen
- Im rechten Aktionen-Menü den Punkt „Create Certificate Request“ auswählen.
- Erste Seite Common Name: www.MeinDomain.de, Organisation: Meine Firma GmbH, Organisation Unit: Ecommerce, City: Musterstadt, State: Hessen, Country: DE
- Zweite Seite Die „Bit Length“ auf 2048 einstellen
- Abschließen als Testdatei z.B. MeinCertReq,txt auf dem Desktop speichern
Zertifikat bei EURO-DNS beantragen #
- Mit Ihrem Konto bei www.eurodns.de anmelden (war notwendig bei der Domainbeantragung)
- Die bestehende Domain auswählen und auf „Manage“ klicken
- Unter Add-ons auf „Activate Free SSL“ gehen
- Im Dialog kein kostenpflichtiges Angebot wählen, sondern auf den Link „Redeem free Alpha SSL“ klicken.
- In das Textfeld den Inhalt der zuvor angelegten Textdatei hineinkopieren, inkl. der BEGIN und END Certificate Request-Zeile.
- Auf „Register CSR“ klicken
- Als Validierung „TXT-Record“ wählen
- Abschließend auf „Activate SSL Certificate“ gehen
- Nach ca. 5 Minuten erhält man eine E-Mail. Anschließend im oberen Menü auf SSL klicken und danach auf „Get Certificate“.
- Ein Dialog mit zwei Seiten erscheint. „PKCS#7“ auswählen und kopieren. Den Inhalt inklusive der Zeile BEGIN und ENDE markieren und auf die Zwischenablage kopieren. Anschließend „Notepad.exe“ aufrufen und diesen Text dort einfügen und die Datei speichern.
- Die Datei in eine „.cer“-Datei umbenennen, beispielsweise „MeinDomain.cer“.
- Zertifikat auf dem Webserver aktivieren
- In der Managementkonsole nun den Punkt „Complete Certifikate Request“ aufrufen.
- Die Textdatei auswählen, als Friendlyname den Namen der Domain angeben z.B. www.meinDomain.de und unten Store auf „Personal“ stehen lassen.
- Nach Fertigstellung ist das Zertifikat im IIS bekannt.
Binden auf der Website #
- Nun wählt man im linken Baum seine Webseite aus und mit der rechten Maus „Edit Bindings“.
- Jetzt einen neun Eintrag hinzufügen, jedoch mit https anstatt wie zuvor mit http. Im Dialog wählt den Zertifikatsnamen auswählen.
- Sind auf demselben Webserver mehrere Domains mit jeweils mehreren Zertifikaten vorhanden, muss bei jedem https-Eintrag auch „Server Name Indication“ (= SNI) aktiviert
Steht nur eine globale IP zur Verfügung, aber es sollen mehrere Sites mit unterschiedlichen Zertifikaten ausgestattet werden, dann sind diese nicht mehr über alte Systeme wie Windows XP mit dem damaligen Internet-Explorer erreichbar. Möchte man auch die Altsysteme als Nutzer verwenden, werden mehrere globale IP-Adressen benötigt die SNI muss entsprechend abgeschaltet werden.
SSL Zertifikat beantragen und einrichten im Detail #
Vorbereitung am Windows Server #
Das folgende Beispiel setzt einen englischen Windows Server 2012 R2 voraus, auf dem bereits eine Website bzw. die SHOP-Software NopCommerce installiert ist. Wer eine deutsche Version von Windows Server einsetzt, kann die Punkte auch anhand der Icons sehr leicht finden.
Zunächst wird die Zertifikatsverwaltung aufgerufen. Hierzu klickt man im linken Bereich auf die Root, also den physikalischen Server und anschließend im Abschnitt „IIS“ auf „Server Zertifikate“.
Zertifikate über die IIS Managementkonsole
Die Zertifikatsverwaltung wird eingeblendet und dort werden ggf. bereits zuvor installierte Zertifikate angezeigt.
Zertifikatsanforderung
Über dem Punkt „Erzeuge eine Zertifikatsanforderung“ rechts unter Aktionen lässt sich mit wenigen Informationen eine Zertifikatsanforderung vorbereiten.
Mithilfe des Assistenten füllt man die notwendigen Informationen aus und kann dann die Anforderung als Textdatei abspeichern. Der Inhalt der Textdatei wird im weiteren Verlauf benötigt.
Zertifikatsanforderung Firmendaten
Company name #
Dieser enthält den vollständigen Domainnamen inkl. des Namens für den Host, das ist in der Regel „www“. Soll das Zertifikat für www.meinedomain.de gelten, so ist dieser Name dort einzutragen. Eine Ausnahme stellen die Wildcard-Zertifikate dar. Diese gelten nicht nur für einen Host, sondern für alle Hosts derselben Domain. In diesem Fall wird als Host das Sternchen eingetragen, also z.B. „*.meinedomain.de“. Beachten Sie jedoch, dass Wildcard-Zertifikate deutlich teurer sind und diese schnell bei 500 EUR und mehr liegen. Ein Wildcard-Zertifikat würde auch Namen abdecken wie „shop.meindomain.de“ oder „www2.meindomain.de“ usw.
Da wir uns in dieser Beschreibung aber auf den kostenfreien Service von EURODNS beschränken wollen, bleiben wir bei einem einfachen Zertifikat.
Organization #
Diese enthält Ihren Firmennamen
Organization unit #
Die Abteilung in Ihrer Organisation, dies kann zum Beispiel „Ecommerce“ sein.
City/locality #
Der Name der Stadt Ihres Firmensitzes.
Country/region #
Die Landeskennzeichnung mit zweistelligen ISO-Kennzeichen, für Deutschland also „DE“.
Auf der Folgeseite des Assistenten muss lediglich die Verschlüsselungslänge von 1024 auf 2048 angepasst werden.
Zertifikatsanforderung Bitlänge anpassen
Anschließend wird das Ergebnis des Assistenten in eine Textdatei gespeichert. Benennen Sie diese so, wie das Domain mit der Dateierweiterung „.txt“ z.B.: wwwMeindomain.Txt
Öffnen Sie die Textdatei durch Doppelklick und kopieren Sie den gesamten Inhalt inklusive der Zeile mit BEGIN und END auf die Zwischenablage.
Zertifikatsanforderung Anforderungscode
Zertifikat bei EURODNS beantragen #
Unser Beispiel setzt voraus, dass Ihre Domain bereits bei EURODNS beantragt wurde und Sie dort auch ein Konto besitzen. Anderen Zertifizierungsstellen arbeiten jedoch ähnlich, so dass die Anleitung zumindest eine Richtlinie darstellt.
NopCommerce-SSL-Aktivierung #
Im Shop-Server kann das System so umgeschaltet werden, dass es automatisch einfache http-Anfragen auf https umschaltet. Hierzu unter „Konfiguration“ auf „Shops“ gehen und die Auswahlbox „SSL“ anwählen. Wir empfehlen auch die Felder „Shop-URL“ und „Sichere URL“ mit dem https-Protokoll auszufüllen; also beide Felder mit beispielsweise „https://www.MeinDomain.de/“.
Den Host-Wert hingegen nur mit dem Domain-Namen ausfüllen, also „www.meindomain.de“.
Unter „Konfiguration > Einstellungen > Allgemein“ sollte „SSL auf allen Seiten“ ebenfalls aktiviert werden. Einige Suchmaschinen bewerten dies positiv im Ranking.
SSL Zertifikat sichern #
Wenn ein Zertifikat eingerichtet und in Benutzung ist, ist es sinnvoll dieses auch zu sichern. Die Sicherung ist für einen Server Wechsel in jeden Fall notwendig. Es besteht wieder die Möglichkeit ein kostenfreies Zertifikat zu verwenden doch im Falle von EURODNS ist dies nur 1x pro Domain möglich danach muss ein kostenpflichtiges erworben werden.
Die Sicherung der Zertifikate erfolgt über die Managementkonsole. Diese kann über den „Ausführen“-Dialog aufgerufen werden, der über die Tastenkombination Windows-Taste und R, also WINDOWS+R geöffnet wird. Anschließend in der Eingabezeile, wie im Screenshot, „mmc“ eingeben.
Ausführen-Dialog (Windows+R)
Ein Verwaltungsfenster wird aufgerufen und wir wählen den Snapin-Dialog aus dem Dateimenü aus.
Snapin zufügen
Die Konsole ist eine allgemeine Verwaltungskonsole und kann individuell konfiguriert werden. Wir wählen das Snapin „Zertifikate“ bzw. im englischen Windows „Certificate“ aus.
Snapin Zertifikat einfügen
Die fertige Konsole enthält nun unser Snapin. Wir wählen im linken Baum unter „eigen Zertifikate“ den Punkt „Zertifikate“ aus. Im englischen Windows ist dies unter „Personal“ und dort „Certificates“ zu finden.
Snapin eigene Zertifikate
Mit der rechten Maus gehen wir auf das zu exportierende Zertifikat. In unserem Beispiel auf „www.eulenspiegel.eu“.
Snapin Zertifikat exportieren
Ein Assistent führt durch die Möglichkeiten des Exports. Es ist wichtig den privaten Schlüssel ebenfalls zu exportieren, dies ist standardmäßig nicht der Fall. Ohne den privaten (= geheimen) Schlüssel ist das Zertifikat auf einem neuen Webserver wertlos.
Zertifikate mit privatem Schlüssel
Auf der nächsten Seite des Assistenten sollte neben dem Standard „Alle erweiterten Eigenschaften exportieren“ sowie „alle Zertifikate im Zertifizierungspfad“ mit angegeben werden.
Zertifikat mit Optionen exportieren
Auf der folgenden Seite ist ein Kennwort einzugeben. Das gespeicherte Zertifikat wird mit einem Kennwort versehen und nur mit diesem lässt es sich später auf einen anderen Server importieren, also rücksichern.
Notieren Sie sich in jedem Fall das Zertifikatskennwort.
Zertifikat mit Kennwort schützen
Abgeschlossen wird der Assistent mit dem Dateinamen und der Endung „.pfx“. Es empfiehlt sich als Namen denselben zu verwenden, den das Zertifikat bereits hat. Auf diese Wiese ist Ihre Dokumentation einfacher, denn wenn das Zertifikat zurückgesichert werden soll, können Sie es so eindeutig zuordnen.
Zertifikat speichern
Heben Sie diese Sicherungen und auch das damit verbundene Passwort gut auf. Sinnvollerweise nicht auf derselben Festplatte wie der Webserver.
SSL Zertifikat rücksichern #
Ein zuvor gesichertes Zertifikat lässt sich ebenso einfach wieder zurücksichern. Sie benötigen hierzu das gesicherte Zertifikat und das Passwort, welches Sie damals beim Export verwendet hatten.
Zur Rücksicherung geht man zunächst wie bei der Sicherung vor, man ruft den Ausführungs-Dialog mit Windows+R auf und startet die Konsole mit „mmc“. Fügt das Snapin „Zertifikate“ zu und öffnet dann den Zweig im linken Bereich, unter dem die Zertifikate einzugliedern sind.
SSL Zertifikat neu binden #
Nachdem ein Zertifikat auf einem neuen Server zurückgesichert wurde, kann es nun an einen virtuellen Webserver gebunden werden. Rufen Sie hierzu die Managementkonsole des IIS (= Internet Information Server) auf und wählen Sie über das rechte Mausmenü, auf der Root der virtuellen Website, den Punkt „Bindungen“ bzw. „Edit Bindings“, wenn es sich um die englische Serverausgabe handelt, aus.
Wählen Sie im Dialog der SSL-Option das entsprechende Zertifikat aus. Verfügt man über mehrere Zertifikate auf einem Webserver, mit aber nur einer globalen IP-Nummer, so muss in jedem Fall die SNI-Option (= Server Name Indication) aktiviert sein. Seien Sie sich bewusst, dass alte PCs mit Windows-XP und dem damaligen Internet-Explorer dieses Verfahren nicht kennen und diese Websites mit SNI-Option nicht öffnen können.