Apache SSL Zertifikat erstellen und installieren

Zum Ende der Metadaten springen
Go to start of metadata
Weiterführende Fachliteratur

Apache 2: Skalierung, Performance-Tuning, CGI, SSI, Authentifizierung, Sicherheit, VMware von Sascha Kersken. Praxisorientiertes Lehrbuch und Referenz, auch für Einsteiger geeignet.
Vom gleichen Autor: Praktische Online-Referenz der wichtigsten Apache-Direktiven.


Webserver einrichten und administrieren von Klaus M. Rodewig. Aufbau, Betrieb und Administration eines Webservers, von der Auswahl des Providers über Hard- und Software bis hin zu rechtlichen Fragen.


Apache - kurz und gut von Andrew Ford und Sascha Kersken. Übersichtliche Zusammenfassung mit den wichtigsten Apache-Informationen, für Fortgeschrittene.


Apache Webserver 2. Installation, Konfiguration, Programmierung von Sebastian Wolfgarten.

Dieser Artikel beschreibt die Erstellung und Installation eines SSL-Zertifikats für den Apache 2.x Webserver.

Erstellen des "private key"

Zunächst ist ein "Private Key" zu generieren. Das SSL-Zertifikat ist nur zusammen mit genau diesem Key gültig. Verliert man den private key, funktioniert auch das Zertifikat nicht mehr. Der private key kann auch nicht aus dem Zertifikat generiert oder sonstwie wiederhergestellt werden. Man sollte also an sicherer Stelle ein Backup des private keys aufbewahren.

Man kann zusätzlich auch noch ein Passwort vergeben, was dazu führt, dass man den Webserver nicht ohne Eingabe dieses Passwortes im SSL-Modus starten kann.

Falls man ein offizielles SSL-Zertifikat hat, der private key nicht mit einem Passwort verschlüsselt und der Server gehackt wird, muss man das Zertifikat bei der Zertifizierungsstelle zurückziehen (revoke). Andernfalls könnte der Hacker das SSL-Zertifikat für eigene Zwecke missbrauchen.

v0000:/chroot/web/opt/apache/conf# openssl genrsa -out schirmacher.key 1024
Generating RSA private key, 1024 bit long modulus
......................++++++
.++++++
e is 65537 (0x10001)
v0000:/chroot/web/opt/apache/conf#

Alternativ hier der Befehl für Verschlüsselung des private keys mit einem Passwort:

v0000:/chroot/web/opt/apache/conf# openssl genrsa -des3 -out schirmacher.key 1024
Generating RSA private key, 1024 bit long modulus
..............................................................................++++++
................................................++++++
e is 65537 (0x10001)
Enter pass phrase for schirmacher.key: ********
Verifying - Enter pass phrase for schirmacher.key: ********
v0000:/chroot/web/opt/apache/conf#

Certificate Signing Request (CSR) anlegen

Der CSR enthält die Firmeninformationen, Domainname, Email-Adresse usw. Diese Datei sendet man dann an die Zertifizierungsstelle und erhält das Zertifikat zurück. Alternativ kann man sich aus dem CSR auch ein self-signed certificate erstellen.

Er wird wie folgt erstellt (die Angabe des Bundesstaates - hier NRW - ist für die Erstellung eines offiziellen Zertifikats meistens erforderlich; nicht benötigte Felder kann man durch Eingabe eines Punktes "." überspringen):

v0000:/chroot/web/opt/apache/conf# openssl req -new -key schirmacher.key -out schirmacher.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:NRW
Locality Name (eg, city) []:Brueggen
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Arne Schirmacher
Organizational Unit Name (eg, section) []:.
Common Name (eg, YOUR name) []:www.schirmacher.de
Email Address []:arne@schirmacher.de

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:.
An optional company name []:.
v0000:/chroot/web/opt/apache/conf#

CSR überprüfen

Mit folgendem Befehl stellt man fest, ob alle Angaben im CSR korrekt sind:

