Servidor proxy autenticado (Squid + DansGuardian + OpenLDAP)

Este artigo ensina a implementar um servidor proxy com autenticação LDAP no Linux. O Squid trabalhará propriamente com cache e autenticação, enquanto que a política de acesso será feita pelo DansGuardian.

[ Hits: 120.588 ]

Por: Gustavo Hendrigo Marcon em 24/10/2008


Instalação e configuração do DansGuardian



Atualmente o DansGuardian é um produto semi-comercial, ele tem código aberto e gratuito para uso pessoal ou para qualquer fim não comercial (que pode ser usado em uma escola ou escritório, desde que implementado internamente), mas é pago para uso comercial, quando você cobra pelo serviço de implantação.

Detalhes no site oficial do DansGuardian.

Vamos a instalação:

# apt-get install dansguardian

O principal arquivo de configuração do DansGuardian é o dansguardian.conf, vamos editá-lo:

# vim /etc/dansguardian/dansguardian.conf

Ao editá-lo na primeira vez é importante verificar a linha:

#UNCONFIGURED

Esta linha deve ficar comentada, senão o DansGuardian vai entender que você ainda não o configurou.

language='portuguese'

Esta opção configura a língua em que as mensagens de acesso bloqueado serão mostradas aos clientes.

loglocation='/var/log/dansguardian/access.log'

Aqui fica a localização do arquivo de log do DansGuardian, onde ficam armazenados os endereços das páginas cujo acesso foi bloqueado.

filterport=8080

A porta onde o DansGuardian fica ativo. Ele sempre deve utilizar uma porta diferente do Squid, pois são duas coisas separadas. O padrão é a porta 8080.

proxyip=127.0.0.1

O endereço ip do servidor proxy que será usado por padrão, ele vai utilizar uma cópia ativa na mesma máquina, mas é possível utilizar outro servidor Squid disponível na rede.

proxyport=3128

A porta TCP onde o servidor Squid especificado na opção acima está ativo.

naughtynesslimit=160

Traduzindo, "índice de sem-vergonhice", quanto mais baixo o número, mais severa é a censura.

Quanto mais baixo o número, mais severa é a censura, porém mais páginas boas acabam sendo bloqueadas por engano (falsos positivos). Os valores recomendados pelos desenvolvedores são "60" para crianças pequenas, "100" para pré-adolescentes e "160" para adolescentes. Para um público adulto, onde a principal preocupação seja não bloquear páginas úteis, mesmo que isso faça com que uma ou outra página inadequada passe pelo filtro de vez em quando, você pode arriscar "200" ou mesmo "240".

Como você pode notar, dando uma olhada no conteúdo dos arquivos das listas de palavras, o DansGuardian vem configurado com listas em inglês, que deixam passar muitos sites nacionais. Você pode baixar um arquivo com listas em outras línguas, incluindo português em:

Download DansGuardian languages.tar.gz

Para instalar, descompacte o arquivo "languages.tar.gz" e copie os arquivos de dentro da pasta "languages" que será criada para a pasta "/etc/dansguardian/phraselist/". Falta agora configurar o DansGuardian para utilizar os novos arquivos. Para isso, abra o arquivo /etc/dansguardian/weightedphraselist e adicione as linhas:

.Include</etc/squid/dansguardian/languages/weightedphraselist.pornsites.portuguese>
.Include</etc/squid/dansguardian/languages/weightedphraselist.pornwords.portuguese>

Antes de usar estas listas de palavras, verifique o conteúdo dos arquivos. As listas de palavras em português são excessivamente rigorosas, o que faz com que seja bloqueado o acesso a um número muito grande de sites "bons", mesmo ao usar um naughtynesslimit alto. Use-os com cautela.

Aparentemente os arquivos disponíveis no site foram escritos por um estrangeiro, por isso não se adaptam bem a nossa realidade. Se decidir corrigir os arquivos, não deixe de enviá-los para os mantenedores para que sejam incluídos no pacote.

Note que na configuração são especificados todos os arquivos de palavras que são utilizados. Na pasta existem várias categorias diferentes e, em algumas situações, você pode querer desabilitar algumas delas, a fim de flexibilizar o filtro. Você pode adicionar novas palavras ou editar o peso de cada uma editando diretamente os arquivos.

Concluindo, abra também o arquivo /etc/dansguardian/bannedphraselist e inclua a linha:

.Include</etc/squid/dansguardian/languages/bannedphraselist.portuguese>

No final do arquivo, na linha: virusengine = 'clamav', altere para:

virusengine = 'clamscan'

Página anterior     Próxima página

Páginas do artigo
   1. Instalação e configuração do Squid
   2. Acertando a configuração com o LDAP
   3. Instalação e configuração do DansGuardian
   4. DansGuardian: Acertando e conhecendo mais arquivos de configuração
Outros artigos deste autor

Configuração: Servidor de nomes slave com Bind9 no Debian 4.0

Bind9 + Debian Linux 4.0: Configuração de um servidor de nomes interno

Adicionando baterias automotivas extras em nobreaks

PhpDansAdmin, protótipo de ferramenta web para administração do DansGuardian

