Gratis proxyserver til virksomhed med domæneautorisation

Gratis proxyserver til virksomhed med domæneautorisation

pfSense+Squid med https-filtrering + Single sign-on (SSO) med Active Directory-gruppefiltrering

Kort baggrund

Virksomheden skulle implementere en proxyserver med mulighed for at filtrere adgang til websteder (inklusive https) efter grupper fra AD, så brugerne ikke indtaster yderligere adgangskoder og kan administreres fra webgrænsefladen. God ansøgning, ikke?

Det rigtige svar ville være at købe løsninger som Kerio Control eller UserGate, men som altid er der ingen penge, men der er et behov.

Det er her den gode gamle blæksprutte kommer til undsætning, men igen – hvor kan jeg få et webinterface? SAMS2? Moralsk forældet. Det er her, pfSense kommer til undsætning.

beskrivelse

Denne artikel vil beskrive, hvordan du konfigurerer Squid-proxyserveren.
Kerberos vil blive brugt til at autorisere brugere.
SquidGuard vil blive brugt til at filtrere efter domænegrupper.

Lightsquid, sqstat og interne pfSense overvågningssystemer vil blive brugt til overvågning.
Det vil også løse et almindeligt problem i forbindelse med introduktionen af ​​single sign-on (SSO) teknologi, nemlig applikationer, der forsøger at surfe på internettet under kompaskontoen med deres systemkonto.

Forbereder installation af Squid

pfSense vil blive taget som grundlag, Installations instruktioner.

Indeni organiserer vi autentificering på selve firewallen ved hjælp af domænekonti. Instruktioner.

Det er meget vigtigt!

Før du begynder at installere Squid, skal du konfigurere DNS-serveren i pfsense, lave en A-record og en PTR-record til den på vores DNS-server og konfigurere NTP, så tiden ikke afviger fra tiden på domænecontrolleren.

Og på dit netværk skal du sørge for, at WAN-grænsefladen på pfSense kan gå til internettet, og brugere på det lokale netværk kan oprette forbindelse til LAN-grænsefladen, inklusive på portene 7445 og 3128 (i mit tilfælde 8080).

Er alt klar? Er LDAP-forbindelsen etableret med domænet til autorisation på pfSense, og tiden er synkroniseret? Store. Det er tid til at starte hovedprocessen.

Installation og præ-konfiguration

Squid, SquidGuard og LightSquid vil blive installeret fra pfSense-pakkehåndteringen i afsnittet "System / Package Manager".

Efter vellykket installation skal du gå til "Tjenester / Squid Proxy-server /" og først og fremmest, på fanen Lokal cache, konfigurer cache, jeg indstiller alt til 0, fordi Jeg ser ikke meget mening i at cache websteder, browsere gør et godt stykke arbejde med dette. Efter indstilling skal du trykke på knappen "Gem" nederst på skærmen, og dette vil give os mulighed for at lave grundlæggende proxyindstillinger.

De vigtigste indstillinger er som følger:

Gratis proxyserver til virksomhed med domæneautorisation

Standardporten er 3128, men jeg foretrækker at bruge 8080.

De valgte parametre på fanen Proxy Interface bestemmer, hvilke grænseflader vores proxyserver vil lytte på. Da denne firewall er bygget på en sådan måde, at den ser ud på internettet som et WAN-interface, selvom LAN og WAN kan være på det samme lokale undernet, anbefaler jeg at bruge LAN som proxy.

Loopback er nødvendig for at sqstat kan fungere.

Nedenfor finder du de gennemsigtige (gennemsigtige) proxyindstillinger samt SSL-filter, men vi har ikke brug for dem, vores proxy vil ikke være gennemsigtig, og for https-filtrering erstatter vi ikke certifikatet (vi har dokumentflow, bank klienter osv.), lad os lige se på håndtrykket.

På dette tidspunkt skal vi gå til vores domænecontroller, oprette en godkendelseskonto i den (du kan også bruge den, der blev konfigureret til godkendelse på selve pfSense). Her er en meget vigtig faktor - hvis du har til hensigt at bruge AES128- eller AES256-kryptering - marker de relevante felter i dine kontoindstillinger.

Hvis dit domæne er en meget kompleks skov med et stort antal mapper eller dit domæne er .local, så er det MULIGT, men ikke sikkert, at du skal bruge en simpel adgangskode til denne konto, fejlen er kendt, men den måske simpelthen ikke virker med en kompleks adgangskode, skal du tjekke en bestemt sag.

Gratis proxyserver til virksomhed med domæneautorisation

Derefter opretter vi en nøglefil til kerberos, åbner en kommandoprompt med administratorrettigheder på domænecontrolleren og indtaster:

# 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

Hvor vi angiver vores FQDN pfSense, sørg for at respektere sagen, indtast vores domænekonto og dens adgangskode i mapuser-parameteren, og i krypto vælger vi krypteringsmetoden, jeg brugte rc4 til arbejde og i -out-feltet vælger vi, hvor vi vil sende vores færdige nøglefil.
Efter succesfuld oprettelse af nøglefilen, sender vi den til vores pfSense, jeg brugte Far til dette, men du kan også gøre dette både med kommandoer og kit eller gennem pfSense-webgrænsefladen i afsnittet "Diagnostics Command Line".

