Proxy i lirë për ndërmarrje me autorizim në domen.

Proxy i lirë për ndërmarrje me autorizim në domen.

pfSense+Squid me filtrimin https + Teknologjia e hyrjes së vetme (SSO) me filtrimin sipas grupeve Active Directory

Historia e shkurtër

Në ndërmarrje u shfaq nevoja për të implementuar një server proxy me mundësinë për të filtruar aksesin në sitet (përfshirë https) sipas grupeve nga AD, në mënyrë që përdoruesit të mos shqetësohen për të futur ndonjë fjalëkalim shtesë, dhe administrimi të bëhej përmes një ndërfaqeje në internet. Një kërkesë e mirë, apo jo?

Një përgjigje e duhur do të ishte të blini zgjidhje si Kerio Control ose UserGate, por si gjithmonë, nuk ka para, ndërsa nevoja ekziston.

KĂ«tu na ndihmon i vjetĂ«r dhe i mirĂ« Squid, por pĂ«rsĂ«ri — ku ta gjejmĂ« ndĂ«rfaqen nĂ« internet? SAMS2? ËshtĂ« moralishĂ« e vjetruar. KĂ«tu vjen nĂ« ndihmĂ« pfSense.

Përshkrimi

Në këtë artikull do të përshkruhet mënyra e konfigurimit të serverit proxy Squid.
Për autorizimin e përdoruesve do të përdoret Kerberos.
Për filtrimin sipas grupeve të domainit do të përdoret SquidGuard.

Për monitorim do të përdoren Lightsquid, sqstat dhe sistemet e brendshme të monitorimit të pfSense.
Po ashtu do të zgjidhet një problem i zakonshëm i lidhur me implementimin e teknologjisë së hyrjes së vetme (SSO), në veçanti aplikacionet që përpiqen të hyjnë në internet me kredencialet e tyre sistemike.

Përgatitja për instalimin e Squid

Si bazë do të përdoret pfSense, Udhëzues për instalimin.

Brenda të cilit ne organizojmë autentifikimin në vetë fireëall-in përmes kredencialeve të domainit. Udhëzimi.

Shumë e rëndësishme!

Para se të filloni instalimin e Squid duhen konfiguruar DNS server në pfSense, të bëni një regjistrim A dhe regjistrime PTR në serverin tonë DNS dhe të konfigurosh NTP-në në mënyrë që koha të mos ndryshojë nga koha në kontrolluesin e domainit.

Dhe në rrjetin tuaj të sigurohet që ndërfaqja WAN e pfSense të ketë akses në internet, dhe përdoruesit në rrjetin lokal të lidhen me ndërfaqen LAN, gjithashtu përmes porteve 7445 dhe 3128 (në rastin tim 8080).

A është gjithçka gati? Lidhja me domainin përmes LDAP për autorizimin në pfSense është vendosur dhe koha është sinkronizuar? Shkëlqyer. Tani është koha për të filluar procesin kryesor.

Instalimi dhe konfigurimi fillestar

Ne do të instalojmë Squid, SquidGuard dhe LightSquid nga menaxheri i pakove të pfSense në seksionin "Sistemi/Pakot e menaxherit".

Pas instalimit të suksesshëm kalojmë në "Shërbimet/Squid Proxy server/" dhe fillimisht në skedën Local Cache konfigurojmë ruajtjen e të dhënave, unë kam vënë gjithçka në 0, sepse nuk shoh ndonjë kuptim në ruajtjen e faqeve, këtë e bënë mjaft mirë shfletuesit. Pas konfigurimit, klikoni në butonin "Shkëput" në fund të ekranit dhe kjo do të na japë mundësinë të bëjmë konfigurimet kryesore të proxy-it.

Konfigurimet kryesore i sjellim në këtë formë:

Proxy i lirë për ndërmarrje me autorizim në domen.

Përgjithësisht porta e paracaktuar është 3128, por unë preferoj të përdor 8080.

Parametrat e zgjedhur në skedën Proxy Interface përcaktojnë cilat ndërfaqe do të dëgjojë proxy-i ynë server. Duke qenë se ky firewall është ndërtuar në një mënyrë që në internet ai shikon përmes ndërfaqes WAN, madje edhe pse LAN dhe WAN mund të jenë në të njëjtën nënrrjet lokale, rekomandoj që për proxy-in të përdorim pikërisht LAN.

Lupback është i nevojshëm për funksionimin e sqstat.

Më poshtë do të gjeni konfigurimet për Transparent (proxy të transparencës), si dhe për SSL Filter, por ato nuk na duhen, proxy ynë nuk do të jetë transparent, dhe për filtrimin e https ne nuk do të merremi me zëvendësimin e certifikatës (në fund të fundit, kemi dokumente, banka-klientë, etj), por thjesht do të shohim në dorëzimin.

