Libre nga proxy server alang sa negosyo nga adunay pagtugot sa domain

Libre nga proxy server alang sa negosyo nga adunay pagtugot sa domain

pfSense+Squid nga adunay https filtering + Single sign-on (SSO) nga adunay Active Directory group filtering

Mubo nga background

Kinahanglan nga ipatuman sa kompanya ang usa ka proxy server nga adunay katakus sa pagsala sa pag-access sa mga site (lakip ang https) sa mga grupo gikan sa AD aron ang mga tiggamit dili makasulod sa bisan unsang dugang nga mga password, ug mahimong ipangalagad gikan sa web interface. Maayo nga aplikasyon, dili ba?

Ang husto nga tubag mao ang pagpalit sa mga solusyon sama sa Kerio Control o UserGate, apan sama sa kanunay walay kwarta, apan adunay panginahanglan.

Dinhi diin ang maayo nga tigulang nga Squid moabut aron sa pagluwas, apan pag-usab - asa ko makakuha og web interface? SAMS2? Morag karaan na. Dinhi diin ang pfSense moabut aron sa pagluwas.

paghulagway

Kini nga artikulo maghulagway kung unsaon pag-configure ang Squid proxy server.
Ang Kerberos gamiton sa pagtugot sa mga tiggamit.
Ang SquidGuard gamiton sa pagsala sa mga grupo sa domain.

Ang lightsquid, sqstat ug internal nga pfSense monitoring system gamiton alang sa pagmonitor.
Masulbad usab niini ang kasagarang problema nga nalangkit sa pagpaila sa teknolohiya nga single sign-on (SSO), nga mao ang mga aplikasyon nga mosulay sa pag-surf sa Internet ubos sa compass account sa ilang system account.

Pag-andam sa pag-instalar sa Squid

Ang pfSense pagakuhaon isip basehan, Instruksyon sa pag-instalar.

Sa sulod diin among giorganisar ang pag-authenticate sa firewall mismo gamit ang mga account sa domain. Panudlo.

Importante kaayo!

Sa dili ka pa magsugod sa pag-install sa Squid, kinahanglan nimo nga i-configure ang DNS server sa pfsense, maghimo usa ka A record ug usa ka rekord sa PTR alang niini sa among DNS server, ug i-configure ang NTP aron ang oras dili magkalainlain sa oras sa domain controller.

Ug sa imong network, paghatag sa abilidad sa WAN interface sa pfSense nga moadto sa Internet, ug ang mga tiggamit sa lokal nga network sa pagkonektar sa LAN interface, lakip na sa mga pantalan 7445 ug 3128 (sa akong kaso 8080).

Andam na ang tanan? Naestablisar ba ang koneksyon sa LDAP sa domain para sa pagtugot sa pfSense ug ang oras gi-synchronize? Nindot. Panahon na nga magsugod sa panguna nga proseso.

Pag-instalar ug pre-configuration

Ang Squid, SquidGuard ug LightSquid i-install gikan sa pfSense package manager sa seksyon nga "System / Package Manager".

Human sa malampuson nga pag-instalar, adto sa "Services / Squid Proxy server /" ug una sa tanan, sa Local Cache tab, i-configure ang caching, akong gibutang ang tanan sa 0, tungod kay Wala koy nakita nga daghang punto sa mga caching nga mga site, ang mga browser maayo kaayo nga trabaho niini. Human sa pag-set, i-press ang "Save" nga buton sa ubos sa screen ug kini maghatag kanato sa oportunidad sa paghimo sa batakang proxy settings.

Ang nag-unang mga setting mao ang mosunod:

Libre nga proxy server alang sa negosyo nga adunay pagtugot sa domain

Ang default nga pantalan mao ang 3128, apan mas gusto nako nga gamiton ang 8080.

Ang pinili nga mga parametro sa Proxy Interface nga tab nagtino kung unsang mga interface ang paminawon sa among proxy server. Tungod kay kini nga firewall gitukod sa paagi nga kini nagtan-aw sa Internet isip WAN interface, bisan pa nga ang LAN ug WAN mahimong anaa sa samang lokal nga subnet, akong girekomendar ang paggamit sa LAN alang sa proxy.

Ang loopback gikinahanglan aron magtrabaho ang sqstat.

