Re: htaccess und htpasswd
Hallo Heiko,
Am 06/12/2003 09:42 PM schrieb Heiko Schlittermann:
Ich habe eine Site mit .htaccess und .htpasswd vor fremden
Zugriff geschütz. Ist das sicher?
Das erforderliche Passwort wird (base64-kodiert) im Klartext verschickt.
Und was ist dann der Sinn dieser Verschlüsselung? Ich meine wo ist der
Unterschied zwischen im Klartext übertragenem PW, den ich abfangen und
ausnutzen kann und dem kodierten PW den ich bei abfangen auch genau so
gut ausnutzen kann?
Das PW wird nur base64-kodiert, damit es problemlos übertragbar ist,
also potentiell beliebige Sonderzeichen (Leerzeichen, Zeilenumbrüche
etc) haben kann. Das base64 dient nicht der Verschlüsselung, sondern
eben der Kodierung, ein kleiner Unterschied.
Ach so.... Also es ist praktisch Klartext PW das übers Netz wandert.
Jetzt verstehe ich den Sinn deiser Kodierung, ich habe mir wirklich
zuerst unter der Kodierung Verschlüsselung gedacht.
Auf dem Server wird es wieder dekodiert und dann per crypt(3) oder
ähnlichem verschlüsselt und mit dem verschlüsselten Passwort aus der
htpasswd (oder wie immer sie genannt wurde) verglichen.
Das Verschlüsseln kann erst der Server machen, weil der Client ja nicht
weiß, ob das Passwort überhaupt und wenn, dann wie, auf dem Server
verschlüsselt gespeichert ist. Normalerweise ist's verschlüsselt
gespeichert, damit der Diebstahl der Passwort-Datei nicht sofort das
System kompromittiert (sp?). (Siehe auch /etc/shadow.)
Das Verschlüsseln des übertragenen Passwortes *muß* der Server machen,
wenn er das Vergleichspasswort auch verschlüsselt gespeichert hat, weil
die verwendeten Verschlüsselungsverfahren nicht umkehrbar sind, man kann
also nur den übertragenen Klartext auch verschlüsseln und dann mit dem
verschlüsselten Passwort aus der Passwort-Datei vergleichen.
Jetzt ist alles klar.
Damit in der Passwort-Datei nicht die verschlüsselten Passworte gleich
aussehen, wenn gleicher Klartext verwendet wird, wird den
Klartext-Passworten vor der Verschlüsselelung noch "Salz" hinzugefügt.
Hier ist z.B. 2x das Wort "test" mit crypt(3) verschlüsselt:
QZAe1hru/kgQY
6O/LxHgRhp7gE
Es wurde unterschiedliches Salz (beim ersten QZ, beim zweiten 60)
verwendet.
Aber das alles ist vielleicht mehr, als Du wissen wolltest...
Eigentlich ja, aber ich habe es mit sehr grosser Interesse gelesen und
wieder was dazu gelernt. Danke für die Mühe.
Best regards from Dresden
Viele Gruesse aus Dresden
Heiko Schlittermann
Yevgenij.
Reply to: