Ssl / https

Guten Morgen Community,
ich bin was ssl(https) betrifft noch sehr jungfräulich "Hüstel" als nicht im eigenlichen Sinne ...:wink:

Ich habe eine nackte xxamp version auf meinem System und möchte für den Loginbereich meiner Webanwendung die Daten verschlüsset übertragen.

1.
Muss ich mir ein Zertifikat erzeugen, oder sind die standardmäßig integriert?

1.a
Muss ich bei meinem Webhoster ein zertifikat beantragen, oder sind diese hier auch standardmäßig vorhanden?

2.
könnte mir bitte jemand erklären wie ich vorzugehen habe, bzw. worauf ich zu achten habe.

3.
Was muss gegeben sein um die Seite dann bei einem webhoster zum laufen zu bekommen (inkl. ssl)?


Danke !
 
1.
Muss ich mir ein Zertifikat erzeugen, oder sind die standardmäßig integriert?

Du musst dir ein sogenanntes "Self-Signed Certificate" erstellen.

1.a
Muss ich bei meinem Webhoster ein zertifikat beantragen, oder sind diese hier auch standardmäßig vorhanden?
Das hängt von deinem Webhoster ab.

2.
könnte mir bitte jemand erklären wie ich vorzugehen habe, bzw. worauf ich zu achten habe.
Vorzugehen wobei?

3.
Was muss gegeben sein um die Seite dann bei einem webhoster zum laufen zu bekommen (inkl. ssl)?
Ein Webhoster, der SSL unterstützt.
 
Guten Morgen Community,
ich bin was ssl(https) betrifft noch sehr jungfräulich "Hüstel" als nicht im eigenlichen Sinne ...:wink:
Kleine Kunde in Zertifikaten: Ein Zertifikat ist eine Bescheinigung eines Dritten über die Identität eines Subjekts (dem Zertifizierten). Die dritte Partei bescheinigt dabei mit ihrer Unterschrift (Signatur), dass ein bestimmter Verschlüsselungs- oder Signaturschlüssel zu den im Zertifikat genannten Informationen gehört.

Bei SSL findet (grob gesagt) die Verschlüsselung (bzw. der Schlüsselaustausch für die schnellere symmetrische Verschlüsselung) mit Hilfe dieses öffentlichen Schlüssels (langsame asymmetrische Verschlüsselung!) statt. Kann der Client dem Server den öffentlichen Schlüssel nicht zuordnen, wird ihm in aktuellen Browsern eine Fehlermeldung angezeigt bzw. die Adressleiste färbt sich rot, da nicht verifiziert werden kann, ob der öffentliche Schlüssel wirklich vom Server stammt, oder ob sich ein Angreifer zwischen den Client und den Server geschaltet hat (Man in the Middle). Hier kommt die dritte Partei ins Spiel, die mit ihrer Unterschrift (Signatur) die Gültigkeit des öffentlichen Schlüssels bestätigt.

In der Regel wird für eine solche Bestätigung Geld verlangt (abgesehen beispielsweise von CAcert, die auf der Community aufbauen, denen aber in aktuellen Betriebssystemen nicht immer vertraut wird!). Du kannst aber auch selbst die dritte Partei spielen, in dem du dir selbst ein Zertifikat erzeugst, z.B. mit OpenSSL. Diese Zertifikate nennt man dann Selbstsigniert oder im bayrischen self-signed. Wichtig ist jedoch hier, dass diesen Zertifikaten nicht vertraut wird, da der dritte Partei, welche deinen Schlüssel unterschreibt, nicht vertraut werden kann.

Ich habe eine nackte xxamp version auf meinem System und möchte für den Loginbereich meiner Webanwendung die Daten verschlüsset übertragen.

Ich hoffe doch, mit "System" meinst du keinen Server, der über das Internet erreichbar ist. Ansonsten wird SSL dein kleinstes Problem sein..

Zu Frage 2:
Du solltest den öffentlichen Schlüssel möglichst groß wählen (mind. 2048Bit bei RSA) und deine Angaben sollten, sofern du das Zertifikat für einen Produktivserver erstellst, korrekt sein. Der Schutz des privaten Schlüssels ist obligatorisch, d.h. wenn dieser geklaut wird ist das ganze SSL-System kaputt. Im Internet sollte es dafür aber inzwischen mehrere 100 Anleitungen für jedes erdenkliche Betriebssystem geben.

Zu Frage 3:
Bitmuncher hats schon gesagt: Du brauchst einen Hoster, der SSL unterstützt. Freehoster machen das überlicherweise nicht.
 
Zuletzt bearbeitet:
Danke Ihr zwei !

Zitat:
Ich habe eine nackte xxamp version auf meinem System und möchte für den Loginbereich meiner Webanwendung die Daten verschlüsset übertragen.
Ich hoffe doch, mit "System" meinst du keinen Server, der über das Internet erreichbar ist. Ansonsten wird SSL dein kleinstes Problem sein..
Das wäre wirklich fatal! Nein, vorab in meinem localen Ding, welches von aussen nicht erreichbar ist!

@bitmuncher
ich weis es gibt viele Tuts im Netz, mir gehts es nur darum wie ich das auf meiner xxamp kiste einrichten muss um die geschichte via meiner applikation nutzen zu können....
 
Dein XAMPP ist auch nur ein Apache-Webserver mit 'ner Menge Müll. ;) Du kannst ihn also so konfigurieren wie jeden Apache-Webserver. Wichtig ist in erster Linie, dass du dir mit 'openssl' ein Zertifikat erstellst und signierst oder dir bei bei Free-Anbietern wie StartSSL eines besorgst. Anleitung für StartSSL gibt's z.B. bei Heise: SSL für lau | heise Security

Beim Apache musst du nur ein VirtualHost für den HTTPS-Port erstellen und natürlich den Port entsprechend aktivieren. Dafür sind NameVirtualHosts notwendig, damit der Apache die Ports auch zuordnen kann.

Code:
...
LoadModule ssl_module modules/mod_ssl.so
...
Listen 80
Listen 443
...
SSLSessionCache dbm:/wo/auch/immer/du/deine/cache/datei/willst
# SSLSessionCache none # <- falls du keinen Cache haben willst
SSLMutex sem
SSLRandomSeed startup builtin

NameVirtualHost *:80
<VirtualHost *:80>
  ...
</VirtualHost>

NameVirtualHost *:443
<Virtualhost *:443>
  ...
  SSLEngine on
  SSLCertificateFile /pfad/zu/deiner/zertifikat.datei
  SSLCertificateKeyFile /pfad/zu/deiner/key.datei
  SSLOptions +StdEnvVars
  CustomLog ssl_log "$t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x %b"
  ...
</VirtualHost>

Das sollten im Groben gesehen die notwendigen Direktiven sein, die gesetzt werden müssen.
 
Zurück
Oben