Ingyenes proxy szerver tartományengedéllyel rendelkező vállalatok számára

Ingyenes proxy szerver tartományengedéllyel rendelkező vállalatok számára

pfSense+Squid https szűréssel + Egyszeri bejelentkezés (SSO) Active Directory csoportszűréssel

Rövid háttér

A cégnek olyan proxyszervert kellett bevezetnie, amely képes a webhelyekhez való hozzáférést (beleértve a https-t is) csoportok szerint szűrni az AD-ből, hogy a felhasználók ne adjanak meg további jelszavakat, és a webes felületről adminisztrálható. Jó alkalmazás, nem?

A helyes válasz az lenne, ha olyan megoldásokat vásárolnánk, mint a Kerio Control vagy a UserGate, de mint mindig, nincs pénz, de igény van.

Itt jön a jó öreg Squid a megmentésére, de megint - hol lehet webes felületet szerezni? SAMS2? Erkölcsileg elavult. Itt jön a pfSense segítség.

Leírás

Ez a cikk leírja, hogyan kell konfigurálni a Squid proxykiszolgálót.
A Kerberos segítségével engedélyezik a felhasználókat.
A SquidGuard a tartománycsoportok szerinti szűréshez használható.

A megfigyeléshez Lightsquid, sqstat és belső pfSense felügyeleti rendszereket használnak majd.
Megoldja az egyszeri bejelentkezési (SSO) technológia bevezetésével kapcsolatos gyakori problémát is, nevezetesen azokat az alkalmazásokat, amelyek a rendszerfiókjukkal az iránytű fiók alatt próbálnak szörfözni az interneten.

Felkészülés a Squid telepítésére

a pfSense lesz az alap, Telepítési útmutató.

Ezen belül magán a tűzfalon szervezzük meg a hitelesítést domain fiókok segítségével. Utasításokat.

Nagyon fontos!

Mielőtt elkezdené a Squid telepítését, be kell állítania a DNS-kiszolgálót a pfsense-ben, létre kell hoznia egy A-rekordot és egy PTR-rekordot a DNS-kiszolgálónkon, és úgy kell beállítania az NTP-t, hogy az idő ne térjen el a tartományvezérlőn lévő időtől.

A hálózatán pedig tegye lehetővé, hogy a pfSense WAN interfésze az internetre csatlakozzon, a helyi hálózat felhasználói pedig a LAN interfészhez csatlakozzanak, beleértve a 7445-ös és a 3128-as (az én esetemben a 8080-as) portot is.

Minden készen áll? Létrejön az LDAP-kapcsolat a tartományhoz a pfSense engedélyezéshez, és az idő szinkronizálva van? Nagy. Ideje elkezdeni a fő folyamatot.

Telepítés és előkonfigurálás

A Squid, a SquidGuard és a LightSquid a pfSense csomagkezelőből, a „Rendszer/Csomagkezelő” részben lesz telepítve.

Sikeres telepítés után lépjen a "Szolgáltatások / Squid Proxy szerver /" menüpontra, és először is a Helyi gyorsítótár lapon állítsa be a gyorsítótárat, mindent 0-ra állítok, mert Nem sok értelmét látom az oldalak gyorsítótárazásának, a böngészők remekül teljesítenek ezzel. A beállítás után nyomja meg a képernyő alján található "Mentés" gombot, és ez lehetőséget ad az alapvető proxy beállítások elvégzésére.

A fő beállítások a következők:

Ingyenes proxy szerver tartományengedéllyel rendelkező vállalatok számára

Az alapértelmezett port a 3128, de én inkább a 8080-at használom.

A Proxy Interface lapon kiválasztott paraméterek határozzák meg, hogy proxyszerverünk mely interfészekre figyel. Mivel ez a tűzfal úgy van felépítve, hogy az interneten WAN interfésznek néz ki, bár a LAN és a WAN lehet ugyanazon a helyi alhálózaton, ezért javaslom a LAN használatát a proxynak.

Loopback szükséges az sqstat működéséhez.

