Tasuta puhverserver ettevõttele domeeni autoriseerimisega

Tasuta puhverserver ettevõttele domeeni autoriseerimisega

pfSense+Squid https-filtriga + ühekordne sisselogimine (SSO) Active Directory rühmafiltrimisega

Lühike taust

Ettevõte pidi juurutama puhverserveri, mis võimaldaks filtreerida AD-st rühmade kaupa ligipääsu saitidele (sh https) nii, et kasutajad ei sisestaks täiendavaid paroole, ja seda saab hallata veebiliidese kaudu. Hea rakendus, kas pole?

Õige vastus oleks osta lahendusi nagu Kerio Control või UserGate, aga nagu ikka raha pole, aga vajadus on.

Siin tulebki appi vana hea Squid, aga jällegi – kust saab veebiliidese? SAMS2? Moraalselt vananenud. Siin tuleb appi pfSense.

Kirjeldus

Selles artiklis kirjeldatakse Squidi puhverserveri konfigureerimist.
Kerberost kasutatakse kasutajate autoriseerimiseks.
SquidGuardi kasutatakse domeenirühmade järgi filtreerimiseks.

Jälgimiseks kasutatakse Lightsquid, sqstat ja sisemisi pfSense jälgimissüsteeme.
Samuti lahendab see levinud probleemi, mis on seotud ühekordse sisselogimise (SSO) tehnoloogia kasutuselevõtuga, nimelt rakendused, mis üritavad oma süsteemikontoga kompassikonto all Internetis surfata.

Ettevalmistused Squidi installimiseks

Aluseks võetakse pfSense, Paigaldusjuhised.

Mille sees korraldame tulemüüri enda autentimise domeenikontode abil. Juhised.

See on väga tähtis!

Enne Squidi installimise alustamist peate pfsense'is konfigureerima DNS-serveri, tegema selle jaoks meie DNS-serveris A-kirje ja PTR-kirje ning konfigureerima NTP nii, et kellaaeg ei erineks domeenikontrolleri kellaajast.

Ja oma võrgus võimaldage pfSense'i WAN-liidesel Internetti minna ja kohtvõrgu kasutajatel LAN-liidesega ühenduse loomiseks, sealhulgas portides 7445 ja 3128 (minu puhul 8080).

Kas kõik on valmis? Kas LDAP-ühendus on loodud domeeniga pfSense'i autoriseerimiseks ja kellaaeg on sünkroonitud? Suurepärane. On aeg alustada põhiprotsessi.

Paigaldamine ja eelkonfigureerimine

Squid, SquidGuard ja LightSquid installitakse pfSense'i paketihaldurist jaotises "Süsteemi/paketihaldur".

Pärast edukat installimist minge jaotisse "Teenused / Squid Proxy server /" ja kõigepealt vahekaardil Kohalik vahemälu konfigureerige vahemälu, seadsin kõik väärtusele 0, sest Ma ei näe saitide vahemällu salvestamisel erilist mõtet, brauserid saavad sellega suurepäraselt hakkama. Pärast seadistamist vajutage ekraani allosas nuppu "Salvesta" ja see annab meile võimaluse teha puhverserveri põhiseadeid.

Peamised seaded on järgmised:

Tasuta puhverserver ettevõttele domeeni autoriseerimisega

Vaikimisi port on 3128, kuid eelistan kasutada 8080.

Vahekaardil Proxy Interface valitud parameetrid määravad, milliseid liideseid meie puhverserver kuulab. Kuna see tulemüür on ehitatud nii, et see näeb Internetis välja WAN-liidesena, kuigi LAN ja WAN võivad olla samas kohalikus alamvõrgus, soovitan kasutada puhverserveriks LAN-i.

Sqstati töötamiseks on vaja silmust.

Alt leiate läbipaistva (läbipaistva) puhverserveri seaded, aga ka SSL-filtri, kuid me ei vaja neid, meie puhverserver ei ole läbipaistev ja https-filtreerimiseks me sertifikaati ei asenda (meil on dokumendivoog, pank kliendid jne), vaatame lihtsalt käepigistust.