NĂ« kĂ«tĂ« pikĂ« na nevojitet tĂ« kalojmĂ« nĂ« kontrolluesin e domainit tonĂ«, tĂ« krijojmĂ« aty njĂ« llogari pĂ«r autentifikim (mund tĂ« pĂ«rdorim edhe atĂ« qĂ« kemi konfiguruar pĂ«r autentifikimin nĂ« vetĂ« pfSense). KĂ«tu Ă«shtĂ« njĂ« faktor shumĂ« i rĂ«ndĂ«sishĂ«m — nĂ«se keni ndĂ«rmend tĂ« pĂ«rdorni kriptimin AES128 ose AES256 — vendosni kutitĂ« pĂ«rkatĂ«se nĂ« konfigurimin e llogarisĂ«.

NĂ«se domeni juaj pĂ«rbĂ«n njĂ« pyll tĂ« komplikuar me njĂ« numĂ«r tĂ« madh katalogesh ose domeni juaj .local, atĂ«herĂ« MUND TË jetĂ«, por nuk Ă«shtĂ« e sigurt, ju do tĂ« duhet tĂ« pĂ«rdorni pĂ«r kĂ«tĂ« llogari njĂ« fjalĂ«kalim tĂ« thjeshtĂ«, njĂ« problem i njohur, por me njĂ« fjalĂ«kalim tĂ« komplikuar mund tĂ« mos funksionojĂ«, duhet kontrolluar nĂ« rastin konkret.

Proxy i lirë për ndërmarrje me autorizim në domen.

Pas gjithë kësaj formojmë skedarin e çelësave për Kerberos, në kontrolluesin e domainit hapim komandën me të drejtat e administratorit dhe shkruajmë:

# ktpass -princ HTTP/pfsense.domain.local@DOMAIN.LOCAL -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

Ku tregojmë FQDN e pfSense, duke respektuar rregullin e shkronjave, në parametrin mapuser futim llogarinë tonë të domainit dhe fjalëkalimin e saj, dhe në crypto zgjedhim mënyrën e kriptimit, unë përdora rc4 për punë dhe në fushën -out vendosim se ku do ta dërgojmë skedarin tonë të përfunduar të çelësave.
Pas krijimit të suksesshëm të skedarit të çelësave, ne do ta dërgojmë atë në pfSense tonë, unë e përdora Far për këtë, por gjithashtu mund ta bëni edhe përmes komandave, si dhe përputhjen ose përmes ndërfaqes në internet të pfSense në seksionin "Diagnostikë/Komanda".

Tani mund të redaktojmë/krijojmë /etc/krb5.conf

Proxy i lirë për ndërmarrje me autorizim në domen.

ku /etc/krb5.keytab është skedari i çelësave që krijuam.

Sigurohuni qĂ« tĂ« kontrolloni funksionimin e Kerberos me kinit, nĂ«se nuk funksionon — nuk ka kuptim tĂ« lexoni mĂ« tej.

Konfigurimi i Authentikimit të Squid dhe listës së aksesit pa autentikim

Pasi të keni konfiguruar me sukses Kerberos, do ta lidhim me Squid-in tonë.

Për këtë, shkoni te ShërbimetSquid Proxy Server dhe në cilësimet kryesore shkoni në fund, aty do të gjejmë butonin 'Cilësime të Zgjeruara'.

Në fushën Custom Options (Before Auth) shkruani:

#ЄДлпДры
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

i ku auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth — zgjedh ndihmĂ«sin e nevojshĂ«m pĂ«r autentikimin Kerberos.

ÇelĂ«si -s me vlerĂ«n GSS_C_NO_NAME — pĂ«rcakton pĂ«rdorimin e çdo llogarie nga skedari i çelĂ«sit.

ÇelĂ«si -k me vlerĂ«n /usr/local/etc/squid/squid.keytab — pĂ«rcakton qĂ« tĂ« pĂ«rdoret pikĂ«risht ky skedar keytab. NĂ« rastin tim, ky Ă«shtĂ« gjithashtu skedari keytab qĂ« krijuam, tĂ« cilin e kopjova nĂ« direktorine /usr/local/etc/squid/ dhe e ndryshova emrin, sepse Squid nuk donte tĂ« punonte me atĂ« direktor, ndoshta pĂ«r shkak tĂ« mungesĂ«s sĂ« tĂ« drejtave.

