pfSense+Squid b'filtrazzjoni https + Single Sign-on (SSO) b'filtrazzjoni ta' grupp ta' Active Directory
Sfond qasir
Il-kumpanija kellha bżonn timplimenta proxy server bil-kapaċità li tiffiltra l-aċċess għal siti (inkluż https) minn gruppi minn AD sabiex l-utenti ma jdaħħlux passwords addizzjonali, u jkunu jistgħu jiġu amministrati mill-interface tal-web. Applikazzjoni tajba, hux?
It-tweġiba t-tajba tkun li tixtri soluzzjonijiet bħal Kerio Control jew UserGate, iżda bħal dejjem m'hemmx flus, iżda hemm bżonn.
Dan huwa fejn il-Klamar il-qadim tajjeb jiġi għas-salvataġġ, iżda għal darb'oħra - fejn nista 'nikseb interface tal-web? SAMS2? Moralment skadut. Dan huwa fejn pfSense jiġi għas-salvataġġ.
Deskrizzjoni
Dan l-artikolu se jiddeskrivi kif tikkonfigura s-server proxy Squid.
Kerberos se jintuża biex jawtorizza lill-utenti.
SquidGuard se jintuża biex jiffiltra mill-gruppi tad-dominju.
Is-sistemi ta 'monitoraġġ Lightsquid, sqstat u pfSense interni se jintużaw għall-monitoraġġ.
Se ssolvi wkoll problema komuni assoċjata ma 'l-introduzzjoni ta' teknoloġija ta 'single sign-on (SSO), jiġifieri applikazzjonijiet li jippruvaw jibdlu l-Internet taħt il-kont tal-boxxla bil-kont tas-sistema tagħhom.
Tħejjija biex tinstalla Squid
pfSense se jittieħed bħala l-bażi,
Fiha norganizzaw l-awtentikazzjoni fuq il-firewall innifsu billi tuża kontijiet tad-dominju.
Huwa importanti ħafna!
Qabel ma tibda tinstalla Squid, għandek bżonn tikkonfigura s-server DNS f'pfsense, tagħmel rekord A u rekord PTR għalih fuq is-server DNS tagħna, u kkonfigurat NTP sabiex il-ħin ma jkunx differenti mill-ħin fuq il-kontrollur tad-dominju.
U fuq in-netwerk tiegħek, ipprovdi l-abbiltà għall-interface WAN ta 'pfSense biex tmur l-Internet, u l-utenti fuq in-netwerk lokali biex jikkonnettjaw mal-interface LAN, inkluż fuq il-portijiet 7445 u 3128 (fil-każ tiegħi 8080).
Kollox lest? Il-konnessjoni LDAP hija stabbilita mad-dominju għall-awtorizzazzjoni fuq pfSense u l-ħin huwa sinkronizzat? Kbir. Wasal iż-żmien li tibda l-proċess ewlieni.
Installazzjoni u pre-konfigurazzjoni
Squid, SquidGuard u LightSquid se jiġu installati mill-maniġer tal-pakketti pfSense fit-taqsima "System / Package Manager".
Wara l-installazzjoni b'suċċess, mur "Servizzi / Squid Proxy server /" u l-ewwelnett, fit-tab tal-Cache Lokali, kkonfigurat il-caching, issettjajt kollox għal 0, għax Ma narax ħafna skop fis-siti tal-caching, il-browsers jagħmlu xogħol tajjeb b'dan. Wara l-issettjar, agħfas il-buttuna "Save" fil-qiegħ tal-iskrin u dan jagħtina l-opportunità li nagħmlu s-settings bażiċi tal-prokura.
Is-settings ewlenin huma kif ġej:
Il-port default huwa 3128, imma nippreferi nuża 8080.
Il-parametri magħżula fit-tab tal-Interface tal-Prokura jiddeterminaw liema interfaces se jisma' s-server tal-prokura tagħna. Peress li dan il-firewall huwa mibni b'tali mod li jidher fuq l-Internet bħala interface WAN, minkejja li LAN u WAN jistgħu jkunu fuq l-istess subnet lokali, nirrakkomanda li tuża LAN għall-prokura.
Loopback huwa meħtieġ biex sqstat jaħdem.
Hawn taħt issib is-settings tal-prokura Trasparenti (trasparenti), kif ukoll SSL Filter, iżda m'għandniex bżonnhom, il-prokura tagħna mhux se tkun trasparenti, u għall-iffiltrar https mhux se nissostitwixxu ċ-ċertifikat (għandna fluss tad-dokumenti, bank klijenti, eċċ.), ejja nħarsu biss lejn il-handshake.
F'dan l-istadju, irridu mmorru għand il-kontrollur tad-dominju tagħna, noħolqu kont ta 'awtentikazzjoni fih (tista' wkoll tuża dak li kien ikkonfigurat għall-awtentikazzjoni fuq pfSense innifsu). Hawn hu fattur importanti ħafna - jekk għandek il-ħsieb li tuża encryption AES128 jew AES256 - iċċekkja l-kaxxi xierqa fis-settings tal-kont tiegħek.
Jekk id-dominju tiegħek huwa foresta kumplessa ħafna b'numru kbir ta 'direttorji jew id-dominju tiegħek huwa .local, allura huwa POSSIBBLI, iżda mhux ċert, li jkollok tuża password sempliċi għal dan il-kont, il-bug huwa magħruf, iżda huwa jista 'sempliċement ma jaħdimx b'password kumplessa, għandek bżonn tiċċekkja fuq każ partikolari speċifiku.
Wara dan, noħolqu fajl ewlieni għal kerberos, niftħu kmand prompt bi drittijiet ta' amministratur fuq il-kontrollur tad-dominju u daħħal:
# ktpass -princ HTTP/[email protected] -mapuser pfsense -pass 3EYldza1sR -crypto {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All} -ptype KRB5_NT_PRINCIPAL -out C:keytabsPROXY.keytab
Fejn nindikaw l-FQDN pfSense tagħna, kun żgur li tirrispetta l-każ, daħħal il-kont tad-dominju tagħna u l-password tiegħu fil-parametru mapuser, u fil-kripto nagħżlu l-metodu ta 'encryption, użajt rc4 għax-xogħol u fil-qasam -out nagħżlu fejn aħna se tibgħat il-fajl ewlieni tagħna lest.
Wara li ħoloq b'suċċess il-fajl ewlieni, aħna nibagħtu lill-pfSense tagħna, użajt Far għal dan, iżda tista 'wkoll tagħmel dan kemm b'kmandi u stokk jew permezz tal-interface tal-web pfSense fit-taqsima "Linja ta' Kmand tad-Djanjostiċi".
Issa nistgħu neditjaw/noħolqu /etc/krb5.conf
fejn /etc/krb5.keytab huwa l-fajl ewlieni li ħloqna.
Kun żgur li tiċċekkja l-operat ta 'kerberos bl-użu ta' kinit, jekk ma taħdimx, m'hemm l-ebda punt li taqra aktar.
Konfigurazzjoni tal-Awtentikazzjoni tal-Klamar u Lista tal-Aċċess mingħajr Awtentikazzjoni
Wara li kkonfigurat b'suċċess kerberos, aħna se naqbluh mal-Klamar tagħna.
Biex tagħmel dan, mur ServicesSquid Proxy Server u fis-settings prinċipali jinżlu sal-qiegħ nett, hemmhekk insibu l-buttuna "Settings avvanzati".
Fil-qasam Għażliet Custom (Qabel l-Awt) daħħal:
#Хелперы
auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth -s GSS_C_NO_NAME -k /usr/local/etc/squid/squid.keytab -t none
auth_param negotiate children 1000
auth_param negotiate keep_alive on
#Списки доступа
acl auth proxy_auth REQUIRED
acl nonauth dstdomain "/etc/squid/nonauth.txt"
#Разрешения
http_access allow nonauth
http_access deny !auth
http_access allow auth
fejn auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth - tagħżel l-awtentikazzjoni kerberos helper li għandna bżonn.
Ewlenin -s b'tifsira GSS_C_NO_NAME — jiddefinixxi l-użu ta' kwalunkwe kont mill-fajl ewlieni.
Ewlenin -k b'tifsira /usr/local/etc/squid/squid.keytab - jiddetermina li juża dan il-fajl keytab partikolari. Fil-każ tiegħi, dan huwa l-istess fajl keytab li ħloqna, li kkuppjajt fid-direttorju /usr/local/etc/squid/ u semmieh mill-ġdid, għax il-klamari ma riedx ikun ħbieb ma' dak id-direttorju, apparentement ma kienx hemm biżżejjed drittijiet.
Ewlenin -t b'tifsira -t xejn - tiddiżattiva t-talbiet ċikliċi lill-kontrollur tad-dominju, li jnaqqas ħafna t-tagħbija fuqu jekk għandek aktar minn 50 utent.
Għat-tul tat-test, tista 'wkoll iżżid iċ-ċavetta -d - jiġifieri dijanjostika, se jintwerew aktar zkuk.
auth_param tinnegozja tfal 1000 - tiddetermina kemm jistgħu jitmexxew proċessi ta' awtorizzazzjoni simultanji
auth_param tinnegozja keep_alive fuq - ma tippermettix li tinkiser il-konnessjoni waqt il-votazzjoni tal-katina tal-awtorizzazzjoni
acl auth proxy_auth MEĦTIEĠ - toħloq u teħtieġ lista ta' kontroll ta' aċċess li tinkludi utenti li jkunu għaddew l-awtorizzazzjoni
acl nonauth dstdomain "/etc/squid/nonauth.txt" - ninfurmaw lill-klamari dwar il-lista ta 'aċċess nonauth, li fiha dominji ta' destinazzjoni, li għalihom kulħadd dejjem se jkun permess aċċess. Aħna noħolqu l-fajl innifsu, u ġewwa fih nidħlu dominji fil-format
.whatsapp.com
.whatsapp.net
Whatsapp mhux għalxejn jintuża bħala eżempju - huwa ferm picky dwar il-prokura bl-awtentikazzjoni u mhux se jaħdem jekk ma jkunx permess qabel l-awtentikazzjoni.
http_access jippermettu nonauth - jippermettu aċċess għal din il-lista għal kulħadd
http_access jiċħad !auth - nipprojbixxu l-aċċess għal utenti mhux awtorizzati għal siti oħra
http_access jippermettu awth - jippermettu aċċess għal utenti awtorizzati.
Dak hu, il-klamari innifsu huwa kkonfigurat, issa wasal iż-żmien li tibda tiffiltra minn gruppi.
Konfigurazzjoni ta' SquidGuard
Mur fil-Proxy ServiceSquidGuard.
Fl-Għażliet LDAP aħna ndaħħlu d-dejta tal-kont tagħna użata għall-awtentikazzjoni kerberos, iżda fil-format li ġej:
CN=pfsense,OU=service-accounts,DC=domain,DC=local
Jekk hemm spazji jew karattri mhux Latini, din l-entrata kollha għandha tkun magħluqa bi kwotazzjonijiet singoli jew doppji:
'CN=sg,OU=service-accounts,DC=domain,DC=local'
"CN=sg,OU=service-accounts,DC=domain,DC=local"
Sussegwentement, kun żgur li tiċċekkja dawn il-kaxxi:
Biex taqta' DOMAINpfsense bla bżonn
Issa mmorru għal Grupp Acl u torbot il-gruppi ta 'aċċess għad-dominju tagħna, nuża ismijiet sempliċi bħal group_0, group_1, eċċ sa 3, fejn 3 huwa aċċess biss għal-lista bajda, u 0 - kollox huwa possibbli.
Il-gruppi huma marbuta kif ġej:
ldapusersearch ldap://dc.domain.local:3268/DC=DOMAIN,DC=LOCAL?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=group_0%2cOU=squid%2cOU=service-groups%2cDC=DOMAIN%2cDC=LOCAL))
issalva l-grupp tagħna, mur Times, hemm ħloqt vojt wieħed li jfisser li dejjem naħdem, issa mur Target Categories u noħolqu listi fid-diskrezzjoni tagħna, wara li noħolqu l-listi nerġgħu lura għall-gruppi tagħna u ġewwa l-grupp bil-buttuni nagħżlu min jista 'jmur fejn, u min ma jistax fejn .
LightSquid u sqstat
Jekk matul il-proċess ta 'konfigurazzjoni għażilna loopback fis-settings tal-klamari u ftaħna l-abbiltà li naċċessaw 7445 fil-firewall kemm fuq in-netwerk tagħna kif ukoll fuq pfSense innifsu, allura meta mmorru għad-Djanjostiċi tar-Rapporti tal-Prokura tal-Klamar, nistgħu faċilment niftħu kemm sqstat kif ukoll Lighsquid, għal dan tal-aħħar ser ikollna bżonn Fl-istess post, toħroġ bi username u password, u hemm ukoll l-opportunità li tagħżel disinn.
Tlestija
pfSense hija għodda b'saħħitha ħafna li tista 'tagħmel ħafna affarijiet - kemm il-proxying tat-traffiku kif ukoll il-kontroll fuq l-aċċess tal-utent għall-Internet huma biss frazzjoni tal-funzjonalità kollha, madankollu, f'intrapriża b'500 magna, dan solva l-problema u ffrankat fuq xiri ta' prokura.
Nittama li dan l-artikolu jgħin lil xi ħadd isolvi problema li hija pjuttost rilevanti għal intrapriżi medji u kbar.
Sors: www.habr.com