Nketchoya Ngomegni Germain 1
HTTP- Authentication und
ihre Konfiguration mit Apache
2
HTTP
Hyppertext Transport Protocol.
Port: 80.
TCP: Transmission Control Protocol.
Klient schickt Anfrage an Servern
Nketchoya Ngomegni Germain
3
Motivation
Nketchoya Ngomegni Germain Datenschutz
Online Test
Frage: Wer sitzt an anderem Ende?
4
Authentication
Nketchoya Ngomegni Germain
Datenschutz vor Fremde: Bestimmte Dateien.
Fremde:Person ohne Erlaubnis.
5
DREI KATEGORIEN
Nketchoya Ngomegni Germain
ANFRAGE VON EINEM BESTIMMTEN INFORMATION A- Paßwort oder PIN Nummer
BESITZ EINER OBJEKT B- Elektronischer Schlüssel C- Eine Karte
PERSÖNNLICHER ZEICHEN D- Fingerabdrücken
6
Kombinierung
• A mit B
• A mit C
• A mit D
• B mit C
• ...
Nketchoya Ngomegni Germain
7
HTTP AUTHENTICATION
Basic Authentication Digest Authentication
Nketchoya Ngomegni Germain
8
Basic Authentication 1
Es ist basiert auf Anfrage
Der Klient muss sich durch einen Benutzername Und Passwort identifiziert.
Der Server liefert den Service nur, wenn dem Benutzer
In seiner Kartei finden kann (Siehe Konfiguration mit Apache )
Nketchoya Ngomegni Germain
9
Basic Authentication 2
Nketchoya Ngomegni Germain
Klient fragt nach einer geschützt Dokument.
Server Antwort:
WWW-Authenticate: Basic realm="WallyWorld"
Wobei Wally World die Zeichenkette, die zu dem Server
Zugewiesen ist, um das geschütztes Dokument zu identifizieren
10
Erlaubnis
Nketchoya Ngomegni Germain
Der Klient schickt Username und Passwort getrennt von (:).
Kodiert in Basis 64.
11
Beispiel
Nketchoya Ngomegni Germain Benutzername: Aladdin Passwort: open sesame Zu schicken:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
12
Digest Authentication
Auch auf Anfragen basiert wie Basic.
Richtig Antwort (Paket mit Username und Passwort ) Hat eine Prüfsumme.
Passwort verschlüsseln durch Netz Sicherer als Basic
Aber nicht zur Sicherung empfehlen. (rfc2617) Nketchoya Ngomegni Germain
13
Bennehmung Server
Nketchoya Ngomegni Germain
Server bekommt Anfrage Antwort mit:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Digest
realm="testrealm@host.com", qop="auth,auth-int",
nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", opaque="5ccc069c403ebaf9f0171e9517f40e41"
14
Richtige Passwort und Username
Nketchoya Ngomegni Germain
Antwort des Servers: (Ein Beispiel)
Authorization: Digest username="Mufasa", realm="testrealm@host.com",
nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", uri="/dir/index.html",
qop=auth,
nc=00000001,
cnonce="0a4f113b",
response="6629fae49393a05397450978507c4ef1", opaque="5ccc069c403ebaf9f0171e9517f40e41"
15
Parameter1
Nketchoya Ngomegni Germain
User Name: Benutzername in der spezifiziert Umgebung Response: String , eine Hexadezimal Zahl, die zeigt, dass Der Benutzer der Passwort kennt.
Qop: Bezeichnet die Methode, die der Benutzer benutzt Um ihre Nachricht zu schützen.
Cnonce: ist spezifiziert, wenn Qop spezifiziert ist. Der Klient stellt es zur Verfügung aber der Server benutzt es auch.
16
Parameter 2
Nketchoya Ngomegni Germain
Nounce Count: Die Anzahl von Anfragen.
auth-param : Steht für zukünftige Erweiterungen.
Es ist benutzt von Server, um einigen Informationen Im Bezug auf richtige Antwort in dem Respond
17
Authentication-Info Header 1
Es ist benutzt von Server, um einigen Informationen Im Bezug auf richtige Antwort in dem Respond.
Nketchoya Ngomegni Germain
18
Authentication-Info Header 2
Nketchoya Ngomegni Germain So sieht dass aus:
AuthenticationInfo = "Authentication-Info" ":" auth-info auth-info = 1#(nextnonce | [ message-qop ] | [ response-auth ] | [ cnonce ]
| [nonce-count] )
nextnonce = "nextnonce" "=" nonce-value response-auth = "rspauth" "=" response-digest response-digest = <"> *LHEX <">
19
Authentication Stufen
Stufe 0: Nur Basic Authentication aktiviert
Stufe 1: Basic und Digest Authentication sind aktiviert Der Klient kann wählen
Stufe 2: Nur Digest Authentication ist aktiviert
Nketchoya Ngomegni Germain
Quelle:www.userland.com
20
Konfiguration in Apache
Benutzung von .htaccess Datei
Wie Sieht solche Datei aus (Anschauen in einer Editor).
Nketchoya Ngomegni Germain
21
Passwort Datei Erzeugen
Htpasswd -c /usr/local/apache/passwd/passwords username Kopieren Sie dann diese Datei in Verzeichnis:
/usr/local/apache/password Wenn ihre Dokumenten in:
/usr/local/apache/htdocs sind Nketchoya Ngomegni Germain
22
Achtung
Wenn htpasswd nicht in der Verzechnis wo sie sich befinden sich:
Tippen Sie den Weg zur Datei ein, Zum Beispiel:
usr/local/apache/bin/htpasswd
Nketchoya Ngomegni Germain
23
Server Konfiguration
Nketchoya Ngomegni Germain Server Sagen:
Bei einer oder anderer Dokument Benutzername und Passwort verlangen.
Wie?: Zwei Möglichkeiten
24
Beispiel 1
Wir wollen das Verzeichnis
/usr/local/apache/htdocs/secret schützen:
Wir kopieren die erzeugten .htaccess Datei in diesem Verzeichnis
Nketchoya Ngomegni Germain
25
Beispiel 2
Um einen Verzeichnis zu schützen können wir auch:
Die Datei httpd.conf editiert.
In der Abschnitt:<Directoty/usr/local/apache/apache/htdocs/secret>
können wir folgenden einfügen: (Wenn wir dürfen) AuthType Basic
AuthName „Restricted Files“
AuthUserFile /usr/local/apache/passwd/passwords require user Benutzername
Nketchoya Ngomegni Germain
26
Beispiel 3
Demonstration auf meine Webseite bei www.inf.fu-berlin.de/~nketchoy
Nketchoya Ngomegni Germain
27
Weitere Befehlen
Gruppe von Benutzern indem Sie eine Benutzer Datei erzeugen Inhalt der Datei Zum Beispiel:
GroupName: Tina Nketchoya Germain
Einfügen einen Benutzer in eine bereit existiert Passwort Datei:
htpasswd /usr/local/apache/passwd/password Tina
Nketchoya Ngomegni Germain
28
Modifikation in http.conf
AuthType Basic
AuthName „By Invitation Only“
AuthUserFile /usr/local/apache/passwd/passwords AuthGroupFile /usr/local/apache/passwd/groups
require group GroupName (oder require valid-user)
Nketchoya Ngomegni Germain
29
Problem bei Basic Authentication
Jedes Mal wenn sie eine Seite laden:
Benutzername und Passwort eingeben
(Die Person hinter dem Computer merkt dass nicht Wegen Modern Browser).
Sogar wenn man die gleiche Seite neu laden.
Konsequenz: Beschränkt Anzahl von Benutzern Anzahl Hängt von der Kraft deiner Server.
Quelle: rfc617.
Nketchoya Ngomegni Germain
30
Weitere Befehlen
Allow from address
deny from 205.252.46.111
deny from puretec.com inf.fu-berlin.de deny from all
allow from mein_einziger_freund.com
Nketchoya Ngomegni Germain
31
Literatur
• RFC2617
• WWW .GOOGLE.DE
• WWW.USERLAND.COM
Nketchoya Ngomegni Germain