Bezmaksas starpniekserveris uzņēmumam ar domēna autorizāciju

Bezmaksas starpniekserveris uzņēmumam ar domēna autorizāciju

pfSense+Squid ar https filtrÄ“Å”anu + vienreizējās pierakstÄ«Å”anās tehnoloÄ£ija (SSO) ar filtrÄ“Å”anu pēc Active Directory grupām

ÄŖss fons

Uzņēmumam bija jāievieÅ” starpniekserveris ar iespēju filtrēt piekļuvi vietnēm (tostarp https) pa grupām no AD, lai lietotāji neievadÄ«tu nekādas papildu paroles, un administrÄ“Å”anu varētu veikt no tÄ«mekļa saskarnes. Nav slikta aplikācija, vai ne?

Pareizā atbilde būtu iegādāties tādus risinājumus kā Kerio Control vai UserGate, bet kā vienmēr naudas nav, bet vajadzība ir.

Å eit mÅ«s glābj vecais labais Squid, bet atkal ā€” kur es varu iegÅ«t tÄ«mekļa saskarni? SAMS2? Morāli novecojis. Å eit palÄ«gā nāk pfSense.

Apraksts

Šajā rakstā ir aprakstīts, kā konfigurēt Squid starpniekserveri.
Lietotāju autorizācijai tiks izmantots Kerberos.
SquidGuard tiks izmantots, lai filtrētu pēc domēnu grupām.

Monitoringam tiks izmantotas Lightsquid, sqstat un iekŔējās pfSense monitoringa sistēmas.
Tiks atrisināta arÄ« izplatÄ«ta problēma, kas saistÄ«ta ar vienotās pierakstÄ«Å”anās (SSO) tehnoloÄ£ijas ievieÅ”anu, proti, lietojumprogrammas, kas mēģina piekļūt internetam, izmantojot sava sistēmas konta kompasa kontu.

SagatavoÅ”anās Squid instalÄ“Å”anai

pfSense tiks izmantots par pamatu, UzstādīŔanas instrukcijas.

Kurā mēs organizējam autentifikāciju paÅ”am ugunsmÅ«rim, izmantojot domēna kontus. Instrukcijas.

Tas ir ļoti svarīgi!

Pirms Squid instalÄ“Å”anas ir jākonfigurē DNS serveris pfsense, jāizveido tam A ieraksts un PTR ieraksts mÅ«su DNS serverÄ« un jākonfigurē NTP tā, lai laiks neatŔķirtos no domēna kontrollera laika.

Un savā tÄ«klā nodroÅ”iniet iespēju pfSense WAN interfeisam piekļūt internetam un lokālā tÄ«kla lietotājiem izveidot savienojumu ar LAN interfeisu, tostarp izmantojot portu 7445 un 3128 (manā gadÄ«jumā 8080).

Vai viss ir gatavs? Vai domēns ir savienots, izmantojot LDAP, lai veiktu autorizāciju pakalpojumā pfSense, un vai laiks ir sinhronizēts? Lieliski. Ir pienācis laiks sākt galveno procesu.

UzstādÄ«Å”ana un iepriekŔēja konfigurācija

Mēs instalēsim Squid, SquidGuard un LightSquid no pfSense pakotņu pārvaldnieka sadaļā ā€œSistēmas/pakeÅ”u pārvaldnieksā€.

Pēc veiksmÄ«gas instalÄ“Å”anas dodieties uz ā€œServices/Squid Proxy serveris/ā€ un vispirms cilnē Local Cache konfigurējiet keÅ”atmiņu, es iestatÄ«ju visu uz 0, jo Es neredzu lielu jēgu vietņu saglabāŔanai keÅ”atmiņā; pārlÅ«kprogrammas ar to tiek galā lieliski. Pēc iestatÄ«Å”anas nospiediet pogu ā€œSaglabātā€ ekrāna apakŔā, un tas dos mums iespēju veikt pamata starpniekservera iestatÄ«jumus.

Galvenie iestatījumi ir Ŕādi:

Bezmaksas starpniekserveris uzņēmumam ar domēna autorizāciju

Noklusējuma ports ir 3128, bet es gribētu izmantot 8080.

Cilnē Starpniekservera interfeiss atlasÄ«tie parametri nosaka, kuras saskarnes klausÄ«sies mÅ«su starpniekserveris. Tā kā Å”is ugunsmÅ«ris ir izveidots tā, ka tas skatās uz internetu caur WAN interfeisu, lai gan LAN un WAN var bÅ«t vienā lokālajā apakÅ”tÄ«klā, iesaku starpniekserverim izmantot LAN.

Lai sqstat darbotos, ir nepiecieŔama atpakaļcilpa.