DansGuardian versões 2.9.3.0 e superiores em Debian 5.01

Leitura recomendada

Adicionando pacotes do SuSE 9 via WEB

Montando um Servidor de FTP

Slackware no notebook Toshiba Satellite M55-S3262

Apache2, PHP5, MySQL5 e PhpMyAdmin com certificação SSL no Debian Etch

Ubuntu 10.04 OpenLDAP NFS QUOTA

  
Comentários
[1] Comentário enviado por removido em 24/10/2008 - 12:52h

Legal, bom ARTIGO!

flw

[2] Comentário enviado por valtinho em 24/10/2008 - 15:54h

Ai hendrigo, blz? Fiz os procedimentos mas quando vou reiniciar o serviço do dansguardia esta dando alguns erros que não sei o que eh:

Restarting DansGuardian: Restarting DansGuardian: :Error reading file (does it exist?): /etc/squid/dansguardian/languages/weightedphraselist.pornsites.portuguese
Error opening weightedphraselist
Error opening filter list:/etc/dansguardian/dansguardianf1.conf
Error reading filter group conf file(s).
Error parsing the dansguardian.conf file or other DansGuardian configuration files
failed!


Me desculpe a ignorancia mas eh que sou novato em linux... o que poderia ser?

[3] Comentário enviado por hendrigo em 24/10/2008 - 16:00h

Verifique se existe o arquivo:
/etc/squid/dansguardian/languages/weightedphraselist geralmente ele fica em /etc/dansguardian/languages/ se for no Debian por ex:

[4] Comentário enviado por valtinho em 24/10/2008 - 16:13h

Eu estou usando o Debian Sarg 4.0 e o arquivo esta em /etc/dansguardian/weightedphraselist

Descomentei as linhas

.Include</etc/squid/dansguardian/languages/weightedphraselist.pornsites.portuguese>
.Include</etc/squid/dansguardian/languages/weightedphraselist.pornwords.portuguese>

e funcionou...

Mas essas linhas é onde seta para as listas em portugues correto?

nao teria que ficar assim: .Include</etc/squid/dansguardian/languages/portuguese

?

[5] Comentário enviado por hendrigo em 24/10/2008 - 16:21h

No meu está assim: dentro de /etc/dansguardian/phraselists/pornography/weighted_portuguese fica as palavras que e suas pontuações.

.Include</etc/dansguardian/phraselists/pornography/weighted_portuguese>

não se esqueça para os outros bloqueios, baixar uma blacklist e descompactá-la dentro de /etc/dansguardian
http://urlblacklist.com/cgi-bin/commercialdownload.pl?type=download&file=bigblacklist

[6] Comentário enviado por comfaa em 28/10/2008 - 12:23h

boa dica

[7] Comentário enviado por nariz em 21/12/2008 - 00:14h

ótimo artigo hendrigo
parabéns

[8] Comentário enviado por elderjmp em 21/01/2009 - 08:55h

Gustavo... blz?
Estou tendo um problema com o squid autenticado... ele autentica no ldap somente se a senha estiver em texto plano. No meu ldap a senha está criptografada.

auth_param digest program /usr/lib/squid3/digest_ldap_auth -b "dc=empresa,dc=com,dc=br" -F "uid=%s" -e -A userPassword -D "cn=admin,dc=empresa,dc=com,dc=br" -w "senha" -p 389 -v 3 -h 192.168.0.107

Então estou usando ele para autenticar da seguinte forma:
auth_param basic program /usr/lib/squid3/smb_auth -W DOMINIO

O problema que tenho é que do navegador cliente até o squid a senha trafega em modo plano, podendo ser obtida farejando os pacotes na rede. Sabe de algum método para que essa senha seja enviada criptografada?

Valeu e parabéns pelo artigo

[9] Comentário enviado por hendrigo em 21/01/2009 - 13:51h

Olá, minha senha no ldap são criptografadas (ssha).
Mas no envio da senha não tinha nem testado que era enviada em modo texto.
Na verdade nem testei ainda... tenho que pesquisar.
Quando tiver a resposta posto aqui,
até mais.

vc usou SSL/TLS no ldap?
http://www.evertonmurilo.eti.br/node/41

[10] Comentário enviado por elderjmp em 20/02/2009 - 11:00h

Olá...
Minhas senhas no ldap também estão criptografadas.
Meu colega de serviço que testou e conseguiu pegar as senhas quando o proxy pede a autenticação. Então é do navegador para o proxy no momento da autenticação que isso acontece.
Iria testar o seguinte: http://wiki.squid-cache.org/KnowledgeBase/LdapBackedDigestAuthentication , mas teria que recuperar a senha de todos os usuários, e aqui é uma instituição de ensino, e todos os alunos tem senha.
Até mais e obrigado pela ajuda e atenção

[11] Comentário enviado por pelo em 07/07/2009 - 21:00h

Show...

Mas tu copiou do morimoto ou ele copiou de você?

Sérgio Abrantes
[]'s

[12] Comentário enviado por ghmarcheti em 14/07/2011 - 09:23h

Olá,

Alguem conseguiu uma solução qto a senha ser enviada em modo texto aberto entre o cliente e o servidor SQUID???


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts