8 de dez. de 2011

PFsense 2.0 + Squid + Atenticação AD

[UPDATE] Testei várias vezes com o servidor W2k8 e funcionou perfeitamente!!

Agora vou fazer um passo-a-passo de configuração do PFsense para fazer controle de acesso via Squid autenticando usuários do AD (2k3) através de grupos.

Primeiro vamos acessar o WebConfigurator do PFSense:

http://ip_pfsense

Na tela de autenticação usaremos o usuário e senha padrão:

User: admin
Pwd: pfsense



Agora vamos adicionar o pacote squid ao pfsense para começarmos a configuração:

Vá ao Menu: System > Packages



Na aba "Available Packages" procure por "squid" e mande instalar clicando no ícone no canto direito



Imediatamente você será direcionado para a página do Package Installer, nele veremos o progresso da instalação do pacote squid e suas dependências:



Vamos inserir as regras para a rede LAN:



OBS.: LAN net = LAN subnet

Agora vamos no menu Services > Proxy Server:



Na aba "General" certifique que "Transparent Proxy" está desmarcada.

Considerando que seu servidor wk3 está com o IP: 192.168.0.2, a senha do usuário Administrador é "pwd1admin" e seu domínio é redeinterna.net

Na aba "Auth Settings" vamos adicionar os seguintes parâmetros:

Authentication method: LDAP

LDAP version: 3

Authentication server: 192.168.0.2

Authentication server port: 389

LDAP server user DN: cn=Administrador,cn=Users,dc=redeinterna,dc=net

LDAP password: pwd1admin

LDAP base domain: dc=redeinterna,dc=net

LDAP username DN attribute: uid

LDAP search filter: sAMAccountName=%s



Agora vamos ao único passo que tem que ser realizado via terminal, portanto vá novamente ao seu servidor PFSense e digite a opção 8 para ter acesso ao shell:



Agora vamos editar o arquivo squid.inc que é o arquivo lido pelo PFSense para aplicar as modificações que fazemos nele.

# vi /usr/local/pkg/squid.inc



Adicione as linhas na caixa logo abaixo do bloco a seguir:


auth_param basic children $processes
auth_param basic realm $prompt
auth_param basic credentialsttl $auth_ttl minutes
acl password proxy_auth REQUIRED







OBS.: Recomendo copiar e colar as linhas acima porque eu levei 1 hora pra descobrir erros de digitação na hora que eu fui adicionando essas linhas.

Agora vou mostrar rapidamente como criei os grupos e usuários no servidor wk3 considerando que o domínio redeinterna.net já foi criado.

Abra o Acitve Directory e Adicione uma OU (Unit Organization ou Unidade Organizacional) chamada Internet:



Agora entre na OU e adicione 2 grupos: Internet-Padrao e Internet-TI




Agora basta adicionar os usuários do domínio (Dentro da diretório Users):





Depois de criado o usuário basta adicioná-lo ao grupo ao qual ele pertence: TI ou Padrão



E pronto, agora é só configurar seu proxy no navegador dos clientes informando o IP do seu servidor PFSense e a porta do Squid 3128.

Lembrando que os usuários do grupo Internet-Padrao estarão sujeitos a restrição dos sites informados no arquivo bloqueado.acl.

Esse manual foi baseado integralmente no tutorial do Ricardo Pardim. Segue abaixo o link original:

16 comentários:

Anônimo disse...

Paulo Roberto, muito obrigado pelas dicas oferecidas neste tutorial, muito bem feito. Agradeço a sua ajuda para mais uma duvida com reação ao squid. Haveria a possibilidade de adicionar o squidguard para bloqueio de sites e recursos de blacklist??

Paulo Roberto disse...

Particularmente eu prefiro baixar a blacklist e aplicar na mão. Assim você pode fazer pequenas alterações no arquivo de configuração. Confesso que não cheguei a testar o squidguard mas adianto que o PFSense suporte bem. Vou dar uma testada essa semana e vejo se lanço um outro post com essa configuração!

Anônimo disse...

Paulo, obrigado pelo retorno, acho interessante o uso do squidguard, pois já o utilizei, mas sem essa integração e posso garantir que o funcionamento é excelente. Alguns usuários que antes brincava na rede em achar sites que antes passava pelo proxy foi barrado tranquilamente. Gostaria de usá-lo por este fato interessante dele e de bloquear 1.500.000 sites na web. Agradeceria se conseguisse fazer isto, estou estudando esta possibilidade, caso consiga, já posto pra você. Att.

Hugo Golembiewski disse...

Paulo Roberto,

Sobre seu comentário de baixar a blacklist na mão. Como fazer nesse caso, estou tentando integrar o squidguard com o AD mas sem sucesso. Vou usar somente o squid e aplicar as liberações de sites na mão mesmo.

Desde já agradeço

Hugo

Paulo Roberto disse...

Hugo, esse outro post explica como integrar o squidguard:

http://pauloxmachado.blogspot.com/2012/02/pfsense-20-squidguard-autenticacao-ad.html

Hugo Golembiewski disse...

Paulo, neste caso, seria melhor desinstalar o squidguard?

estou seguindo a risca o tutorial e não estou conseguindo liberar os sites listados no arquivo liberados.acl

O squid autentica o usuário, mas não reconhece os arquivos.

Já não sei onde pode ser o problema hehe.

Talvez porque eu tenha também o squidguard instalado.:/

Paulo Roberto disse...