Sa ubos makit-an nimo ang Transparent (transparent) nga proxy settings, ingon man ang SSL Filter, apan wala namo kini kinahanglana, ang among proxy dili transparent, ug alang sa https filtering dili namo ilisan ang sertipiko (adunay dagan sa dokumento, bangko. mga kliyente, ug uban pa), tan-awon lang nato ang paglamano.

Niini nga yugto, kinahanglan namong moadto sa among domain controller, paghimo og authentication account niini (mahimo usab nimo gamiton ang usa nga gi-configure para sa authentication sa pfSense mismo). Ania ang usa ka hinungdanon kaayo nga hinungdan - kung gusto nimo gamiton ang AES128 o AES256 encryption - susiha ang angay nga mga kahon sa mga setting sa imong account.

Kung ang imong domain usa ka komplikado kaayo nga lasang nga adunay daghang mga direktoryo o ang imong domain .local, nan kini POSIBLE, apan dili sigurado, nga kinahanglan nimo nga mogamit usa ka yano nga password alang niini nga account, nahibal-an ang bug, apan kini mahimo nga dili molihok sa usa ka komplikado nga password, kinahanglan nimo nga susihon ang usa ka piho nga kaso.

Libre nga proxy server alang sa negosyo nga adunay pagtugot sa domain

Pagkahuman niana, naghimo kami usa ka yawe nga file alang sa kerberos, ablihi ang usa ka command prompt nga adunay mga katungod sa tagdumala sa domain controller ug pagsulod:

# 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

Kung diin among gipakita ang among FQDN pfSense, siguruha nga respetuhon ang kaso, isulod ang among domain account ug ang password niini sa parameter nga mapuser, ug sa crypto gipili namon ang pamaagi sa pag-encrypt, gigamit nako ang rc4 alang sa trabaho ug sa -out field nga among gipili kung diin kami ipadala ang among nahuman nga yawe nga file.
Pagkahuman sa malampuson nga paghimo sa yawe nga file, ipadala namon kini sa among pfSense, gigamit nako ang Far para niini, apan mahimo usab nimo kini pareho sa mga mando ug putty o pinaagi sa pfSense web interface sa seksyon nga "Diagnostics Command Line".

Karon mahimo na namon nga usbon / paghimo /etc/krb5.conf

Libre nga proxy server alang sa negosyo nga adunay pagtugot sa domain

diin ang /etc/krb5.keytab mao ang yawe nga file nga among gibuhat.

Siguruha nga susihon ang operasyon sa kerberos gamit ang kinit, kung dili kini molihok, wala’y hinungdan sa pagbasa pa.

Pag-configure sa Squid Authentication ug Access List nga walay Authentication

Ang malampuson nga pag-configure sa kerberos, among i-fasten kini sa among Squid.

Aron mahimo kini, adto sa ServicesSquid Proxy Server ug sa mga nag-unang mga setting moadto sa labing ubos, didto makit-an namon ang buton nga "Advanced nga mga setting".

Sa natad sa Custom Options (Before Auth), pagsulod:

#Π₯Π΅Π»ΠΏΠ΅Ρ€Ρ‹
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

diin auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth - mipili sa authentication kerberos katabang nga atong gikinahanglan.

Key -s uban sa kahulogan GSS_C_NO_NAME β€” naghubit sa paggamit sa bisan unsang account gikan sa yawe nga file.

Key -k uban sa kahulogan /usr/local/etc/squid/squid.keytab - nagtino nga gamiton kining partikular nga keytab file. Sa akong kaso, kini ang parehas nga keytab file nga among gibuhat, nga akong gikopya sa /usr/local/etc/squid/ direktoryo ug giilisan kini sa ngalan, tungod kay ang nukos dili gusto nga makighigala sa kana nga direktoryo, dayag nga wala igo nga katungod.

