# SSL einrichten



## computers (30. April 2005)

Hallo, ich habe mit der Xampp-Distribution einen Apache-Server eingerichtet. Funktioniert auch alles gut.

Ich möchte allerdings einen privaten also passwortgeschützten Bereich einrichten.

Liege ich richtig, dass ich am sichersten mit SSL fahre?

Ich habe mir jedenfalls OpenSSL heruntergeladen und entpackt. Ich habe jetzt allerdings keine Ahnung, wie ich ein Verzeichnis mit SSL schützen kann.

Kann mir das jemand schrittweise - so, dass ich es verstehe - erklären?


----------



## Sinac (30. April 2005)

SSL hat nichts mit dem Verzeichniss zu tun, da es nur die Verbindung verschlüsselt und nicht das Verzeichniss oder so. Kommt auf die Daten an, aber sinnvll ist es schon die Verbindung für sowas zu verschlüsslen, damit nicht z.B. jemand das Password beim Anmelden mitlesen kann. Die Anmeldung selber kannst du dann mit PHP oder htaccess etc. machen.
Um den Apache mit SSL zum laufen zu bringen muss das SSL Modul vom Apache geladen werden, das machst du in der httpd.conf.
Dann brauchst du noch ModRewrite um dir URL von http://deine.Adresse/Ordner in https.//deine.Adresse/Ordner umschreiben zu lassen wenn sie aufgerufen wird.
Das mal zur Theorie, den Rest solltest du im Internet finden.

Greetz...
Sinac


----------



## generador (30. April 2005)

Soviel ich weiss is bei XAMPP SSL schon dabei
Aber nur um einen Login für deine Seite zu machen musst kannst du am einfachsten einen .htaccess machen


----------



## computers (30. April 2005)

ja ein htacces hab ich ja auch gemacht. aber dann wird das Passwort doch unverschlüsselt in einer Textdatei gespeichert, die sich theoretisch doch jeder herunterladen kann, oder nicht?


----------



## Sinac (30. April 2005)

also ich würde es über eine SSL Verbindung und ein PHP Login Script machen, dann noch das Password als MD5-Hash in der Datenbank speichern und du hast einen einigermaßen guten Schutz.


----------



## Dr Dau (1. Mai 2005)

Hallo!





			
				computersteffen hat gesagt.:
			
		

> ja ein htacces hab ich ja auch gemacht. aber dann wird das Passwort doch unverschlüsselt in einer Textdatei gespeichert, die sich theoretisch doch jeder herunterladen kann, oder nicht?


Dass die Passwörter unverschlüsselt in der .htpasswd stehen, ist ein "Phänomen" von Windows.

Vor dem "herrunterladen" kannst Du dich z.b. dadurch schützen, in dem du die .htpasswd nicht ins htdocs legst.

Theoretisch könnte diese sogar auf Diskette sein.
Dann müsste die Diskette allerdings im Laufwerk sein wenn ein Zugriff auf das mittels .htaccess geschützte Verzeichnis geschehen soll.

Der Pfad zur .htaccess ist natürlich in der .htpasswd entsprechend anzupassen.
Die .htaccess gehört weiterhin ins zu schützende Verzeichnis.

Dass ganze bringt allerdings nur etwas, wenn dein gesamt System entsprechend gesichert ist.

Gruss Dr Dau


----------



## computers (1. Mai 2005)

Vielen Dank für die Postings. Habe die .htpassw-File erstmal aus dem htdocs-Verzeichnis genommen.



> also ich würde es über eine SSL Verbindung und ein PHP Login Script machen, dann noch das Password als MD5-Hash in der Datenbank speichern und du hast einen einigermaßen guten Schutz.



PhP ist für mich Neuland und MD5-Hash sagt mir gar nichts. Kannst du mir das aufdröseln, sofern es ohne PhP-Kenntnisse überhaupt umsetzbar ist.

Bzw. wie sicher ist denn ein htacces-Passwort mit Passwortdatei außerhalb von htdocs und SSL?


----------



## Dr Dau (1. Mai 2005)

Hallo!



			
				computersteffen hat gesagt.:
			
		

> Bzw. wie sicher ist denn ein htacces-Passwort mit Passwortdatei außerhalb von htdocs und SSL?


