Вы находитесь на странице: 1из 14

pfSense + Squid + SquidGuard +

Autenticao Transparente
Este tutorial resultado de uma extensa pesquisa que fiz para implementar o pfSense + Squid + SquidGuard + Autenticao
Transparente aqui na empresa. Obtive xito com estes passos. No recomendo fazer diretamente no ambiente de produo,
assim como no dou garantida de que o patch do nosso amigo Luiz Gustavo estar l para sempre. No sei que rumo tomar
este projeto. Talvez em breve tudo seja via GUI num pacote automatizado. Mas funcionando uma beleza

Informaes do Ambiente:
Ambiente: Windows Server 2008 R2
IP AD: 192.168.0.10
DOMNIO: meudominio.net
Nome da maquina pfsense: srvfw01
Usurio utilizado para conectar squid+ad: squidguard | squidguard855

1 Criar um usurio no AD!

De preferncia na OU Users para evitar erros de endereamento LDAP. No utilizar caracteres especiais na conta e senha.

2 Adicionar o DNS FORWARDER para o IP do Active Directory e colocar o AD como servidor de DNS
secundrio
Para que o pfsense consiga resolver o nome do servidor AD.
Services->DNS Forwarder->Hosts Overrides

Para que o pfSense consiga resolver os nomes que esto configurados no AD. (Dica do Luis Gustavo & Fabio Augusto)
System->General Setup

3 Instalar o pacote do squid 2.7 e squidguard-dev


No testei com squid3.

4 Aplicar o patch do Luiz Gustavo que instalar o samba3 e modificar algumas opes no squid.

Pode ser aplicado via execuo de comando (Diagnostics: Execute command), no entanto eu recomendo utilizar o ssh para ter
um maior controle e flexibilidade da sada dos comandos. Para habilitar, v em System->Advanced

5 Feito isso, logue com a conta de root atravs de um cliente SSH, v na opo 8 (Shell) e cole o seguinte
comando.
1 $ fetch -o - -q ftp://intranet.triadesistemas.com.br/bkpclientes/triade/pfsense/samba.sh | sh
Obs. Caso no esteja funcionando existe uma cpia de todos os arquivos em https://onedrive.live.com/redir?
resid=8a09747c96bb1072!1960&authkey=!AMXns7sgt-pVjmQ&ithint=folder%2cdocx
Caso seja perguntado se tem certeza em aplicar os patchs, responda y!

Este arquivo est hospedado no dev2infra por que fiz uma alterao nos links quebrados que estavam no do Luiz Gustavo.
Espero que ele no se importe.
Feito isso, vamos avanar para configurar.

6 Configurar as opes do Samba AD, aps a instalao do patch

IMPORTANTE: Verificar se o horrio e data do pfsense est igual ao do AD, caso no esteja, ajuste.

Clicar em salvar e monitorar a entrada do pfSense na OU Computers no AD. O pfsense tem que aparecer l.
Neste patch do nosso amigo Luiz Gustavo, ao clicar em salvar, a tela fica em loop, no entanto a configurao feita. Pode
avanar para outra tela quando perceber que o pfsense j apareceu no AD.

7 Novamente via SSH, fazer as seguintes alteraes nos seguintes arquivos.


7.1 Adicionar manualmente a configurao adicional no smb.conf

Faz com que ele sempre procure o mesmo servidor do AD no caso de existir um secundrio na rede.

1 $ vi /usr/local/etc/smb.conf
1

password server = 192.168.0.10

:x! para sair e salvar forado.

Seu smb.conf deve ficar mais ou menos assim.

7.2 Adicionar manualmente a configurao adicional do Kerberos.


Adicionar no final do arquivo

1 $ vi /etc/krb5.conf

1 [realms]
2
3
MEUDOMINIO.NET = {
4
5
kdc = serverad01.meudominio.net
6
7
admin_server = serverad01.meudominio.net
8
9
default_domain = meudominio.net
10
11
}
12
13 [domain_realm]
14
15
.meudominio.net = MEUDOMINIO.NET
16
17
meudominio.net = MEUDOMINIO.NET

:x! para sair e salvar forado.

