Sei sulla pagina 1di 8

Usando o DansGuardian

O DansGuardian outra opo de filtro de contedo desenvolvido para trabalhar em conjunto com o Squid, filtrando contedo indesejado. A grande diferena entre ele e o SquidGuard que o SquidGuard se limita a bloquear pginas contidas nas listas, enquanto o DansGuardian utiliza um filtro adaptativo, que avalia o contedo da pgina e decide se ela uma pgina imprpria com base no contedo, utilizando um conjunto de regras adaptativas. Ele inclui um conjunto de regras prontas, que contm palavras, frases e tipos de arquivos freqentemente usados em pginas imprprias, alm de uma lista de pginas conhecidas e trabalha cruzando todas essas informaes. Se voc quer um filtro de contedo que possa implantar rapidamente e manter ativo sem ter muito trabalho, o SquidGuard a melhor opo, pois ele permite obter bons resultados mesmo com apenas uma configurao rpida. Se, por outro lado, voc quer um filtro programvel, que voc possa adaptar e personalizar de forma a obter melhores resultados, ento o DansGuardian pode ser uma boa opo. No screenshot abaixo, por exemplo, temos uma pesquisa do Google por um termo indecoroso, que foi bloqueada por ter retornado um grande nmero de pginas imprprias. O domnio "google.com" naturalmente no foi bloqueado no filtro, mas mesmo assim o DansGuardian foi capaz de bloquear a pgina baseado no contedo:

Originalmente, o DansGuardian foi desenvolvido como um filtro de contedo para uso em escolas primrias e para quem tem crianas pequenas em casa, mas nada impede que ele seja usado tambm em outras situaes.

Atualmente, o DansGuardian um produto "semicomercial", que tem o cdigo aberto e gratuito para uso pessoal ou para qualquer fim no-comercial (pode ser usado em uma escola ou escritrio, por exemplo, desde que implementado internamente), mas pago para uso comercial (quando voc cobra pelo servio de implantao, ou o fornece como parte de uma soluo comercial). Voc pode ver mais detalhes sobre a licena de uso no: http://dansguardian.org/?page=copyright2 Ao instalar, comece verificando se j no existe um pacote disponvel na distribuio que est usando. O DansGuardian um pacote de uso muito comum; por isso, a maioria das distribuies o inclui nos CDs de instalao. No Debian, por exemplo, voc pode instal-lo com um: # apt-get install dansguardian Voc pode tambm encontrar pacotes para vrias distribuies, junto com o tradicional pacote com cdigo fonte no http://dansguardian.org/?page=download2. Depois de instalar o pacote, inicie-o com o comando: # /etc/init.d/dansguardian start ou: # dansguardian & Para que o DansGuardian funcione, preciso que o Squid esteja instalado e ativo. Ele trabalha sobre o Squid, implementando suas polticas de acesso, mas deixando que o prprio Squid faa o acesso web, cache e autenticao. O principal arquivo de configurao o "/etc/dansguardian/dansguardian.conf". Ao edit-lo pela primeira vez, importante verificar algumas opes: # UNCONFIGURED Esta linha deve ficar comentada, indicando que o arquivo j foi configurado por voc. language = 'portuguese' Esta opo configura a lngua em que as mensagens de acesso bloqueado sero mostradas aos clientes. loglocation = '/var/log/dansguardian/access.log' Aqui vai a localizao do arquivo de log do dansguardian, onde ficam armazenados os endereos das pginas cujo acesso foi bloqueado. Serve tanto para verificar a eficincia do filtro, quanto para identificar falsos-positivos, ou seja, pginas legtimas que esto sendo bloqueadas por engano. Essas excees podem ser especificadas individualmente no arquivo "/etc/dansguardian/exceptionsitelist", que funciona como uma white list, contendo uma lista de pginas que sempre so permitidas, mesmo que sejam encontradas palavras proibidas dentro do texto. filterport = 8080

