[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: htaccess und htpasswd



On Thu, Jun 12, 2003 at 03:14:56PM +0200, Yevgen Reznichenko wrote:
> Tach,
> 
> Am 06/12/2003 09:28 AM 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.

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.

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...


    Best regards from Dresden
    Viele Gruesse aus Dresden
    Heiko Schlittermann
-- 
 SCHLITTERMANN.de ------------------ internet & unix support -
 <a href="http://debian.schlittermann.de/";> Debian 3.x CD </a>
 Heiko Schlittermann HS12-RIPE -------------------------------
 pgp: A1 7D F6 7B 69 73 48 35  E1 DE 21 A7 A8 9A 77 92 -------
 gpg: 3061 CFBF 2D88 F034 E8D2  7E92 EE4E AC98 48D0 359B -----




Reply to: