← Back to team overview

sslug-teknik team mailing list archive

Re: Winsock(s)-server og linux

 

>Jeg sidder med en Linuxbox og den eneste vej 'ud' er gennem en WinNT med
>winsock, kan jeg på nogen måde komme ud gennem den.

Ok her lidt om hvorfor det er så svært, og lidt om hvad du evt. kan
gøre. Det handler om, at M$ proxy er en komplet transparent proxy, og
at den bruger NT domæne authentication til at lade klienter komme
igennem.

M$ proxy-server virker som en transparent proxy for *alle*
protokoller. Det er *ikke* en router; der er på ingen måde direkte hul
igennem den. Trafik ind og ud kan kun gå igennem proxyserveren. Med
andre ord: En NT-maskine kan ikke sættes op til bare at route, sådan
som en Linux kan (ved at enable ip_forward osv).

Når en windows klient skal ud gennem proxy-serveren, har den derfor
brug for noget specielt software: M$ proxy-client. Proxy-klienten
overtager workstation'ens TCP/IP-stack; pakker alle kald til eksterne
adresser ind i noget authenticerings-information, så proxy-serveren
giver trafikken lov til at gå igennem. Når du logger på NT-domænet er
du authenticeret på serveren, og så får du lov. Hvis du bare booter
din windows-maskine uden at logge på domænet får du ikke lov. Det er
så proxy-klienten, der sørger for at få fortalt serveren, at denne
workstation faktisk er authenticeret på domænet og skal have lov til
at komme igennem.

Proxy-klient-softwaren findes naturligvis kun til windows (og ikke
engang til windoze 2000, så win2000-maskiner er i samme svære
situation som Linux og alle andre, tsk tsk). Og der er ingen åbne
standarder i dette system, så der findes ingen proxy-klienter til
andre systemer.

Det hele handler altså om domæne-authenticering. Du kan godt
authenticere en Linux-maskine overfor et domæne (med pam_ntdom), men
det er ikke det samme som der sker på en windoze klient; den husker
nemlig noget login-information som den bruger senere og derved undgår
at skulle skrive password igen (det er altså denne information
proxy-klienten sender til proxy-serveren, så en authenticeret
domæne_klient får adgang uden at skulle skrive login/password hver
gang); Linux'en bruger det kun til at få godkendt passwordet een gang,
derefter er alt glemt. 

Ok, en masse forklaring uden en løsning - jeg har den ikke, har
nærmest opgivet (løsningen er at sætte en Linux-server op :). Men et
clue: Løsningen ligger i, at du skal have oprettet en bruger/gruppe på
NT-serveren, som Linux'en kan være en del af, og som ikke kræver
password. Og her begynder min viden at være svag. Det er noget med, at
du skal sætte en untrusted gruppe op, og have fortalt proxy-serveren,
at denne gruppe skal have lov at bruge proxyen. Det kan muligvis
baseres på IP-adresser. Jeg har ikke selv har særlig stor succes, men
det kan være du kan eksperimentere dig frem til et eller andet. Bemærk
dog, at det sandsynligvis vil forringe serveren sikkerhed væsentligt.

NB: Alt det jeg ævler om her handler om at få fuld netadgang gennem
proxyen, dvs. for alle protokoller. Hvis du kun skal på www, kan du
komme igennem ret let. Et eller andet sted i proxy-setup kan du enable
cleartext passwords (og måske et andet checkmark også, husker det
ikke). Hver gang du starter en browser, får du en dialogboks hvor du
skal indtaste domæne login/password, så kommer du igennem.


/Simon



References