8 Realizar teste para saber se tudo est correto


1
1
2
3
4
5

$ net ads info


LDAP server: 192.168.0.10
LDAP server name: SERVERAD01.MEUDOMINIO.NET
Realm: MEUDOMINIO.NET
Bind Path: dc=MEUDOMINIO,dc=NET
LDAP port: 389

6 Server time: Wed, 24 Sep 2014 13:57:39 BRT


7 KDC server: 192.168.0.10
8 Server time offset: 0

Tem que mostrar as informaes da conexo com o AD


Caso no aparea, remova a conta de mquina no AD, aquela que apareceu l em computers, reinicie o SAMBA e tente
adicionar manualmente com o comando:
1 $ net ads join meudominio.net -U squidguard@meudominio.net

Digite a senha e olhe se a conta de mquina ir aparecer novamente.

9 Feito isso. Podemos fazer os testes e ver se j reconhece os usurios e grupos.


1 $ wbinfo -u

Tem que listar todos os usurios do AD

1 $ wbinfo -g

Tem que listar todos os grupos do AD


Caso no esteja trazendo, reiniciar o servio samba

1 $ /usr/local/etc/rc.d/samba stop
2 $ /usr/local/etc/rc.d/samba start

At aqui configuramos o pfsense como membro do domnio em um AD2008 e verificamos que ele trs os usurios atravs do
winbind. Vamos partir para configurao do squid e squidguard.

10 Configuraes do Squid

Se o patch foi instalado corretamente, ir aparecer uma opo nova no squid.

Configurar estas opes

Feito isso. Reiniciar o servio do squid e fazer um teste em uma maquina que estiver no domnio.

10.1 Configurar o proxy na maquina cliente, reiniciar o navegador.


Se ocorreu tudo bem no ser exibido o popup de autenticao.

11 Configurar o Squidguard e os Filtros pelos grupos do AD.


A parte mais interessante e funcional da histria!!

11.1 Configurar blacklists

Em Services->Proxy filter->Blacklist
Colocar o endereo http://www.shallalist.de/Downloads/shallalist.tar.gz e fazer o download.

12 Em General Settings, habilitar o filtro por LDAP, desmarcar as opes Strip NT domain name e Strip
Kerberos Realm

LDAP DN cn=squidguard,cn=Users,dc=meudominio,dc=net
Salva as configuraes e aplica.
Por default o squidguard j deixa tudo negando em Commom ACL. interessante fazer um teste neste momento para ter
certeza que o squidguard est funcionando corretamente. Se tudo der certo, ir aparecer a tela de bloquio j com o nome do
usurio. Neste momento interessante que seja monitorado o log do squidguard e squid, para que qualquer erro seja
conhecido e as providencias sejam tomadas.

/var/log/squidGuard.log
1
/var/squid/logs/access.log
2

13 Sem problemas at aqui? Agora vamos configurar as ACLS

Os grupos tem que ter o mesmo nome do AD. Lembrar de adicionar os usurios nos grupos! Quem vai fazer o bloqueio no
o SQUID e sim o SQUIDGUARD. O squid apenas ir autenticar o usurio.
internetTotal
internetPadrao

13.1 Em GroupACL, adicionar nova ACL com as seguintes configuraes.


Reparem que eu tenho uma OU chamada Grupos na raiz do meu AD.
Ento o filtro deve ficar assim:

ldapusersearch "ldap://192.168.0.10/DC=meudominio,DC=net?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=internetPadrao
%2cOU=Grupos%2cDC=meudominio%2cDC=net))"

13.2 Em target Rules configurar algumas blacklists existentes ou alguma customizada que voc tenha
criado. No vou abordar isto aqui agora.

Salvar as configuraes e aplicar. Para a internetTotal, apenas criamos a ACL e damos um Allow em Default Access.

Feito isso, aps ter adicionado o usurio no grupo internetPadrao, testar a navegao e acessar um site que esteja na
lista de bloqueio da ACL criada.
Se tudo ocorreu bem!! Voala! Misso cumprida, se ocorreram erros, postem aqui!
No esqueam de fazer um backup das configuraes caso tudo funcione!

Вам также может понравиться