thomas: Was benötige ich für SSL

Hallo zusammen,

ich möchte für eine meiner Domains SSL einführen.

Meine Frage ist nun, was alles für Anpassungen an Server und Client gemacht werden müssen? Welches Zertifikat ist das Beste?

Würde mich über Hinweise freuen
Grüße - Thomas

  1. Hallo!

    ich möchte für eine meiner Domains SSL einführen.

    Meine Frage ist nun, was alles für Anpassungen an Server und Client gemacht werden müssen?

    Du braucht erstmal eine eigene IP für jede Domain, da die Zuordung von virtuellen Hosts anhand des Host-Headers leider zu einem Zeitpunkt stattfinden müsste, wo der Request noch verschlüsselt ist. Und der entsprechende Schlüssel steht leider in der Konfiguration des virtuellen Hosts ;-)
    Dann brauchst Du ein SSL-Zertifikat und einen Schlüssel. Das Zertifikat muss von einer CA signiert worden sein. Du kannst auch eine eigene CA verwenden, aber dann bekommt der Benutzer eine Meldung im Browser "kann der Seite nicht vertauen...". Entweder kannst Du das ignorieren oder Du kannst in alle Browser Dein Zertifikat manuell importieren, sonst brauchst Du pro Hostnamen ein Zertifikat von einer CA der die Browser vertrauen (Geotrust, Verisign, Thawte, FreeSSL...).

    Welches Zertifikat ist das Beste?

    Einige Anbieter habe ich oben genannt. Welches Zertifikat "das Beste" für Dich ist, kann ich Dir nicht sagen. Für den einen ist es Verisign welches ein paar EUR mehr kostet, dafür aber auch uralte Browser unterstützt, für den anderen reicht die Verbreitung von FreeSSL...

    Grüße
    Andreas

    --
    SELFHTML Linkverzeichnis: http://aktuell.de.selfhtml.org/links/
    1. Hallo!

      das Thema interessiert mich auch. Was muss man denn so an Kosten rechnen?

      MfG, Kalle

      1. Hallo!

        das Thema interessiert mich auch. Was muss man denn so an Kosten rechnen?

        Was Zertifikate kosten verraten Dir die entsprechenden Anbieter, da gibt es durchaus Unterschiede. Dann braucht Du natürlich einen Server auf dem Du eine eigene IP bekommen/verwenden kannst, manche Provider bieten das auch im Shared Hosting an - AFAIK. Aber da kann Dir Dein Provider sicher mehr zu sagen.
        Wie gesagt, Du braucht pro Domain (inkl. Subdomain...) eine eigene IP und ein Zertifikat.
        Und Du brauchst jemanden der das ganze konfiguriert.

        Grüße
        Andreas

        --
        SELFHTML Tipps & Tricks: http://aktuell.de.selfhtml.org/tippstricks/
    2. Hallo Andreas,

      vielen Dank erst einmal für Deine Ausführungen!

      Ich will noch mal kurz zusammenfassen ...

      1. Ich benötige eine Domain mit einer festen IP-Adresse
      2. Ich benötige ein Zertifikat

      ... aber was muss dann gemacht werden?

      Wie ich mal grob gelesen habe muß dieses Zertifikat dann auf dem Server irgendwie aufgespielt werden.

      Ist das dann schon alles? Benötigt man noch Scriptanpassungen? Oder bedeutet das, dass wenn man die Domain besucht die Verbindung automatisch verschlüsselt wird?

      Danke und viele Grüße Thomas

      1. Hi!

        1. Ich benötige eine Domain mit einer festen IP-Adresse

        Die feste IP brauchst Du für die Konfiguration. Du kannst nicht wie bei "normalem HTTP" mehrere Domains unter einer IP verwalten (wie es normalerweise der Fall ist - ohne SSL).

        1. Ich benötige ein Zertifikat

        jepp.

        ... aber was muss dann gemacht werden?

        Das kommt drauf an. Ich vermute dass Du nicht der Administrator des Servers bist. Dieser muss die entsprechenden Anpassungen in der Server-Konfiguration vornehmen. Aber nicht jeder Provider bietet das an. Was sagt denn Dein Provider dazu? Oder hast Du einen eigenen Server?

        Wie ich mal grob gelesen habe muß dieses Zertifikat dann auf dem Server irgendwie aufgespielt werden.

        unter anderem.

        Ist das dann schon alles? Benötigt man noch Scriptanpassungen?

        normalerweise nicht. Es sei denn Du hast irgendwo absolute URLs mit http:// stehen.

        Oder bedeutet das, dass wenn man die Domain besucht die Verbindung automatisch verschlüsselt wird?

        Wenn die Seite über https:// aufgerufen wird, dann versucht der Browser eine verschlüsselte Verbindung herzustellen. Dabei prüft er ob er dem Zertifikat des Servers vertrauen kann. Wenn dem so ist werden alle Daten über die verschlüsselte Verbindung übertragen. Sonst gibt es die bekannte Fehlermeldung, und es bleibt die Wahl des Anwenders ob er dem Server vertraut, oder ob die Verbindung abgebrochen wird.

        Grüße
        Andreas

        --
        SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
        1. Hallo Andreas,

          Sonst gibt es die bekannte Fehlermeldung, und es bleibt die Wahl des Anwenders ob er dem Server vertraut, oder ob die Verbindung abgebrochen wird.

          Warum muss man eigentlich SSL Zertifikate kaufen,
          damit der Browser sie kommentarlos akzeptiert?
          Und was könnte denn negatives passieren, wenn
          man ein "nicht vertrauenswürdiges Zertifikat"
          akzeptiert? Kann das dem Browser schaden?

          Gruß
          Alexander Brock, ratlos

          --
          SelfCode: ie:{ fl:{ br:> va:) ls:# fo:) rl:( n4:( ss:| de:> js:( ch:| sh:( mo:) zu:}
          http://emmanuel.dammerer.at/selfcode.html
          Deshalb können Pinguine nicht fliegen:
          Was nicht fliegt kann auch nicht abstürzen
          <img src="http://www.againsttcpa.com/images/AgainstTCPA-Log01Small.gif" border="0" alt="">
          http://againsttcpa.com
          1. Hi!

            Warum muss man eigentlich SSL Zertifikate kaufen,
            damit der Browser sie kommentarlos akzeptiert?

            Weil die von einer CA (Certificate Authority) signiert wurden, die der Browserhersteller zum Zeitpunkt der Veröffentlichung des Browsers als so vertrauenswürdig eingestuft hat, dass er dessen Root-Zertifikate standardmäßig im Browser installiert hat. Du kannst mal in den Konfigurations-Optionen Deines Browsers rumstöbern, da findest Du die entsprechenden Firmen (CAs). Bei älteren Browsern findest Du hier z.B. erheblich weniger CAs, das ist die Sache mit der Kompatibilität.

            Da man diesen Firmen halt allgemein vertraut, kann man von ihnen ausgestellten Zertifikaten, zu einem gewissen Grad vertrauen. Man kann sich sicher sein, dass der Gegenüber auch wirklich der ist, für den er sich ausgibt.

            Angenommen Du hast den Hostnamen "www.example.com". Angenommen unter dieser Adresse läuft das Online-Banking einer Bank. Jetzt könnte ich einem Kunden dieser Bank eine Email schicken, mit einem netten kleinen Virus, der nur mal eben eine Kleinigkeit auf dessen (Windows-)Rechner umkonfiguriert, nämlich dass bei Eingabe von "www.example.com" nicht Dein Rechner, Deine IP aufgerufen wird, sondern meine. Wenn es jetzt diese Fehlermeldung nicht gäbe, könnte ich mir eben ein schönes SSL-Zertifikat für "www.example.com" erstellen, und schon gibt der Kunde PIN, TAN... bei mir ein. Der Anwender hat also "www.example.com" eingegeben, ist aber nicht auf dem "echten" Server gelandet.
            Die verschiedenen CAs stellen jetzt sicher, dass Du das Zertifikat nur bekommst, wenn Du auch die tatsächliche Kontrolle über die Domain hast. Indem sie z.B. eine Email zwingend an @example.com schicken, und nicht an boeser_hacker@hotmail.com. Darüber hinaus gibt es noch Zertifikate, wo sogar Deine Geschäftsunterlagen geprüft werden...

            Und was könnte denn negatives passieren, wenn
            man ein "nicht vertrauenswürdiges Zertifikat"
            akzeptiert? Kann das dem Browser schaden?

            Nein, höchstens Deiner Geldbörse ;-)
            Die Verschlüsselung der Daten funktioniert allerdings unabhängig davon ob dem Zertifikat vertraut wird oder nicht.

            Grüße
            Andreas

            --
            SELFHTML Tipps & Tricks: http://aktuell.de.selfhtml.org/tippstricks/
            1. Hallo Andreas,

              [Viele interessante Informationen]

              Vielen Dank für diese ausführliche Darlegung :-))

              Gruß
              Alexander Brock

              --
              SelfCode: ie:{ fl:{ br:> va:) ls:# fo:) rl:( n4:( ss:| de:> js:( ch:| sh:( mo:) zu:}
              http://emmanuel.dammerer.at/selfcode.html
              Deshalb können Pinguine nicht fliegen:
              Was nicht fliegt kann auch nicht abstürzen
              <img src="http://www.againsttcpa.com/images/AgainstTCPA-Log01Small.gif" border="0" alt="">
              http://againsttcpa.com
        2. Hallo,

          da wir mal bei der Fragestunde sind ;-) ...

          normalerweise nicht. Es sei denn Du hast irgendwo absolute URLs mit http:// stehen.

          ... soll also heißen, dass die Webseite sich nicht selbst aufrufen kann?

          Wenn ich nun also eine Domain xyz.de habe und von dort ein Weg SSL-verschlüsselt sein soll, dann muß ich nur auf https://www.xyz.de verweisen?

          Kann man im Script eigentlich abfragen ob es gerade über eine SSL-Verbindung angesprochen wird? Hintergrund ist, dass nicht alle User SSL bekommen sollen.

          Grüße - Thomas

          1. Hi!

            normalerweise nicht. Es sei denn Du hast irgendwo absolute URLs mit http:// stehen.
            ... soll also heißen, dass die Webseite sich nicht selbst aufrufen kann?

            Doch, ist nur eine Sache die mir hin und wieder passiert ist ;-)

            Wenn ich nun also eine Domain xyz.de habe und von dort ein Weg SSL-verschlüsselt sein soll, dann muß ich nur auf https://www.xyz.de verweisen?

            ja.

            Kann man im Script eigentlich abfragen ob es gerade über eine SSL-Verbindung angesprochen wird? Hintergrund ist, dass nicht alle User SSL bekommen sollen.

            ja, in PHP zumindest ist das recht einfach. Z.B. per $_SERVER["HTTPS"].

            Grüße
            Andreas

            --
            SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
            1. Hallo,

              Kann man im Script eigentlich abfragen ob es gerade über eine SSL-Verbindung angesprochen wird? Hintergrund ist, dass nicht alle User SSL bekommen sollen.
              ja, in PHP zumindest ist das recht einfach. Z.B. per $_SERVER["HTTPS"].

              Auch ganz interessant könnte: http://httpd.apache.org/docs-2.0/mod/mod_ssl.html.en#envvars sein.

              Schöne Grüße,

              Johannes

              --
              ss:| zu:) ls:[ fo:) de:] va:) ch:) n4:| rl:) br:< js:| ie:{ fl:( mo:}
          2. hi,

            normalerweise nicht. Es sei denn Du hast irgendwo absolute URLs mit http:// stehen.
            ... soll also heißen, dass die Webseite sich nicht selbst aufrufen kann?

            doch, bei relativen links gibt es da kein problem.

            aber bei absoluten halt - wo "http://" vor steht, wird auch weiterhin http:// verwendet werden.
            aber das sollte man aus gründen der leichteren portierbarkeit auf einen anderen server im HTML ja sowieso weitestgehend vermeiden.

            eine stelle fällt mir spontan ein, wo man aufpassen muss: beim header-befehl in PHP-scripten. wenn da mit "Location: ..." weitergeleitet wird, _erfordert_ HTTP an dieser stelle ja zwingend einen absoluten URL - hier müste dann ggf. http:// durch https:// ausgetauscht werden.
            kann man natürlich an der stelle auch gleich dynamisch halten, in dem man an solchen stellen bei weiterleitungen auf links innerhalb der eigenen domain gleich die von Andreas und Johannes erwähnten (umgebungs-)variablen als platzhalter für das protokoll einsetzt.

            gruß,
            wahsaga

            --
            "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    3. Hallo!

      ich möchte für eine meiner Domains SSL einführen.

      Meine Frage ist nun, was alles für Anpassungen an Server und Client gemacht werden müssen?
      Du braucht erstmal eine eigene IP für jede Domain, da die Zuordung von virtuellen Hosts anhand des Host-Headers leider zu einem Zeitpunkt stattfinden müsste, wo der Request noch verschlüsselt ist. Und der entsprechende Schlüssel steht leider in der Konfiguration des virtuellen Hosts ;-)

      abgesehen von Andreas Kommentare siehst Du hier ein beispiel wie man vorgeht zum erstellen von einem CA zertifikat:
      http://faq.1und1.de/hosting/technik/ssl/index.html

      Ich habe vor längerer zeit mal versucht mit meinem provider ein eigenes zertifikat für den haubtserver zu erstellen,
      war auch ziehmlich komplex das ganze bis ich ein eigenes auf meinem windows rechner mit einer einfachen *.bat und openssl.exe datei erstellen konnte.
      Leider hatte ich nicht vollen zugriff auf den server und konnte es nicht fertig stellen,damit es funktionierte.
      Der provider war sich auch nicht so sicher oder er wollte vielleicht auch kein risiko eingehen :)
      Hier noch ein paar links zum script und wie es geht.
      eigenes zertifikat erstellen deutsch und erklärung:
      Es ist zwar für email gedacht,aber man könnte damit auch ein normales CA zertifikat erstellen.
      http://sites.inka.de/ximera/hamster.html

      ssl script CA-zertifikat erstellen mit windows (französisch->besser):
      http://www.chez.com/winterminator/x509.html

      dann gibts noch was bei apache darüber:
      http://httpd.apache.org/docs-2.0/ssl/ssl_faq.html#aboutcerts
      noch mehr apache...
      http://httpd.apache.org/docs-2.0/mod/mod_ssl.html#sslcacertificatepath

      also ich war damals ein paar tage dran bis ich mal rausgefunden habe,wie es läuft das ganze.
      Viel Glück :)
      Grüsse
      Alain