Key -t uban sa kahulogan -wala - dili pagpugong sa cyclic nga mga hangyo sa domain controller, nga makapamenos pag-ayo sa load niini kon ikaw adunay labaw sa 50 ka tiggamit.
Alang sa gidugayon sa pagsulay, mahimo usab nimo idugang ang -d nga yawe - i.e. diagnostics, daghang mga troso ang ipakita.
auth_param makigsabot sa mga bata 1000 - nagtino kung pila ka dungan nga mga proseso sa pagtugot ang mahimong madagan
auth_param negosasyon keep_alive on - dili motugot nga maputol ang koneksyon sa panahon sa pagboto sa kadena sa pagtugot
acl auth proxy_auth GIKINAHANGLAN - nagmugna ug nanginahanglan usa ka lista sa pagkontrol sa pag-access nga naglakip sa mga tiggamit nga nakapasar sa pagtugot
acl nonauth dstdomain "/etc/squid/nonauth.txt" - among gipahibalo ang nukos bahin sa nonauth access list, nga adunay mga destinasyon nga dominyo, diin ang tanan tugutan kanunay nga maka-access. Gihimo namo ang file mismo, ug sulod niini among gisulod ang mga domain sa format

.whatsapp.com
.whatsapp.net

Ang Whatsapp dili kawang nga gigamit ingon usa ka panig-ingnan - kini labi ka mapili bahin sa proxy nga adunay panghimatuud ug dili molihok kung dili kini gitugotan sa wala pa ang pag-authentication.
http_access motugot nonauth - tugoti ang pag-access niini nga lista sa tanan
http_access deny !auth - Gidili namon ang pag-access sa dili awtorisado nga mga tiggamit sa ubang mga site
http_access motugot auth - tugoti ang pag-access sa mga awtorisado nga tiggamit.
Mao na, ang nukos mismo gi-configure, karon na ang panahon nga magsugod sa pagsala sa mga grupo.

Pag-configure sa SquidGuard

Adto sa ServicesSquidGuard Proxy Filter.

Sa LDAP Options among gisulod ang data sa among account nga gigamit para sa kerberos authentication, pero sa mosunod nga format:

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

Kung adunay mga espasyo o dili Latin nga mga karakter, kini nga tibuuk nga entry kinahanglan ilakip sa usa o doble nga mga kinutlo:

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

Sunod, siguruha nga susihon kini nga mga kahon:

Libre nga proxy server alang sa negosyo nga adunay pagtugot sa domain

Aron putlon ang wala kinahanglana nga DOMAINpfsense DOMAIN.LOKAL diin sensitibo kaayo ang tibuok sistema.

Karon moadto kami sa Group Acl ug ihigot ang among mga grupo sa pag-access sa domain, gigamit nako ang yano nga mga ngalan sama sa group_0, group_1, ug uban pa hangtod sa 3, diin ang 3 mao ang pag-access lamang sa puti nga lista, ug 0 - posible ang tanan.

Gi-link ang mga grupo sama sa mosunod:

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

i-save ang among grupo, adto sa Times, didto naghimo ko og usa ka gap nga nagpasabot nga kanunay magtrabaho, karon adto sa Target Categories ug paghimo og mga lista sa among pagkabuotan, human sa paghimo sa mga listahan mobalik kami sa among mga grupo ug sa sulod sa grupo nga adunay mga buton nga among gipili kung kinsa ang makaadto diin, ug kinsa ang dili mahimo kung asa .

LightSquid ug sqstat

Kung sa panahon sa proseso sa pag-configure gipili namon ang usa ka loopback sa mga setting sa squid ug giablihan ang abilidad sa pag-access sa 7445 sa firewall pareho sa among network ug sa pfSense mismo, unya kung moadto kami sa Diagnostics of Squid Proxy Reports, dali namong maablihan ang sqstat ug Lighsquid, alang sa ulahi kinahanglan namon Sa parehas nga lugar, paghimo usa ka username ug password, ug adunay higayon usab nga makapili usa ka laraw.

Pagkompleto

Ang pfSense usa ka gamhanan kaayo nga himan nga makahimo og daghang mga butang - ang traffic proxying ug kontrol sa access sa user sa Internet usa lamang ka tipik sa tibuok nga gamit, bisan pa niana, sa usa ka negosyo nga adunay 500 ka mga makina, kini nakasulbad sa problema ug nakatipig sa pagpalit ug proxy.

Nanghinaut ko nga kini nga artikulo makatabang sa usa ka tawo nga masulbad ang usa ka problema nga adunay kalabotan sa medium ug dako nga negosyo.

Source: www.habr.com

Idugang sa usa ka comment