Notă: Informațiile prezentate aici sunt actuale pentru versiunea 2.4.
Utilizatorii vor fi autentificate în cazul în care calmarul este configurat pentru a utiliza tipul ACL proxy_auth (cm. Mark. Întrebare).
Browser-ul trimite o cerere de autentificare a utilizatorului la zaglovke autorizare.
Atunci când Squid primește regulile de cerere și http_access dacă lista conține tipul de ACL proxy_auth. Calmar în căutarea zaglovok Autorizare. Dacă antetul este prezent, Squid decodeazǎ, și extrage numele de utilizator și parola.
Dacă antetul este absent, Squid returnează un răspuns HTTP-răspuns la starea 407 (Este necesară autentificarea proxy). agent utilizator (browser) primește răspunsul 407, și solicită utilizatorului să introducă un nume de utilizator și o parolă. Numele și parola este codificat și trimise în antetul de autorizare pentru solicitări ulterioare la proxy.
Autentificarea de fapt, are loc în afara procesului principal Squid. Când Squid începe, ea zapuskaetsya procese multiple de autentificare. Aceste procese citesc nume de utilizator și parolele de intrare și de ieșire „OK“ sau „ERR“ la iesirea standard standard de. Această tehnică vă permite să utilizați o varietate de scheme de autentificare, dar puteți utiliza un singur sistem la un moment dat.
codul sursă Calamar vine cu mai multe tipuri de procese de autentificare. inclusiv:- LDAP: utilizează un Lightweight Directory Access Protocol
- NCSA: utilizează numele de utilizator NCSA-stil și fișierul de parole.
- MSNT: utilizează Windows NT domeniu de autentificare.
- PAM: utilizează sistemul Linux Pluggable Authentication Module.
- SMB: utilizarea de tip SMB-nord Windows NT sau Samba.
- getpwam: utilizează fișierul parolă Unix de modă veche de modă veche.
Pentru autentificarea utilizatorului, aveți nevoie pentru a construi și a instala unul dintre modulele de autentificare disponibile, setați o alta. sau propriu.
Tu specificați Squid, care utilizează programul de autentificare folosind authenticate_program opțiune în squid.conf. Specificați numele programului, plus o opțiune de linie de comandă, dacă de exemplu neobhodimo.K:
Asigurați-vă că autentificarea dumneavoastră este instalat și funcționează corect. Puteți să-l testați cu mâna.
Adăugați un ACL proxy_auth câteva în fișierul de configurare. De exemplu: Termenul requried înseamnă că orice utilizator va primi autenentifitsirovany în ACL numit foo.
Calamar vă oferă un control bine structurat, definit prin nume de utilizator individuale. De exemplu: În acest exemplu, utilizatorii lisa, Sarah, Joe, Frank, și a permis să folosească un proxy în orice moment. Alți utilizatori li se permite accesul doar în timpul zilei.
Da. solicitările de autentificare de succes sunt memorate în cache timp de o oră, în mod implicit. Acest lucru înseamnă (în cel mai rău caz), este posibil ca cineva să folosească banii într-o oră după ce a fost scos din baza de date de autentificare.
Aveți posibilitatea de a controla timpul de expirare de expirare a parolei folosind opțiunea authenticate_ttl.
Calmar alocă parolele în text clar în memoria cache.
Calmar trimite nume text clar de utilizator și parola atunci când comunicați cu un proces de autentificare extern. Rețineți, totuși, că aceste comunicare inter-proces are loc pe TCP-conexiunile legate de o revenire interfață. Prin urmare, nu este posibil cu alte procese kompyuretov „vâneze“ traficul de autentificare.
Fiecare program de autentificare trebuie să aleagă propriul lor sistem pentru stocarea permanentă a parolelor și nume de utilizator.
Winbind - un nou plus față de Samba, oferind unele capacități impresionante pentru conturile de utilizator bazate pe NT. Pentru winbind Squid este o soluție corectă și eficientă pentru provocarea de autentificare de bază și NTLM / răspuns împotriva controler de domeniu NT.
Samba necesară versiunea 2.2.4 sau mai mare. Samba 2.2.4, 2.2.5 și 3.0a17 capabil să lucreze cu Authenticator winbind în Squid 2.5.
Autentificarea prin winbind ruleaza cu succes sub Linux, FreeBSD și Solaris.
Configurarea Samba
Samba dolbzhna fi compilate cu opțiuni de configurare:
Opțional, pentru asamblarea Samba 2.2.5, puteți aplica un plasture smbpasswd.diff A se vedea. Mai jos smbd și conturi Trust Machine. pentru a determina dacă aveți nevoie de acest patch.
Testarea Samba winbindd- Edit smb.conf, pentru a winbindd câștigat. Ca un șablon pentru fișierul smbd.conf [global] secțiune, puteți utiliza următoarele.
- Introduceți domeniul NT așa cum este descris în manualul (omul) prin winbindd pentru versiunea dvs. de Samba.
- Testarea funtsionalnost winbindd.
- Porniți nmbd (necesar pentru a se asigura că totul funcționează corect).
- Start winbindd.
- Verificați funcționalitatea generală winbindd folosind „wbinfo -t“:
- Verificați autentificarea utilizatorului prin winbindd:
Smbd și conturi Trust Masini
Cu toate acestea, în cazul în care winbind ajutor Squid doar o componentă care rulează Samba, smbd poate inactiv. Într-adevăr, pot exista alte cauze smbd pentru a rula la toate.
UglySolution.pl - este un simplu script perl pe pentru a încărca smbd, podsoedenitsya la un Samba Folosind smbclient și sgenirirovat activitate suficientă pentru a declanșa dummy mașini smbd încredere pentru schimbarea parolei.
După căptușeală patch-uri, sintaxa schimbarea parolei smbpasswd arată astfel:
Configurarea Squid
Calmar trebuie să fie construite cu opțiuni de configurare:
Testul Calmar fără autentificare
Testarea Helper winbind ntml nu este posibilă din linia de comandă, dar winbind bază-authenticator pot fi testate ca orice alt ajutor de bază: un ajutor ar trebui să se întoarcă „OK“, în cazul dat un nume de utilizator / parolă validă.
Adăugați următoarele pentru a activa și winbind autentificatori de bază, cât și NTLM. IE va folosi restul de bază ntml:Test de Squid cu autentificare
Verificați operațiunea prin calmar cu IE. Dacă sunteți conectat la domeniu, prompt parola nu apare.
Verificați lucrul cu alte browsere. ar trebui să apară caseta standard de dialog prompt parolă.
Dacă nu access.log nume de utilizator și / sau nicio cerere parolă pentru browser-ul, apoi ACL / http_access în squid.conf nu sunt corecte.