v0000:/chroot/web/opt/apache/conf# openssl req -noout -text -in schirmacher.csr
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=DE, ST=NRW, L=Brueggen, O=Arne Schirmacher, CN=www.schirmacher.de/emailAddress=arne@schirmacher.de
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (1024 bit)
                Modulus (1024 bit):
                    00:c5:92:cf:97:27:cd:f5:53:47:94:b8:21:81:40:
                    4a:f0:bd:be:18:65:e2:f4:44:7e:64:69:73:5c:dd:
                    da:45:68:a5:bb:60:0c:f5:b3:32:96:57:2d:5d:eb:
                    37:3a:a4:8f:67:e0:44:ca:26:3d:7f:ab:b4:e3:28:
                    f5:c2:4a:4c:da:02:85:88:be:a0:28:61:77:bc:7e:
                    f3:c7:31:41:b5:c2:e9:22:43:c5:2f:13:4e:c9:c2:
                    2c:9e:b0:a9:a6:54:49:6a:5b:14:2c:b9:77:c3:1a:
                    0f:e9:82:c5:bf:ba:87:d7:29:1b:ec:f5:a3:28:a0:
                    05:39:d7:8a:03:e7:19:52:c9
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: md5WithRSAEncryption
        5f:d0:31:d5:e4:fe:6d:25:d8:b3:a6:87:06:58:eb:f9:b2:78:
        88:6f:2e:70:82:38:e3:82:92:6a:b8:bc:28:90:71:44:f7:ec:
        6d:b0:d8:d8:e0:3c:69:87:16:a5:68:3e:8b:63:6a:d5:97:a1:
        c1:9f:7c:e3:3c:fa:85:7a:84:eb:e7:aa:4e:59:72:c4:a4:03:
        e3:bf:a5:aa:75:8e:10:2e:81:4a:28:69:fa:be:68:c6:22:47:
        53:db:15:88:3e:51:39:c1:ce:86:e1:be:d4:e0:e2:9f:bf:bf:
        c2:94:d5:0f:3c:bd:a5:2e:ff:be:e8:1b:76:95:a4:d2:49:9e:
        78:64
v0000:/chroot/web/opt/apache/conf#

Alternativ kann man den CSR auch z.B. online überprüfen lassen. Einfach die CSR Datei ausgeben und mit Copy & Paste in das Formular übertragen.

v0000:/chroot/web/opt/apache/conf# cat schirmacher.csr
-----BEGIN CERTIFICATE REQUEST-----
MIIByzCCATQCAQAwgYoxCzAJBgNVBAYTAkRFMQwwCgYDVQQIEwNOUlcxETAPBgNV
BAcTCEJydWVnZ2VuMRkwFwYDVQQKExBBcm5lIFNjaGlybWFjaGVyMRswGQYDVQQD
ExJ3d3cuc2NoaXJtYWNoZXIuZGUxIjAgBgkqhkiG9w0BCQEWE2FybmVAc2NoaXJt
YWNoZXIuZGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMWSz5cnzfVTR5S4
IYFASvC9vhhl4vREfmRpc1zd2kVopbtgDPWzMpZXLV3rNzqkj2fgRMomPX+rtOMo
9cJKTNoChYi+oChhd7x+88cxQbXC6SJDxS8TTsnCLJ6wqaZUSWpbFCy5d8MaD+mC
xb+6h9cpG+z1oyigBTnXigPnGVLJAgMBAAGgADANBgkqhkiG9w0BAQQFAAOBgQBf
0DHV5P5tJdizpocGWOv5sniIby5wgjjjgpJquLwokHFE9+xtsNjY4DxphxalaD6L
Y2rVl6HBn3zjPPqFeoTr56pOWXLEpAPjv6WqdY4QLoFKKGn6vmjGIkdT2xWIPlE5
wc6G4b7U4OKfv7/ClNUPPL2lLv++6Bt2laTSSZ54ZA==
-----END CERTIFICATE REQUEST-----

Self-signed Certificate erstellen

Für Testzwecke kann man sich auch das SSL-Zertifikat selber erstellen. Der einzige Unterschied zu einem offiziellen Zertifikat ist, dass der Webbrowser feststellt, dass es nicht von einer offiziellen Zertifizierungsstelle erstellt wurde. Alle Webbrowser zeigen eine Warnung an, wenn ein solches selbsterstelltes Zertifikat verwendet wird. Die eigentliche Verschlüsselung hingegen ist voll funktionsfähig, d.h. die Zugriffe auf eine mit einem selbsterstellten Zertifikat geschützte Website können ebensowenig entschlüsselt werden wie die Zugriffe auf eine Website mit einem offiziellen SSL-Zertifikat.

Solche selbsterstellten Zertifikate sollten jedoch keinesfalls für öffentlich zugängliche Webserver verwendet werden, und zwar aus folgendem Grund: Wenn viele SSL-Webseiten selbsterstellte Zertifikate verwenden, dann wird der durchschnittliche Internet-Nutzer der Webbrowser-Warnung keine Bedeutung mehr beimessen, und es tritt ein Gewöhnungseffekt ein.

Mit folgendem Befehl wird ein self-signed certificate erstellt, das für 365 Tage gültig ist:

v0000:/chroot/web/opt/apache/conf# openssl x509 -req -days 365 -in schirmacher.csr -signkey schirmacher.key -out schirmacher.crt
Signature ok
subject=/C=DE/ST=NRW/L=Brueggen/O=Arne Schirmacher/CN=www.schirmacher.de/emailAddress=arne@schirmacher.de
Getting Private key
v0000:/chroot/web/opt/apache/conf#