A porta onde o DansGuardian fica ativo. Ele sempre deve utilizar uma porta diferente do Squid, pois so duas coisas separadas. O padro a porta 8080. proxyip = 127.0.0.1 O endereo IP do servidor proxy que ser usado. Por padro ele vai utilizar uma cpia do Squid ativa na mesma mquina, mas possvel utilizar outro servidor Squid disponvel na rede. proxyport = 3128 A porta TCP onde o servidor Squid especificado na opo acima est ativo. Lembre-se de que, por padro, o Squid usa a porta 3128. A filtragem de pginas funciona em dois nveis. Ao receber a requisio do cliente, o DansGuardian verifica se o endereo a ser acessado est em uma das listas de domnios ou IPs proibidos. Caso esteja, o cliente recebe a mensagem de erro e o acesso sequer feito, economizando banda. Se no existir nenhum bloqueio relacionado ao domnio, a requisio enviada ao Squid e o acesso realizado. Ao receber os arquivos da pgina, o DansGuardian verifica o contedo em busca de expresses e palavras "ruins", freqentemente encontradas em pginas indesejadas, e tambm palavras "boas", normalmente encontradas em pginas de bom contedo. Cada palavra ruim soma um certo nmero de pontos. Por exemplo, a palavra "sexy" soma apenas 5 pontos, enquanto a expresso "sex orgies" soma 80 pontos. Palavras "boas", por outro lado, subtraem pontos, fazendo com que a pgina tenha uma possibilidade menor de ser bloqueada. A palavra "education" subtrai 20 pontos, enquanto "medical problem" subtrai 50. As listas com palavras boas e ruins, juntamente com o peso positivo ou negativo de cada uma, so armazenadas na pasta "/etc/dansguardian/phraselist". No final, o site recebe uma nota, apelidada pelos desenvolvedores de "naughtynesslimit", ou "ndice de sem-vergonhice", resultado da soma de todas as palavras boas e ruins. Voc define um ndice mximo a ser tolerado no arquivo "/etc/dansguardian/dansguardianf1.conf", na opo: naughtynesslimit = 160 Quanto mais baixo o nmero, mais severa a censura, porm mais pginas boas acabam sendo bloqueadas por engano (falsos positivos). Os valores recomendados pelos desenvolvedores so "60" para crianas pequenas, "100" para pr-adolescentes e "160" para adolescentes. Para um pblico adulto, onde a principal preocupao seja no bloquear pginas teis, mesmo que isso faa com que uma ou outra pgina inadequada passe pelo filtro de vez em quando, voc pode arriscar "200" ou mesmo "240". Como voc pode notar dando uma olhada no contedo dos arquivos das listas de palavras, o DansGuardian vem configurado com listas em ingls, que deixam passar muitos sites nacionais. Voc pode baixar um arquivo com listas em outras lnguas, incluindo portugus no: http://dansguardian.org/downloads/grosvenor/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 contedo dos arquivos. As listas de palavras em portugus so excessivamente rigorosas, o que faz com que seja bloqueado o acesso a um nmero muito grande de sites "bons", mesmo ao usar um naughtynesslimit alto. Use-os com cautela. Aparentemente, os arquivos disponveis no site foram escritos por um estrangeiro, por isso, no se adaptam bem nossa realidade. Se decidir corrigir os arquivos, no deixe de envi-los para os mantenedores, para que sejam includos no pacote. Note que na configurao so especificados todos os arquivos de palavras que so utilizados. Na pasta existem vrias categorias diferentes e, em algumas situaes, 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 tambm o arquivo "/etc/dansguardian/bannedphraselist" e inclua a linha: .Include</etc/squid/dansguardian/languages/bannedphra selist.portuguese> Lembre-se de que necessrio reiniciar o DansGuardian para que qualquer uma das alteraes tenha efeito: # /etc/init.d/dansguardian restart O DansGuardian pode ser usado tanto dentro da rede, quanto localmente. Alm de ser utilizado em redes de todos os tamanhos, muita gente com crianas em casa se d ao trabalho de instal-lo avulso, no micro de casa. Nas configuraes do proxy (nos clientes), coloque o endereo IP do servidor (como, por exemplo, 192.168.1.1) e a porta do DansGuardian, definida no arquivo de configurao. Lembre-se de que, por padro, ele usa a porta 8080. No Firefox, a opo de configurar um proxy est em "Editar > Preferncias > Proxy". Ou seja, com exceo da porta diferente, a configurao para usar o DansGuardian a mesma que seria usada em conjunto com um proxy tradicional. Em casos onde ele usado num micro domstico, com o objetivo de servir como um simples filtro de contedo, voc pode at mesmo rod-lo localmente. Neste caso, use o endereo "127.0.0.1" como proxy:

Atualizando as blacklists
Alm do filtro com base em palavras, o DansGuardian utiliza uma lista de sites proibidos, que sequer chegam a ser acessados. Por padro, o DansGuardian vem com uma lista muito pequena e desatualizada, apenas como exemplo. Para efetivamente usar este recurso, preciso baixar uma lista mais elaborada. Voc pode baixar uma lista longa e atualizada no http://urlblacklist.com/, o mesmo site que citei no tpico sobre o SquidGuard. As listas do UrlBlacklist so mais adequadas para uso no DansGuardian, pois incluem tambm listas de termos (que so usadas pelo DansGuardian para complementar o filtro esttico baseado em URLs), mas ele possui a desvantagem de ser um servio no-gratuito, onde voc precisa assinar o servio para ter acesso completo s listas. O link completo para a verso mais recente : http://urlblacklist.com/cgibin/commercialdownload.pl?type=download&file=bigblacklist Para instalar, basta descompactar o arquivo e mover o contedo para dentro da pasta "/etc/dansguardian/", substituindo a pasta "/etc/dansguardian/blacklists" existente: $ tar -zxvf bigblacklist.tar.gz # cp -a --reply=yes blacklists/ /etc/dansguardian/ Depois de instalar o arquivo completo, voc pode usar o script de atualizao, disponvel no site, para baixar atualizaes de forma automtica. Baixe-o em: http://urlblacklist.com/downloads/UpdateBL Basta ativar a permisso de execuo e execut-lo. Em algumas distribuies preciso criar a pasta "/var/lib/lrpkg/", onde ele guarda os logs. Sem esta pasta, ele exibe um erro e no conclui a atualizao.