Alul megtalálod az Átlátszó (átlátszó) proxy beállításokat, valamint az SSL szűrőt, de nincs rájuk szükségünk, a proxynk nem lesz transzparens, https szűréshez pedig nem cseréljük ki a tanúsítványt (van dokumentumfolyamunk, bankunk ügyfelek stb.), nézzük csak a kézfogást.

Ebben a szakaszban fel kell lépnünk a tartományvezérlőnkre, és létre kell hoznunk benne egy hitelesítési fiókot (azt is használhatja, amely magán a pfSense-en volt hitelesítésre konfigurálva). Itt van egy nagyon fontos tényező - ha AES128 vagy AES256 titkosítást kíván használni - jelölje be a megfelelő négyzeteket a fiókbeállításokban.

Ha az Ön domainje egy nagyon összetett erdő, sok könyvtárral, vagy a domain .local, akkor LEHETSÉGES, de nem biztos, hogy ehhez a fiókhoz egyszerű jelszót kell használnia, a hiba ismert, de előfordulhat, hogy egyszerűen nem működik összetett jelszóval, akkor egy adott esetet kell ellenőriznie.

Ingyenes proxy szerver tartományengedéllyel rendelkező vállalatok számára

Ezt követően létrehozunk egy kulcsfájlt a kerberos számára, megnyitunk egy parancssort rendszergazdai jogokkal a tartományvezérlőn, és beírjuk:

# 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

Ahol feltüntetjük az FQDN pfSense-ünket, ügyeljünk a kis- és nagybetűk betartására, a mapuser paraméterbe írjuk be a domain fiókunkat és annak jelszavát, és crypto-ban kiválasztjuk a titkosítási módot, én az rc4-et használtam a munkához és az -out mezőben kiválasztjuk, hogy hol elküldi a kész kulcsfájlunkat.
A kulcsfájl sikeres elkészítése után elküldjük a pfSense-ünknek, ehhez a Fart használtam, de ezt megteheti parancsokkal és putty-val is, vagy a pfSense webes felületén keresztül a "Diagnosztika parancssor" részben.

Most már szerkeszthetjük/létrehozhatjuk az /etc/krb5.conf fájlt

Ingyenes proxy szerver tartományengedéllyel rendelkező vállalatok számára

ahol az /etc/krb5.keytab az általunk létrehozott kulcsfájl.

A kerberos működését mindenképpen nézd meg kinit segítségével, ha nem megy, akkor nincs értelme tovább olvasni.

A Squid hitelesítés és a hozzáférési lista konfigurálása hitelesítés nélkül

A kerberos sikeres konfigurálása után rögzítjük a Squid-ünkhöz.

Ehhez lépjen a ServicesSquid Proxy Server oldalra, és a fő beállításokban menjen le a legaljára, ahol megtaláljuk a "Speciális beállítások" gombot.

Az Egyéni beállítások (hitelesítés előtt) mezőbe írja be:

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

ahol auth_param tárgyalási program /usr/local/libexec/squid/negotiate_kerberos_auth - kiválasztja a szükséges hitelesítési kerberos segítőt.

kulcs -s jelentéssel GSS_C_NO_NAME — meghatározza a kulcsfájl bármely fiókjának használatát.

kulcs -k jelentéssel /usr/local/etc/squid/squid.keytab - meghatározza, hogy ezt a kulcstáblát használja. Az én esetemben ez ugyanaz a keytab fájl, amit létrehoztunk, amit bemásoltam a /usr/local/etc/squid/ könyvtárba és átneveztem, mert a squid nem akart barátkozni azzal a könyvtárral, láthatóan nem voltak elég jog.