Offizielles SSL-Zertifikat (CRT) bestellen

Um ein "offizielles" SSL-Zertifikat zu erhalten, muss der CSR an die Zertifizierungsstelle übermittelt werden, z.B. durch Ausfüllen eines Online-Bestellformulars. Man erhält dann im allgemeinen einen Downloadlink (mit Passwort) und eine Rechnung. Nach Prüfung aller Unterlagen ist das Zertifikat erstellt und kann installiert werden.

Bei der Bestellung von SSL Zertifikaten muss man beachten, dass nicht alle Zertifikate gleich sind. Die billigen Zertifikate besagen im Grunde nicht mehr, als dass der Aussteller des Zertifikats das Zertifikat per email an den Inhaber der Domain sendet (admin@domainname.com, hostmaster@domainname.com usw.), wer auch immer das ist. Bei den teureren Zertifikaten wird schon ernsthafter geprüft (Handelsregisterauszug, Personalausweis, telefonischer Rückruf usw.), ob der Inhaber tatsächlich derjenige ist, der er vorgibt zu sein.

Ein weiterer Gesichtspunkt ist die Kompatibilität zu verschiedenen Browsern. Ein "alter" Browser erkennt die Zertifikate eines "neuen" Ausstellers nicht, was für den Endanwender im Grunde dasselbe ist wie ein selbsterstelltes oder gar kein Zertifikat. Dies ist ein Problem mit vielen Billiganbietern. Es handelt sich hierbei zwar um offizielle Zertifikate, die aber nicht mit allen Browsern ohne Fehlermeldung funktionieren. Da die alten Browser jedoch praktisch ausgestorben sind, ist dies im Grunde nicht mehr relevant

Zuletzt sollte man noch darauf achten, ob das Zertifikat ohne weiteres im Webserver zu installieren ist oder ob es ein Zwischenzertifikat erfordert. Falls ja, hat man beim Installieren etwas mehr Aufwand.

Ein billiger und guter Anbieter ist https://www.psw.net/, der zahlreiche Zertifikate verschiedener Hersteller liefert. Sollte es mal Probleme geben, bekommt man auch umgehend kompetente Beratung - ein wichtiger Pluspunkt, wenn man ein Zertifikat für den kommerziellen Einsatz benötigt.

Ich verwende für eigene Webseiten das "LimitBreaker" Zertifikat für € 39,- pro Jahr. Es ist auch mit wirklich uralten Browsern kompatibel, beispielsweise mit dem Microsoft Internet Explorer 3.0, Opera 3.0 und Netscape 2.0. Außerdem benötigt es kein Zwischenzertifikat auf dem Webserver.

Das "LimitBreaker" Zertifikat wird bestätigt, indem die Autorisierungsstelle eine Email an eine bestimmte Email-Adresse sendet. Falls man das Zertifikat für einen Kunden bestellt, kann das ein Problem werden, wenn es sich um eine größere Organisation handelt. Alternativ kann man dann das etwas teurere "Comodo Silber" Zertifikat bestellen, dieses kann auch der Auftraggeber bestätigen, muss sich aber vertraglich gegenüber der Autorisierungsstelle verpflichten, seinerseits für den korrekten Einsatz des Zertifikats zu sorgen.

Einige Anbieter stellen auch kostenlose Zertifikate aus, die sind allerdings nur 30 Tage gültig. Ideal für Testzwecke.

CRT anzeigen

Den Inhalt eines CRT lässt sich mit folgendem Befehl anzeigen:

openssl asn1parse -inform PEM -in schirmacher.crt
    0:d=0  hl=4 l= 824 cons: SEQUENCE
    4:d=1  hl=4 l= 673 cons: SEQUENCE
    8:d=2  hl=2 l=   3 cons: cont [ 0 ]
   10:d=3  hl=2 l=   1 prim: INTEGER           :02
   13:d=2  hl=2 l=   3 prim: INTEGER           :0BED68
   18:d=2  hl=2 l=  13 cons: SEQUENCE
   20:d=3  hl=2 l=   9 prim: OBJECT            :sha1WithRSAEncryption
...

Installation des SSL-Zertifikats

Das SSL-Zertifikat wird installiert, indem dem Webserver der Pfad auf das Zertifikat sowie auf den privaten Key mitgeteilt wird. Beim Apache 2.x Webserver ist die SSL-Konfiguration in eine separate Datei ausgelagert, die zunächst einmal in die Konfigurationsdatei conf/httpd.conf inkludiert werden muss (ist im Grundzustand auskommentiert):

# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf

Sodann kann man in der httpd-ssl.conf Datei den gewünschten Eintrag für den virtuellen Host sowie die Pfade auf die Dateien anlegen:

