Անվճար վստահված սերվեր ձեռնարկության համար՝ տիրույթի թույլտվությամբ

Անվճար վստահված սերվեր ձեռնարկության համար՝ տիրույթի թույլտվությամբ

pfSense+Squid՝ https զտիչով + Single sign-on տեխնոլոգիա (SSO)՝ զտելով ըստ Active Directory խմբերի

Կարճ ֆոն

Ձեռնարկությունը պետք է ներդրեր պրոքսի սերվեր՝ կայքերի (ներառյալ https) մուտքը AD-ի խմբերով զտելու ունակությամբ, որպեսզի օգտատերերը լրացուցիչ գաղտնաբառեր չմուտքագրեին, և կառավարումը հնարավոր լիներ վեբ ինտերֆեյսից: Վատ հավելված չէ, այնպես չէ՞։

Ճիշտ պատասխանը կլինի գնել այնպիսի լուծումներ, ինչպիսիք են Kerio Control-ը կամ UserGate-ը, բայց ինչպես միշտ գումար չկա, բայց կարիք կա։

Հենց այստեղ է, որ մեզ օգնության է հասնում լավ հին Squid-ը, բայց նորից որտեղի՞ց կարող եմ ստանալ վեբ ինտերֆեյսը: SAMS2? Բարոյապես հնացած. Այստեղ է, որ օգնության է հասնում pfSense-ը:

Նկարագրություն

Այս հոդվածը նկարագրում է, թե ինչպես կարգավորել Squid պրոքսի սերվերը:
Kerberos-ը կօգտագործվի օգտատերերին լիազորելու համար:
SquidGuard-ը կօգտագործվի զտելու համար ըստ տիրույթի խմբերի:

Մոնիտորինգի համար կօգտագործվեն Lightsquid, sqstat և ներքին pfSense մոնիտորինգի համակարգերը:
Կլուծվի նաև մեկ ընդհանուր մուտքի (SSO) տեխնոլոգիայի ներդրման հետ կապված ընդհանուր խնդիրը, այն է՝ հավելվածները, որոնք փորձում են ինտերնետ մուտք գործել իրենց համակարգային հաշվի կողմնացույցով:

Squid-ի տեղադրման նախապատրաստում

pfSense-ը կօգտագործվի որպես հիմք, Տեղադրման հրահանգներ.

Որի ներսում մենք կազմակերպում ենք նույնականացում հենց firewall-ին՝ օգտագործելով տիրույթի հաշիվները: Ցուցումներ

Շատ կարևոր է:

Նախքան Squid-ի տեղադրումը սկսելը, դուք պետք է կազմաձևեք DNS սերվերը pfsense-ում, դրա համար կատարեք A գրառում և PTR գրառում մեր DNS սերվերում և կարգավորեք NTP-ն այնպես, որ ժամանակը չտարբերվի տիրույթի վերահսկիչի ժամանակից:

Եվ ձեր ցանցում տրամադրեք pfSense WAN ինտերֆեյսի համար ինտերնետ մուտք գործելու հնարավորություն, իսկ տեղական ցանցի օգտատերերին՝ միանալու LAN ինտերֆեյսին, այդ թվում՝ 7445 և 3128 պորտերի միջոցով (իմ դեպքում՝ 8080):

Ամեն ինչ պատրաստ է? Արդյո՞ք տիրույթը միացված է LDAP-ի միջոցով pfSense-ի թույլտվության համար և արդյոք ժամանակը համաժամեցված է: Հիանալի: Ժամանակն է սկսել հիմնական գործընթացը:

Տեղադրում և նախնական կազմաձևում

Մենք կտեղադրենք Squid-ը, SquidGuard-ը և LightSquid-ը pfSense փաթեթի կառավարիչից «Համակարգ/Փաթեթի կառավարիչ» բաժնում:

Հաջող տեղադրումից հետո անցեք «Services/Squid Proxy server/» և առաջին հերթին Local Cache ներդիրում կարգավորեք քեշավորումը, ես ամեն ինչ դրեցի 0-ի, քանի որ Ես շատ իմաստ չեմ տեսնում կայքերը քեշավորելու մեջ, բրաուզերները դա լավ են լուծում: Կարգավորումից հետո սեղմեք «Պահպանել» կոճակը էկրանի ներքևում, և դա մեզ հնարավորություն կտա կատարել հիմնական վստահված անձի կարգավորումները:

Հիմնական պարամետրերը հետևյալն են.

Անվճար վստահված սերվեր ձեռնարկության համար՝ տիրույթի թույլտվությամբ

Լռելյայն պորտը 3128 է, բայց ես նախընտրում եմ օգտագործել 8080:

Proxy Interface ներդիրում ընտրված պարամետրերը որոշում են, թե որ միջերեսները կլսի մեր պրոքսի սերվերը: Քանի որ այս firewall-ը կառուցված է այնպես, որ այն նայում է ինտերնետին WAN ինտերֆեյսի միջոցով, թեև LAN-ը և WAN-ը կարող են լինել նույն տեղական ենթացանցում, ես խորհուրդ եմ տալիս օգտագործել LAN-ը վստահված անձի համար:

Loopback-ը անհրաժեշտ է sqstat-ի աշխատանքի համար:

Ստորև դուք կգտնեք Transparent proxy-ի կարգավորումները, ինչպես նաև SSL Filter-ը, բայց դրանք մեզ պետք չեն, մեր վստահված անձը թափանցիկ չի լինի, իսկ https զտելու համար մենք չենք գործի վկայականի փոխարինման հետ (ի վերջո, մենք ունենք փաստաթղթերի կառավարում , բանկի հաճախորդներ և այլն), եկեք նայենք միայն ձեռքսեղմմանը:

Այս փուլում մենք պետք է գնանք մեր տիրույթի վերահսկիչին, դրանում հաշիվ ստեղծենք նույնականացման համար (կարող եք նաև օգտագործել այն, որը դուք կազմաձևել եք նույնականացման համար հենց pfSense-ում): Այստեղ շատ կարևոր գործոն այն է, որ եթե դուք մտադիր եք օգտագործել AES128 կամ AES256 կոդավորումը, նշեք համապատասխան վանդակները ձեր հաշվի կարգավորումներում:

Եթե ​​ձեր տիրույթը շատ բարդ անտառ է՝ մեծ թվով դիրեկտորիաներով կամ ձեր տիրույթը .local է, ապա ՀՆԱՐԱՎՈՐ, բայց ոչ հաստատ, դուք պետք է օգտագործեք պարզ գաղտնաբառ այս հաշվի համար, սխալը հայտնի է, բայց բարդ։ գաղտնաբառը այն կարող է պարզապես չաշխատել, դուք պետք է ստուգեք կոնկրետ անհատական ​​դեպք:

Անվճար վստահված սերվեր ձեռնարկության համար՝ տիրույթի թույլտվությամբ

Այս ամենից հետո մենք ստեղծում ենք առանցքային ֆայլ Kerberos-ի համար, դոմեյն վերահսկիչի վրա, բացում ենք հրամանի տողը ադմինիստրատորի իրավունքներով և մուտքագրում.

# 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

Այնտեղ, որտեղ մենք նշում ենք մեր FQDN pfSense-ը, համոզվեք, որ հարգեք գործը, mapuser պարամետրում մենք մուտքագրում ենք մեր տիրույթի հաշիվը և դրա գաղտնաբառը, իսկ կրիպտոյում մենք ընտրում ենք գաղտնագրման մեթոդը, ես օգտագործել եմ rc4-ը աշխատանքի համար, իսկ -out դաշտում մենք ընտրում ենք որտեղ մենք կուղարկենք մեր պատրաստի բանալի ֆայլը:
Բանալին ֆայլը հաջողությամբ ստեղծելուց հետո մենք այն կուղարկենք մեր pfSense-ին, ես դրա համար օգտագործեցի Far, բայց դուք կարող եք դա անել նաև հրամանների, ծեփամածիկի միջոցով կամ pfSense վեբ ինտերֆեյսի միջոցով «DiagnosticsCommand Line» բաժնում:

Այժմ մենք կարող ենք խմբագրել ստեղծել /etc/krb5.conf

Անվճար վստահված սերվեր ձեռնարկության համար՝ տիրույթի թույլտվությամբ

որտեղ /etc/krb5.keytab-ը մեր ստեղծած բանալի ֆայլն է:

Համոզվեք, որ ստուգեք Kerberos-ի աշխատանքը kinit-ի միջոցով, եթե այն չի աշխատում, ապա հետագա կարդալն իմաստ չունի:

Squid Authentication-ի և No Authentication Access List-ի կարգավորում

Հաջողությամբ կարգավորելով Kerberos-ը, մենք այն կկցենք մեր Squid-ին:

Դա անելու համար անցեք ServicesSquid Proxy Server և հիմնական կարգավորումներում գնացեք ամենաներքև, այնտեղ կգտնենք «Ընդլայնված կարգավորումներ» կոճակը:

Պատվերով ընտրանքներ (նախքան հաստատումը) դաշտում մուտքագրեք.

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

որտեղ auth_param բանակցային ծրագիր /usr/local/libexec/squid/negotiate_kerberos_auth — ընտրում է Kerberos վավերացման մեզ անհրաժեշտ օգնականը:

Բանալին -s իմաստով GSS_C_NO_NAME — որոշում է բանալի ֆայլից ցանկացած հաշվի օգտագործումը:

Բանալին -k իմաստով /usr/local/etc/squid/squid.keytab — որոշում է օգտագործել ստեղնաշարի այս հատուկ ֆայլը: Իմ դեպքում սա նույն keytab ֆայլն է, որը մենք ստեղծել ենք, որը ես պատճենեցի /usr/local/etc/squid/ գրացուցակում և վերանվանեցի այն, քանի որ կաղամարը չէր ուզում ընկերանալ այդ գրացուցակի հետ, ըստ երևույթին, ես չունեի: բավարար իրավունքներ.

Բանալին -t իմաստով - ոչ մեկը — անջատում է տիրույթի վերահսկիչին ուղղված ցիկլային հարցումները, ինչը զգալիորեն նվազեցնում է դրա բեռը, եթե ունեք ավելի քան 50 օգտվող:
Փորձարկման ընթացքում կարող եք նաև ավելացնել -d անջատիչը, այսինքն՝ ախտորոշում, կցուցադրվեն ավելի շատ տեղեկամատյաններ:
auth_param բանակցել երեխաներ 1000 — որոշում է, թե միաժամանակ քանի թույլտվության գործընթաց կարող է գործարկվել
auth_param negotiate keep_alive on — թույլ չի տալիս, որ միացումը անջատվի թույլտվության շղթայի հարցում
acl auth proxy_auth ՊԱՀԱՆՋՎՈՒՄ Է — ստեղծում և պահանջում է մուտքի վերահսկման ցուցակ, որը ներառում է լիազորված օգտվողներ
acl nonauth dstdomain «/etc/squid/nonauth.txt» — մենք կաղամարին տեղեկացնում ենք nonauth մուտքի ցանկի մասին, որը պարունակում է նպատակակետ տիրույթներ, որոնց մուտքը բոլորին միշտ թույլատրվելու է: Մենք ինքնին ստեղծում ենք ֆայլը և ձևաչափով մուտքագրում ենք դրա ներսում գտնվող տիրույթները

.whatsapp.com
.whatsapp.net

