Meise2000: SSL vs. Authatication Required

Hallo Leute,

auf meinem Server habe ich (mittels .htaccess) einen geschützen Ordner, über den per HTTP nur mit richtigem Loginname und Passwort zugegriffen werden kann.

Da die Übertragung aber unverschlüsselt passiert und man so das Passwort mitsniffen kann, wollte ich den Ordner über SSL aufrufen.

Mein Provider (Puretec) bietet mit die Nutzung eines SSL-Proxys an, so dass ich mit

https://ssl.kundenserver.de/meineDomain.de/geheimerOrdner/

an die geschützen Daten komme. Das Problem ist nur, dass jeder Browser mich ERST nach dem Login und dem Passwort fragt und DANACH (beim Aufbau der geschützen Seite) das Symbol für geschützte Seiten und der Statuszeile anzeigt.

Mein Frage:
Wird der Login und das Passwort schon per SSL übertragen, oder nicht? Der Browser sagt nein, aber nach meinem Verständnis müsste es doch eigentlich, oder?

Danke für die Beiträge,
Meise.

  1. Hallo!

    Da die Übertragung aber unverschlüsselt passiert und man so das Passwort mitsniffen kann, wollte ich den Ordner über SSL aufrufen.

    gute Idee!

    Wird der Login und das Passwort schon per SSL übertragen, oder nicht? Der Browser sagt nein, aber nach meinem Verständnis müsste es doch eigentlich, oder?

    SSL ist zwischen HTTP und TCP implementiert. Wenn Du einen Request (von einer nicht verschlüsselten Seite aus) auf eine verschlüsselte Seite durchfürst sieht das etwa so aus:

    • erstmal fragt der Client irgendeine unverschlüsselte Seite ab
    • der Server schickt die Seite ganz normal zum Client
    • der Anwender klickt auf dieser unverschlüsselten Seite jetzt auf einen Link zu einer https-Recource
    • der Client merkt dass er SSL verwenden muss, und kontaktiert den Server um mit ihm die Parameter für die SSL-Verbindung auszuhandeln
    • bis hierher wurde noch kein HTTP übertragen
    • wenn Server+Client alles geklärt haben, sendet der Client endlich den HTTP-Request, der entsprechend den Parametern veschlüsselt und übertragen wird...
    • der Server bekommt den Request und entschlüsselt den, und sendet eine erneut verschlüsselte Antwort.
    • diese Antwort ist die erste HTML-Datei die per SSL-verschlüsselt zum Client übertragen wurde, also erscheint jetzt das Schloss unten im Browser, und nicht eher.

    Grüße
    Andreas

    1. Hallo Andreas,

      • wenn Server+Client alles geklärt haben, sendet der Client endlich den HTTP-Request, der entsprechend den Parametern veschlüsselt und übertragen wird...
      • der Server bekommt den Request und entschlüsselt den, und sendet eine erneut verschlüsselte Antwort.

      Soweit kapiere ich das. Jetzt ist das Problem, das die Response des Servers eine 401-Message (also KEINE erste HTML-Seite, oder?) ist. Die bekommt der Client und öffnet das Pop-Up-Fenster. An dieser Stelle sollten die Browser doch schon das Schloss anzeigen können - tut er aber nicht... sondern er wartet auf die zweite Response des Servers (nämlich die HTML-Seite)

      Meise

      1. Hallo Andreas,

        • wenn Server+Client alles geklärt haben, sendet der Client endlich den HTTP-Request, der entsprechend den Parametern veschlüsselt und übertragen wird...
        • der Server bekommt den Request und entschlüsselt den, und sendet eine erneut verschlüsselte Antwort.

        Soweit kapiere ich das. Jetzt ist das Problem, das die Response des Servers eine 401-Message (also KEINE erste HTML-Seite, oder?) ist. Die bekommt der Client und öffnet das Pop-Up-Fenster. An dieser Stelle sollten die Browser doch schon das Schloss anzeigen können - tut er aber nicht... sondern er wartet auf die zweite Response des Servers (nämlich die HTML-Seite)

        Nein das ist überhaupt kein Problem. Der Server sendet den 401er Statuscode weil der Client beim vorherigen Request eben noch keine Auth-Daten mitgesendet hat, die aber benötigt werden. Außerden wurden dieser Request _und_ der 401-Response bereits verschlüsselt übertragen, denn die Verschlüsselung pasiert unterhalb der HTTP-Ebene, also bevor irgendwas mit HTTP gesendet werden kann muss die Verschlüssselung klar sein. Der Browser könnte sicher schon das Icon unten anzeigen, denn wenn das Fenster aufgeht, wurde ja bereits verschlüsselt übertragen, aber die mit bekannten Browser verändern gar nichst an dem Browserfenster wenn ein 401-Header kommt, da es sich hierbei ja nicht um HTML-Contend handelt, sondern um die Authentifizierung, die mit HTML, also dem Browserfenster nichts zu tun hat, sondern alleine über HTTP-Header abgewickelt wird. Die alte Seite wird so lange belassen bis der Server entweder einen 200er Statuscode sendet, und dann wird da halt das angehängte HTML-Dokument angezeigt, oder er bekommt dann irgendwann einen 403, eben wenn Du "abbrechen" drückst oder zu oft die falschen Daten eingegeben hast, erst bei diesen beiden Möglichkeiten wird das Browserfenster aktualisiert, und eben das Icon unten angezeigt. Sicher könnte man das schon eher anzeigen, kannst Dich ja mal bei den  InternetExplorer-, Mozilla-, Opera-... Entwicklern beschweren, aber ich vermute dass das durchaus bewußt so ist. Jedenfalls werden die Zugangsdaten verschlüsselt übertragen. Immer wenn Du eine https URL öffnest werden die Daten auf HTTP-Ebene _sofort_ verschlüsselt übertragen, oder gar nicht wenn was beim Aushandeln der Parameter nicht stimmt, oder Zertifikate fehlen oder abgelehnt werden...

        Viele Grüße
        Andreas

        1. Hallo nochmal,

          Die alte Seite wird so lange belassen bis der Server entweder einen 200er Statuscode sendet, und dann wird da halt das angehängte HTML-Dokument angezeigt, oder er bekommt dann irgendwann einen 403, eben wenn Du "abbrechen" drückst oder zu oft die falschen Daten eingegeben hast, [...]

          das ist natürlich Schwachsinn, 401-Fehlerseite habe ich gemeint statt 403.

          Grüße
          Andreas

        2. Alles klar, vielen Dank...

          Meise

  2. Hallo Meise,
    hast Du denn schon einmal deine Übertragungen mitgeschnitten?

    Wenn nicht, solltest Du das mal tun.
    Es gibt zahlreiche Tools("Sniffer")dazu.
    z.B.:

    • Netzwerkmonitor von Win/NT (ist auf jeder WIN/NT Server CD dabei)
    • Windump/tcpdump
    • Ethereal

    Grüße Oesi