Anda di halaman 1dari 12

pfSense Autenticado no AD | JACK.eti.

br

1 de 12

http://www.jack.eti.br/proxy-autenticado-acls-grupos-ad/

JACK.eti.br
Informao e Contedo sobre TI
Incio
Contato
Sobre
Sorteio de 2 ingressos para o webcast IPv6: Entendendo na prtica da ConexTI Live
sflPhone: Softphone livre e de qualidade!

PFSense: Proxy autenticado e gerenciando ACLs com


base em grupos do Active Directory
Publicado em 3/08/2011 na(s) categoria(s) Network, Software Livre e Todos os Posts. 15 Comentrios
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.
Autor: Ricardo Pardim Claus (ricardodru em yahoo.com.br)
Tags: Squid, pfSense, Active Directory, AD, openldap-client, squid_ldap_group, squid_ldap_auth, squid.inc
Vero do sistema e pacotes utilizados:
pfSense verso 2.0 RC3
Squid verso 2.7
Windows 2003 R2
Existe um bug no squid e no openldap-client, ambos nas verses anteriores 2.0 do pfSense. Caso o seu pfSense esteja
em produo, e no tem como fazer uma nova instalao, dever primeiro resolver estes problemas seguindo estes
tutoriais:
http://www.fug.com.br/content/view/689/77/
http://www.vivaolinux.com.br/dica/Corrigindo-a-opcao-de-Delay-Pools-e-autenticacao-Ldap-do-Squid-2.7.8_1no-PfSense-1.2.3Release
Bases de Referencias:
http://forum.pfsense.org/
http://www.squid-cache.org.br/index.php?option=com_content&task=view&id=50&Itemid=27
http://www.cyberciti.biz/tips/howto-configure-squid-ldap-authentication.html
http://www.papercut.com/kb/Main/ConfiguringSquidProxyToAuthenticateWithActiveDirectory
http://forum.pfsense.org/index.php/topic,20208.0.html
http://www.digipedia.pl/man/doc/view/squid_ldap_auth.8
Mos a obra:
Primeiramente, o squid no pode estar configurado em modo proxy transparente. Neste modo, no possvel nem ao
menos configurar as opes de autenticao no webgui do pfSense, j que proxy transparente no faz autenticao.
No Active Directory, crie uma OU, com o nome Internet.
Nesta OU, crie 2 grupos Internet-TI, e Internet-Bancos, ou qualquer nome que mais lhe agradar.
O grupo Internet-TI, tem acesso full, sem nenhum bloqueio.
J o internet-bancos, ira navegar apenas em sites cadastrados em uma lista (lista branca).
Na OU Users, crie um usurio com qualquer nome, aqui utilizei o usurio squid.
Defina uma senha para este usurio, e lembre de marcar a opo para no expirar a senha deste usurio.

19/08/2015 17:27

pfSense Autenticado no AD | JACK.eti.br

2 de 12

http://www.jack.eti.br/proxy-autenticado-acls-grupos-ad/

Aps concluir toda a configurao indicada neste tutorial, voc poder criar quantos grupos desejar, e seguir com os
bloqueios e liberao para cada um deles.
Suponho que o seu Squid j esteja funcionando com os bloqueios desejados.
Antes, necessrio alterar as regras de firewall, para que as estaes clientes sejam obrigadas a utilizarem o proxy local
para ter acesso a internet.
No menu Firewall > Rules, as regras devem ficar conforme imagem abaixo:
OBS: A regra importante que desabilitei, foi a segunda regra, pois ela permite acesso total a qualquer endereo de
destino. Note que no final das regras, eu criei uma regra semelhante.

Figura 1 Regras de firewall


Agora vamos as configuraes do squid.
Acesse o menu Services > Proxy Server.
Na guia General, desabilite a opo de Proxy Transparente.
Em seguida, acesse a guia Auth Settings.
Altere as regras conforme a imagem abaixo:

Figura 2 Configurao da guia Auth Settings