Hugo, recomendo vc começar do zero novamente. Siga esse manual aqui que funciona com certeza, depois pode só consultar o outro pra adicionar o squidGuard. Se tiver mais dúvidas me mande por e-mail pauloxmachado@gmail.com que fica mais fácil de trocar informações.

Abç

Anônimo disse...

Prezado Paulo,

Obrigado pelo tutorial. Ele realmente funciona! Gostaria de lhe apresentar duas pequenas correções.

Onde se pede para acrescentar linhas no squid.inc alterar:

a) De: http_acess allow ldapTI
Para: http_access allow ldapTI

Nota: Faltou um "c" na palavra access.

b) De: http_acess deny all
Para: http_access deny all


Nota: Faltou um "c" na palavra access.

Seria isto, no geral está corretíssimo e bem construído.

Cordialmente,

Unknown disse...

Ola Paulo.

Fiz todo o processo e esta logando perfeitamente no AD. Porem quem ta no grupo limitado não tem acesso ao sites que coloquei na acl bloqueado, no entando o pessoal do grupo full tb não.

Anônimo disse...

Paulo, sabe como autenticar no AD Windows Server 2008 R2?

Obrigado,

Paulo Roberto disse...

É o mesmo processo. Se der falha você tenta com o usuário administrador (ou Administrator) que da certo.
Sempre cheque o log.

Unknown disse...
Este comentário foi removido pelo autor.
Unknown disse...

Instalei o pfsense aqui na empresa e esta 90% estou apenas agarrado na sincronização com os grupos do AD

Em vários posts as pessoas criam um Grupo chamado Internet na raiz do AD e depois criam os grupos dentro desta OU

Estou reestruturando todo o meu AD aqui e por isso necessitei criar uma CN chamada 1RESTRUTURA e dentro dela a pasta OU chamada INTERNET e dentro os Grupos (Ouro-Prata-Bronze)

Seguindo as orientações do post ficaria assim:
ldapusersearch ldap://10.1.0.3/DC=fasar,DC=com,DC=br?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=Bronze%2cCN=Internet%2cDC=fasar%2cDC=com%2cDC=br))

Com o meu exemplo abaixo seria assim: (esta não funcionou)
ldap://10.1.0.3/DC=fasar,DC=com,DC=br?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=Bronze%2cCN=Internet%2c CN=1RESTRUTURA%2cDC=fasar%2cDC=com%2cDC=br))

Poderia me dar uma ajuda ai?
Rosmeberg

Unknown disse...

Instalei o pfsense aqui na empresa e esta 90% estou apenas agarrado na sincronização com os grupos do AD

Em vários posts as pessoas criam um Grupo chamado Internet na raiz do AD e depois criam os grupos dentro desta OU

Estou reestruturando todo o meu AD aqui e por isso necessitei criar uma CN chamada 1RESTRUTURA e dentro dela a pasta OU chamada INTERNET e dentro os Grupos (Ouro-Prata-Bronze)

Seguindo as orientações do post ficaria assim:
ldapusersearch ldap://10.1.0.3/DC=fasar,DC=com,DC=br?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=Bronze%2cCN=Internet%2cDC=fasar%2cDC=com%2cDC=br))

Com o meu exemplo abaixo seria assim: (esta não funcionou)
ldap://10.1.0.3/DC=fasar,DC=com,DC=br?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=Bronze%2cCN=Internet%2c CN=1RESTRUTURA%2cDC=fasar%2cDC=com%2cDC=br))

Poderia me dar uma ajuda ai?

Unknown disse...

Instalei o pfsense aqui na empresa e esta 90% estou apenas agarrado na sincronização com os grupos do AD

Em vários posts as pessoas criam um Grupo chamado Internet na raiz do AD e depois criam os grupos dentro desta OU

Estou reestruturando todo o meu AD aqui e por isso necessitei criar uma CN chamada 1RESTRUTURA e dentro dela a pasta OU chamada INTERNET e dentro os Grupos (Ouro-Prata-Bronze)

Seguindo as orientações do post ficaria assim:
ldapusersearch ldap://10.1.0.3/DC=fasar,DC=com,DC=br?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=Bronze%2cCN=Internet%2cDC=fasar%2cDC=com%2cDC=br))

Com o meu exemplo abaixo seria assim: (esta não funcionou)
ldap://10.1.0.3/DC=fasar,DC=com,DC=br?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=Bronze%2cCN=Internet%2c CN=1RESTRUTURA%2cDC=fasar%2cDC=com%2cDC=br))

Poderia me dar uma ajuda ai?

Unknown disse...

Instalei o pfsense aqui na empresa e esta 90% estou apenas agarrado na sincronização com os grupos do AD

Em vários posts as pessoas criam um Grupo chamado Internet na raiz do AD e depois criam os grupos dentro desta OU

Estou reestruturando todo o meu AD aqui e por isso necessitei criar uma CN chamada 1RESTRUTURA e dentro dela a pasta OU chamada INTERNET e dentro os Grupos (Ouro-Prata-Bronze)

Seguindo as orientações do post ficaria assim:
ldapusersearch ldap://10.1.0.3/DC=fasar,DC=com,DC=br?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=Bronze%2cCN=Internet%2cDC=fasar%2cDC=com%2cDC=br))

Com o meu exemplo abaixo seria assim: (esta não funcionou)
ldap://10.1.0.3/DC=fasar,DC=com,DC=br?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=Bronze%2cCN=Internet%2c CN=1RESTRUTURA%2cDC=fasar%2cDC=com%2cDC=br))

Poderia me dar uma ajuda ai?

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Hot Sonakshi Sinha, Car Price in India