Ókeypis proxy-þjónn fyrir fyrirtæki með lénsheimild

Ókeypis proxy-þjónn fyrir fyrirtæki með lénsheimild

pfSense+Squid með https-síu + Single sign-on (SSO) með Active Directory hópsíu

Stuttur bakgrunnur

Fyrirtækið þurfti að innleiða proxy-miðlara með getu til að sía aðgang að síðum (þar á meðal https) eftir hópum frá AD þannig að notendur slá ekki inn nein viðbótarlykilorð og hægt er að stjórna þeim úr vefviðmótinu. Góð umsókn, er það ekki?

Rétt svar væri að kaupa lausnir eins og Kerio Control eða UserGate, en eins og alltaf eru engir peningar, en það er þörf.

Þetta er þar sem gamli góði Smokkfiskurinn kemur til bjargar, en aftur - hvar get ég fengið vefviðmót? SAMS2? Siðferðilega úrelt. Þetta er þar sem pfSense kemur til bjargar.

Lýsing

Þessi grein mun lýsa því hvernig á að stilla Squid proxy-þjóninn.
Kerberos verður notað til að heimila notendum.
SquidGuard verður notað til að sía eftir lénshópum.

Lightsquid, sqstat og innri pfSense vöktunarkerfi verða notuð við vöktun.
Það mun einnig leysa algengt vandamál sem tengist innleiðingu á stakri innskráningu (SSO) tækni, nefnilega forritum sem reyna að vafra á netinu undir áttavitareikningnum með kerfisreikningnum sínum.

Undirbúningur að setja upp Squid

pfSense verður lagt til grundvallar, Uppsetningarleiðbeiningar.

Inni sem við skipuleggjum auðkenningu á eldveggnum sjálfum með því að nota lénsreikninga. Leiðbeiningar.

Það er mjög mikilvægt!

Áður en þú byrjar að setja upp Squid þarftu að stilla DNS serverinn í pfsense, búa til A record og PTR record fyrir hann á DNS servernum okkar og stilla NTP þannig að tíminn sé ekki frábrugðinn tímanum á lénsstýringunni.

Og á netinu þínu, virkjaðu WAN tengi pfSense til að fara á internetið, og notendur á staðarnetinu tengjast við staðarnetsviðmótið, þar á meðal á höfnum 7445 og 3128 (í mínu tilfelli 8080).

Er allt tilbúið? Er LDAP tenging komið á við lénið fyrir heimild á pfSense og tíminn er samstilltur? Frábært. Það er kominn tími til að hefja aðalferlið.

Uppsetning og forstilling

Squid, SquidGuard og LightSquid verða sett upp frá pfSense pakkastjóranum í „Kerfi / pakkastjórnun“ hlutanum.

Eftir vel heppnaða uppsetningu, farðu í "Þjónusta / Squid Proxy server /" og fyrst af öllu, í Local Cache flipanum, stilltu skyndiminni, ég stillti allt á 0, vegna þess að Ég sé ekki mikinn tilgang í að vista síður, vafrar gera frábært starf með þetta. Eftir stillingu, ýttu á "Vista" hnappinn neðst á skjánum og þetta mun gefa okkur tækifæri til að gera grunn proxy stillingar.

Helstu stillingar eru sem hér segir:

Ókeypis proxy-þjónn fyrir fyrirtæki með lénsheimild

Sjálfgefin tengi er 3128, en ég vil frekar nota 8080.

Valdar breytur í Proxy Interface flipanum ákvarða hvaða viðmót proxy-þjónninn okkar mun hlusta á. Þar sem þessi eldveggur er þannig uppbyggður að hann lítur út á internetinu sem WAN tengi, þó að LAN og WAN geti verið á sama staðbundnu undirneti, mæli ég með því að nota LAN fyrir proxy.

Loopback þarf til að sqstat virki.

