Squid3 mit SSO an Windows 2008R2 Domain
Hallo zusammen
Ich möchte gerne folgendes umsetzen:
Gegebene Umgebeung (hört sich komisch an, ist aber so ;) ):
- Windows 2008R2 Domäne
- Linux Server mit Squid3 und Apache
Was möchte ich realisieren:
Squid3 als Proxy mit einer Authentifizierung an der Windows 2008R2 Domäne mit einem SSO und Authentifizierung einer Gruppe.
D.H. -> In der OU habe ich eine Gruppe namens Internetnutzer und diese sollen dann über den Proxy ins Internet, ohne jedes mal beim Neustart des Browsers sich zu authentifizieren.
Problem:
Ich bin Squid Neuling und habe aber auch schon mal vor einer weile damit experimentiert. Jedoch ohne Erfolg Problem: Die How-Tos die im Netz sind, sind entweder nicht für die Squid-Version passend und so schlecht beschrieben, dass ich da nicht weiter komme.
Also Vorweg: Board-Suche und Goolge habe ich schon befragt und noch nichts passendes gefunden.
Ich würde dieses Problem gerne mit euch lösen. Falls Ihr andere Vorschläge habt, wie man das Problem lösen kann, bin ich auch offen.
Also Zusammengefasst, was will ich erreichen: Eine Bestimmte Nutzergruppe darf über den Prxy ins Internet, sonst keiner.
Danke euch schon mal.
Ich möchte gerne folgendes umsetzen:
Gegebene Umgebeung (hört sich komisch an, ist aber so ;) ):
- Windows 2008R2 Domäne
- Linux Server mit Squid3 und Apache
Was möchte ich realisieren:
Squid3 als Proxy mit einer Authentifizierung an der Windows 2008R2 Domäne mit einem SSO und Authentifizierung einer Gruppe.
D.H. -> In der OU habe ich eine Gruppe namens Internetnutzer und diese sollen dann über den Proxy ins Internet, ohne jedes mal beim Neustart des Browsers sich zu authentifizieren.
Problem:
Ich bin Squid Neuling und habe aber auch schon mal vor einer weile damit experimentiert. Jedoch ohne Erfolg Problem: Die How-Tos die im Netz sind, sind entweder nicht für die Squid-Version passend und so schlecht beschrieben, dass ich da nicht weiter komme.
Also Vorweg: Board-Suche und Goolge habe ich schon befragt und noch nichts passendes gefunden.
Ich würde dieses Problem gerne mit euch lösen. Falls Ihr andere Vorschläge habt, wie man das Problem lösen kann, bin ich auch offen.
Also Zusammengefasst, was will ich erreichen: Eine Bestimmte Nutzergruppe darf über den Prxy ins Internet, sonst keiner.
Danke euch schon mal.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 196439
Url: https://administrator.de/contentid/196439
Ausgedruckt am: 22.11.2024 um 02:11 Uhr
20 Kommentare
Neuester Kommentar
Diese Tutorials sollten dir helfen, denn sie beschreiben die generelle Integration in eine Windows Domain.
Debian Linux in eine Active Directory Domäne integrieren
Netzwerk Management Server mit Raspberry Pi
und
ClearOS 5.2 Freeradius 2 LDAP ntlm auth Active Directory
Sie beschreiben mehr oder weniger die gleichen Schritte. Den Rest erklärt:
http://www.squid-handbuch.de/hb/
Für die Einbindung von Squid mit ntlm_auth findest du unzähliche Infos im Netz:
http://www.webseite-n.de/2010/02/ubuntu-anleitung-squid-proxy-server-mi ...
usw.
Es ist mehr oder weniger exakt die gleiche Prozedur wie bei der Einbindung von FreeRadius das auch ntlm_auth benutzt:
http://deployingradius.com/documents/configuration/active_directory.htm ...
Das debian Tutorial erklärt es eigentlich umfassend. Die Schritte sind recht einfach und dort im Deatil erklärt:
$ ntlm_auth --request-nt-key --domain=WINDOMAIN --username=user --password=password
Das sollte dann eine "SUCESS" ergeben wenn du einen gültigen Usernamen verwendest.
Dann musst du nur noch die squid.conf anpassen und los gehts !
Ist eigentlich recht einfach und schnell gemacht !
Debian Linux in eine Active Directory Domäne integrieren
Netzwerk Management Server mit Raspberry Pi
und
ClearOS 5.2 Freeradius 2 LDAP ntlm auth Active Directory
Sie beschreiben mehr oder weniger die gleichen Schritte. Den Rest erklärt:
http://www.squid-handbuch.de/hb/
Für die Einbindung von Squid mit ntlm_auth findest du unzähliche Infos im Netz:
http://www.webseite-n.de/2010/02/ubuntu-anleitung-squid-proxy-server-mi ...
usw.
Es ist mehr oder weniger exakt die gleiche Prozedur wie bei der Einbindung von FreeRadius das auch ntlm_auth benutzt:
http://deployingradius.com/documents/configuration/active_directory.htm ...
Das debian Tutorial erklärt es eigentlich umfassend. Die Schritte sind recht einfach und dort im Deatil erklärt:
- Kerberos User Paket installieren und krb5.conf customizen
- Samba und Samba Binaries installieren und smb.conf anpassen
- nsswitch.conf anpassen
- hosts Datei und DNS anpassen
- Squid Server in die Domain aufnehmen
$ ntlm_auth --request-nt-key --domain=WINDOMAIN --username=user --password=password
Das sollte dann eine "SUCESS" ergeben wenn du einen gültigen Usernamen verwendest.
Dann musst du nur noch die squid.conf anpassen und los gehts !
Ist eigentlich recht einfach und schnell gemacht !
Ja, das ist ein bekannter Fehler oder besser Problem, da es eigentlich kein Fehler ist... Es lässt sich aber leicht fixen.
Leider teilst du uns nicht mit welche Distro du benutzt aber anhand einen klassischen Debian Installation ist das Prinzip erklärt, denn es tauscht bei einigen Distros analog auch bei der FreeRadius Installation auf.
Der Output von ntlm_auth und vermutlich auch ntlm_param wird über eine Pipe Datei in /run/samba/winbindd_privileged übergeben auf das der User "freerad" und bei dir vermutlich der User "squid" unter dem der FreeRadius bzw. Squid als Daemon rennt keinen Zugriff hat. Du musst also checken mit welchem User und Group dein Squid rennt.
FreeRadius und Squid Abfragen mit ntlm_auth und vermutlich auch ntlm_param scheitern also deshalb an den Userrechten für das Pipe verzeichnis obwohl ein einzellner ntlm_auth Aufruf mit Abfrage des AD fehlerfrei funktioniert.
Mit einem "adduser freerad winbindd_priv" fügt man den User freerad der Gruppe winbindd_priv zu die alle Rechte in diesem Pipe Verzeichnis hat und damit klappt die FreeRadius und Squid Abfrage aus dem AD dann fehlerlos !
Also checke mal mit welchem Usernamen und Gruppe der Squid Daemon ausgeführt wird und suche in deiner Distro dieses Üvergabeverzeichnis. Dr. Google hilft dir dabei wenn du gezielt danach suchst.
Leider teilst du uns nicht mit welche Distro du benutzt aber anhand einen klassischen Debian Installation ist das Prinzip erklärt, denn es tauscht bei einigen Distros analog auch bei der FreeRadius Installation auf.
Der Output von ntlm_auth und vermutlich auch ntlm_param wird über eine Pipe Datei in /run/samba/winbindd_privileged übergeben auf das der User "freerad" und bei dir vermutlich der User "squid" unter dem der FreeRadius bzw. Squid als Daemon rennt keinen Zugriff hat. Du musst also checken mit welchem User und Group dein Squid rennt.
FreeRadius und Squid Abfragen mit ntlm_auth und vermutlich auch ntlm_param scheitern also deshalb an den Userrechten für das Pipe verzeichnis obwohl ein einzellner ntlm_auth Aufruf mit Abfrage des AD fehlerfrei funktioniert.
Mit einem "adduser freerad winbindd_priv" fügt man den User freerad der Gruppe winbindd_priv zu die alle Rechte in diesem Pipe Verzeichnis hat und damit klappt die FreeRadius und Squid Abfrage aus dem AD dann fehlerlos !
Also checke mal mit welchem Usernamen und Gruppe der Squid Daemon ausgeführt wird und suche in deiner Distro dieses Üvergabeverzeichnis. Dr. Google hilft dir dabei wenn du gezielt danach suchst.
Das musst du mal ausprobieren wie das bei SuSE ist. Bei Debian reichte es den Squid/FreeRadius Daemon User einfach in die Gruppe aufzunehmen.
Dort sieht es dann so aus:
root@raspberry:/run/samba# ls -l
total 1000
(...der Übersicht halber ein paar Dateieinträge gelöscht !)
srwxrwxrwx 1 root root 0 Jan 14 11:36 unexpected
-rw-r--r-- 1 root root 5 Jan 14 11:36 winbindd.pid
drwxr-x--- 2 root winbindd_priv 60 Jan 14 11:36 winbindd_privileged
root@raspberry:/run/samba#
Du kannst das ja erstmal testen den Squid User damit in root aufzunhemen. Wichtig ist ja erstmal die Funktion zu testen damit es rennt. Wenns klappt kann man das Rechte Finetuning später machen..
Dort sieht es dann so aus:
root@raspberry:/run/samba# ls -l
total 1000
(...der Übersicht halber ein paar Dateieinträge gelöscht !)
srwxrwxrwx 1 root root 0 Jan 14 11:36 unexpected
-rw-r--r-- 1 root root 5 Jan 14 11:36 winbindd.pid
drwxr-x--- 2 root winbindd_priv 60 Jan 14 11:36 winbindd_privileged
root@raspberry:/run/samba#
Du kannst das ja erstmal testen den Squid User damit in root aufzunhemen. Wichtig ist ja erstmal die Funktion zu testen damit es rennt. Wenns klappt kann man das Rechte Finetuning später machen..
Ja, das kannst du ganz einfach machen mit einem 2ten Terminal wo du mal "tcpdump -host <ip_server>" laufen lässt, das zeigt dir dann den Traffic an.
Ohne ntlm Authentisierung gibt ntlm eine Fehlermeldung aus ! Wenn du ein "Success" bekommst dann klappt es !
Netzwerk Management Server mit Raspberry Pi --> "FreeRadius mit AD"
Das mit der Einschränkung auf Gruppen ist irgendwo dokumentiert...muss nochmal suchen
Ohne ntlm Authentisierung gibt ntlm eine Fehlermeldung aus ! Wenn du ein "Success" bekommst dann klappt es !
Netzwerk Management Server mit Raspberry Pi --> "FreeRadius mit AD"
Das mit der Einschränkung auf Gruppen ist irgendwo dokumentiert...muss nochmal suchen
Sorry ohne das "-" bei host ! Siehe auch:
http://danielmiessler.com/study/tcpdump/
Das mit dem Passwort ist nicht normal. Generell werden alle User sauber authentisiert. Hast du Umlaute oder Sonderzeichen im Passwort ?
http://danielmiessler.com/study/tcpdump/
Das mit dem Passwort ist nicht normal. Generell werden alle User sauber authentisiert. Hast du Umlaute oder Sonderzeichen im Passwort ?
Eigentlich sollte das transparent sein. Es würde ja bedeuten das die AD Integration mit winbind und NTLM keine Umlaute könnte, was die halbe Welt von der Funktion ausschliesst. Kann eigentlich nicht sein...
Teste das doch einfach mal mit einem User OHNE Umlaute !
Klappt das denn da ??
Ansonsten gehst du einfach strategisch vor, das du den Proxy Host erstmal ganz klassisch in die AD Domain integrierst, User Authentisierung usw. wasserdicht testest.
Dann das NTLM Modul testen.
Wenn das alles rennt muss das nochmalerweise wasserdicht funktionieren.
Teste das doch einfach mal mit einem User OHNE Umlaute !
Klappt das denn da ??
Ansonsten gehst du einfach strategisch vor, das du den Proxy Host erstmal ganz klassisch in die AD Domain integrierst, User Authentisierung usw. wasserdicht testest.
Dann das NTLM Modul testen.
Wenn das alles rennt muss das nochmalerweise wasserdicht funktionieren.