ÇelĂ«si -t me vlerĂ«n -t none — ndalon kĂ«rkesat ciklike pĂ«r nĂ« kontrolluesin e domenit, duke e reduktuar ndjeshĂ«m ngarkesĂ«n mbi tĂ«, nĂ«se keni mĂ« shumĂ« se 50 pĂ«rdorues.
GjatĂ« testit, gjithashtu mund tĂ« shtoni çelĂ«sin -d — dmth diagnostikimi, mĂ« shumĂ« loge do tĂ« shfaqen.
auth_param negotiate children 1000 — pĂ«rcakton se sa procese autentikimi paralel mund tĂ« kenĂ« nisur
auth_param negotiate keep_alive on — parandalon ndĂ«rprerjen e lidhjes gjatĂ« shqyrtimit tĂ« zinxhirit tĂ« autentikimit
acl auth proxy_auth REQUIRED — krijon dhe kĂ«rkon njĂ« listĂ« tĂ« kontrollit tĂ« aksesit, pĂ«rfshirĂ« pĂ«rdoruesit qĂ« kanĂ« kaluar autentikimin
acl nonauth dstdomain '/etc/squid/nonauth.txt' — informojmĂ« Squid pĂ«r listĂ«n e aksesit nonauth ku pĂ«rfshihen domainet e destinacionit, tĂ« cilave do t'u lejohet gjithmonĂ« qasja. Ne e krijojmĂ« skedarin dhe e plotĂ«sojmĂ« atĂ« me domainet nĂ« formatin

.whatsapp.com
.whatsapp.net

Whatsapp nuk Ă«shtĂ« pĂ«rdorur rastĂ«sisht si shembull — ai Ă«shtĂ« shumĂ« kapriçoz me proxy me autentikim dhe nuk do tĂ« funksionojĂ« nĂ«se nuk lejohet para autentikimit.
http_access allow nonauth — lejoni qasjen pĂ«r kĂ«tĂ« listĂ« pĂ«r tĂ« gjithĂ«
http_access deny !auth — ndaloni qasjen pĂ«r pĂ«rdoruesit e paautorizuar nĂ« faqet e tjera
http_access allow auth — lejoni qasjen pĂ«r pĂ«rdoruesit e autorizuar.
Kaq, vetë Squid është konfiguruar, tani është koha për të filluar filtrimin sipas grupeve.

Konfigurimi i SquidGuard

Shkoni te ShërbimetSquidGuard Proxy Filter.

Në Opsionet LDAP, futni të dhënat e llogarisë sonë të përdorur për autentikimin Kerberos, por në formatin e mëposhtëm:

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

Nëse ka hapësira dhe/ose karaktere jo latine, e gjithë kjo shënesë duhet të mbyllet në thonjëza të vetme ose të dyfishta:

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

Pastaj patjetër të vendosim këto kutia:

Proxy i lirë për ndërmarrje me autorizim në domen.

Për të prerë DOMAINpfsense të panevojshme DOMAIN.LOCAL me të cilat e gjithë sistemi është shumë i ndjeshëm.

Tani kalojmĂ« nĂ« Group Acl dhe lidhim grupet tona tĂ« aksesit, pĂ«rdor emra tĂ« thjeshtĂ« si group_0, group_1 dhe kĂ«shtu deri nĂ« 3, ku 3 Ă«shtĂ« qasje vetĂ«m nĂ« listĂ«n e bardhĂ«, ndĂ«rsa 0 — lejohet gjithçka.

Grupet lidhen si më poshtë:

ldapusersearch ldap://dc.domain.local:3268/DC=DOMAIN,DC=LOCAL?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=group_0OU=squidOU=service-groupsDC=DOMAINDC=LOCAL))

ruajmë grupin tonë, kalojmë në Times, aty krijova një interval që do të thotë të punojmë gjithmonë, tani kalojmë në Kategoritë e Target dhe krijojmë lista sipas dëshirës sonë, pas krijimit të listave kthehemi në grupet tona dhe brenda grupit me butona zgjedhim kush mund dhe kush jo.

LightSquid dhe sqstat

Nëse gjatë konfigurimit zgjodhëm loopback në cilësimet e Squid-it dhe hapëm mundësinë për të hyrë në 7445 në firewall si në rrjetin tonë, ashtu edhe në vetë pfSense, atëherë duke kaluar në Diagnostikën e Raporteve të Squid Proxy ne pa ndonjë problem do të jemi në gjendje të hapim si sqstat ashtu edhe LightSquid, për të fundit do të duhet të shpikim një emër përdoruesi dhe fjalëkalim, gjithashtu ka mundësi për të zgjedhur dizajnin.

Përfundimi

pfSense Ă«shtĂ« njĂ« mjet shumĂ« i fuqishĂ«m, i cili mund tĂ« bĂ«jĂ« shumĂ« gjĂ«ra — dhe proxy tĂ« trafikut, dhe kontroll mbi qasjen e pĂ«rdoruesve nĂ« internet, kjo Ă«shtĂ« vetĂ«m njĂ« pjesĂ« e funksionalitetit tĂ« tij, megjithatĂ« nĂ« njĂ« ndĂ«rmarrje me 500 makina, kjo zgjidhi problemin dhe lehtĂ«soi blerjen e proxy.

Shpresoj që ky artikull të ndihmojë dikë të zgjidhë një detyrë shumë të rëndësishme për mesatarët dhe të mëdhenjtë.

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster