Gratis instaanbediener vir onderneming met domeinmagtiging

Gratis instaanbediener vir onderneming met domeinmagtiging

pfSense+Squid met https-filtrering + Enkelaanmelding (SSO) met Active Directory-groepfiltrering

Kort agtergrond

Die maatskappy moes 'n instaanbediener implementeer met die vermoë om toegang tot webwerwe (insluitend https) deur groepe vanaf AD te filtreer sodat gebruikers geen bykomende wagwoorde invoer nie, en vanaf die webkoppelvlak geadministreer kan word. Goeie toepassing, is dit nie?

Die korrekte antwoord sal wees om oplossings soos Kerio Control of UserGate te koop, maar soos altyd is daar nie geld nie, maar daar is 'n behoefte.

Dit is waar die goeie ou Squid tot die redding kom, maar weereens – waar kan ek 'n webkoppelvlak kry? SAMS2? Moreel uitgedien. Dit is waar pfSense tot die redding kom.

Beskrywing

Hierdie artikel sal beskryf hoe om die Squid-instaanbediener op te stel.
Kerberos sal gebruik word om gebruikers te magtig.
SquidGuard sal gebruik word om volgens domeingroepe te filter.

Lightsquid, sqstat en interne pfSense moniteringstelsels sal vir monitering gebruik word.
Dit sal ook 'n algemene probleem oplos wat verband hou met die bekendstelling van enkelaanmelding (SSO)-tegnologie, naamlik toepassings wat met hul stelselrekening op die internet probeer blaai onder die kompasrekening.

Berei voor om Squid te installeer

pfSense sal as die basis geneem word, Instalasie instruksies.

Daarbinne organiseer ons verifikasie op die firewall self met gebruik van domeinrekeninge. Instruksies.

Baie belangrik!

Voordat jy Squid begin installeer, moet jy die DNS-bediener in pfsense konfigureer, 'n A-rekord en 'n PTR-rekord daarvoor op ons DNS-bediener maak, en NTP instel sodat die tyd nie verskil van die tyd op die domeinbeheerder nie.

En op jou netwerk, verskaf die vermoë vir die WAN-koppelvlak van pfSense om na die internet te gaan, en gebruikers op die plaaslike netwerk om aan die LAN-koppelvlak te koppel, insluitend op poorte 7445 en 3128 (in my geval 8080).

Is alles gereed? Is die LDAP-verbinding tot stand gebring met die domein vir magtiging op pfSense en die tyd is gesinchroniseer? Groot. Dit is tyd om die hoofproses te begin.

Installasie en voorafkonfigurasie

Squid, SquidGuard en LightSquid sal vanaf die pfSense-pakketbestuurder in die "Stelsel / Pakketbestuurder"-afdeling geïnstalleer word.

Na suksesvolle installasie, gaan na "Dienste / Squid Proxy-bediener /" en eerstens, in die Plaaslike kas-oortjie, stel kas op, ek stel alles op 0, want Ek sien nie veel sin in die kas van webwerwe nie, blaaiers doen goeie werk hiermee. Na die instelling, druk die "Stoor" knoppie aan die onderkant van die skerm en dit sal ons die geleentheid gee om basiese proxy instellings te maak.

Die hoofinstellings is soos volg:

Gratis instaanbediener vir onderneming met domeinmagtiging

Die verstekpoort is 3128, maar ek verkies om 8080 te gebruik.

Die geselekteerde parameters in die Proxy Interface-oortjie bepaal op watter koppelvlakke ons instaanbediener sal luister. Aangesien hierdie firewall op so 'n manier gebou is dat dit op die internet as 'n WAN-koppelvlak lyk, alhoewel LAN en WAN op dieselfde plaaslike subnet kan wees, beveel ek aan om LAN vir die proxy te gebruik.

Loopback is nodig vir sqstat om te werk.

Hieronder vind u die deursigtige (deursigtige) instaanbedienerinstellings, sowel as SSL-filter, maar ons het dit nie nodig nie, ons instaanbediener sal nie deursigtig wees nie, en vir https-filtrering sal ons nie die sertifikaat vervang nie (ons het dokumentvloei, bank kliënte, ens.), kom ons kyk net na die handdruk.

Op hierdie stadium moet ons na ons domeinbeheerder gaan, 'n stawingrekening daarin skep (jy kan ook die een gebruik wat vir stawing op pfSense self opgestel is). Hier is 'n baie belangrike faktor - as jy van plan is om AES128- of AES256-enkripsie te gebruik - merk die toepaslike blokkies in jou rekeninginstellings.

As jou domein 'n baie komplekse woud is met 'n groot aantal dopgehou of jou domein is .local, dan is dit MOONTLIK, maar nie seker nie, dat jy 'n eenvoudige wagwoord vir hierdie rekening sal moet gebruik, die fout is bekend, maar dit dalk eenvoudig nie met 'n komplekse wagwoord werk nie, moet jy na 'n spesifieke spesifieke geval kyk.

Gratis instaanbediener vir onderneming met domeinmagtiging

Daarna skep ons 'n sleutellêer vir kerberos, maak 'n opdragprompt oop met administrateurregte op die domeinbeheerder en voer in:

# 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

Waar ons ons FQDN pfSense aandui, moet u die saak respekteer, voer ons domeinrekening en sy wagwoord in die mapuser-parameter in, en in crypto kies ons die enkripsiemetode, ek het rc4 vir werk gebruik en in die -out-veld kies ons waar ons sal ons voltooide sleutellêer stuur.
Nadat die sleutellêer suksesvol geskep is, sal ons dit na ons pfSense stuur, ek het Far hiervoor gebruik, maar jy kan dit ook doen met opdragte en stopverf of deur die pfSense-webkoppelvlak in die "Diagnostics Command Line"-afdeling.

Nou kan ons /etc/krb5.conf wysig/skep

Gratis instaanbediener vir onderneming met domeinmagtiging

waar /etc/krb5.keytab die sleutellêer is wat ons geskep het.

Maak seker dat u die werking van kerberos nagaan met behulp van kinit, as dit nie werk nie, is dit geen sin om verder te lees nie.

Konfigureer Squid Authentication en Access List sonder verifikasie

Nadat ons kerberos suksesvol gekonfigureer het, sal ons dit aan ons Squid vasmaak.

Om dit te doen, gaan na ServicesSquid Proxy Server en gaan in die hoofinstellings af tot heel onder, daar sal ons die knoppie "Gevorderde instellings" vind.

Voer in die Custom Options (Before Auth) veld in:

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

waar auth_param onderhandel program /usr/local/libexec/squid/negotiate_kerberos_auth - kies die verifikasie kerberos helper wat ons nodig het.

sleutel -s met betekenis GSS_C_NO_NAME - definieer die gebruik van enige rekening vanaf die sleutellêer.

sleutel -k met betekenis /usr/local/etc/squid/squid.keytab - bepaal om hierdie spesifieke sleuteltab-lêer te gebruik. In my geval is dit dieselfde keytab-lêer wat ons geskep het, wat ek na die /usr/local/etc/squid/-gids gekopieer en dit hernoem het, want die inkvis wou nie vriende met daardie gids wees nie, daar was blykbaar nie genoeg regte.

sleutel -t met betekenis -t geen - deaktiveer sikliese versoeke na die domeinbeheerder, wat die las daarop aansienlik verminder as u meer as 50 gebruikers het.
Vir die duur van die toets, kan jy ook die -d sleutel byvoeg - dit wil sê diagnostiek, meer logs sal vertoon word.
auth_param onderhandel kinders 1000 - bepaal hoeveel gelyktydige magtigingsprosesse uitgevoer kan word
auth_param onderhandel hou_lewendig aan - laat nie toe om die verbinding te verbreek tydens die peiling van die magtigingsketting nie
acl auth proxy_auth GEVRA - skep en vereis 'n toegangsbeheerlys wat gebruikers insluit wat magtiging geslaag het
acl nonauth dstdomain "/etc/squid/nonauth.txt" - ons lig die inkvis in oor die nie-outeurstoegangslys, wat bestemmingsdomeine bevat, waartoe almal altyd toegang toegelaat sal word. Ons skep die lêer self, en daarin voer ons domeine in in die formaat

.whatsapp.com
.whatsapp.net

Whatsapp word nie verniet as voorbeeld gebruik nie - dit is baie kieskeurig oor die proxy met stawing en sal nie werk as dit nie voor stawing toegelaat word nie.
http_access laat nie-out toe - laat toegang tot hierdie lys toe aan almal
http_toegang weier !auth - ons verbied toegang tot ongemagtigde gebruikers na ander webwerwe
http_access laat auth - laat toegang toe aan gemagtigde gebruikers.
Dit is dit, die inkvis self is gekonfigureer, nou is dit tyd om te begin filter deur groepe.

Konfigureer SquidGuard

Gaan na ServicesSquidGuard Proxy Filter.

In LDAP-opsies voer ons die data van ons rekening in wat vir kerberos-verifikasie gebruik word, maar in die volgende formaat:

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

As daar spasies of nie-Latynse karakters is, moet hierdie hele inskrywing in enkel- of dubbelaanhalingstekens ingesluit word:

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

Maak dan seker dat u hierdie blokkies merk:

Gratis instaanbediener vir onderneming met domeinmagtiging

Om onnodige DOMAINpfsense af te sny DOMEIN.LOKAAL waarvoor die hele sisteem baie sensitief is.

Nou gaan ons na Group Acl en bind ons domeintoegangsgroepe, ek gebruik eenvoudige name soos group_0, group_1, ens. tot 3, waar 3 slegs toegang tot die witlys is, en 0 - alles is moontlik.

Groepe word soos volg gekoppel:

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

stoor ons groep, gaan na Times, daar het ek een gaping geskep wat beteken om altyd te werk, gaan nou na Teikenkategorieë en skep lyste volgens ons goeddunke, nadat ons die lyste geskep het, keer ons terug na ons groepe en binne die groep met knoppies kies ons wie kan gaan waar, en wie kan nie waar nie.

LightSquid en sqstat

As ons tydens die konfigurasieproses 'n terugvoering in die inkvis-instellings gekies het en die vermoë oopgemaak het om toegang te verkry tot 7445 in die firewall sowel op ons netwerk as op pfSense self, dan kan ons beide sqstat en Lighsquid maklik oopmaak wanneer ons na Squid Proxy Reports Diagnostics gaan, vir laasgenoemde sal ons nodig hê Op dieselfde plek, kom met 'n gebruikersnaam en wagwoord, en daar is ook die geleentheid om 'n ontwerp te kies.

Voltooiing

pfSense is 'n baie kragtige instrument wat baie dinge kan doen - beide verkeersvolmag en beheer oor gebruikerstoegang tot die internet is net 'n fraksie van die hele funksionaliteit, nietemin, in 'n onderneming met 500 masjiene, het dit die probleem opgelos en bespaar op 'n gevolmagtigde te koop.

Ek hoop dat hierdie artikel iemand sal help om 'n probleem op te los wat baie relevant is vir medium en groot ondernemings.

Bron: will.com

Voeg 'n opmerking