Vous êtes sur la page 1sur 5

Squid autenticado por grupos do AD (pfSense)

Este tutorial demonstra como utilizar os recursos da biblioteca squid_ldap_group para que o Squid autentique os usurios por grupos cadastrados no Active Directory. Por: Ricardo Pardim Claus 29/07/2011 ags: Squid, pfSense, Active irector!, A , openldap"client, squid#ldap#$roup, squid#ldap#aut%, squid&inc !er"o do sistema e pacotes utilizados# pfSense vers'o 2&0 RC( Squid vers'o 2&7 )indo*s 200( R2 +,iste um -u$ no squid e no openldap"client, am-os nas vers.es anteriores / 2&0 do pfSense& Caso o seu pfSense este0a em produ1'o, e n'o tem como fa2er uma nova instala1'o, dever3 primeiro resolver estes pro-lemas se$uindo estes tutoriais: %ttp://***&fu$&com&-r/content/vie*/459/77/ %ttp://***&vivaolinu,&com&-r/dica/Corri$indo"a"opcao"de" ela!"Pools"e"autenticacao"6dap"do"Squid" 2&7&5#1"no"PfSense"1&2&(Release $ases de %eferencias# %ttp://forum&pfsense&or$/ %ttp://***&squid"cac%e&or$&-r/inde,&p%p7option8com#content9tas:8vie*9id8;09<temid827 %ttp://***&c!-erciti&-i2/tips/%o*to"confi$ure"squid"ldap"aut%entication&%tml %ttp://***&papercut&com/:-/=ain/Confi$urin$SquidPro,!>oAut%enticate)it%Active irector! %ttp://forum&pfsense&or$/inde,&p%p/topic,20205&0&%tml %ttp://***&di$ipedia&pl/man/doc/vie*/squid#ldap#aut%&5 &"os a obra# Primeiramente, o squid n'o pode estar confi$urado em modo pro,! transparente& ?este modo, n'o @ possAvel nem ao menos confi$urar as op1.es de autentica1'o no *e-$ui do pfSense, 03 que pro,! transparente n'o fa2 autentica1'o& ?o Active irector!, crie uma '(, com o nome B)nternetC& ?esta DE, crie 2 $rupos B)nternet* )C, e B)nternet*$ancosC, ou qualquer nome que mais l%e a$radar& D $rupo <nternet"><, tem acesso full, sem nen%um -loqueio& F3 o internet"-ancos, ira nave$ar apenas em sites cadastrados em uma lista Glista -rancaH& ?a DE B(sersC, crie um usu3rio com qualquer nome, aqui utili2ei o usu3rio squid& efina uma sen%a para este usu3rio, e lem-re de marcar a op1'o para n'o e,pirar a sen%a deste usu3rio& ApIs concluir toda a confi$ura1'o indicada neste tutorial, vocJ poder3 criar quantos $rupos dese0ar, e se$uir com os -loqueios e li-era1'o para cada um deles& Supon%o que o seu Squid 03 este0a funcionando com os -loqueios dese0ados& Antes, @ necess3rio alterar as re$ras de fire*all, para que as esta1.es clientes se0am o-ri$adas a utili2arem o pro,! local para ter acesso a internet& ?o menu +ire,all - %ules, as re$ras devem ficar conforme ima$em a-ai,o: '$S: A re$ra importante que desa-ilitei, foi a se$unda re$ra, pois ela permite acesso total a qualquer endere1o de destino& ?ote que no final das re$ras, eu criei uma re$ra semel%ante&

Squid autenticado por grupos do AD (pfSense)

Ki$ura 1 " Re$ras de fire*all A$ora vamos as confi$ura1.es do squid& Acesse o menu Services L Pro,! Server& ?a $uia B.eneralC, desa-ilite a op1'o de B/ro0y ransparenteC& +m se$uida, acesse a $uia BAut1 SettingsC& Altere as re$ras conforme a ima$em a-ai,o:

Squid autenticado por grupos do AD (pfSense)

+igura 2 * 3onfigura4"o da guia Aut1 Settings do Squid +,plicando os valores que utili2ei, para servir como referencia: &eu dominio: dominio&com&-r Servidor AD: 10&0&0&2 (surio squid: +ste usu3rio que far3 a autentica1'o no A , para efetuar as pesquisas na -ase de dados ldap& 5ota: =uitos tutoriais e,istentes na internet, indica para utili2ar um usu3rio Administrator para pesquisar na -ase de dados ldap& =as n'o @ necess3rio que o usu3rio se0a administrador& Crie um usu3rio com um nome qualquer, sem que este se0a administrador do sistema& <sto aumenta a se$uran1a, 03 que a autentica1'o @ feita em te,to puro, sem nen%um tipo de encripta1'o& G!ide se4"o 6 estes e resultados7H ApIs efetuar as altera1.es e salvar, e inclusive o pro,! confi$urado no nave$ador da maquina cliente, o Squid 03 ira solicitar autentica1'o para nave$ar& Autentica4"o por .rupo Kalta confi$urar o squid para autenticar por $rupo, e n'o por usu3rio ou <P& 6em-rando que nen%uma altera1'o deve ser feito no arquivo squid.conf G/usr/local/etc/squid/squid&confH, como @ feito em outras distri-ui1.es linu,& +stas confi$ura1.es s'o so-re escritas sempre que o pfSense for reiniciado, ou qualquer altera1'o feita pela *e-$ui& D correto @ alterar diretamente o arquivo squid.inc&