do Squid
Explicando os valores que utilizei, para servir como referencia:
Meu dominio: dominio.com.br

19/08/2015 17:27

pfSense Autenticado no AD | JACK.eti.br

3 de 12

http://www.jack.eti.br/proxy-autenticado-acls-grupos-ad/

Servidor AD: 10.0.0.2


Usurio: squid (Este usurio que far a autenticao no AD, para efetuar as pesquisas na base de dados ldap).
Nota: Muitos tutoriais existentes na internet, indica para utilizar um usurio Administrator para pesquisar na base de
dados ldap. Mas no necessrio que o usurio seja administrador. Crie um usurio com um nome qualquer, sem que este
seja administrador do sistema. Isto aumenta a segurana, j que a autenticao feita em texto puro, sem nenhum tipo de
encriptao. (Vide seo Testes e resultados)
Aps efetuar as alteraes e salvar, e inclusive o proxy configurado no navegador da maquina cliente, o Squid j ira
solicitar autenticao para navegar.
Autenticao por Grupo
Falta configurar o squid para autenticar por grupo, e no por usurio ou IP.
Lembrando que nenhuma alterao deve ser feito no arquivo squid.conf (/usr/local/etc/squid/squid.conf), como feito
em outras distribuies linux.
Estas configuraes so sobre escritas sempre que o pfSense for reiniciado, ou qualquer alterao feita pela webgui.
O correto alterar diretamente o arquivo squid.inc.
Este arquivo se encontra neste diretorio: /usr/local/pkg/squid.inc
O cdigo gerado aps configurar a autenticao na guia Auth Settings do squid, ira gerar estas linhas 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 1234 -f cn=%s -u uid -P 10.0.0.2:389
Todas as alteraes que for feita no squid.inc, aps salvar, poder ver no arquivo squid.conf, como esta ficando as
configuraes, para efeitos didticos
Localize estas linhas no squid.inc:
auth_param basic children $processes
auth_param basic realm $prompt
auth_param basic credentialsttl $auth_ttl minutes
acl password proxy_auth REQUIRED
Aps localizar, insira estas linhas, para que a autenticao seja feita por grupo, e inclusive, ativa os
bloqueios/liberao nos grupos desejados:
#AUTENTICACAO POR GRUPOS DO AD
external_acl_type ldap_group children=30 %LOGIN /usr/local/libexec/squid/squid_ldap_group -v 3 -R -b
dc=dominio,dc=com,dc=br -D cn=squid,cn=Users,dc=dominio,dc=com,dc=br -w 1234 -f
(&(objectclass=person) (sAMAccountName=%v) (memberof=cn=%a,ou=Internet,dc=dominio,dc=com,dc=br)) -h
10.0.0.2 -p 389
#LIBERAO/BLOQUEIO DOS GRUPOS
#Grupo Acesso Padrao Acesso Limitado
acl ldapInternet-Bancos external ldap_group Internet-Bancos
#Grupo Acesso Full Acesso Full
acl ldapInternet-TI external ldap_group Internet-TI
#acl bloqueio url_regex -i /var/squid/acl/bloqueio.acl
acl liberado url_regex -i /var/squid/acl/liberado.acl
http_access allow ldapInternet-TI
http_access deny ldapInternet-Bancos !liberado
Note que para fins de testes, eu deixei desabilitado a ACL bloqueio, j que neste ambiente, irei utilizar apenas 2 grupos.
Um com acesso total, e outro com acesso limitado.
O grupo Internet-Bancos, definido na ACL ldapInternet-Bancos, ir acessar apenas os sites cadastrados no arquivo
liberado.acl (ACL liberado), comumente chamado de lista branca.
Mas nada impede que seja utilizado mais grupos, e outros tipos de bloqueio, ficando a critrio de cada um.

19/08/2015 17:27

pfSense Autenticado no AD | JACK.eti.br

4 de 12

