PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NTLM und Squid



Nidi
05.06.07, 10:01
Hallo,

ich habe folgendes Problem:

Ich habe ein kleines Netzwerk, bestehend aus einem Linux Server der als Proxy dient, einen Windows 2003 Server und einen Windows XP Client.

Bin gerade dabei eine art Projekt zu machen nur leider steh ich eh gerade an einer Stelle wo es nicht weiter geht, via Squid haben wir eine authorisierung mit LDAP schon gemacht d.h. der Client muss wenn er ins Internet möchte ersteinmal über eine Eingabemaske "gehen" wo er Benutzername und Kennwort eingeben soll (was auch einwandfrei funktionert), das ist ja denk ich soweit klar nun wollten wir das so realisieren das, dass ganze transparent läuft, also ohne Anmeldemaske, das ganze sollte also wie NTLM realisiert werden nur es geht nicht weiter. Ich hab gestern den ganzen Tag gegoogelt doch leider ohne Erfolg also bitte keine google Weiterleitungen.


z.Z. sind wir soweit das der Linux Rechner Teil der Windows 2003 Domäne ist (so stand es zumindest im Netz das man das so machen soll).

Des weiteren haben wir die squid.conf mit folgenden Befehlen erweitert


auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp

Frage ist ob jetzt hier dahinter noch Serverp (so heißt die Domäne)/praktikant (computername) muss oder ob das auch weggelassen werden kann?


auth_param ntlm children 4
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param ntlm use_ntlm_negotiate on

acl ntlm proxy auth_required
http_access allow ntlm

http_access deny all

Samba.conf haben wir auch angepaßt

Muss man nun die Basics mit dazu nehmen? Weil ich gelesen habe das für eine komplett transparente Anmeldung die Basics weggelassen werden sollen.

Ebenfalls haben wir am Server unter den Sicherheitsoptionen die "Lan-Manager-Authentifizierungsebene auf "LM und NTLM-Antworten Senden" gestellt.
Im Internetexplorer des Clients haben wir auch noch eingestellt "intigrierte Authentifizierung".

Wenn wir nun am Client den Internetexplorer starten kommt trotzdem die Anmeldemaske nur mit einem Unterschied, egal was wir eintragen ob falsch oder richtig, er wird nicht durchgelassen, also gleich 2 Fehler
1. Authentifizierungsmaske
2. wird nicht durchgelassen

als Fehler am Linux-Server kommt dann folgende Meldung


"ntlm_auth.c:get_winbind_domain (140)
could not obtain windbind domain name!"
"ntlm_auth.c:get_winbind_netbios_name (166)
could not obtain winbind netbios name"

und in der access.log steht

192.168.10.31 TCP_Denied/407 1698 GET http://www.google.de - NONE/- text/html


Wäre für Hilfe sehr Dankbar.

Columbo0815
05.06.07, 11:25
1. Falsches Forum.

2. Schau mal hier. http://www.linuxforen.de/forums/showthread.php?t=237131

Columbo0815
05.06.07, 11:27
3. brauchst du dafür noch kerberos

Was gibt
wbinfo -t aus?

Nidi
05.06.07, 11:36
Checking the trust secret via RPC calls succeeded

kommt bei wbinfo -t

P.S. neuster Fehler

"ntlm_out:ntlmssp BH NT_Status_Access_Denied"

Columbo0815
05.06.07, 11:47
Ist der Rechner auf dem Squid läuft Mitglied der Domäne?

Edit: Ja ist er. Anleitung folgt gleich
Edit2: Anleitung: http://mkeadle.org/index.php?p=13

Nidi
05.06.07, 11:58
1. Wenn wir /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic und dann in der nächsten Zeile serverp\test und das passwort dann kommt
OK
Wenn wir das mit /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntmlssp machen dann kommt:
BH

Warum?

2. ist Kerberos dafür unbedingt Notwendig? Denn wir wollten das ohne machen, oder geht es nicht ohne?

Columbo0815
05.06.07, 12:02
Du willst doch die Authentifizierung transparent machen, richtig? Dann muss sich der Squid die Anmeldedaten, die vom Browser übergeben werden, vom DC bestätigen lassen. Hierfür brauchst du afaik kerberos.

Nidi
05.06.07, 12:10
Also bei uns gibt es die krb5.conf. Die haben wir gerade editiert nur leider geht der Befehl kinit user@blablabla nicht da kommt "command" not found. Wir haben auch "kinit status" probiert, weil wir nicht Wissen wie man rausfindet ob der läuft. Gibts aber auch net den Befehl.

Nachdem wir nun noch wbinfo -k gemacht haben kam folgendes:

plaintext kerberos password authentication for [test%password] succeeded (requesting cctype: 0)
no credentials cached

/EDIT: Haben nun Kinit installiert, da es wohl doch nicht da war

Columbo0815
05.06.07, 12:53
/EDIT: Haben nun Kinit installiert, da es wohl doch nicht da war
und seid zu welchem Ergebnis gekommen?

Nidi
05.06.07, 13:03
Funktioniert jetzt irgendwie :D. Frag mich bitte nicht wie, haben grad den AXL neugestartet und aufeinmal ging es. Haben uns dann lokal am Client angemeldet, dann kam natürlich das Fenster, weil er den Benutzer nicht kannte (ist ja normal) dann einfach Administrator mit pw angegeben und es ging.

Krasse Welt :D

Columbo0815
05.06.07, 13:07
Dann läuft es wohl nicht über ntlm.

Nidi
05.06.07, 13:10
Okay wir machen jetzt die Dokumentation und vllt. braucht man die hier ja? HowTo oder so. k.A.

Columbo0815
05.06.07, 13:14
Howtos werden gerne gesehen. Ich gehe jedoch davon aus, dass du dich nicht über ntlm authentifizierst. Evtl. ist dein LDAP noch aktiv.

Nidi
05.06.07, 13:19
Das Sicherheits Level haben wir auf "nur kerberos" gestellt um sicher zu stellen das der Server keine NTLM Anfragen entgegen nimmt.

D.h. wir machen die transparente Authentifizierung jetzt nur über Kerberos. Zu der sache mit LDAP, das glaube ich weniger.
Ich hab von anfang an eine Squid.conf.original gemacht, nachdem wir das mit LDAP geschafft haben, hab ich diese in squid.conf.ldap gespeichert und danach wieder die .org in squid.conf. d.H. wir haben jetzt 3 Stück und in der squid.conf.kerb haben wir ntlm_auth und nicht squid_ldap_auth benutzt. Von daher schließen wir das aus. Etwas wirrwarr, aber es sollte zu verstehen sein, bzw. es ist übersichtlicher so müssen wir nur die dateien in die squid.conf speichern um das gewünschte Ergebnis zu erzielen.