Squid autenticado por grupos do AD (pfSense)


+ste arquivo se encontra neste diretorio: 8usr8local8p9g8squid.inc D cIdi$o $erado apIs confi$urar a autentica1'o na $uia BAut1 SettingsC do squid, ira $erar estas lin%as no squid.conf: auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -v 3 -b dc=dominio,dc=com,dc=br -D cn=squid,cn=Users,dc=dominio,dc=com,dc=br -w 1 3! -" #cn=$s# -u uid -% 1&'&'&' (3)* >odas as altera1.es que for feita no squid.inc, apIs salvar, poder3 ver no arquivo squid.conf, como esta ficando as confi$ura1.es, para efeitos did3ticos 6ocali2e estas lin%as no squid.inc: auth_param basic children +processes auth_param basic realm +prompt auth_param basic credentialsttl +auth_ttl minutes acl password prox,_auth -./U0-.D Ap:s localizar; insira estas lin1as; para que a autentica4"o se<a feita por grupo; e inclusive; ativa os bloqueios8libera4"o nos grupos dese<ados# 12U3.43052526 %6- 7-U%68 D6 2D external_acl_t,pe ldap_group children=3& $96704 /usr/local/libexec/squid/squid_ldap_group -v 3 -- -b #dc=dominio,dc=com,dc=br# -D #cn=squid,cn=Users,dc=dominio,dc=com,dc=br# -w #1 3!# -" #:;:ob<ectclass=person= :s2>2ccount4ame=$v= :membero"=cn= $a,ou=0nternet,dc=dominio,dc=com,dc=br==# -h 1&'&'&' -p 3)* 190?.-2@A6/?96/U.06 D68 7-U%68 17rupo 2cesso %adrao 2cesso 9imitado acl ldap0nternet-?ancos external ldap_group 0nternet-?ancos 17rupo 2cesso Bull 2cesso Bull acl ldap0nternet-30 external ldap_group 0nternet-30 1acl bloqueio url_regex -i #/var/squid/acl/bloqueio'acl# acl liberado url_regex -i #/var/squid/acl/liberado'acl# http_access allow ldap0nternet-30 http_access den, ldap0nternet-?ancos Cliberado ?ote que para fins de testes, eu dei,ei desa-ilitado a AC6 B-loqueioC, 03 que neste am-iente, irei utili2ar apenas 2 $rupos& Em com acesso total, e outro com acesso limitado& D $rupo )nternet*$ancos, definido na AC6 ldap)nternet*$ancos, ir3 acessar apenas os sites cadastrados no arquivo li-erado&acl GAC6 li-eradoH, comumente c%amado de Blista brancaC& =as nada impede que se0a utili2ado mais $rupos, e outros tipos de -loqueio, ficando a crit@rio de cada um& ?'o esque1a de criar os arquivos bloqueio.acl, e liberado.acl, e colocar al$umas ER6Ms no seu conteNdo& estes e resultados# Antes de alterar o pfsense da empresa onde tra-al%o, efetuei testes em ( maquinas virtuais G)inOP, pfSense 2&0 RC( e )in200( R2 Standard +ditionH& ?a P=, n'o foi necess3rio colocar um usu3rio administrador para efetuar as pesquisas no 6 AP& =as 03 no pfSense instalado na empresa, isso n'o funcionou& Assim tive que colocar o usu3rio Administrator do )in200( para pesquisar no 6 AP deste servidor& Portanto, caso n'o funcione com usu3rio comum, troque pelo usu3rio administrator, na $uia Aut% Settin$s, e tam-em na lin%a em que Be0ternal_acl_type ldap_groupC no arquivo squid.inc& ?o pfSense GempresaH, as confi$ura1.es da $uia BAut1 SettingsC do squid, foi necess3rio alterar a op1'o

Squid autenticado por grupos do AD (pfSense)


=DA/ searc1 filter, de cn>?s, para sA&Account5ame>?s, ficando assim: 2uthentication server 10.0.0.2 2uthentication server port 389 9D2% server user D4 cn=Administrator,cn=Users,dc=dominio,dc=com,dc=br 9D2% password senha 9D2% base domain dc=dominio,dc=com,dc=br 9D2% username D4 attribute uid 9D2% search "ilter sAMAccountName=%s +inalizando epois de al$umas semanas pesquisando na internet, estes foram os passos que se$ui para que o Squid do pfSense autenticasse por $rupos no Active irector!&