Sichern Sie Ihren Apache Web-Server mit einem Digitalen
Transcription
Sichern Sie Ihren Apache Web-Server mit einem Digitalen
TM TM Sichern Sie Ihren Apache Web-Server mit einem Digitalen Zertifikat von thawte Eine Anleitung, die Ihnen SCHRITT FÜR SCHRITT erklärt, wie Sie ein digitales Zertifikat von thawte auf Ihrem Apache Web-Server testen, installieren und benutzen... 1. Überblick 2. Systemanforderungen 3. Generierung Ihres privaten Schlüssels 4. Generierung Ihres Certificate Signing Request (CSR) 5. Nutzung eines Testzertifikats 6. Beantragung eines "trusted" Zertifikats 7. SSL-Konfiguration in Apache 8. Installation Ihres Zertifikats 9. Sicherung von virtuellen Hosts 10. Nützliche URLs 11. Welche Rolle übernimmt thawte? 12. Der Authentifizierungswert 13. Wenden Sie sich an thawte 14. Terminologieglossar Die “Feder”, die Sie das gesamte Dokument hindurch sehen werden, ist das Logo der Apache Software Foundation: http://www.apache.org TM TM 1. Überblick In dieser Anleitung wird Ihnen erklärt, wie Sie ein digitales Zertifikat von thawte auf Ihrem Apache Web-Server testen, kaufen, installieren und nutzen können. Wir haben die jeweils besten Set-Up-Schritte hervorgehoben, um Ihnen die laufende Verwaltung Ihrer privaten Schlüssel und digitalen Zertifikate zu erleichtern. Wir beziehen uns ebenfalls auf thawte als Trusted-Third-Party und inwieweit die Nutzung eines digitalen Zertifikats von thawte Ihren Geschäftsaktivitäten sowie der Vertrauensbildung bei Ihren Kunden anhand eindeutiger Online-Sicherheitsaspekte von Vorteil sein kann. 2. Systemerfordernisse Bevor Sie ein SSL-Zertifikat auf Ihrem Apache Web-Server installieren können, müssen Sie die nötigen SSLKomponenten installiert haben. Sie müssen OpenSSL sowie entweder ModSSL oder Apache-SSL installieren. OpenSSL und die dazugehörigen kryptographischen Bibliotheken bilden das SSL-Backend, während ModSSL oder Apache-SSL die Schnittstellen zwischen OpenSSL und Apache bilden. ModSSL und Apache-SSL sind sich sehr ähnlich und es ist Ihnen völlig freigestellt, welches Modul Sie verwenden möchten - thawte gibt Ihnen hierzu keine Empfehlung ab. In dieser Anleitung gehen wir davon aus, dass Sie Apache mit installiertem ModSSL verwenden. NÜTZLICHE WEBSITES: www.apache.org www.modssl.org www.apache-ssl.org www.openssl.org TM TM 3. Generierung Ihres privaten Schlüssels Benutzen Sie zur Generierung Ihres privaten Schlüssels den OpenSSL Binärcode. Da dieser Schlüssel auf Ihrem Web-Server abgelegt wird, empfehlen wir Ihnen, dass Sie sich an das optimale Sicherungsverfahren halten und ihn per kryptographischem Schutz mit dem folgenden Befehl absichern: “openssl genrsa –des3 1024 –out www.mydomain.com.key” Dieser Befehl veranlasst OpenSSL zur Generierung eines privaten RSA-Schlüssels, mit Bitlänge 1024 sowie zur Verschlüsselung dieser Datei anhand der Triple-DES-Chiffre. Das Ergebnis wird daraufhin an eine Datei namens www.mydomain.com.key geleitet. Sie werden dann aufgefordert, ein PEM (Privacy Enhanced Message)-Kennwort, auch Passphrase genannt, bei Generierung der privaten Schlüsseldatei einzugeben. Sie werden dann nochmals dazu aufgefordert, um die Eingabe zu bestätigen. Ein verschlüsselter privater Schlüssel ist mit einem Kennwort gesichert. Wir empfehlen eindringlichst, dass Sie diese Option nutzen. Jedes Mal, wenn Sie den Computer, der diesen Schlüssel benutzt, neu starten, oder wenn Apache neu gestartet wird, werden Sie zur Eingabe dieses Kennworts aufgefordert. Wichtig! Important ERSTELLEN FAITES UNE SIE COPIE EINE DESICHERUNGSKOPIE SAUVEGARDE DE CE DIESER FICHIER SCHLÜSSELDATEI DE CLÉ ET DE SA UND PHRASE DES ENTSPRECHENDEN DE PASSE ! KENNWORTS! Das le beiplus weitem häufigste Problem, auf das Benutzer bei diesem Vorgang stoßen, De loin le problème souvent rencontré par les utilisateurs au cours de cette procédure, est bezieht sich auf die privaten einen Schlüssel verlieren, oder aufou ihnsi zugreifen associé aux clésSchlüssel. privées. SiWenn vous Sie perdez ouprivaten ne pouvez plus accéder à une clénicht privée vous ne können, oder falls Sievous sich souvenir nicht an das inphrase der privaten Schlüsseldatei PEM-Kennwort erinnern, pouvez plus de la de passe définie sur gespeicherte le fichier de clé privée, vous ne pourrezkönnen Sie das Zertifikat, das wir Ihnen ausstellen, nicht nutzen. Um dies zu umgehen, empfehlen wir, dass Sievous sich eine pas utiliser le certificat qu’on vous a délivré. Pour vous assurer que ceci ne se produit jamais, nous Sicherungskopie derune privaten. conseillons de faire sauvegarde du fichier de clé privée, et que la phrase de passe PEM utilisée pour protéger le fichier de clé privée soit notée. Um die Datei an eine andere Stelle zu kopieren (in diesem Fall Ihr a:\Laufwerk), benutzen Sie den folgenden Befehl: “cp www.mydomain.com.key path-to-removable-disk” Falls Sie stecken bleiben oder Hilfe benötigen, gehen Sie bitte zu: “openssl genrsa --help” TM TM 4. Generierung Ihres Certificate Signing Request (CSR) Im nächsten Schritt müssen Sie ein CSR (Certificate Signing Request) erzeugen, das Sie thawte vor Ausstellung des Zertifikats vorlegen müssen. Zur Erzeugung des CSR verwenden Sie OpenSSL sowie Ihren im vorherigen Schritt generierten privaten Schlüssel wie folgt: “openssl req –new –key www.mydomain.com.key –out www.mydomain.com.csr” Auf diese Weise erzeugen Sie einen CSR, der denselben "Modulus" wie der private Schlüssel hat. Sie werden nun aufgefordert, die folgenden, zur Generierung des CSR nötigen Angaben einzutragen: Country Name (Landeskürzel im 2-Buchstaben-ISO-Code) [GB]: US State or Province (volle Bezeichnung von Bundesland oder Landkreis) [Berkshire]: Texas Locality Name (Ortsbezeichnung, z. B. Stadt) [Newbury]: Dallas Organization Name (Firmenbezeichnung, z. B. Gesellschaft) [Meine GmbH]: Widgets Inc. Organizational Unit Name (Unterorganisation, z. B. Abteilung) []: Widgets Common Name (z. B. Ihr Name oder der Hostname Ihres Servers) []: www.mydomain.de E-Mail Adresse [Optional]: Das sind die Angaben, die von thawte überprüft werden. Vergewissern Sie sich daher bitte, dass die Angaben in Ihrem CSR mit denen Ihres Unternehmens GENAUESTENS übereinstimmen. Hinweis: Sie werden aufgefordert, das PEM (Privacy Enhanced Message)-Kennwort einzugeben. (Das ist dasselbe Kennwort, das Sie in der privaten Schlüsseldatei gespeichert haben, die im vorherigen Schritt generiert wurde). Wichtiger Hinweis Die Bezeichnung "Common Name" ist laut X.509-Standard der für denjenigen Namen zu verwendende terminologische Begriff, der am besten zur Kennzeichnung des Zertifikats geeignet erscheint. Dieser Begriff wird dann auch an Ihr Unternehmen gebunden. Für SSL-Zertifikate müssen Sie Ihren genauen Host- und Domainnamen eingeben, den Sie sichern möchten. Einer der häufigsten Fehler ist, einen unrichtigen Domainnamen in das Eingabefeld Comme Name in der CSRDatei einzutragen. Jedes Zertifikat ist jeweils an den eingetragenen Domainnamen gebunden. Stellen Sie daher sicher, dass Sie den genauen und voll qualifizierten Domainnamen, den Sie für den Zugriff auf den gesicherten Teil Ihrer Site benutzen werden, in diesem Feld eingetragen haben. Sie dürfen AUF KEINEN FALL den ‘http://’- Teil in die URL mit aufnehmen. Das gleiche gilt für alle anderweitigen Verzeichnisse, die unter diese Domain fallen. Wenn Sie beispielsweise per https://secure.mydomain.com/checkout auf Ihr Checkout zugreifen, geben Sie lediglich secure.mydomain.com im Eingabefeld Common Name ein. Die vorab generierte CSR-Datei wird dann an eine Datei namens www.mydomain.csr geleitet. Wenn Sie diese Datei aufrufen, sollte sie ähnlich dem nachstehenden Beispiel aussehen: TM TM -----BEGIN CERTIFICATE REQUEST----MIIB2TCCAUICAQAwgZgxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdHZW9yZ2lhMREwDwYDVQQHEwhDb2x1bWJ1c zEbMBkGB1UEChMSQUZMQUMgSW5jb3Jwb3JhdGVkMQswCQYDVQQLEwJJVDEYMBYGA1UEAxMPd3d3LmFmbGF jbnkuY29tMSAwHgYJKoZIhvcNAQkBFhFKR2FybW9uQGFmbGFjLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjqAWgYk CgYEAsRqHZCLIrlxqqh8qs6hCC0KR9qEPX2buwmA6GxegICKpOi/IYY5+Fx3KZWXmta794nTPShh2lmRdn3iwxwQRKyq YKmP7wHCwtNm2taCRVoboCQOuyZjS+DG9mj+bOrMK9rLME+9wz1f8l0FuArWhedDBnI2smOKQID45mWwB0hkCAwE AAaAAMA0GCSqGSIb3DQEBBAUAA4GBAJNlxhOiv9P8cDjMsqyM0WXxXWgagdRaGoa8tv8R/UOuBOS8/H qu73umaB9vj6VHY7d9RKqDElFc/xlXeDwoXNiF8quTm43pmY0WcqnL1JZDGHMQkzzGtg502CLTHM ElUGTdKpAK6rJCkucP0DKKEJKcmTySSnvgUu7m -----END CERTIFICATE REQUEST----- Benutzen Sie einen der folgenden zwei Befehle, um die CSR-Datei aufzurufen: cat www.mydomain.csr vi www.mydomain.com.crt Somit haben Sie die drei Grundschritte für den Antrag eines SSL-Zertifikats von thawte abgeschlossen. 5. Nutzung eines Testzertifikats Um sich mit der Funktionsweise eines thawte Zertifikats auf einem Apache Server vertraut zu machen, können Sie sich ein Testzertifikat auf Ihrem Server mithilfe eines thawte Testzertifikats einrichten. In diesem Schritt wird davon ausgegangen, dass das SSL-Protokoll in Apache konfiguriert wurde. Falls dies nicht der Fall sein sollte, gehen Sie bitte zu Punkt 7, um die Konfiguration entsprechend durchzuführen, bevor Sie fortfahren. Obwohl diese Zertifikate nur zu Test- und Bewertungszwecken gedacht sind, können sie dennoch zu Zwecken der Datenverschlüsselung herangezogen werden. Doch wann immer eine SSL-Verbindung mit Ihrem Server, auf dem ein Testzertifikat installiert ist, aufgebaut werden soll, wird eine Warnmeldung angezeigt. Anhand dieser Meldung wird dem Benutzer mitgeteilt, dass das Zertifikat nicht vertrauenswürdig (trusted) ist, und dass somit die Echtheit der Site nicht garantiert werden kann. TM TM Diese Zertifikate sind dazu konzipiert, dass Benutzer ihre Serverkonfigurationen mit ihnen testen können, bevor sie sich zum Kauf eines so genannten "trusted" Zertifikats bei einer CA (Certification Authority / Zertifizierungsstelle) entscheiden. Bei Testzertifikaten kann es zu Fehlern im Browser kommen, in dem das Root-Zertifikat nicht manuell eingefügt wurde. Ihr Browser erkennt das Testzertifikat nur dann als vertrauenswürdig (trusted) an, wenn Sie das erforderliche Root-Zertifikat manuell in Ihren Browser einfügen. Befolgen Sie die zur Installation des thawte Test CA RootZertifikats im Wizard beschriebenen Anweisungen. Klicken Sie hierzu auf den folgenden Link: www.thawte.com/roots/index.html Unsere Testzertifikate haben eine Gültigkeitsdauer von 21 Tagen. Für diesen Service übernehmen wir KEINERLEI GARANTIE! Bis jetzt haben Sie bereits drei Dateien erstellt: www.mydomain.key - privater RSA-Schlüssel www.mydomain.csr - Certificate Signing Request www.mydomain.crt - thawte Datei für Testzertifikat Sie können ein thawte Testzertifikat online unter folgendem Link anfordern: http://www.thawte.com/ucgi/gothawte.cgi?a=w46840165337049000 Sie werden aufgefordert, Ihren CSR (Certificate Signing Request) in das auf der Systemseite des Testzertifikats vorgesehene Eingabefeld per Copy & Paste zu übertragen. Hinweis: Sie müssen den CSR, einschließlich der Bindestriche am Anfang (BEGIN) und am Ende (END) der Zeilen, übertragen. Das Testzertifikat wird daraufhin sofort basierend auf dem angegebenen CSR generiert. Sie können das Zertifikat auf der nächsten Seite ansehen. Speichern Sie das Testzertifikat in einer Datei namens www.mydomain.com.crt TM TM 6. Beantragung eines "trusted" Zertifikats thawte SSL-Zertifikate können online unter folgender Adresse beantragt werden: https://www.thawte.com/buy/ Während des Ablaufs der Zertifikatsbeantragung werden Sie aufgefordert, Ihren CSR (Certificate Signing Request) in ein dafür auf dem Online-Anmeldeformular vorgesehenes Eingabefeld per Copy & Paste zu übertragen. Hinweis: Sie müssen den CSR, einschließlich der Bindestriche am Anfang (BEGIN) und am Ende (END) der Zeilen, übertragen. Wichtig Sollten Sie mehrere CSRs erzeugt haben, vergewissern Siesich bitte, dass Sie den richtigen CSR übertragen. Sie können Ihren CSR anhand des folgenden Befehls überprüfen: “openssl req –text –noout –in csrfilename.csr” Für und während des Anmeldevorgangs müssen Sie die gesamten erforderlichen Angaben bereitstellen und uns die dementsprechenden Dokumente zukommen lassen, die entweder Sie persönlich ausweisen oder die Identität Ihres Unternehmens (beispielsweise eine Handelsregistereintragung) bestätigen. Die genauen Anweisungen zur Beantragung und Anmeldung eines thawte SSL-Zertifikats ersehen Sie unter: http://www.thawte.com/support/docs.html Nach Abschluss der Online-Beantragung wird thawte eine Reihe von Schritten einleiten, um Ihre Identität sowie die von Ihnen im CSR gemachten Angaben zu überprüfen. thawte stellt grundsätzlich ausgedehnte Hintergrundprüfungen an, bevor ein Zertifikat erteilt werden kann. Aus diesem Grund kann es einige Tage dauern, um die Identität Ihres Unternehmens und die von Ihnen diesbezüglich gemachten Angaben zu überprüfen und das Zertifikat zu erteilen. Während dieses Verifikationszeitraums haben Sie die Möglichkeit, den Ablauf Ihres Antrags auf ihrer persönlichen Status-Seite unter folgendem Link mit zu verfolgen: http://www.thawte.com/cgi/server/status.exe Sollten Sie während dieses Zeitraums irgendwelche Fragen haben, wenden Sie sich bitte an den für Ihren Antrag zuständigen Customer Service Ansprechpartner. Die genauen Angaben Ihres Ansprechpartners finden Sie bitte auf Ihrer Status-Seite unter der obigen URL, unter “ thawte Contact Person”. TM TM 7. SSL-Konfiguration in Apache Vor der Installation von Test- oder “vertrauenswürdigen” (“trusted”) Zertifikaten, müssen Sie Ihren Apache Web-Server dementsprechend konfigurieren. ‘Direktiven’ (Directives) sind dazu da, um Apache genaue Funktions- und Verhaltensbefehle bei bestimmten Bedingungen mitzuteilen, d. h. angefangen von wie sicher Inhalte behandelt werden müssen bis hin zur Mitteilung Ihres Servernamens an Apache. Mod_ssl stellt die für die Konfiguration eines SSL-Supports auf Apache notwendigen Direktiven bereit. Die am häufigsten benutzten Direktiven sind nachstehend aufgelistet: SSLCACertificateFile- Spezifiziert den Pfad zu einer Datei, die CA Root-Zertifikate enthält. SSLCertificateFile- Spezifiziert das Verzeichnis des SSL-Zertifikats, das von einem bestimmten Rechner genutzt werden soll. SSLCertificateKeyFile- Pfad zum privaten Schlüssel, welcher der in der vorherigen Direktive genannten Datei entspricht. SSLEngine- Diese Direktive kontrolliert, ob das SSL für einen bestimmten virtuellen Host/Server ‘angeschaltet’ ist oder nicht. Mod_ssl stellt eine Reihe von Direktiven zur Verfügung, was Ihnen die Möglichkeit bietet, Ihren Server auf die jeweiligen Erfordernisse angepasst zu konfigurieren. Eine vollständige Liste der von Mod_ssl bereitgestellten SSLDirektiven ersehen Sie in der Mod_ssl-Dokumentation: http://www.modssl.org/docs/2.2/ssl_reference.html Um Apache für das SSL zu konfigurieren, müssen Sie ein Update Ihrer “httpd.conf”- Datei durchführen, damit diese nach neuen Zertifikaten suchen kann. Öffnen Sie die “httpd.conf” Konfigurationsdatei und stellen Sie sicher, dass Sie die Direktiven ”SSLCertificateFile” und “SSLCertificateKeyFile” mit den richtigen Dateipfaden verknüpft haben. Wenn Sie beispielsweise Ihr Zertifikat im Verzeichnis “/usr/local/ssl/certs/” und Ihren privaten Schlüssel im Verzeichnis “/usr/local/ssl/private/” abgelegt haben, wird Ihnen in Ihrer “httpd.conf”-Datei folgendes angezeigt: SSLCertificateFile: /usr/local/certs/www.mydomain.com.crt SSLCertificateKeyFile: /usr/local/ssl/private/www.mydomain.com.key Sie müssen ebenfalls sicherstellen, dass sowohl Ihr Apache-Server als auch jedwede installierten Firewalls oder Router mit Port 443 verbunden sind. Sie müssen das SSL mit der Direktive “SSLEngine on” oder mit der Direktive SSLEnable in ModSSL beziehungsweise in Apache-SSL “anschalten”. TM TM 8. Installation Ihres Zertifikats Nach Zertifikatserteilung können Sie Ihr Zertifikat von der Status-Seite herunterladen, indem Sie auf die Taste “Fetch Certificate” klicken. (Diese Taste wird nur einmal nach Erteilung des Zertifikats angezeigt.) Speichern Sie es im entsprechenden Verzeichnis in Ihrer “httpd.conf”-Datei ab, um die Schlüssel- und Zertifikatverwaltung zu erleichtern. Aus Konsistenzgründen erscheint es empfehlenswert, das Zertifikat in einer Datei namens “www.mydomain.com.crt” zu speichern. Das Zertifikat wird in der Datenbank von thawte auf unbestimmte Zeit abgelegt und kann jederzeit heruntergeladen werden. Wenn Sie Ihren Web-Server entsprechend konfiguriert haben, müssen Sie keine Änderungen an Ihrer Konfigurationsdatei vornehmen. Sie können ganz einfach die echte (trusted) Zertifikatsdatei über das Testzertifikat kopieren. Nachdem Ihr Zertifikat erteilt worden ist können Sie die Apache Konfigurationsdatei öffnen und Ihr Zertifikat installieren. Ebenso können Sie Ihre SSL-Umgebung konfigurieren. Das Zertifikat wird ähnlich dem unten gezeigten Beispiel aussehen: -----BEGIN CERTIFICATE----MIIDBTCCAm6gAwIBAgIDcxV2MA0GCSqGSIb3DQEBBAUAMIGHMQswCQYDVQQGEwJaQTEiMCAGA1UECBMZRk9 SIFRFU1RJTkcgUFVSUE9TRVMgT05MWTEdMBsGA1UEChMUVGhhd3RlIENlcnRpZmljYXRpb24xFzAVBgNVBAsTDlR FU1QgVEVTVCBURVNUMRwwGgYDVQQDExNUaGF3dGUgVGVzdCBDQSBSb290MB4XDTAyMTEwNTemJhDUzMlo XDTAyMTEyNjE0MDUzMlowgd8xFDASBgNVBAMTC3d3dy5jcmRiLmJlMRswGQYDVQQLHhIAQwBPAEwAVABAAarfJs dQBTAFQxczBxBgNVBAoeagBDAGEAcAAgAEcAZQBtAGkAbgBpACAAVABlAGwAZQBjAG8AbQAgAE0BZq BkAGkAYQAgACYAIABOAGUAdAB3AG8AcgBrAHMAIABCAGUAbABnAGkAdQBBkRpZWdlbTeCxMBUGA1UECBMOV mxhYW1zIEJyYWJhbnQxCzAJBgNVBAYTAkJFMIGfMA0GCSqGsIb3DQEBAQUAA4GNADCBiQKBgQDaNm3HPzG6Rb k5Am0HI6JFHoDQku2/YmVMGbZk5AHeR13QxIP7UVa08/k8qR3B7B0mfbxaNIxdwV9c7c1z4mZYQRfAeryoW4sU2jh1O Hc4Cin+i9UarkHm8WnUnlcVZEnJrySdfLZNuxtbknXBNkca8rk6tnlbXodD3gEQJBMJtQIDAQABoyUwIzAT -----END CERTIFICATE----- Wenn Sie das Zertifikat mit OpenSSL aufrufen, benutzen Sie den folgenden Befehl: “openssl x509 –text –noout –in www.mydomain.com.crt” Das Zertifikat enthält die folgenden Angaben: TM TM Certificate: Data: Version: 3 (0x2) Serial Number: 645099 (0x9d7eb) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=thawte Consulting cc, OU=Certification Services Division, CN=thawte Server CA/Email=servercerts@ thawte.com Validity Not Before: Dec 11 12:34:19 2002 GMT Not After : Dec 11 12:34:19 2003 GMT Subject: C=US, ST=Texas, L=Dallas, O=Widgets Inc., OU=Widgets, CN=www.widgets.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:b5:89:6c:cb:bb:9c:56:32:5f:77:5d:3d:9c:9c: 81:41:3d:8a:37:bc:4d:10:26:03:8c:f4:27:07:74: 88:a5:3a:d5:32:82:ab:1b:42:12:2a:bf:65:ad:b8: b3:c7:f1:b0:ea:66:94:5e:82:ca:55:6e:26:c4:7f: b0:5b:e5:22:b1:39:12:fd:a0:0d:cd:ef:59:56:95: d3:33:14:da:f6:b8:c1:f8:d7:c1:05:32:d7:2d:90: 83:e6:91:f0:70:b1:d9:88:29:06:6a:45:02:17:aa: df:1d:4b:56:d8:8d:ff:02:fc:22:20:e2:be:63:e5: 4e:09:e1:9c:97:24:91:ef:b1 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Extended Key Usage: TLS Web Server Authentication X509v3 Basic Constraints: critical CA:FALSE Signature Algorithm: md5WithRSAEncryption 97:48:b9:78:ca:66:f5:33:b9:3b:62:c2:52:26:04:8d:3f:e9: 32:ec:c9:e4:a2:fa:a5:b0:f8:df:10:5b:11:8b:36:97:62:e3: 82:63:20:93:7b:84:08:03:de:9e:a1:37:e3:12:e5:03:87:33: f5:74:7e:84:9e:bb:52:bb:e3:8a:c1:a8:68:87:ad:8a:a4:95: 0d:61:98:4e:cd:da:13:fe:8c:0c:87:d4:7f:e6:18:3e:36:a4: d1:ad:23:13:07:fc:bf:8c:bd:8a:42:32:e3:22:af:1b:7c:fb: 5e:d3:1a:94:f9:24:3c:4b:bd:3e:e9:f2:c6:9c:56:e4:b6:e2: 1e:6d TM TM Dieses Zertifikat ist mit dem privaten Schlüssel, den Sie vorab erzeugt haben, verbunden (www.mydomain.com.key) und kann auch nur an diesen Schlüssel ‘angehängt’ werden. Falls Sie den privaten Schlüssel, mit dem Ihr Zertifikat verbunden ist, verlieren sollten, wird Ihr Zertifikat unbrauchbar. Als nächstes müssen Sie die SSLCertificateFile-Direktive in das Verzeichnis stellen, in dem diese Datei gespeichert werden soll. Meist ist das dasselbe Verzeichnis wie für Ihre “httpd.conf”-Datei, /etc/apache oder ähnlich: SSLCertificateFile: /etc/apache/www.mydomain.com.crt Sie müssen Apache ebenfalls anweisen, welche Schlüsseldatei für dieses Zertifikat benutzt werden soll. Vergessen Sie daher nicht, die SSLCertificateKeyFile-Direktive mit dem privaten Schlüssel für dieses Zertifikat zu verbinden: SSLCertificateKeyFile: /etc/apache/www.mydomain.com.key CAs (Certificate Authorities / Zertifizierungsstellen) signieren ihre Zertifikate mit einem hochsicheren Root-Zertifikat, und jede beliebige Applikation, die ein Endbenutzer-Zertifikat überprüfen möchte, muss dazu in der Lage sein, das Benutzer-Zertifikat mit dem Root-Zertifikat der CA gegenzuchecken. ModSSL verwendet hierzu die SSLCACertificateFile, die bereits in ModSSL beinhaltet ist. Normalerweise sind die Inhalte dieser Datei nicht anpassungsbedürftig. SSLCACertificateFile: /etc/apache/ca –bundle.crt Nachdem Sie nun alle Direktiven konfiguriert haben, sollte das SSL entsprechend funktionieren. Richtig? Falsch. Da ist noch eine Direktive, die Sie sich näher anschauen müssen – die SSLEngine. Diese Direktive hat 2 Argumente, “on” oder “off”. Sie möchten das SSL natürlich auf an haben: SSLEngine on Die obige Direktive kann in einem globalen Serverkontext oder innerhalb des <VirtualHost>- Containers benutzt werden. Wenn Sie das Zertifikat auf einem richtig konfigurierten virtuellen Host benutzen, sollte Ihre Konfiguration etwa so aussehen: <VirtualHost 192.168.1.22:443> DocumentRoot /var/www/widgets ServerName www.mydomain.com ServerAdmin root@mydomain.com ErrorLog /etc/httpd/logs/error_log TransferLog /etc/httpd/logs/access_log SSLEngine on SSLCertificateFile /etc/httpd/conf/ssl.crt/www.mydomain.com.crt TM TM SSLCertificateKeyFile /etc/apache/www.mydomain.com.key SSLCACertificateFile /etc/apache/ca_bundle.crt SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-uncleanshutdown </VirtualHost> Sie haben sicher gemerkt, dass im <VirtualHost>-Container ein bestimmter Port genannt wird, nämlich Port 443. Es handelt sich hierbei um den Standard-SSL-Port, der so konfiguriert ist, um die globale ‘Listen’-Direktive zu nutzen. ‘Listen 80’ wird standardmäßig in der “httpd.conf”-Datei konfiguriert. Sie müssen jetzt lediglich ‘Listen 443’ in eine neue Zeile hinzufügen. Es ist empfehlenswert, alle ähnlichen Direktiven in eine Gruppe zu fassen. 9. Sicherung von virtuellen Hosts Wenn Sie über sichere virtuelle Hosts verfügen, dann benötigt jeder einzelne dieser Hosts eine eigene IP, da SSL keine namensbasierten Hosts unterstützt. SSL kann nur dann auf namensbasierten virtuellen Hosts konfiguriert werden, wenn diese virtuellen Hosts verschiedene SSL-Ports verwenden. Bitte beachten Sie, dass die oben gezeigte Konfiguration nur ein Basismodell ist. Sie können selbstverständlich zahlreiche weitere SSL-Direktiven einbauen, mit denen Sie Ihre SSLUmgebung persönlich gestalten können. Nach Installation des Zertifikats und nach richtiger SSL-Konfiguration müssen Sie den gesamten Server, und nicht nur den Dämon, neu starten. Auf diese Weise wird sichergestellt, dass die installationsbedingten Änderungen übernommen werden. Die Verzeichnisse, in denen die zum Start von Apache notwendigen Skripten gespeichert sind, variieren je nach den verschiedenen Linux Verteilungen. Wir gehen daher davon aus, dass ein Skript namens ‘apache’ in /etc/init.d/ abgelegt ist, das ein Skript in /usr/sbin/ namens ‘apachectl’ aufruft. widget@mydomain-pc/etc/init.d/apache start Sie sollten nun sicher auf Ihren Rechner zugreifen und die Zertifikeigenschaften aufrufen können. Ob die SSL-Verbindung erfolgreich war erkennen Sie an einem goldenen Vorhängeschloss, das in der unteren Symbolleiste Ihres Browsers erscheint. Durch Doppelklick auf dieses Icon rufen Sie die Zertifikatangaben auf. TM TM 10. Nützliche URLs Häufig auftretende Probleme mit Apache-SSL und Apache ModSSL werden in unseren FAQs behandelt: http://www.thawte.com/support/keygen/index.html Die Anleitungen zur Schlüsselgenerierung für Apache-SSL finden Sie unter der folgenden URL: http://www.thawte.com/support/keygen/index.html Die Anleitungen zur Schlüsselgenerierung für Apache ModSSL finden Sie unter der folgenden URL: http://www.thawte.com/support/keygen/index.html Der Anmeldevorgang für Web-Server-Zertifikate und 128-bit SuperCerts startet hier: https://www.thawte.com/buy Anweisungen zur Generierung eines Testzertifikats: http://www.thawte.com/ucgi/gothawte.cgi?a=46840165337049000 Hier finden Sie ein Download für das thawte Test CA Root-Zertifikat: https://www.thawte.com/roots/index.html 11. Welche Rolle übernimmt thawte? thawte Technologies ist eine CA (Certification Authority / Zertifizierungsstelle), die SSL-Web-Server-Zertifikate an Unternehmen und Einzelpersonen weltweit erteilt. thawte stellt Überprüfungen darüber an, ob es sich bei dem, das Zertifikat beantragende, Unternehmen um eine eingetragene Firma handelt und ob die Person, die das Zertifikat für das Unternehmen beantragt hat, tatsächlich dazu berechtigt ist. thawte überprüft ebenfalls, ob das Unternehmen gleichzeitig Eigentümer der entsprechenden Domain ist. Die digitalen Zertifikate von thawte sind vollkommen kompatibel mit Apache sowie mit der jeweils aktuellsten Software von Microsoft und Netscape. Auf diese Weise können Sie beim Kauf eines digitalen Zertifikats von thawte sicher sein, das Vertrauen Ihrer Kunden sowohl in Ihr System als auch in Ihre Integrität zu gewinnen. Ihre Kunden können sich darauf verlassen, sichere Online-Geschäfte zu führen. TM TM 12. Der Authentifizierungswert Informationen stellen einen entscheidenden Wert für Ihr Unternehmen dar. Um die Unversehrtheit und Sicherheit Ihrer Informationen zu garantieren, ist es zunächst wichtig festzustellen, mit wem Sie in Kontakt treten, und ob die Daten, die Sie erhalten, auch vertrauenswürdig sind. Authentifizierung kann dazu beitragen, eine Vertrauensbasis zwischen den, in einer Unmenge von geschäftlichen Transaktionen voneinander abhängigen, Kommunikationspartnern zu bilden, und zwar durch die Einbindung von eindeutigen Sicherheitsaspekten: Website-Manipulation: Die geringen Kosten von Website Design und die Einfachheit, Webseiten kinderleicht zukopieren, schafft eine nahrhafte Grundlage für illegale Websites, die, so soll glaubhaft gemacht werden, von seriösen Firmen veröffentlicht werden. Tatsache ist jedoch, dass Trickbetrüger auf illegale Art Kreditkartennummern erlangen, indem Sie professionell erscheinende Storefronts errichten, die rechtmäßig begründete Geschäfte nachahmen. Unbefugte Handlung: Ein Konkurrenzunternehmen oder ein verstimmter Kunde kann Veränderungen an Ihrer Website vornehmen, so dass diese nicht richtig funktioniert oder potentielle Neukunden abblockt. Unbefugte Weitergabe von Informationen: Wenn Geschäftsinformationen “ahnungslos” weitergegeben werden, können Hacker die Datenübertragungen abfangen, um so an wichtige Informationen von Ihren Kunden zu gelangen. Datenänderung: Der Inhalt eines Geschäfts kann abgefangen und während der Datenübertragung entweder böswillig oder unabsichtlich verändert werden. “Ahnungslos” gesendete Benutzernamen, Kreditkartennummern und Währungsbeträge können problemlos abgeändert werden. 13. Wenden Sie sich an thawte Wenn Sie noch Fragen in Bezug auf den Inhalt dieser Gebrauchsanleitung oder auf Produkte und Service von thawte haben, wenden Sie sich bitte an einen unserer Verkaufsberater : E-Mail: Telefon: Fax: sales@thawte.com +27 21 937 8902 +27 21 937 8967 TM TM 14. Terminologieglossar Apache Der Apache Web-Server, allgemein kurz Apache genannt, ist ein Projekt der Apache Software Foundation und wurde mit dem Ziel entwickelt, einen sicheren, effizienten und erweiterbaren Web-Server auf den Markt zu bringen, der HTTP-Dienste bietet, die mit den aktuellen HTTP-Standards kompatibel sind. jakarta.apache.org Asymmetrische Kryptographie Ein kryptographisches Verfahren mit Hilfe eines kombinierten öffentlichen und privaten Schlüsselbunds, um Nachrichten zu ver- und entschlüsseln. Um eine verschlüsselte Nachricht zu senden, verschlüsselt der Benutzer sie mit dem öffentlichen Schlüssel des Empfängers. Bei Empfang wird die Nachricht anhand des privaten Schlüssels des Empfängers wieder entschlüsselt. Die Benutzung verschiedener Schlüssel zur Ausführung von Ver- und Entschlüsselungsfunktionen wird als Falltür- oder Einweg-Funktion bezeichnet. Dies bedeutet, dass der öffentliche Schlüssel zwar zur Verschlüsselung der Nachricht verwendet wird, dass er aber später nicht zur Entschlüsselung derselben Nachricht benutzt werden kann. Ohne den privaten Schlüssel ist es praktisch unmöglich, diese Funktion umzukehren, wenn hierzu moderne und hochsichere kryptographische Algorithmen benutzt wurden. Certification Authority / Zertifizierungsstelle Eine CA (Certificate Authority) ist ein Unternehmen (wie z.B. thawte), das Sicherheitszeugnisse und öffentliche Schlüssel zum Zweck der Nachrichtenverschlüsselung erteilt und verwaltet. Certificate Signing Request (CSR) Ein CSR ist ein öffentlicher Schlüssel, der auf Ihrem Server generiert wird und der die computerspezifischen Informationen Ihres Web-Servers sowie Ihres Unternehmens bei Beantragung eines Zertifikats von thawte bestätigt. Mod_ssl Da es sich bei Apache um eine Modulapplikation handelt, besteht eine seiner herausragendsten Eigenschaften in seiner extremen Anpassbarkeit an erweiternde Drittmodule. Eines der beliebtesten (und im E-Commerce bereits nicht mehr weg zu denkenden) für Apache entwickelten Module ist Mod_ssl. Mod_ssl ist ein Modul, dass SSL-Support für Apache bietet. Ohne Mod_ssl könnte Apache keine SSL-Anmeldungen bedienen, da er nicht wüsste, was er mit ihnen anfangen sollte. OpenSSL OpenSSL ist ein kryptographisches Toolkit, das Secure Sockets Layer (SSL v2/v3) und Transport Layer Security (TLS v1) Netzwerk-Protokolle und hierzu erforderliche verwandte kryptographische Standards beinhaltet. www.openssl.org TM TM Mod_ssl Da es sich bei Apache um eine Modulapplikation handelt, besteht eine seiner herausragendsten Eigenschaften in seiner extremen Anpassbarkeit an erweiternde Drittmodule. Eines der beliebtesten (und im E-Commerce bereits nicht mehr weg zu denkenden) für Apache entwickelten Module ist Mod_ssl. Mod_ssl ist ein Modul, dass SSL-Support für Apache bietet. Ohne Mod_ssl könnte Apache keine SSL-Anmeldungen bedienen, da er nicht wüsste, was er mit ihnen anfangen sollte. OpenSSL OpenSSL ist ein kryptographisches Toolkit, das Secure Sockets Layer (SSL v2/v3) und Transport Layer Security (TLS v1) Netzwerk-Protokolle und hierzu erforderliche verwandte kryptographische Standards beinhaltet. www.openssl.org Grundsätzlich stellt OpenSSL stellt die Plattform, auf der Mod_ssl läuft, bereit und muss auf einem Rechner installiert werden, auf dem Apache + Mod_ssl benutzt werden sollen. Ohne OpenSSL kann Mod_ssl nicht eingesetzt werden. Alle Dienstprogramme/Applikationen, die Verschlüsselungsfunktionen erfordern, greifen auf die kryptographischen Bibliotheken von OpenSSL zu. Privater Schlüssel Ein privater Schlüssel ist ein Nummerncode mit dem verschlüsselte Nachrichten wieder entschlüsselt werden, die vorab mit einem eindeutigen, ihm entsprechenden öffentlichen Schlüssel verschlüsselt wurden. Die Unversehrtheit der Verschlüsselung hängt stets vom privaten Schlüssel ab, der geheim gehalten werden soll. Öffentlicher Schlüssel Ein öffentlicher Schlüssel ist ein Nummerncode, der die Verschlüsselung von an den Inhaber des entsprechenden eindeutigen privaten Schlüssels gesendeten Nachrichten ermöglicht. Der öffentliche Schlüssel kann frei in Umlauf gesetzt werden, ohne dabei die Verschlüsselung zu gefährden. Mit diesem Schlüssel werden die Effizienz und der praktische Umgang verschlüsselter Kommunikationen erhöht. Symmetrische Kryptographie Ein kryptographisches Verfahren, wobei ein und derselbe Schlüssel für sowohl die Ver- als auch die Entschlüsselung verwendet wird. Der große Nachteil dieses Verfahrens liegt jedoch im Sicherheitsrisiko, das bei der Verteilung des Schlüssels besteht, da die Schlüsseleigenschaften zwar sowohl dem Sender als auch dem Empfänger mitgeteilt werden müssen, jedoch nicht in die Hände Dritter fallen sollen.