<VirtualHost _default_:443>
  <Directory /home/schirmacher.de/www>
    Options FollowSymLinks Indexes ExecCGI
    Order allow,deny
    Allow from all
    AllowOverride All
  </Directory>

  #   General setup for the virtual host
  DocumentRoot "/home/schirmacher.de/www"
  ServerName www.schirmacher.de:443
  ServerAdmin arne@schirmacher.de
  ErrorLog    "|/opt/apache/bin/rotatelogs -l /home/schirmacher.de/log/ssl_error_log.%Y-%m-%d-%H_%M_%S 86400"
  TransferLog "|/opt/apache/bin/rotatelogs -l /home/schirmacher.de/log/ssl_access_log.%Y-%m-%d-%H_%M_%S 86400"

  #   SSL Engine Switch:
  #   Enable/Disable SSL for this virtual host.
  SSLEngine on

...
  SSLCertificateFile /opt/apache/conf/schirmacher.crt
  SSLCertificateKeyFile /opt/apache/conf/schirmacher.key
...
</VirtualHost>

Mehrere SSL-Domains pro Server

Mit dem Apache Webserver kann man zahlreiche unterschiedliche Websites auf ein und demselben Server betreiben. Die Domains haben dann alle dieselbe IP-Adresse und erst der Apache Webserver entscheided anhand des Domainnamens, der im GET Request mitgesendet wird, welche konkrete Domain angezeigt werden soll.

Bei der SSL-Verschlüsselung stellt sich nun das Problem, dass die Verschlüsselung initialisiert werden muss, bevor überhaupt Daten übertragen werden können. Der Domainname im GET-Request ist zu diesem Zeitpunkt noch gar nicht beim Server und folglich weiß der Apache Webserver nicht, welche Zertifikat zu dem Zugriff gehört. Das ist der Grund, weswegen man (normalerweise) nur eine einzige SSL-Verschlüsselung pro Server hinbekommt.

Es gibt folgende Lösungsmöglichkeiten:

SSL-enabled Name-based Apache Virtual Hosts

Mit der "Server Name Indication (SNI)" SSL Erweiterung kann man den Apache so konfigurieren, dass jeder Virtual Host sein eigenes Zertifikat nutzt:

http://www.g-loaded.eu/2007/08/10/ssl-enabled-name-based-apache-virtual-hosts-with-mod_gnutls/

Multi-Domain Certificates

Dies sind Zertifikate, die mehr als eine Domain unterstützen. Weitere Domains lassen sich jederzeit nachrüsten.

Nachteil: jede zusätzliche Domain muss extra bezahlt werden

Wildcard Domain Certificates

Dies sind Zertifikate, die z.B. www.schirmacher.de, subdomain1.schirmacher.de usw. verschlüsseln.

Nachteil: Wildcard Domain Certificates sind wesentlich teurer als normale Zertifikate. Evtl. muss man auch einen Reverse Proxy im Apache konfigurieren.

Zusätzliche IP-Adressen

Falls der Server mehrere IP-Adressen hat, kann man Apache so konfigurieren, dass jede SSL-Website eine andere IP-Adresse erhält. Dann kann man mehrere <VirtualHost>-Direktiven erstellen, die jeweils das gewünschte Zertifikat referenzieren.

Nachteil: Zusätzliche IP-Adressen sind nicht bei jedem Root-Server möglich und kosten meistens extra.

Zusätzliche Ports

Man kann auch anstelle zusätzlicher IP-Adressen andere Ports in den <VirtualHost>-Direktiven konfigurieren.

Nachteil: Man hat dann unschöne und wenig vertrauenerweckende URLs mit https://domainname:Nummer/

 
Bookmarks

Ist die Seite nützlich? Dann bitte weiterempfehlen!

| | More
Seiteninhalt
Bereichsinhalt
Letzte Google Suche

Stichwörter