kulcs -t jelentéssel - egyik sem - letiltja a ciklikus kéréseket a tartományvezérlőhöz, ami nagymértékben csökkenti a terhelést, ha több mint 50 felhasználója van.
A teszt idejére a -d billentyűt is hozzáadhatja - azaz diagnosztika, több napló jelenik meg.
auth_param tárgyalni a gyerekekkel 1000 - meghatározza, hogy hány egyidejű engedélyezési folyamat futtatható
auth_param tárgyalni keep_alive on - nem teszi lehetővé a kapcsolat megszakítását a jogosultsági lánc lekérdezése során
acl auth proxy_auth KÖTELEZŐ - olyan hozzáférés-vezérlési listát hoz létre és igényel, amely tartalmazza a jogosultságon átesett felhasználókat
acl nonauth dstdomain "/etc/squid/nonauth.txt" - tájékoztatjuk a squid-et a nonauth hozzáférési listáról, amely cél tartományokat tartalmaz, amelyekhez mindig mindenki hozzáférhet. Magát a fájlt hozzuk létre, és azon belül a formátumban megadjuk a domaineket

.whatsapp.com
.whatsapp.net

A Whatsappot nem hiába használják példaként - nagyon válogatós a hitelesítéssel rendelkező proxy tekintetében, és nem fog működni, ha a hitelesítés előtt nem engedélyezik.
http_access nonauth engedélyezése - mindenkinek engedélyezni kell a hozzáférést ehhez a listához
http_access deny !auth - megtiltjuk az illetéktelen felhasználók hozzáférését más oldalakhoz
http_access hitelesítés engedélyezése - hozzáférés engedélyezése a jogosult felhasználók számára.
Ez az, maga a squid be van állítva, most itt az ideje elkezdeni a csoportok szerinti szűrést.

A SquidGuard beállítása

Nyissa meg a ServicesSquidGuard proxyszűrőt.

Az LDAP Opciókban megadjuk a kerberos hitelesítéshez használt fiókunk adatait, de a következő formátumban:

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

Ha szóközök vagy nem latin karakterek vannak, akkor ezt a teljes bejegyzést szimpla vagy dupla idézőjelek közé kell tenni:

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

Ezután feltétlenül jelölje be ezeket a négyzeteket:

Ingyenes proxy szerver tartományengedéllyel rendelkező vállalatok számára

A felesleges DOMAINpfsense levágásához DOMAIN.LOCAL amire az egész rendszer nagyon érzékeny.

Most megyünk a Group Acl-be, és összekapcsoljuk a tartomány hozzáférési csoportjainkat, egyszerű neveket használok, mint a group_0, group_1 stb. 3-ig, ahol a 3 csak a fehérlistához való hozzáférést jelenti, a 0 pedig minden lehetséges.

A csoportok a következőképpen kapcsolódnak egymáshoz:

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

mentsük el a csoportunkat, menjünk a Times-ba, ott létrehoztam egy rést, ami azt jelenti, hogy mindig működjön, most menjen a Célkategóriákba és hozzon létre listákat saját belátásunk szerint, a listák létrehozása után visszatérünk csoportjainkba és a csoporton belül gombokkal kiválasztjuk, hogy ki mehet hol, és ki nem tud hol .

LightSquid és sqstat

Ha a konfigurációs folyamat során a squid beállításaiban egy loopback-et választottunk, és a tűzfalban megnyitottuk a 7445 elérésének lehetőségét a hálózatunkon és magán a pfSense-en is, akkor a Squid Proxy Reports Diagnostics oldalra lépve könnyedén megnyithatjuk az sqstat és a Lighsquid alkalmazást is, az utóbbihoz szükségünk lesz Ugyanitt jöjjön létre egy felhasználónév és jelszó, valamint lehetőség van a design kiválasztására is.

Befejezés

A pfSense egy nagyon hatékony eszköz, amely sok mindenre képes – mind a forgalom proxyja, mind a felhasználói internet-hozzáférés vezérlése csak egy töredéke a teljes funkcionalitásnak, ennek ellenére egy 500 gépes vállalatnál ez megoldotta a problémát és megtakarította proxy vásárlása.

Remélem, hogy ez a cikk segít valakinek megoldani egy olyan problémát, amely a közép- és nagyvállalkozások számára meglehetősen releváns.

Forrás: will.com

Hozzászólás