Zemāk atradÄ«siet Transparent starpniekservera iestatÄ«jumus, kā arÄ« SSL filtru, taču tie mums nav vajadzÄ«gi, mÅ«su starpniekserveris nebÅ«s caurspÄ«dÄ«gs, kā arÄ« https filtrÄ“Å”anai mēs nenodarbosimies ar sertifikātu aizstāŔanu (galu galā mums ir dokumentu pārvaldÄ«ba , banku klienti utt.), PaskatÄ«simies tikai uz rokasspiedienu.

Å ajā posmā mums ir jādodas uz mÅ«su domēna kontrolleri, jāizveido tajā autentifikācijas konts (varat izmantot arÄ« to, kuru konfigurējāt autentifikācijai paŔā pfSense). Å eit ļoti svarÄ«gs faktors ir tas, ka, ja plānojat izmantot AES128 vai AES256 Å”ifrÄ“Å”anu, konta iestatÄ«jumos atzÄ«mējiet atbilstoŔās izvēles rÅ«tiņas.

Ja jÅ«su domēns ir ļoti sarežģīts mežs ar lielu skaitu direktoriju vai jÅ«su domēns ir .local, tad IESPĒJAMS, bet ne droÅ”i, jums Å”im kontam bÅ«s jāizmanto vienkārÅ”a parole, kļūda ir zināma, bet ar sarežģītu parole tā var vienkārÅ”i nedarboties, jums jāpārbauda konkrēts individuāls gadÄ«jums.

Bezmaksas starpniekserveris uzņēmumam ar domēna autorizāciju

Pēc visa tā mēs domēna kontrollerī izveidojam Kerberos atslēgas failu, atveram komandu uzvedni ar administratora tiesībām un ievadiet:

# 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

Ja mēs norādām savu FQDN pfSense, noteikti ievērojiet reÄ£istru, mapuser parametrā mēs ievadām savu domēna kontu un tā paroli, un kriptovalÅ«tā mēs izvēlamies Å”ifrÄ“Å”anas metodi, es izmantoju rc4 darbam un laukā -out mēs atlasām, kur mēs nosÅ«tÄ«sim mÅ«su gatavo atslēgas failu.
Pēc veiksmÄ«gas atslēgas faila izveides mēs to nosÅ«tÄ«sim uz mÅ«su pfSense, Å”im nolÅ«kam es izmantoju Far, bet jÅ«s varat arÄ« to izdarÄ«t, izmantojot komandas, tepe vai pfSense tÄ«mekļa saskarni sadaļā ā€œDiagnostics Command Lineā€.

Tagad mēs varam rediģēt izveidot /etc/krb5.conf

Bezmaksas starpniekserveris uzņēmumam ar domēna autorizāciju

kur /etc/krb5.keytab ir mūsu izveidotais atslēgas fails.

Noteikti pārbaudiet Kerberos darbību, izmantojot kinit; ja tas nedarbojas, nav jēgas lasīt tālāk.

Squid autentifikācijas un bez autentifikācijas piekļuves saraksta konfigurÄ“Å”ana

Kad Kerberos ir veiksmīgi konfigurēts, mēs to pievienosim savam Squid.

Lai to izdarÄ«tu, dodieties uz ServicesSquid Proxy Server un galvenajos iestatÄ«jumos dodieties uz paÅ”u apakÅ”u, tur mēs atradÄ«sim pogu ā€œPapildu iestatÄ«jumiā€.

Laukā Pielāgotās opcijas (pirms autentifikācijas) ievadiet:

#Š„ŠµŠ»ŠæŠµŃ€Ń‹
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

kur auth_param sarunu programma /usr/local/libexec/squid/negotiate_kerberos_auth ā€” atlasa mums nepiecieÅ”amo Kerberos autentifikācijas palÄ«gu.

TaustiņŔ -s ar nozÄ«mi GSS_C_NO_NAME ā€” nosaka jebkura konta izmantoÅ”anu no atslēgas faila.

TaustiņŔ -k ar nozÄ«mi /usr/local/etc/squid/squid.keytab ā€” nosaka izmantot Å”o konkrēto keytab failu. Manā gadÄ«jumā Å”is ir tas pats keytab fails, ko mēs Ä£enerējām, kuru es nokopēju direktorijā /usr/local/etc/squid/ un pārdēvēju, jo kalmārs nevēlējās draudzēties ar Å”o direktoriju, acÄ«mredzot man nebija pietiekami daudz tiesÄ«bu.