Nu kan vi redigere/oprette /etc/krb5.conf

Gratis proxyserver til virksomhed med domæneautorisation

hvor /etc/krb5.keytab er nøglefilen vi oprettede.

Sørg for at kontrollere driften af ​​kerberos ved hjælp af kinit, hvis det ikke virker, nytter det ikke at læse videre.

Konfiguration af Squid Authentication og Access List uden Authentication

Efter at have konfigureret kerberos med succes, vil vi fastgøre den til vores blæksprutte.

For at gøre dette skal du gå til ServicesSquid Proxy Server og i hovedindstillingerne gå helt ned i bunden, der finder vi knappen "Avancerede indstillinger".

I feltet Brugerdefinerede indstillinger (før godkendelse) skal du indtaste:

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

hvor auth_param forhandle program /usr/local/libexec/squid/negotiate_kerberos_auth - vælger den godkendelses-kerberos-hjælper, vi har brug for.

nøgle -s med mening GSS_C_NO_NAME — definerer brugen af ​​enhver konto fra nøglefilen.

nøgle -k med mening /usr/local/etc/squid/squid.keytab - bestemmer at bruge denne særlige keytab-fil. I mit tilfælde er dette den samme keytab-fil, som vi oprettede, som jeg kopierede til mappen /usr/local/etc/squid/ og omdøbte den, fordi blæksprutten ikke ønskede at være venner med den mappe, der var tilsyneladende ikke nok rettigheder.

nøgle -t med mening -t ingen - deaktiverer cykliske anmodninger til domænecontrolleren, hvilket i høj grad reducerer belastningen på den, hvis du har mere end 50 brugere.
Under testens varighed kan du også tilføje -d-tasten - dvs. diagnosticering, flere logfiler vil blive vist.
auth_param forhandle børn 1000 - bestemmer, hvor mange samtidige godkendelsesprocesser, der kan køres
auth_param forhandle keep_alive på - tillader ikke at bryde forbindelsen under polling af autorisationskæden
acl auth proxy_auth PÅKRÆVET - opretter og kræver en adgangskontrolliste, der inkluderer brugere, der har bestået autorisation
acl nonauth dstdomain "/etc/squid/nonauth.txt" - vi informerer blæksprutten om nonauth-adgangslisten, som indeholder destinationsdomæner, som alle altid vil have adgang til. Vi opretter selve filen, og inde i den indtaster vi domæner i formatet

.whatsapp.com
.whatsapp.net

Whatsapp er ikke forgæves brugt som eksempel - den er meget kræsen omkring proxyen med autentificering og vil ikke fungere, hvis det ikke er tilladt før autentificering.
http_access tillad nonaut - tillad adgang til denne liste for alle
http_adgang nægte !auth - vi forbyder adgang for uautoriserede brugere til andre websteder
http_access tillad godkendelse - tillade adgang til autoriserede brugere.
Det er det, selve blæksprutten er konfigureret, nu er det tid til at begynde at filtrere efter grupper.

Konfiguration af SquidGuard

Gå til ServicesSquidGuard Proxy Filter.

I LDAP-indstillinger indtaster vi dataene på vores konto, der bruges til kerberos-godkendelse, men i følgende format:

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

Hvis der er mellemrum eller ikke-latinske tegn, skal hele denne post være omgivet af enkelte eller dobbelte anførselstegn:

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

Dernæst skal du sørge for at markere disse felter:

Gratis proxyserver til virksomhed med domæneautorisation

For at afskære unødvendig DOMAINpfsense DOMAIN.LOCAL, som hele systemet er meget følsomt over for.

Nu går vi til Group Acl og binder vores domæneadgangsgrupper, jeg bruger simple navne som group_0, group_1 osv. op til 3, hvor 3 kun er adgang til hvidlisten, og 0 - alt er muligt.

Grupper er linket som følger:

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

gem vores gruppe, gå til Times, der har jeg oprettet et hul, der betyder at altid arbejde, gå nu til Målkategorier og opret lister efter vores skøn, efter at have oprettet listerne vender vi tilbage til vores grupper og inde i gruppen med knapper vælger vi, hvem der kan gå hvor, og hvem kan ikke hvor.

LightSquid og sqstat

Hvis vi under konfigurationsprocessen valgte en loopback i blæksprutteindstillingerne og åbnede muligheden for at få adgang til 7445 i firewallen både på vores netværk og på selve pfSense, så når vi går til Squid Proxy Reports Diagnostics, kan vi nemt åbne både sqstat og Lighsquid, til sidstnævnte skal vi Samme sted finde på brugernavn og adgangskode, og der er også mulighed for at vælge et design.

Afslutning

pfSense er et meget kraftfuldt værktøj, der kan gøre mange ting - både trafikproxy og kontrol over brugeradgang til internettet er kun en brøkdel af hele funktionaliteten, ikke desto mindre, i en virksomhed med 500 maskiner, løste dette problemet og sparede på at købe en proxy.

Jeg håber, at denne artikel vil hjælpe nogen med at løse et problem, der er ret relevant for mellemstore og store virksomheder.

Kilde: www.habr.com

Tilføj en kommentar