http://www.jack.eti.br/proxy-autenticado-acls-grupos-ad/

No esquea de criar os arquivos bloqueio.acl, e liberado.acl, e colocar algumas URLs no seu contedo.
Testes e resultados:
Antes de alterar o pfsense da empresa onde trabalho, efetuei testes em 3 maquinas virtuais (WinXP, pfSense 2.0 RC3 e
Win2003 R2 Standard Edition).
Na VM, no foi necessrio colocar um usurio administrador para efetuar as pesquisas no LDAP. Mas j no pfSense
instalado na empresa, isso no funcionou. Assim tive que colocar o usurio Administrator do Win2003 para pesquisar no
LDAP deste servidor. Portanto, caso no funcione com usurio comum, troque pelo usurio administrator, na guia Auth
Settings, e tambem na linha em que external_acl_type ldap_group no arquivo squid.inc.
No pfSense (empresa), as configuraes da guia Auth Settings do squid, foi necessrio alterar a opo LDAP search
filter, de cn=%s, para sAMAccountName=%s, ficando assim:
Authentication server
10.0.0.2
Authentication server port
389
LDAP server user DN
cn=Administrator,cn=Users,dc=dominio,dc=com,dc=br
LDAP password
senha
LDAP base domain
dc=dominio,dc=com,dc=br
LDAP username DN attribute
uid
LDAP search filter
sAMAccountName=%s
Finalizando:
Depois de algumas semanas pesquisando na internet, estes foram os passos que segui para que o Squid do pfSense
autenticasse por grupos no Active Directory.

Atualizao 11/01/2012: Acaba de ser publicado, pelo colega de frum Zeon, um tutorial mais atualizado explicando
como fazer seu pfSense autenticar (atravs de uma conta pr-definida) diretamente no seu servidor MS Active Directory.
O texto bem didtico e merece uma leitura atenta.
Like

Tweet

Jack
Jackson Laskoski Especialista em Administrao de Redes de Computadores e em Informtica
Aplicada ao Ambiente Empresarial. Atualmente professor universitrio, diretor tcnico da ConexTI e
diretor executivo do Sys Squad. palestrante e membro atuante de vrios grupos de usurios e projetos
de tecnologia.

15 Respostas a PFSense: Proxy autenticado e gerenciando ACLs com base em grupos do Active Directory
Feed para esta Entrada

19/08/2015 17:27

pfSense Autenticado no AD | JACK.eti.br

5 de 12

http://www.jack.eti.br/proxy-autenticado-acls-grupos-ad/

Hugo
9/02/2012 a 09:57
Amigo, timo tutorial!
Possuo um nvel bem bsico no pfsense e mais ainda em sistemas linux. Estou com uma dvida bem bsica, como
inserir estas linhas usando vi? Tem como instalar o nano no pfsense?
Sds,
Responder
Jack
9/02/2012 a 10:43
Hugo,
Voc pode editar os arquivos de configurao com o vi ou qualquer outro editor de textos que possua verso para o
FreeBSD 8.1.
Um simples comando: pkg_add -r nano j faz este trabalho pra voc. Aqui voc estaria instalando o editor nano
diretamente dos ports do sistema operacional.
Abraos!
Jack
Responder
Hugo
10/02/2012 a 14:14
Legal Jack, vou fazer isso no pfsense via shell.
Obrigado!
Outra dvida sobre este tutorial: nas linhas abaixo, voc coloca duas ACLs com arquivos onde vc cadastras os
sites. (liberado e bloqueio). Sei que estamos falando apenas de squid, mas voc j tentou usar estas configuraes
usando o squidguard?
#LIBERAO/BLOQUEIO DOS GRUPOS
#Grupo Acesso Padrao Acesso Limitado
acl ldapInternet-Bancos external ldap_group Internet-Bancos
#Grupo Acesso Full Acesso Full
acl ldapInternet-TI external ldap_group Internet-TI
#acl bloqueio url_regex -i /var/squid/acl/bloqueio.acl
acl liberado url_regex -i /var/squid/acl/liberado.acl
http_access allow ldapInternet-TI
http_access deny ldapInternet-Bancos !liberado
Abrao,
Responder
Hugo
12/02/2012 a 11:43
Jack,
Tentei fazer como vc disse, mas o erro abaixo aparece. Pergunto: tem algum outro procedimento pra atualizar a
lista de pacotes antes?