# mkdir -p /var/lib/lrpkg/ # chmod +x UpdateBL # ./UpdateBL O pacote inclui vrias listas diferentes, separadas por assunto. Assim como na lista do Shalla's, as listas incluem muitos assuntos inocentes como, "cellphones", "sports" e "childcare" (sade infantil). Ele no uma "blacklist" no sentido estrito da palavra, mas sim um conjunto de listas que incluem tambm sites sobre contedos diversos. A idia aqui que voc pode bloquear todos os assuntos desejados.

Dentro de cada uma das subpastas, voc encontra trs arquivos: domains (sites completamente bloqueados), expressions (palavras comumente encontradas em sites de contedo imprprio) e urls (pginas especficas, dentro de sites permitidos). Para ativar o uso das blacklists, edite os arquivos "/etc/dansguardian/bannedsitelist" e "/etc/dansguardian/bannedurllist", adicionando (ou descomentando) as linhas referentes s categorias que devem ser ativadas. Para bloquear pginas de contedo adulto (adult), drogas (drugs), pginas pornogrficas (porn) e warez, adicione (ou descomente) no arquivo "/etc/dansguardian/bannedurllist" as linhas: .Include</etc/dansguardian/blacklists/adult/urls> .Include</etc/dansguardian/blacklists/drugs/urls> .Include</etc/dansguardian/blacklists/porn/urls> .Include</etc/dansguardian/blacklists/warez/urls> No arquivo "/etc/dansguardian/bannedsitelist" vo as linhas: .Include</etc/dansguardian/blacklists/adult/domains> .Include</etc/dansguardian/blacklists/drugs/domains> .Include</etc/dansguardian/blacklists/porn/domains> .Include</etc/dansguardian/blacklists/warez/domains> Voc pode usar tambm os arquivos com expresses proibidas, includos no pacote para reforar a lista adicional, com os termos em portugus, que j ativamos anteriormente. Para isso, abra novamente o arquivo "/etc/dansguardian/bannedphraselist" e adicione as linhas:

.Include</etc/dansguardian/blacklists/adult/expressio ns> .Include</etc/dansguardian/blacklists/drugs/expressio ns> .Include</etc/dansguardian/blacklists/porn/expression s> .Include</etc/dansguardian/blacklists/warez/expressio ns> Faa o mesmo com outras categorias que quiser adicionar.

Proxy transparente com o DansGuardian


Como vimos at agora, o DansGuardian funciona como uma camada extra, uma espcie de "pedgio", por onde as requisies passam antes de chegarem ao Squid e por onde as respostas passam antes de serem enviadas ao cliente. Normalmente, os clientes precisam ser configurados manualmente para utilizar o DansGuardian como proxy, acessando-o atravs da porta 8080. Isso traz de volta o problema de configurar manualmente cada um dos micros e evitar que os usurios removam a configurao para acessar diretamente caso voc mantenha o compartilhamento via NAT ativo em adio ao proxy. Contudo, possvel configurar o DansGuardian para trabalhar como proxy transparente, da mesma forma que fizemos anteriormente com o Squid. Neste caso, o firewall redireciona as requisies recebidas na porta 80 para o DansGuardian e ele as repassa para o Squid, que finalmente faz o acesso. Os clientes precisam apenas ser configurados para acessar a internet usando o servidor onde esto instalados o Squid e DansGuardian como gateway. Para isso, comece configurando o Squid para trabalhar em modo transparente, adicionando a opo "transparent" na linha "http_port" do squid.conf: http_port 3128 transparent Depois vm as regras de firewall para habilitar o compartilhamento da conexo e direcionar as requisies recebidas na porta 80 para a porta usada pelo DansGuardian. Novamente, a mesma configurao usada para fazer um proxy transparente no Squid, mudando apenas a porta. Lembre-se de que o "eth0" deve ser substitudo pela interface ligada na rede local e o "eth1" pela interface ligada Internet: modprobe iptable_nat iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT \ --to-port 8080 iptables -A INPUT -m tcp -p tcp -s ! 127.0.0.1 -dport 3128 -j DROP

A ltima regra bloqueia a porta 3128 usada pelo Squid, para impedir que algum espertinho configure o navegador para acessar diretamente atravs do Squid, sem passar pelo DansGuardian. A nica exceo o endereo 127.0.0.1, ou seja, o prprio servidor. Lembre-se de colocar estes comandos no arquivo "/etc/rc.local" (ou no seu script de compartilhamento da conexo) para no precisar ficar digitando tudo a cada boot.

Potrebbero piacerti anche