Selles etapis peame minema oma domeenikontrolleri juurde, looma selles autentimiskonto (saate kasutada ka seda, mis oli pfSense'is autentimiseks konfigureeritud). Siin on väga oluline tegur – kui kavatsete kasutada AES128 või AES256 krüptimist – märkige oma konto seadetes vastavad ruudud.

Kui teie domeen on väga keeruline mets suure hulga kataloogidega või teie domeen on .local, siis on VÕIMALIK, kuid mitte kindel, et peate selle konto jaoks kasutama lihtsat parooli, viga on teada, kuid see ei pruugi keerulise parooliga lihtsalt töötada, peate kontrollima konkreetset juhtumit.

Tasuta puhverserver ettevõttele domeeni autoriseerimisega

Pärast seda loome kerberose jaoks võtmefaili, avame domeenikontrolleris administraatoriõigustega käsuviiba ja sisestame:

# 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

Kui märgime oma FQDN pfSense'i, austage kindlasti tähte, sisestage oma domeeni konto ja selle parool mapuseri parameetrisse ning krüpto puhul valime krüpteerimismeetodi, mina kasutasin tööks rc4 ja väljal -out valime, kus me saadab meie valmis võtmefaili.
Peale edukat võtmefaili loomist saadame selle oma pfSense’i, mina kasutasin selleks Fari, aga seda saab teha ka nii käskude kui pahtliga või pfSense’i veebiliidese kaudu jaotises "Diagnostika käsurida".

Nüüd saame redigeerida/luua /etc/krb5.conf

Tasuta puhverserver ettevõttele domeeni autoriseerimisega

kus /etc/krb5.keytab on meie loodud võtmefail.

Kindlasti kontrolli kerberose tööd kiniti abil, kui ei tööta, pole mõtet edasi lugeda.

Squidi autentimise ja juurdepääsuloendi konfigureerimine ilma autentimiseta

Pärast kerberose edukat konfigureerimist kinnitame selle oma Squidi külge.

Selleks minge teenusesse ServicesSquid Proxy Server ja minge põhiseadetes alla, seal leiame nupu "Täpsemad seaded".

Sisestage väljale Kohandatud suvandid (enne autentimist):

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

kus auth_param läbirääkimisprogramm /usr/local/libexec/squid/negotiate_kerberos_auth - valib meile vajaliku autentimise kerberose abistaja.

võti -s tähendusega GSS_C_NO_NAME — määrab võtmefaili mis tahes konto kasutamise.

võti -k tähendusega /usr/local/etc/squid/squid.keytab - otsustab kasutada seda konkreetset võtmetabeli faili. Minu puhul on see sama keytab fail, mille me lõime, mille ma kopeerisin kataloogi /usr/local/etc/squid/ ja nimetasin ümber, kuna squid ei tahtnud selle kataloogiga sõbrustada, ilmselt polnud neid piisavalt õigusi.

võti -t tähendusega - mitte ühtegi - keelab domeenikontrolleri tsüklilised päringud, mis vähendab oluliselt selle koormust, kui teil on rohkem kui 50 kasutajat.
Testi ajaks saab lisada ka klahvi -d – st diagnostika, kuvatakse rohkem logisid.
auth_param läbirääkimisi lastega 1000 - määrab, mitut samaaegset autoriseerimisprotsessi saab käivitada
auth_param läbirääkimisi keep_alive on - ei võimalda autoriseerimisahela pollimise ajal ühendust katkestada
acl auth proxy_auth VAJALIK - loob ja nõuab juurdepääsu kontrolli loendit, mis sisaldab volituse läbinud kasutajaid
acl nonauth dstdomain "/etc/squid/nonauth.txt" - teavitame kalmaari mitteauth-juurdepääsuloendist, mis sisaldab sihtdomeene, millele on alati kõigil juurdepääs. Loome faili ise ja selle sees sisestame vormingus domeenid

.whatsapp.com
.whatsapp.net

Whatsappi ei kasutata näitena asjata - see on autentimisega puhverserveri suhtes väga valiv ja ei tööta, kui seda enne autentimist ei lubata.
http_access lubab nonauth - lubage juurdepääs sellele loendile kõigile
http_juurdepääsu keelamine !auth - keelame volitamata kasutajate juurdepääsu teistele saitidele
http_access luba autentimine - lubage juurdepääs volitatud kasutajatele.
See on kõik, kalmaar ise on konfigureeritud, nüüd on aeg hakata rühmade kaupa filtreerima.

SquidGuardi seadistamine

Avage ServicesSquidGuardi puhverserveri filter.

LDAP-i valikutesse sisestame oma konto andmed, mida kasutatakse kerberose autentimiseks, kuid järgmises vormingus:

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

Kui on tühikuid või mitteladina tähemärke, tuleb kogu see kirje lisada ühe- või topeltjutumärkidesse:

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

Järgmisena märkige kindlasti need ruudud.

Tasuta puhverserver ettevõttele domeeni autoriseerimisega

Ebavajaliku DOMAINpfsense katkestamiseks DOMAIN.LOCAL mille suhtes on kogu süsteem väga tundlik.

Nüüd läheme Group Acl-i ja seome oma domeeni juurdepääsurühmad, ma kasutan lihtsaid nimesid nagu group_0, group_1 jne kuni 3-ni, kus 3 on juurdepääs ainult valgele nimekirjale ja 0 - kõik on võimalik.

Grupid on lingitud järgmiselt:

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

salvestage meie grupp, minge Timesi, seal lõin ühe tühimiku, mis tähendab, et see töötab alati, nüüd minge sihtkategooriatesse ja looge loendid oma äranägemise järgi, pärast loendite loomist naaseme oma rühmadesse ja rühma sees, kasutage nuppe, et valida kes võib kuhu minna ja kes kuhu mitte.

LightSquid ja sqstat

Kui konfigureerimise käigus valisime squid seadetes loopbacki ja avasime tulemüüris juurdepääsu võimaluse 7445-le nii meie võrgus kui ka pfSense'is endas, siis kui me läheme jaotisse Squid Proxy Reports Diagnostics, saame hõlpsalt avada nii sqstat kui ka Lighsquid, viimase jaoks vajame Samas kohas mõelge välja kasutajanimi ja parool, samuti on võimalus valida kujundus.

Lõpuleviimine

pfSense on väga võimas tööriist, millega saab teha palju asju – nii liikluse puhverserver kui ka kasutajate Interneti-juurdepääsu kontroll on vaid murdosa kogu funktsionaalsusest, kuid 500 masinaga ettevõttes lahendas see probleemi ja säästis puhverserveri ostmine.

Loodan, et see artikkel aitab kellelgi lahendada keskmiste ja suurte ettevõtete jaoks üsna olulise probleemi.

Allikas: www.habr.com

Lisa kommentaar