19/08/2015 17:27

pfSense Autenticado no AD | JACK.eti.br

6 de 12

http://www.jack.eti.br/proxy-autenticado-acls-grupos-ad/

$ pkg_add -r nano
Error: Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/nano.tbz: File
unavailable (e.g., file not found, no access)
Outra dvida:
Existe outra maneira de editar as linhas do arquivo sem utilizar editores via shell?
Vi que no pfsense tem uma aba > diagnostic > edit file. Os arquivos podem ser editados por l?
Estou tentando fazer tudo isso, pra autenticar os grupos do AD com o squidguard.
No meu caso eu uso Windows 2k8R2 e o pfsense 2.01. Para isso fiz:
1- Coloquei as informaes do meu domnio na autenticao do squid ok
2- crieis 02 grupos do AD: ok
grp_net_standard com acesso padro
grp_net_full com acesso full
3- necessrio criar 02 grupos no squidguard da mesma forma que foram criados no AD ok
4- Agora tenho que editar esse arquivo na mo para funcionar, essa a parte que estou travado
Sou novato em pfsense e tambm em linux:
Por isso tantas dvidas, desculpe minha ignorncia ok!
Hugo
Responder
Jack
21/02/2012 a 12:41
Hugo,
Sobre instalao de pacotes no FreeBSD, comece suas leituras por aqui: http://doc.fug.com.br/handbook/ports.html
Sobre a edio dos arquivos textos, voc pode usar tambm o vi (igualzinho como acontece no Linux e outros
Unix/Like).
Abraos!
Jack
Responder
Luciano
28/02/2012 a 23:19
Caro Jack,
O meu cenrio atual seria.
* pfSense verso 2.0.1
* Squid verso 2.7.9
* Windows 2008 R2
O que mudaria? Segui o manual criteriosamente mas ele continua pedindo autenticao, como se a senha estive-se
errada.
Responder
Jack
29/02/2012 a 11:30

19/08/2015 17:27

pfSense Autenticado no AD | JACK.eti.br

7 de 12

http://www.jack.eti.br/proxy-autenticado-acls-grupos-ad/

Luciano,
Aparentemente voc esqueceu de informar algo no squid.inc ou est com algum tipo de inconsistncia na
configurao do seu AD. importante lembrar que ter o Windows 2008 Server no sinnimo de ter um
Active Directory ativo. Leia este outro tutorial mais ilustrativo: http://forum.pfsense.org/index.php
/topic,44689.0/topicseen.html
Outra dica verificar os logs do Squid pra ter mais informaes sobre o erro que vem ocorrendo. Isso voc
pode fazer via console texto do pfSense:
# tail -f /var/squid/logs/access.log
Abraos!
Jack
Responder
Luciano
1/03/2012 a 12:16
Vou seguir suas instrues e assim que possvel eu retorno.
Desde j agradeo sua ateno.
Responder
Rafael Dzin
12/09/2012 a 10:56
Caro Jack,
O meu cenrio atual seria.
* pfSense verso 2.0.1
* Squid verso 2.7.9
* Windows 2008 R2
O que mudaria? Segui o manual criteriosamente mas ele continua pedindo autenticao, como se a senha estive-se
errada.
Existe hoje em dia alguem conseguindo rodar o PFsense baseado em grupos do Server 2008 eu digo isso pois no
WIndows Server 2008 foi adotada algumas medidas de segurana no protocolo LDAP ento trazendo transtorno
na forma de programas terceiros autenticar-se no AD 2008 Se atualmente funciona as regras por grupos do AD
gostaria de um manual passo a passo pois ja segui varios da internet e nenhum funciona lembrando que estou
utilizando o VirtualBox para o experimento.. no Aguardo por uma resposta! Grato!
Responder
Claudio Geasy
11/12/2012 a 18:27
Opa Jack, cara show os passos do tutorial, porm no consigo autenticar meus usurios criados no AD. O prompt
do navegador sempre volta como se tivesse errado a senha.
Meu cenrio atual tambm seria:
* pfSense verso 2.0.1
* Squid verso 2.7.9
* Windows 2008 R2
H possibilidade de os parmetros de LDAP serem diferentes devido ao fatos dos Windows servers serem 2003 R2
e 2008 R2?

