Este artigo mostra como configurar um proxy com um potente controle de conteúdo. URLs, sites, palavras ou conjunto de palavras e até vírus dentro de um site podem ser filtrados. A melhor maneira de proteger seus usuários é protegê-los deles mesmos, não os deixando trazer vírus e materiais danosos à sua rede.
O DansGuardian compara a URL enviada com sua base de bloqueados,
caso encontre, nem faz a requisição ao Squid e o redireciona à
página de "acesso negado", poupando sua banda de Internet e
processamento da máquina.
2) DansGuardian responde --> "Acesso Negado" para o cliente;
Ou a parte intrusiva do negócio!
O cliente se conecta no DansGuardian que faz a "pré-filtragem":
Compara com o arquivo de configuração onde diz que a pontuação
máxima é 180 (por exemplo). Então bloqueia a página.
5) DansGuardian responde --> "Acesso Negado" para o cliente;
Nos arquivos de configuração podemos definir diversos tipos de
filtragem, entre elas a citada acima.
MIME Type -> Bloqueia pelo tipo MIME do arquivo e não pela
sua extensão, ou seja, um arquivo foh.zip e foh_zip serão tratados
da mesma forma.
PICS Labeling -> Vários sites espalhados pela Internet
utilizam uma "rotulação" para o seu site, informando o seu
conteúdo. O DansGuardian consegue ler e tomar uma ação, bloquear
ou permitir.
Black List -> O site ou URL é bloqueado.
White List -> O site ou URL não será filtrada. Acesso total
garantido.
Graylist -> O site será "parcialmente" liberado. Apenas o
conteúdo poderá ser bloqueado.
Weighted Phrase List -> "Peso" das palavras. Se o site
possuir certas palavras será liberado ou não.
Se você leu o texto até aqui e eu consegui te convencer, :)
vamos para o que interessa!
[1] Comentário enviado por fabio em 15/01/2005 - 01:00h
Excelente artigo Allan, meus parabéns.
Agora uma curiosidade, seguindo a linha das cores, whitelist, blacklist, o correto não seria GRAYlist ao invés de greylist? Pior que procurei no Google e realmente todas as referências são de grey com E.
Se tiver algum expert em inglês, grey também é correto ou foi falha do pessoal do DansGuardian ao dar nomenclatura mesmo?
[3] Comentário enviado por allangood em 17/01/2005 - 10:18h
Obrigado pelo elogio.
Referente ao grey, ele significa cinzento, e está correto sim. O autor original do DG, Daniel Barron, é americano, não acredito que ele tenha escrito errado! rsrsrs. :)
Até mais.
P.S.: Umá dúvida que me foi reportada: Para habilitar a filtragem de vírus é necessário aplicar o patch do AV (DGAV) que se encontra no site do Aecio f. Neto, em: http://www.harvest.com.br/asp/afn/dg.nsf
Obs.: Lá existe o patch e o tar.gz com o patch já aplicado. Para quem gosta de evitar stress, baixe o tar.gz completo.
[4] Comentário enviado por junior_87 em 17/01/2005 - 11:42h
Olá, estou tendo um erro na hora de rodar o make install eu uso uma distribuição pouco conhecida o trustix ver 2.0, vejam o erro que ocorre:
chmod u+wrx /var/log/dansguardian/
if [ -f /sbin/chkconfig ]; then /sbin/chkconfig --add dansguardian; fi
error reading information on service dansguardian: No such file or directory
make: *** [install] Error 1
Alguém pode me ajudar?
[5] Comentário enviado por flipe em 17/01/2005 - 12:20h
você disse que o squid não é 100% eficiente em fazer filtragem pq se o usuario colocar ao invés de '.zip' colocar '%122ip' ele fara o download normalmente....
o dansguardian consegui reconhecer essa diferença?
e outro coisa...
me parece, como tu mesmo disse, isso é para evitar que os própios usuarios destruam a rede :D, mas quantos 'usuarios' sabem que %122 na tabela ASCii é equivalente a letra 'z'.
contando o restante do artigo, excelente!!!
e ficarei no aguardo da outra parte do documento!!
[6] Comentário enviado por allangood em 17/01/2005 - 12:38h
Obrigado pelo elogio flipe.
Respondendo: o DG verifica não só a URL (como o Squid e os redirecionadres, tipo o squidGuard) ele verifica o conteúdo (MIME inclusive). Por exemplo, se você falou que não pode baixar .ZIP e alguem renomear de .ZIP para .XXX ele verificará pela tipo do arquivo (quase como o comando file faz) e não apenas pelo seu nome.
Exatamente, filtros servem para proteger os usuários deles mesmos... O perigo não são os que não conhecem os segredos e artimanhas, o perigo são aqueles que sabem... A pior forma de segurança é a obscuridade (não revelar suas falhas), porque cedo ou tarde elas vão aparecer. Exemplo vivo disso é a própria MicroSoft... :) que joga seu lixo para debaixo do tapete.
Lembre-se que aprender é muito fácil. Um usuário quando quer alguma coisa... ele dá um jeito!
[12] Comentário enviado por sk em 28/02/2005 - 21:52h
Para configurarar o dansguardian com o squid em modo transparente substitua a regra similar a esta : iptables -t nat -A PREROUTING -i eth1 -s 192.168.13.0/24 -d any/0 -p tcp --dport 80 -j REDIRECT --to 3128 ( eth1 é a iface da rede interna) por: iptables -t nat -A PREROUTING -i eth1 -s 192.168.13.0/24 -d any/0 -p tcp --dport 80 -j REDIRECT --to 8080
[13] Comentário enviado por reimassupilami em 10/03/2005 - 11:14h
cara, bom o artigo hein... esse dansguardian tem funcionalidade pra caramba... estou implementando aki aquele outro artigo seu sobre o p3scan, e em seguida vou partir pra esse aki...
me diga uma coisa, no artigo você não fala nada sobre a configuração do antivirus... pq?
[14] Comentário enviado por reimassupilami em 10/03/2005 - 11:33h
tive o mesmo problema que o junior_87:
if [ -f /sbin/chkconfig ]; then /sbin/chkconfig --add dansguardian; fi
error reading information on service dansguardian: No such file or directory
make: *** [install] Error 1
[15] Comentário enviado por allangood em 10/03/2005 - 14:59h
reimassupilami:
O junior_87 teve este problema por ter usado EXATAMENTE as mesmas configurações que eu postei aqui como exemplo. Este erro acontece na hora de instalar os scripts de inicialização (no arqtigo eu apontei para o /tmp) e isso eralmente gera erro, aponta pro /etc/rc.d/ ou /etc/init.d/ (depende da sua distro)
Eu não falei nada sobre o antivírus por não ter muita coisa a dizer. A configuração é super simples e os arquivos de configuração são auto-explicativos. A única diferença (real) é um parâmetro a mais no dansguardian.conf.
Mas está saindo uma nova versão do DG (2.9) com algumas funcionalidades a mais. Prometo que quando ela estiver pronta, faço um artigo mais detalhado Ok? Até mais.
[16] Comentário enviado por aura em 17/03/2005 - 21:59h
Olá
Artigo legal em...
Eu realizei a implementação do dansguardian, mas não estou conseguindo configurar uma maquina para fazer download...
Apenas consigo se coloco o ip da mesma no arquivo exceptioniplist.
mas desta forma estou liberando todo o acesso desta maquina para a internet.
Sabe como posso fazer isso?
Obrigado
[17] Comentário enviado por allangood em 18/03/2005 - 10:06h
O DG não implementa ACLs como o Squid... tratar este tipo de excessão é mais complicado. Você pode configurar grupos com configurações diferentes para resolver o seu problema. Tanto no artigo como nos arquivos de configuração do DG mostra como fazer isso. Procure por grupos ok?
[18] Comentário enviado por kakaroto em 14/06/2006 - 19:43h
Ola allangood,
Muito bom seu artigo, parabéns! instalei usando seu tutorial e funcionou perfeitamente soh estou com uma dúvida, em relação a configuração pelo que percebi o dansguardian para fazer um filtro mais minuscioso precisaria que meu squid fosse autenticado, ai fiz alguns teste no arquivo filtergroup coloquei o ip da minha maquina e o "perfil" filter2
192.168.1.167=filter2
aparentemente funcionou, agora para o dansguardian me atender com completo queria saber se dah para fazer por rede tipo
[19] Comentário enviado por allangood em 15/06/2006 - 02:08h
Olá kakaroto, a versão "stable" do DG (2.8) não implementa isso, mas se quiser ver um monte de funcionalidades novas (a que procura inclusive) baixe a versão "alpha" mais nova em http://www.dansguardian.org
[20] Comentário enviado por rilen em 07/07/2006 - 15:25h
Qual a melhor solução usando Squid com DG, caso o usuário venha baixar músicas ou programas, que seja mostrada a autenticação para prosseguir download.
Foi aplicados vários filtros (1 = Enxuto sem downloads; 2 = Enxuto com downloads de documentos; 3 = Enxuto com downloads; 4 = liberado), o DG demonstrou sua eficiência e versatilidade, porém penou ao descobrir que tinha que instalar XForward para que os dois (Squid e DG) possa tornar se em "uma carne só"!
Mesmo configurado XForward, o Squid somente trabalha na rede "localhost", dando mais resultados negativo sobre autenticação por downloads e também foi dificultado fazer controle por banda, afinal de contas, como vai limitar vários ip's se o Squid só existe um "localhost"?
Tenho esperança pela luz há bastante tempo, abraços galera!
[21] Comentário enviado por allangood em 07/07/2006 - 15:58h
Hehehe... legal essa de "uma carne só"...
Bem, com patch xff o Squid reconhece o endereço do usuário e não mais "localhost". Para isso, seu DG deve habilitar o envio do x-forwarded-for, verifique dentro do arquivo de configurações ok?
Dentro do dansguardian.conf coloque "forwardedfor = on". Se o patch tiver sido aplicado de forma correta, o Squid irá funcionar exatamente como você espera!
[22] Comentário enviado por freitasrdf em 11/08/2006 - 15:03h
O dansguardian não esta identificando os usuarios como eu resolvo isso??
Obs.: O programa é excelente, só tive que fazer uma alteraçoes para rodar no Mandriva ( '-user-' )
[26] Comentário enviado por memaster em 21/08/2006 - 23:42h
Opa seu artigo ficou realmente bom, mais estou com um problema de novato na área q naum consigo destrinxar... olha soh, estou testando o Squid+DG+CLamav no slack 10.2 com kernel 2.4.31, o porem eh que quando vou acessar uma página ele me retorna a página de teste do apache... (putz q mico) bom sei que eh rateio meu, pois quando naum se acha em lugar algum como resolver um erro, tem-se 2 motivos ou o erro eh muito dificil de ser contornado, ou eh taum babaca q ninguem tem corajem de perguntar e acaba resolvendo de cabeça fria.... hehe, mais como ainda naum tive sucesso e eh minha primeira implementação tando de squid quando de DG, decidi dar a cara a tapas e perguntar... alguem sabe o pq disso???
[27] Comentário enviado por freitasrdf em 23/08/2006 - 10:43h
Voce esta direcionando a pagina de erro do dansguardian, para a do apache, esta pagina que normalmente fica em ../dansguardian/languages/Portuguese/template, mexe la no dansguardian.conf procure esta opção ela deve estar apontando para o seu ip ou o localhost
[28] Comentário enviado por jgama em 28/08/2006 - 23:19h
olá galera, realmente o artigo foi muito bem feito, mas como ainda sou inexperiente, e cada dia procuro melhorar o meu aprendizado, regarcei as mangas.
Tenho um problema
Quando starto o squid não aparece nenhuma menssagem de erro no console, mas também não estarta, verificando nos log, tem este erro:
2006/08/28 23:11:55| WARNING: basicauthenticator #2 (FD 13) exited
2006/08/28 23:11:55| Too few basicauthenticator processes are running
2006/08/28 23:11:55| storeDirWriteCleanLogs: Starting...
2006/08/28 23:11:55| Finished. Wrote 0 entries.
2006/08/28 23:11:55| Took 0.0 seconds ( 0.0 entries/sec).
FATAL: The basicauthenticator helpers are crashing too rapidly, need help!
Squid Cache (Version 2.5.STABLE14): Terminated abnormally.
CPU Usage: 0.080 seconds = 0.060 user + 0.020 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 408
Memory usage for squid via mallinfo():
total space in arena: 2125 KB
Ordinary blocks: 2093 KB 5 blks
Small blocks: 0 KB 0 blks
Holding blocks: 200 KB 1 blks
Free Small blocks: 0 KB
Free Ordinary blocks: 32 KB
Total in use: 2293 KB 108%
Total free: 32 KB 2%
unknown helper protocol []
[29] Comentário enviado por freitasrdf em 29/08/2006 - 08:24h
Bem quanto ao /etc/dansguardian voce deveria compilar com isso aqui --sysconfdir=/etc/dansguardian/
E sobre o NTLM_auth, parece estar faltando este modulo no squid, ele devera estar em /etc/squid/ntlm_auth
É o que eu posso dizer sem ver seu squid.conf.
O meu está desta forma, se puder me ajudar fico agradecido, ele está rodando numa boa, sem erros, mais não faz nada hehe.. Se puder ajudar, fico agradecido.