apache apache Löschen
linux linux Löschen
Geben Sie Stichwörter ein, die dieser Seite hinzugefügt werden sollen:
Please wait 
Sie suchen ein Stichwort? Beginnen Sie einfach zu schreiben.
  1. 20.Aug.2008

    Anonym sagt:

    Danke für diese gut erklärte Beschreibung. Mit dieser Hilfe bekam ich SSL auf A...

    Danke für diese gut erklärte Beschreibung.

    Mit dieser Hilfe bekam ich SSL auf Apache endlich zum Laufen....

  2. 10.Sep.2008

    Anonym sagt:

    Jau, endlich mal eine richtig gut verständliche Beschreibung zu diesem Thema. B...

    Jau, endlich mal eine richtig gut verständliche Beschreibung zu diesem Thema.

    Bin begeistert, vielen Dank!

    Noch ein paar Fragen dazu:

    • Kann es sein, dass pro IP nur ein Zertifikat möglich ist?
    • Wenn man mehrere Subdomains einer Domain schützen will, gibt es eine Alternative zu den (meiner Meinung nach) maßlos überteuerten Wildcard-Zertifikaten?
    • Kann man z.B. ein Zertifikat auf eine IP (statt Domain) festlegen?

    Vielen Dank soweit !

    1. 11.Sep.2008

      Arne Schirmacher sagt:

      Richtig, pro IP-Adresse ist nur eine SSL-Verschlüsselung möglich. Man kann für u...

      Richtig, pro IP-Adresse ist nur eine SSL-Verschlüsselung möglich. Man kann für unterschiedliche Domainnamen dieselbe IP-Adresse vergeben. Die Aufteilung auf die verschiedenen Websites macht dann der Apache, meistens über eine "Virtual Hosts" Konfiguration. Der gewünschte Domainname wird nämlich bei jedem GET- oder POST-Request mitgesendet; so kann der Apache rausfinden, welche Website gemeint ist.

      Wenn man eine https: URL verwendet, dann baut der Webbrowser jedoch schon ganz zu Anfang eine SSL-Verbindung zum Apache auf. Er kann dazu aber nur die IP-Adresse verwenden, da der Domainname ja erst gesendet wird, nachdem die Verbindung steht. Folglich kann man nur ein SSL-Zertifikat pro Apache Server installieren. Und mehrere Apache Server auf ein und demselben Server zu installieren ist auch nicht möglich, da nur ein Apache zur Zeit den SSL-Port 443 nutzen kann.

      Verschlüsselung für mehrere Subdomains ist nur mit dem erwähnten WildCard Zertifikat möglich. Hier gilt halt das Prinzip "Angebot und Nachfrage" - da kann man nichts machen.

      Ein SSL-Zertifikat kann nur dann für eine IP-Adresse ausgestellt werden, wenn einem die IP-Adresse auch gehört. Das Zertifikat muss nämlich immer für den Inhaber der Domain bzw. der IP-Adresse generiert werden. Im Gegensatz zu Domainnamen ist es aber relativ schwierig und teuer, eine eigene IP-Adresse zu bekommen.

      1. 12.Sep.2008

        Anonym sagt:

        Vielen Dank für die Antworten! Nochmal eine Rückfrage:  > Folglich...

        Vielen Dank für die Antworten!

        Nochmal eine Rückfrage: 

        > Folglich kann man nur ein SSL-Zertifikat pro Apache Server installieren.

        Wenn man einen Apache Server so konfiguriert, dass er auf zwei IP's hört und jeder dieser IP's in der Konfiguration eine Domain zuweist, dann ist also trotzdem nur ein Zertifikat möglich?

        Riesen Dank nochmal...

        1. 13.Sep.2008

          Arne Schirmacher sagt:

          Ok, an diese Möglichkeit habe ich nicht gedacht. Ich habe zwar noch nie einen Ap...

          Ok, an diese Möglichkeit habe ich nicht gedacht. Ich habe zwar noch nie einen Apache Server mit 2 IP-Adressen konfiguriert, es müsste aber eigentlich funktionieren.

          1. 13.Dez.2008

            Anonym sagt:

            Hallo, wenn man mehrere IP-Adressen oder verschiedene Ports verwendet, kann man...

            Hallo,

            wenn man mehrere IP-Adressen oder verschiedene Ports verwendet, kann man auf jede Kombination von IP-Adresse+Port ein eigenes Zertifikat legen.

            Statt des 443 andere Ports sollte man nur bei Seiten verwenden, die nicht öffentlich sind, da manche Surfer nur auf Port 80 und 443 kommen und auf der 80 vielleicht sogar ein Zwangsproxy sitzt, der nur mit HTTP funktioniert. Für Dich selbst oder eine eingeschränkte Gruppe kannst Du auch ein VPN aufbauen, wo der Webserver mehrere IP-Adressen eines privaten Subnetzes hat.

            Wildcard-Zertifikate gibt es schon für rund 250 Euro. Hab eins von PSW.net.

            Es gibt wohl auch die Möglichkeit, mehrere unterschiedliche Domains mit einem Zertifikat zu authentifizieren, wobei das dann andere unflexible Nachteile hat. Wenn beispielsweise ein Kunde von Dir ein Zertifikat gekauft hat, was in so einem Bündel enthalten ist, kannst Du ihm wahrscheinlich das Zertifikat nicht mitgeben, wenn er umziehen will.

            Wer nur eine einzige IP hat und da drauf mehrere Domains zertifizieren will, kann sich auch selbst ein Zertifikat erstellen, das mehrere Domains zertifiziert. Allerdings ist das sehr kompliziert im Vergleich mit der schön einfachen Anleitung hier.

            Da wäre es interessanter, ein selbstzertifiziertes Wildcard-Zerifikat zu verwenden und dann Subdomains der Zertifizierten Domain. Dazu einfach "*.meinedomain.de" zertifizieren. Die kann dann "xyz.meinedomain.de" authentifizieren, nicht aber www.xyz.meinedomain.de".

            Wenn Du ein Zertifikat für mehrere Domains bzw. ein Wildcardzertifikat hast, kannst Du dahinter Namevirtualhosts legen. (Grundsätzlich kannst Du da auch NameVirtualHost-Domains legen, die nicht mit dem Zertifikat übereinstimmen. Nur erhälst Du dann nicht nur die Fehlermeldung, dass das Zertifikat selbstzertifiziert ist, sondern auch dass das Zertifikat nicht zur angeforderten Domain passt. Aber abgesehn davon funktioniert das)

            Gruß,

            Guntram Trebs

  3. 17.Nov.2008

    Anonym sagt:

    Hm, also bei Apache 1.3 konnte ich bequem auf einer IP-Adresse mehrere Zertifika...

    Hm, also bei Apache 1.3 konnte ich bequem auf einer IP-Adresse mehrere Zertifikate benutzen. Ich habe auf verschiedenen Ports derselben IP ebenso verschiedene virtuelle Hosts betrieben (z. B. 1.2.3.4:8181 -> serv1, 1.2.3.4:8182 -> serv2)und das klappte problemlos.

    Ich kann ja für jedem VirtualHost einen Port definieren, einen ServerName eintragen und ein entsprechendes Zertifikat hinterlegen.

    Listen 8181 

    NameVirtualHost *:8181

    <VirtualHost *:8181>.... </VirtualHost>

    Wie auch immer: die oben stehende Anleitung lese ich immer wieder gerne, wenn ich wieder ein neues selbstsigniertes Zertifikat brauche

  4. 29.Nov.2008

    Anonym sagt:

    Das ist alles möglich. Man kann SSL Zertifikate entweder "IP-based" oder "Port-...

    Das ist alles möglich.

    Man kann SSL Zertifikate entweder "IP-based" oder "Port-based" benutzen. Die Frage ist ob man jemandem zumuten will ne adresse wie:

    https://test@domain.de:1337

    einzutippen.

    Ip basierende Zertifikate sind da schon besesr geeignet. NAtürlich muss man darauf achten in der <VirtualHost> direktive nicht * sonder die ip adresse einzutragen.

    z.B.

    <VirtualHost 123.123.123.123:443>

    .....

    </Virtualhost>

    und

    <VirtualHost 234.234.234.234:443>

    ....

    </Virtualhost>

    Ansonsten wäre das wie erwähnt nur durch "wildcard" zertifikate möglich.

    Selbstsignierte Zertifikate zu benutzen ist sowieso nicht empfehlenswert. Ich empfehle stattdessen eher:

    http://www.cacert.org\\

    Grüße,

    HaC|away 

  5. 02.Dez.2008

    Anonym sagt:

    Hi, danke für die excellente Doku. Eine Frage noch ... kann man bei Verwendung...

    Hi,

    danke für die excellente Doku.

    Eine Frage noch ... kann man bei Verwendung eines Key's mit Passphrase die Eingabe der Passphrase beim Starten von Apache automatisieren?

    Thanks ...

    Milagro

    1. 04.Dez.2008

      Arne Schirmacher sagt:

      Das soll mit der Direktive SSLPassPhraseDialog gehen. Man muss hier den Pfad zu ...

      Das soll mit der Direktive SSLPassPhraseDialog gehen. Man muss hier den Pfad zu einem Programm angeben, das die gewünschte Passphrase auf stdout ausgibt.

      Alternativ könnte man natürlich auch die Passphrase vom private key entfernen, siehe http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#removepassphrase

  6. 18.Feb.2009

    Anonym sagt:

    Sehr saubere Doku, die einzige, die mir wirklich geholfen und mit der es funktio...

    Sehr saubere Doku, die einzige, die mir wirklich geholfen und mit der es funktioniert hat, danke

  7. 06.Mrz.2009

    Anonym sagt:

    Hallo. Wirklich gut zusammengefasst. Hätte ich das hier mal früher entdeckt, hät...

    Hallo. Wirklich gut zusammengefasst. Hätte ich das hier mal früher entdeckt, hätte ich mir viel Arbeit und Fehlersuchen gespart. Besonders der Hinweis, dass Zertifikate immer nur IP:Port-basiert funktionieren, hätte mir heute ein paar Stunden des Zweifelns erspart.

    Könnte hier nun auch noch einer schnell zusammenafssen, was ich alles machen muss, damit der Server (die eth0) und Apache auf mehrere IP-Adressen hören? Damit könnte ich meine diversen Zertifikate geregelt bekommen und meine Gäste wären endlich die hässlichen Meldungen los.

    Danke schonmal.

    just

    1. 06.Mrz.2009

      Arne Schirmacher sagt:

      Ich bin mir nicht ganz sicher, ich glaube, man muss in der httpd.conf-Datei und ...

      Ich bin mir nicht ganz sicher, ich glaube, man muss in der httpd.conf-Datei und der httpd-ssl.conf lediglich einige weitere Listen-Statements angeben:

      Listen 192.168.1.1:80
      Listen 192.168.1.2:80
      Listen 192.168.1.3:80
      
      ..
      
      Listen 192.168.1.1:443
      Listen 192.168.1.2:443
      Listen 192.168.1.3:443
      

      Evtl. die IP-Adressen auch noch im <VirtualHost>-Block eintragen.

      Wenn du einen eigenen Server hast, dann hängt es vom Anbieter ab, ob du überhaupt mehrere IP-Adressen verwenden kannst und wie sie zu konfigurieren sind. Normalerweise sollten diese zusätzlichen IP-Adressen in der Grundkonfiguration bereits zur Verfügung stehen. Ein ifconfig -a zeigt die aktive Netzwerkkonfiguration an.

  8. 09.Apr.2009

    Anonym sagt:

    Mittlerweile kann man mit GNUTLS dem Apache auch named based Virtual Hosting bei...

    Mittlerweile kann man mit GNUTLS dem Apache auch named based Virtual Hosting beibrigen.

    http://www.g-loaded.eu/2007/08/10/ssl-enabled-name-based-apache-virtual-hosts-with-mod_gnutls/

    Anhand dieser Anleitung selbst nachvollzogen.

    Gruss,

    Jörg

  9. 10.Apr.2009

    Anonym sagt:

    Hallo, ich habe diese Site auf meiner verzweifelten Suche nach einer Lösung via...

    Hallo,

    ich habe diese Site auf meiner verzweifelten Suche nach einer Lösung via Google gefunden.

    Zur Sache:

    1. Ich bin Amateur (viel try and error);

    2. Haben eine Website (gehostet bei MyDomain.com)

    3. Brauchen Zertifikat für unsere Mitgliederregistrierung

    4. Haben über MyDomain bei Thawte ein sogen. 123Cert gekauft und bei MyDomain (Apache, Linux...) installiert

    5. Nun haben wir das Problem, daß bei Aufruf der Seite mittels (z. B.) InternetExplorer https://www... immer die Medlung kommt, daß mit dem Zertifikat der Website etwas nicht stimme und vom Aufruf der Site abgeraten werde.

    6. Leider hat MyDomain keinen so guten Service, weshalb wir keine recht Lösung finden.

    7. Deshalb bitte ich um Verständnis, daß ich hier eine wahrscheinlich dumme Frage stelle: Muß ich am Code meiner Website noch etwas ändern (etwa in der index.htm)?

    Vielen Dank.

    Frank

    1. 13.Apr.2009

      Arne Schirmacher sagt:

      Wahrscheinlich ist das Zertifikat nicht richtig installiert, oder man braucht no...

      Wahrscheinlich ist das Zertifikat nicht richtig installiert, oder man braucht noch ein Zwischenzertifikat, oder der Domainname ist nicht korrekt. Um welche Website handelt es sich? Link evtl. per mail an arne@schirmacher.de schicken.

  10. 20.Mai.2009

    Anonym sagt:

    Hey Ho... also wenn ein Wildcard Zertifikat da ist kann man auch mehrere SSL Se...

    Hey Ho...

    also wenn ein Wildcard Zertifikat da ist kann man auch mehrere SSL Seiten betreibern(Praktisch unbegrenzt), aber dazu brauch mann einen Reverse SSL Proxy.

    Weil so wir wir Ihn verwenden löst die Domain auf 2 IP's auf(Load balancing) und diese zwei sind Squid Reverse SSL Proxys, diese haben das Wildcard Zertifikat, und leiten nach Anfrage z.B.: https://lala.mydomain.de an Server $srv1 weiter.

    wenn https://lala2.mydomain.de angefragt wird wird es an Server $srv2 weitergeleitet.

    ist zwar am Anfang aufwendig aber wenn es richtig konfiguriert ist, will es man nicht anders machen.

    Ist natürlich mit einem Server nicht zu vergleichen, wobei man ja die Möglichkeit fast immer hat ein zusätzliches 6 subnetzt zu bestellen.

    beim Passphrase vom key das PWD entfernen ist am einfachsten

    Bye Zeroagain..

  11. 28.Jun.2009

    Anonym sagt:

    Ähm Arne, sorry aber eine eigene IP teuer? Das war mal^^

    Ähm Arne, sorry aber eine eigene IP teuer? Das war mal^^

    1. 28.Jun.2009

      Arne Schirmacher sagt:

      Mit "eigener IP" meine ich, dass bei einem "whois 195.225.133.232" (dies ist z.Z...

      Mit "eigener IP" meine ich, dass bei einem "whois 195.225.133.232" (dies ist z.Zt. die IP dieses Servers) meine eigenen Daten drinstehen, nicht die des Hosters.

      Die IP-Adressen gibt es auch nicht einzeln, sondern nur in Blöcken. Einen eigenen IP-Range bestellt man bei http://ripe.net. Durch die Kostenstruktur steige ich nicht ganz durch, aber es geht um einige tausend € jährlich allein für die Mitgliedschaft.

  12. 03.Sep.2009

    Anonym sagt:

    Die mitgliedschaft kostet doch nur 1500€ die IP-Adressen kosten dann eigentlich ...

    Die mitgliedschaft kostet doch nur 1500€ die IP-Adressen kosten dann eigentlich nichts mehr :-)

  13. 28.Okt.2009

    Anonym sagt:

    Kann ich ein SSL-Zertifikat löschen, wenn ich keinen Server habe? Wenn ja, wie? ...

    Kann ich ein SSL-Zertifikat löschen, wenn ich keinen Server habe? Wenn ja, wie? Bin Newbee und mein Anbieter will EUR 22 für das Löschen...!

    1. 31.Okt.2009

      Arne Schirmacher sagt:

      Es müsste möglich sein, die Löschung eines SSL-Zertifikats direkt beim Ausstelle...

      Es müsste möglich sein, die Löschung eines SSL-Zertifikats direkt beim Aussteller zu beantragen. Da es ja einen gewissen Verwaltungsaufwand gibt (der Aussteller muss ja prüfen, ob der Antragsteller wirklich berechtigt ist, das Zertifikat löschen zu lassen), erscheinen mir die 22€ durchaus plausibel.

      1. 04.Nov.2009

        Anonym sagt:

        Danke für die Antwort. Inzwischen ist das Cert gelöscht, kostenlos. Da hat mir d...

        Danke für die Antwort. Inzwischen ist das Cert gelöscht, kostenlos. Da hat mir die Dame am Telefon Mist erzählt. Der Techniker sagte (wie ich auch dachte), daß ich ohne eigenen Server gar nichts löschen kann, aber die Dame meinte, ich kann das selbst und wollte deshalb Kohle.... Nu is das Cert weg, die IP gekündigt, die Konnektierung wieder auf default, aber alle, die den alten https://-Link aufrufen (weil in Favoriten u.ä. gespeichert), erhalten die Seite mit dem Hinweis 'Nicht vertrauenswürdiges Zertifikat' angezeigt... Dort ist unter Details ein anderer Anbieter mit abgelaufenem Cert zu sehen, der wohl nun meine alte IP hat... Ein Elend kommt selten allein. Techniker sagt, da kann er nichts machen, glaub ich aber nicht. Gibt es eine Möglichkeit, mittels .htaccess den Seitenaufruf zu verhindern und/oder gleich auf http umzuleiten? Hab schon alles probiert, aber auch mod_rewrite ist nicht mein Hauptfach und der Apache eine ältere Version... Bin für jeden Hinweis dankbar... ;-)) Und hab, wie gesagt, keinen eigenen Server, sondern nur webhosting.

        1. 05.Nov.2009

          Arne Schirmacher sagt:

          Ich verstehe den Zusammenhang nicht so ganz. Geht es darum, ein vorhandenes off...

          Ich verstehe den Zusammenhang nicht so ganz.

          Geht es darum, ein vorhandenes offizielles Zertifikat zurückzuziehen (revoke) oder nur darum, die Webseite von https auf http umzustellen? Letzteres kann man tatsächlich über die Webseitenadministration selbst machen.

          Wieso wurde die IP gekündigt? Normalerweise kündigt man nur eine Domain. Oder wurde die Domain gekündigt, der Nameserver zeigt aber (fälschlicherweise) immer noch auf die frühere IP-Adresse, wo jetzt natürlich andere Inhalte liegen?

          Fragen über Fragen.... oder schick' mir die Details per email, anstatt sie hier zu posten.

          Um einen automatischen Redirekt von https nach http zu bewerkstelligen, muss man in der httpd.conf folgendes eingeben:

            RewriteEngine On
            RewriteCond %{SERVER_PORT} 443$
            RewriteRule ^(.*) http://www.domainname.de$1 [R=301,L]
          

Kommentar hinzufügen