19/08/2015 17:27

pfSense Autenticado no AD | JACK.eti.br

8 de 12

http://www.jack.eti.br/proxy-autenticado-acls-grupos-ad/

Teria a possibilidade de aumentar a sensibilidade dos logs de autenticao?


Desde j agradeo pelo esforo em fazer o tutorial e aguardo uma resposta assim que possvel.
Grande Abrao!
Responder
Marcos Cavaco
22/02/2013 a 14:37
Boa tarde!
Apos seguir os passos do tutorial cheguei ao seguinte ponto e nao estou conseguindo desenrrolar por nada, meu
squid nao esta conseguindo buscar os usurios no AD.
Estou executando um tail -f /var/squid/logs/cache.log para poder validar os erros e ele esta me retornando a
seguinte mensagem;
squid_ldap_auth: WARNING, LDAP search error Operations error
Alguem ja passou por isso ? Estou pesquisando na NET a um certo tempo e infelizmente nao obtenho nenhuma
resposta positiva..
Poderiam me ajudar ?
Responder
Kleber
7/03/2013 a 09:49
Galera, como fao para usar o SquidGuard ao invs de deixar a ACL no squid?
Preciso fazer a ACL do SquidGuard pelos Grupos do AD, mas no quero criar os arquivos de usurios no
SquidGuard e sim fazer a ACL liberar ou bloquear dependendo do grupo do AD que o usurio faz parte.
Algum pode me ajudar?
Responder
Tiago Sanches - kblokill
14/05/2015 a 10:55
Uma dvida, na linha:
external_acl_type ldap_group children=30 %LOGIN /usr/local/libexec/squid/squid_ldap_group
o nome squid voc se refere ao usurio criado em Users no AD?
E na linha:
cn=squid,cn=Users,dc=dominio,dc=com,dc=br -w 1234
o nmero 1234 a senha?
Obrigado
Responder
Douglas
2/07/2015 a 18:44
Este tutorial ainda vlido? Tipo, funciona para verses mais recentes como a 2.1.5 do pfSense?

19/08/2015 17:27

pfSense Autenticado no AD | JACK.eti.br

9 de 12

http://www.jack.eti.br/proxy-autenticado-acls-grupos-ad/

Responder
Igor Motta
8/07/2015 a 17:55
Jack,
Tenho aqui um firewall de borda e um proxy separado fazendo autenticao ntlm funcionando.
Quero comear a broquear e liberar os usurios conformes os grupos no AD. Essa soluo que voc postou serve
para meu caso?
Hoje uso pfsense 2.2.2 64bit.
Valeu pelo artigo e obrigado desde j.
Responder
Sorteio de 2 ingressos para o webcast IPv6: Entendendo na prtica da ConexTI Live
sflPhone: Softphone livre e de qualidade!
Deixar uma Resposta
Nome (obrigatrio)
Mail (no ser publicado) (obrigatrio)
Website

CAPTCHA Code *

Sorteio de 2 ingressos para o webcast IPv6: Entendendo na prtica da ConexTI Live


sflPhone: Softphone livre e de qualidade!
Pesquisar no blog
Pesquisar por:
Siga-me!
Sees
Artigos Diversos
Aulas
Banco de Dados
Blog
Engenhocas

