Suse11: was ist für https-SSL nötig

Apache, Lighttpd, nginx, Cherokee
amiga1200
Posts: 208
Joined: 2007-01-13 19:58

Suse11: was ist für https-SSL nötig

Post by amiga1200 » 2009-05-13 10:38

Ich habe einen Suse 11 Server mit Apche PHP Mysql...
Dort läuft ein Shop, nun sollen dort die Daten verschlüsselt übertragen werden, also https.
Hier fange ich bei Null an, was muss ich unter Apache Konfigurieren, damit https aktiviert wird.
Unter https://www.shop.com/ wird nichts gefunden
(Die Webseite kann nicht angezeigt werden.)

Dann habe ich gelesen, das man ein SSL-Zertifikats kaufen muss.
Warum braucht man sowas, der Browser soll doch nur die Daten verschlüsselt übertragen, und Apache soll die verschlüsselt annehmen.

User avatar
rudelgurke
Posts: 405
Joined: 2008-03-12 05:36

Re: Suse11: was ist für https-SSL nötig

Post by rudelgurke » 2009-05-13 18:42

http://de.wikipedia.org/wiki/Https

Zur Verschlüsselung und warum Zertifikate nötig sind.

Zu Apache würde ich auf die Apache Dokumentation verweisen.

http://httpd.apache.org/docs/2.0/ssl/

Wegen dem Kauf von Zertifikaten, das verwendete Zertifikat sollte von einer autoritativen Stelle signiert werden damit es als "vertrauenswürdig" eingestuft werden kann. Dass heißt dann nur dass die Verschlüsselung soweit in Ordnung ist bzw. dass überhaupt verschlüsselt wird. Dass heißt nicht dass die Webseite bzw. der Shop damit automatisch sicher sind - unsichere Software wird durch verschlüsselte Client Kommunikation auch nicht besser, nur das "mithören" wird erschwert.
Du kannst auch selbst das Zertifikat signieren, dir also selbst bescheinigen du wärst vertrauenswürdig, allerdings macht dass vielleicht keinen guten Eindruck bei einem Shop.

EdRoxter
Posts: 483
Joined: 2006-01-06 03:23
Location: Neben Bonn

Re: Suse11: was ist für https-SSL nötig

Post by EdRoxter » 2009-05-13 21:58

Außerdem meckern die meisten gängigen Browser bei selbst signierten Zertifikaten. Thawte, VeriSign & Co. bieten aber (meist bei Resellern noch wesentlich günstiger - für Tipps kannst du mir gerne eine PM schreiben) Zertifikatsignierungen an, die jeder Browser als vertrauenswürdig einstuft.

Das läuft so ab, dass du mit OpenSSL einen Privaten Schlüssel erzeugst, den du möglichst sicher verwahren solltest. Auf dessen Grundlae kannst du einen CSR (Certificate Signing Request) generieren. Hierbei nur drauf achten, dass der CN (Common Name) exakt dem Hostnamen, also der Domain, entspricht, die beim Aufruf oben im Browserfenster steht. http://www.domain.de und domain.de sind hierbei ein Unterschied. Diesen CSR übergibst du der Zertifizierungsstelle, dazu einige Validierungsdaten (in DE meist Personalausweis, bei Unternehmen Gewerbeschein respektive Handelsregisterauszug) und die geben dir eine Zertifikatsdatei. Die enthält das signierte Zertifikat. Privaten Schlüssel und Zertifikat konfigurierst du, wie in rudelgurkes zweitem Link beschrieben, im Apache. Das sollte es schon sein.

Zum Generieren eines CSR siehe http://wiki.nightlabs.de/de/Linux:Selbs ... Zertifikat ohne den letzten Schritt.