Hér að neðan finnurðu gagnsæjar (gagnsæjar) umboðsstillingar, sem og SSL síu, en við þurfum þær ekki, umboðið okkar verður ekki gagnsætt og fyrir https síun munum við ekki skipta út vottorðinu (við erum með skjalaflæði, banka viðskiptavinum o.s.frv.), lítum aðeins á handabandið.

Á þessu stigi þurfum við að fara í lénsstýringuna okkar, búa til auðkenningarreikning á honum (þú getur líka notað þann sem var stilltur fyrir auðkenningu á pfSense sjálfu). Hér er mjög mikilvægur þáttur - ef þú ætlar að nota AES128 eða AES256 dulkóðun - hakaðu við viðeigandi reiti í reikningsstillingunum þínum.

Ef lénið þitt er mjög flókinn skógur með miklum fjölda möppum eða lénið þitt er .local, þá er HÆGT, en ekki víst, að þú þurfir að nota einfalt lykilorð fyrir þennan reikning, villan er þekkt, en það gæti einfaldlega ekki virkað með flóknu lykilorði, þú þarft að athuga með tiltekið tilvik.

Ókeypis proxy-þjónn fyrir fyrirtæki með lénsheimild

Eftir það búum við til lykilskrá fyrir kerberos, opnum skipanalínu með stjórnandaréttindum á lénsstýringunni og sláðu inn:

# 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

Þar sem við tilgreinum FQDN pfSense okkar, vertu viss um að virða málið, sláðu inn lénsreikninginn okkar og lykilorð þess í mapuser færibreytunni, og í dulritun veljum við dulkóðunaraðferðina, ég notaði rc4 fyrir vinnu og í -out reitnum veljum við hvar við mun senda lokið lykilskrá okkar.
Eftir að hafa búið til lykilskrána munum við senda hana til pfSense okkar, ég notaði Far fyrir þetta, en þú getur líka gert þetta bæði með skipunum og kítti eða í gegnum pfSense vefviðmótið í "Diagnostics Command Line" hlutanum.

Nú getum við breytt/búið til /etc/krb5.conf

Ókeypis proxy-þjónn fyrir fyrirtæki með lénsheimild

þar sem /etc/krb5.keytab er lykilskráin sem við bjuggum til.

Vertu viss um að athuga virkni kerberos með kinit, ef það virkar ekki, þá þýðir ekkert að lesa frekar.

Stilla Squid Authentication og Access List án Authentication

Eftir að hafa stillt kerberos með góðum árangri munum við festa hann við smokkfiskinn okkar.

Til að gera þetta, farðu í ServicesSquid Proxy Server og í aðalstillingunum ferðu niður alveg neðst, þar finnum við hnappinn „Ítarlegar stillingar“.

Í reitnum Sérsniðnir valkostir (fyrir staðfestingu) skaltu slá inn:

#Хелперы
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

hvar auth_param samningaforrit /usr/local/libexec/squid/negotiate_kerberos_auth - velur auðkenningarkerberos hjálparann ​​sem við þurfum.

Lykill -s með merkingu GSS_C_NO_NAME — skilgreinir notkun hvers kyns reiknings úr lykilskránni.

Lykill -k með merkingu /usr/local/etc/squid/squid.keytab - ákveður að nota þessa tilteknu keytab skrá. Í mínu tilfelli er þetta sama keytab skráin og við bjuggum til, sem ég afritaði í /usr/local/etc/squid/ möppuna og endurnefndi hana, vegna þess að smokkfiskurinn vildi ekki vera vinur þeirrar möppu, greinilega voru það ekki næg réttindi.