TaustiņŔ -t ar nozÄ«mi - nav neviena ā€” atspējo cikliskos pieprasÄ«jumus domēna kontrollerim, kas ievērojami samazina tā slodzi, ja jums ir vairāk nekā 50 lietotāju.
Pārbaudes laikā varat pievienot arī slēdzi -d - t.i., diagnostiku, tiks parādīti vairāk žurnālu.
auth_param sarunāt bērnus 1000 ā€” nosaka, cik vienlaicÄ«gu autorizācijas procesu var uzsākt
auth_param sarunāties keep_alive on ā€” novērÅ” savienojuma atvienoÅ”anu autorizācijas ķēdes aptaujas laikā
acl auth proxy_auth OBLIGĀTS ā€” izveido un pieprasa piekļuves kontroles sarakstu, kurā ir iekļauti autorizēti lietotāji
acl nonauth dstdomain "/etc/squid/nonauth.txt" ā€” mēs informējam kalmārus par nonauth piekļuves sarakstu, kurā ir mērÄ·a domēni, kuriem vienmēr bÅ«s atļauts piekļūt ikvienam. Mēs izveidojam paÅ”u failu un ievadām tajā esoÅ”os domēnus formātā

.whatsapp.com
.whatsapp.net

Whatsapp tiek izmantots kā piemērs iemesla dēļ - tas ir ļoti izvēlīgs attiecībā uz autentifikācijas starpniekserveriem un nedarbosies, ja tas nav atļauts pirms autentifikācijas.
http_access atļaut nonauth ā€” atļaut ikvienam piekļūt Å”im sarakstam
http_piekļuves aizliegums !auth ā€” mēs aizliedzam neautorizētiem lietotājiem piekļuvi citām vietnēm
http_access atļaut autentifikāciju ā€” atļaut piekļuvi pilnvarotiem lietotājiem.
Tas arÄ« viss, pats Squid ir konfigurēts, tagad ir pienācis laiks sākt filtrÄ“Å”anu pēc grupām.

SquidGuard iestatīŔana

Dodieties uz ServicesSquidGuard starpniekservera filtru.

Sadaļā LDAP opcijas mēs ievadām Kerberos autentifikācijai izmantotā konta informāciju, bet Ŕādā formātā:

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

Ja ir atstarpes vai rakstzÄ«mes, kas nav latīņu rakstzÄ«mes, viss Å”is ieraksts ir jāiekļauj vienpēdiņās vai dubultpēdiņās:

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

Pēc tam noteikti atzÄ«mējiet Ŕīs izvēles rÅ«tiņas:

Bezmaksas starpniekserveris uzņēmumam ar domēna autorizāciju

Lai nogrieztu nevajadzīgo DOMAINpfsense DOMAIN.LOCAL, pret kuru visa sistēma ir ļoti jutīga.

Tagad ejam uz Group Acl un saistÄ«sim mÅ«su domēna piekļuves grupas. Es izmantoju vienkārÅ”us nosaukumus, piemēram, group_0, group_1 utt. lÄ«dz 3, kur 3 nozÄ«mē piekļuvi tikai baltajam sarakstam, bet 0 nozÄ«mē, ka viss ir iespējams.

Grupas ir saistītas Ŕādi:

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

mēs saglabājam savu grupu, dodamies uz Times, tur es izveidoju vienu spraugu, kas nozÄ«mē, ka tas vienmēr darbosies, tagad mēs ejam uz mērÄ·a kategorijas un veidojam sarakstus pēc saviem ieskatiem, pēc sarakstu izveidoÅ”anas mēs atgriežamies savās grupās un grupas ietvaros lietojam pogas lai atlasÄ«tu, kurÅ” kur var doties un kurÅ” kur nevar doties.

LightSquid un sqstat

Ja iestatÄ«Å”anas procesā mēs squid iestatÄ«jumos atlasÄ«jām loopback un ugunsmÅ«rÄ« atvērām iespēju piekļūt 7445 gan mÅ«su tÄ«klā, gan paŔā pfSense, tad, atverot DiagnosticsSquid Proxy Reports, mēs varam viegli atvērt gan sqstat, gan Lighsquid. pēdējais mums bÅ«s vajadzÄ«gs Tur jÅ«s varat izdomāt pieteikumvārdu un paroli, kā arÄ« izvēlēties dizainu.

PabeigŔana

pfSense ir ļoti jaudÄ«gs rÄ«ks, kas var paveikt daudzas lietas ā€“ trafika starpniekserverÄ“Å”ana un lietotāju piekļuves internetam kontrole ir tikai daļa no visas funkcionalitātes, tomēr uzņēmumā ar 500 iekārtām tas atrisināja problēmu un ļāva ietaupÄ«t par proxy iegādi.

Es ceru, ka Å”is raksts kādam palÄ«dzēs atrisināt problēmu, kas ir diezgan aktuāla vidējiem un lieliem uzņēmumiem.

Avots: www.habr.com

Pievieno komentāru