Sofern niemand in dein System eindrigen kann (Thema Sicherheit) ist .htaccess sehr sicher.
Es gibt allerdings eine Einschränkung, nämlich die übertragung der Benutzerdaten.
Und genau da greift SSL ein.

Beispiel:
Ich will in dein Passwortgeschütztes Verzeichnis.
Benutzername und Passwort habe ich von dir bekommen.
Wenn ich nun das Verzeichnis aufrufe, kommt ja dieses Loginfenster wo ich die Daten eingeben muss.
Sobald ich dort ohne SSL-Verbindung auf OK klicke, werden die Daten quasi im klartext übertragen.
Wenn ich aber mit SSL-Verbindung auf OK klicke, werden die Daten verschlüsselt übertragen.

Zu deutsch: ohne SSL kann jeder die Daten während der übertragung mitlesen, mit SSL jedoch nicht.

SSL hat aber nichts mit .htaccess direkt zu tun, sondern das ist eine Server Einstellung.
Du kannst SSL also auch für ungeschützte Verzeichnise verwenden.

SSL-Verbindungen kannst du am S erkennen (http*s*://www.deine-domain.de)

Gruss Dr Dau


----------



## computers (2. Mai 2005)

danke für die Hinweise bez. SSL und https. Habe das ganze gerade mal ausprobiert und es funktioniert.

Gibt es eine Möglichkeit, wie ich standartmäßig https verwenden kann. Wenn der Besucher vor dem www nix eingibt, wird ja normalerweise automatisch http verwendet.

Ein anderes Thema, aber wie kann ich denn ein neues vertrauenswürdiges Zertifikat erstellen. Beim Test-Zertifikat von Xampp kommen zig Meldungen von wegen abgelaufen, nicht vertrauenswürdig etc...

Gruß, Steffen


----------



## Dennis Wronka (2. Mai 2005)

Ein Zertifikat muss normalerweise von einer CA (Certification Authority) signiert werden.
Man kann sich mittels OpenSSL selbst eine CA bauen, jedoch wird auch dort noch gemeckert, da das Zertifikat der CA nicht in den Browsern enthalten ist. Eine Signatur einer offiziellen CA kostet natuerlich. Sowas gibt's z.B. bei VeriSign.
Wenn Du eine eigene CA aufbaust solltest Du das Zertifikat dieser CA veroeffentlichen, damit sich die User dieses Importieren koennen.


----------



## Dr Dau (2. Mai 2005)

Hallo!

Da http auf Port 80 und https auf Port 443 läuft, würde ich dir von einer "standardmässigen" SSL-Verbindung abraten.
Denn wenn der Besucher http://www.deine-domain.de eingibt, wird versucht den Server über Port 80 zu erreichen, was natürlich mit "Seite kann nicht angezeigt werden" quittiert wird.
Ich würde lieber auf der Startseite ein weiterleitungs Link machen (ggf. sogar zu einem Virtual Host).
So könntest Du auch den Fingerprint den Besuchern mitteilen und sie können vergleichen ob das (Test-)Zertifikat tatsächlich von dir stammt.
Ferner kannst Du auch darauf aufmerksam machen dass er als nicht vertrauenswürdig eingestufft wird und er lediglich der verschlüsselten Übertragung dient.

Was das offizielle Zertifikat betrifft, habe ich gelesen dass es bis zu 300$ pro Jahr kosten soll.
Da würde ich persönlich dann lieber ganz darauf verzichten und lieber jede Woche die Zugangsdaten erneuern.
Für z.b. Online-Banking ist es ein MUSS, aber nicht für eine Privatperson die nur seine neuesten "Urlaubsbilder" (oder was auch immer) besser schützen will.

Gruss Dr Dau


----------



## kerstel (2. Juni 2008)

Hallo,

was mich mal interessieren würde ist. Wie sieht das Zertifikat aus, ist das eine Datei Und wie binde ich diese Datei/Link etc. in den Apache ein?

Gruß
Kerstel


----------



## Gumbo (2. Juni 2008)

Es gibt auch kostenlose Zertifizierungsstellen wie etwa CAcert. Diese ist zwar erst in wenigen Listen vertrauenswürdiger Zertifizierungstellen enthalten, aber das wird sich hoffentlich bald ändern.


----------