Lykill -t með merkingu -t enginn - slekkur á hringlaga beiðnum til lénsstýringarinnar, sem dregur verulega úr álagi á hann ef þú ert með fleiri en 50 notendur.
Meðan á prófinu stendur geturðu líka bætt við -d lyklinum - þ.e. greiningar, fleiri logs munu birtast.
auth_param semja um börn 1000 - ákvarðar hversu mörg leyfisferli samtímis er hægt að hefja
auth_param semja um keep_alive á - leyfir ekki að rjúfa tenginguna meðan á atkvæðagreiðslu í heimildakeðjunni stendur
acl auth proxy_auth Áskilið - býr til og krefst aðgangsstýringarlista sem inniheldur notendur sem hafa staðist heimild
acl nonauth dstdomain "/etc/squid/nonauth.txt" - við upplýsum smokkfiskinn um nonauth aðgangslistann, sem inniheldur áfangalén, sem allir munu alltaf fá aðgang að. Við búum til skrána sjálfa og inni í henni sláum við inn lén á sniðinu

.whatsapp.com
.whatsapp.net

Whatsapp er ekki til einskis notað sem dæmi - það er mjög vandlátur varðandi umboðið með auðkenningu og mun ekki virka ef það er ekki leyft fyrir auðkenningu.
http_access leyfa nonaut - leyfa öllum aðgang að þessum lista
http_access neita !auth - við bönnum aðgang óviðkomandi notenda á aðrar síður
http_access leyfa auth - leyfa aðgang að viðurkenndum notendum.
Það er það, smokkfiskurinn sjálfur er stilltur, nú er kominn tími til að byrja að sía eftir hópum.

Stilla SquidGuard

Farðu í ServicesSquidGuard Proxy Filter.

Í LDAP Options færum við inn gögnin á reikningnum okkar sem notuð eru fyrir kerberos auðkenningu, en á eftirfarandi sniði:

CN=pfsense,OU=service-accounts,DC=domain,DC=local

Ef það eru bil eða stafir sem eru ekki latneskir, ætti öll þessi færsla að vera með stökum eða tvöföldum gæsalöppum:

'CN=sg,OU=service-accounts,DC=domain,DC=local'
"CN=sg,OU=service-accounts,DC=domain,DC=local"

Næst skaltu athuga þessa reiti:

Ókeypis proxy-þjónn fyrir fyrirtæki með lénsheimild

Til að slökkva á óþarfa DOMAINpfsense DOMAIN.LOCAL sem allt kerfið er mjög viðkvæmt fyrir.

Nú förum við í Group Acl og bindum lénsaðgangshópana okkar, ég nota einföld nöfn eins og group_0, group_1, osfrv allt að 3, þar sem 3 er aðeins aðgangur að hvíta listanum og 0 - allt er mögulegt.

Hópar eru tengdir sem hér segir:

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))

vistaðu hópinn okkar, farðu í Times, þar bjó ég til eitt eyður sem þýðir að það mun alltaf virka, farðu nú í Target Classes og búðu til lista að eigin vali, eftir að hafa búið til listana förum við aftur í hópana okkar og inni í hópnum, notaðu hnappana til að velja hver getur farið hvert og hver getur ekki farið hvert.

LightSquid og sqstat

Ef við völdum bakslag í stillingum smokkfisks í stillingarferlinu og opnuðum möguleikann á að fá aðgang að 7445 í eldveggnum bæði á netinu okkar og á pfSense sjálfu, þá þegar við förum í Diagnostics of Squid Proxy Reports, getum við auðveldlega opnað bæði sqstat og Lighsquid, fyrir hið síðarnefnda munum við þurfa Á sama stað, koma upp með notendanafn og lykilorð, og það er líka tækifæri til að velja hönnun.

Frágangur

pfSense er mjög öflugt tól sem getur gert ýmislegt - bæði umferðarumboð og stjórn á aðgangi notenda að internetinu eru aðeins brot af allri virkni, en engu að síður, í fyrirtæki með 500 vélar, leysti þetta vandamálið og sparaði á að kaupa umboð.

Ég vona að þessi grein muni hjálpa einhverjum að leysa vandamál sem er alveg viðeigandi fyrir meðalstór og stór fyrirtæki.

Heimild: www.habr.com

Bæta við athugasemd