19/08/2015 17:27

pfSense Autenticado no AD | JACK.eti.br

10 de 12

http://www.jack.eti.br/proxy-autenticado-acls-grupos-ad/

Eventos
FreeBSD
Games
Linux
Mercado
Network
Programao
Promoes
Sorteio Livro Smartphones
Sorteio Mochila Targus
Segurana da Informao
Sociedade Digital
Software Livre
Todos os Posts
Vagas de Emprego
Windows
Anteriores:
Anteriores:
Downloads
Exemplos programao
Modelo de Artigo Cientfico
Instituies de Ensino
CNEC Concrdia/SC
FAE/RS
FUnC
SENAI/SC
UCEFF Faculdades
Links - Programao
Apostila Lgica Programao
Apostila PHPMyAdmin
Apostila POO
Apostila SQL Avanado
Apostila SQL Bsico
Apostilas Visual Basic
Cdigos em VB
Clube Delphi
Curso de "C" da UFMG
Curso HTML UFPEL
Curso Python
Curso: POO com JAVA
fechaTag
GUJ: Grupo de Usurios Java
JavaFree
Linha de Cdigo
Livro Gratuito sobre C
Macoratti.net VB
Manual do PHP
PHP Brasil
Planeta Delphi
Python Brasil

19/08/2015 17:27

pfSense Autenticado no AD | JACK.eti.br

11 de 12

http://www.jack.eti.br/proxy-autenticado-acls-grupos-ad/

Referncia oficial JAVA


Tutorial JavaScript
Wiki Julio C. Neves
Links - Software Livre
Br-Linux.org
CDTC Cursos Online
Dicas-L
Free Software Foundation
Guia do Hardware
Guia Foca GNU/Linux
HandBook FreeBSD
Kernel Linux
Linux Security
LinuxChix
LivreOffice para Leigos
Notcias Linux
Projeto GNU
PSL Brasil
Viva o Linux
Links Diversos
Apple Tuga
Brasil na Web
Conversa Digital
Dicionrio Tcnico
Explorando e Aprendendo
FireBase
Garota Sem Fio
Gerador FavIcon
MeioBit
Momento Retro
Projeto Redes
TechGuru
Tecnomodo
WebSite Jlio Battisti
Listas e Fruns
Frum CDH
Frum GDH
Frum GUJ
Frum pfSense
Frum Under-Linux
OeSC-Livre
PHPSC
TchLinux
ltimos comentrios
Bielan em Limpando todos os objetos TextBox do formulrio em VB6: Funes Pblicas
Adauto Serpa em Configurao DNS em modo split com master e slave
Mauro Aquino em Saiu o pfSense 2.2: Atualize com cuidado!
Mauro Aquino em Saiu o pfSense 2.2: Atualize com cuidado!
Igor Motta em PFSense: Proxy autenticado e gerenciando ACLs com base em grupos do Active Directory
Douglas em PFSense: Proxy autenticado e gerenciando ACLs com base em grupos do Active Directory

19/08/2015 17:27

pfSense Autenticado no AD | JACK.eti.br

12 de 12

http://www.jack.eti.br/proxy-autenticado-acls-grupos-ad/

Marcio em Administrando o PostgreSQL com o pgAdmin


Clesio em Que tal ganhar 25mil pelo seu Nokia velho?
Angelo Alves em Administrando o PostgreSQL com o pgAdmin
Nathan em Administrando o PostgreSQL com o pgAdmin

Os direitos autorais de todas as ilustraes pertencem aos respectivos autores, e elas so reproduzidas na inteno de
atender ao disposto no art. 46 da Lei 9.610.
se ainda assim alguma delas infringe direito seu, entre em contato para que possamos remov-la imediatamente.
Feed de Entradas e Feed de Comentrios
57 queries. 0,394 seconds.
Desde 2006 http://www.jack.eti.br

19/08/2015 17:27

Anda mungkin juga menyukai