Whatsapp-ը օգտագործվում է որպես օրինակ ինչ-ինչ պատճառներով. այն շատ բծախնդիր է վավերացման վստահված անձանց նկատմամբ և չի աշխատի, եթե դա թույլատրված չէ նախքան նույնականացումը:
http_access թույլ է տալիս nonauth — թույլատրել մուտք գործել այս ցանկ բոլորի համար
http_access մերժել !auth — մենք արգելում ենք մուտքը այլ կայքեր չարտոնված օգտատերերի համար
http_access թույլատրել auth — թույլ տալ մուտք գործել լիազորված օգտվողներին:
Վերջ, ինքնին Squid-ը կազմաձևված է, հիմա ժամանակն է սկսել զտել ըստ խմբերի:

SquidGuard-ի կարգավորում

Գնացեք ServicesSquidGuard վստահված անձի զտիչ:

LDAP Ընտրանքներում մենք մուտքագրում ենք Kerberos-ի նույնականացման համար օգտագործվող մեր հաշվի մանրամասները, բայց հետևյալ ձևաչափով.

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

Եթե ​​կան բացատներ կամ ոչ լատինատառ նիշեր, այս ամբողջ գրառումը պետք է կցվի մեկ կամ կրկնակի չակերտների մեջ.

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

Հաջորդը, համոզվեք, որ ստուգեք այս վանդակները.

Անվճար վստահված սերվեր ձեռնարկության համար՝ տիրույթի թույլտվությամբ

Ավելորդ DOMAINpfsense-ն անջատելու համար DOMAIN.LOCAL, որի նկատմամբ ողջ համակարգը շատ զգայուն է:

Հիմա եկեք գնանք Group Acl և կապենք մեր տիրույթի մուտքի խմբերը, ես օգտագործում եմ պարզ անուններ, ինչպիսիք են group_0, group_1 և այլն մինչև 3, որտեղ 3-ը նշանակում է մուտք դեպի միայն սպիտակ ցուցակ, իսկ 0-ը նշանակում է, որ ամեն ինչ հնարավոր է:

Խմբերը կապված են հետևյալ կերպ.

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

մենք պահպանում ենք մեր խումբը, գնում ենք Times, այնտեղ ես ստեղծեցի մեկ բաց, ինչը նշանակում է, որ այն միշտ կաշխատի, այժմ մենք գնում ենք թիրախային կատեգորիաներ և ստեղծում ենք ցուցակներ մեր հայեցողությամբ, ցուցակները ստեղծելուց հետո մենք վերադառնում ենք մեր խմբերին և խմբի ներսում մենք օգտագործում ենք կոճակներ: ընտրել, թե ով որտեղ կարող է գնալ և ով չի կարող գնալ:

LightSquid և sqstat

Եթե ​​կարգավորման գործընթացում մենք ընտրել ենք «loopback» կաղամարների կարգավորումներում և բացել ենք «7445» մուտքի հնարավորությունը firewall-ում ինչպես մեր ցանցում, այնպես էլ բուն pfSense-ում, ապա երբ գնում ենք «DiagnosticsSquid Proxy Reports»-ը, մենք հեշտությամբ կարող ենք բացել և՛ sqstat-ը, և՛ Lighsquid-ը: վերջինս մեզ պետք կգա: Այնտեղ կարող եք մուտք գործել մուտք և գաղտնաբառ, ինչպես նաև կարող եք ընտրել դիզայն:

Ավարտում

pfSense-ը շատ հզոր գործիք է, որը կարող է շատ բան անել. տրաֆիկի պրոքսիավորումը և օգտատերերի մուտքը ինտերնետ վերահսկելը ընդամենը ամբողջ ֆունկցիոնալության հատիկն է, այնուամենայնիվ, 500 մեքենա ունեցող ձեռնարկությունում այն ​​լուծեց խնդիրը և թույլ տվեց մեզ խնայել: վստահված անձի գնման վերաբերյալ.

Հուսով եմ, որ այս հոդվածը կօգնի ինչ-որ մեկին լուծել մի խնդիր, որը բավականին արդիական է միջին և խոշոր ձեռնարկությունների համար:

Source: www.habr.com

Добавить комментарий