|
|
Guia: Compartilhando a conexão e configurando o SquidCarlos E. Morimoto 20/11/2006 Usando o DansGuardian para barrar páginas impróprias
O DansGuardian é um filtro de conteúdo destinado a trabalhar junto com o Squid, filtrando páginas pornográficas e com outros tipos de conteúdo indesejado. Ele inclui um conjunto de regras prontas, que contém palavras, frases e tipos de arquivos freqüentemente usados neste tipo de página e endereços de páginas conhecidas. Cruzando estas informações, ele consegue fazer um excelente trabalho, realmente bloqueando quase todas as páginas indesejadas, em várias línguas, com relativamente poucos falsos-positivos.
Ele é ideal para uso em micros de trabalho e, principalmente, para quem tem crianças em casa e não quer que elas acessem páginas pornográficas.
Atualmente, o
DansGuardian é um produto "semicomercial", que tem o
código aberto e é gratuito para uso pessoal ou para
qualquer fim não comercial (pode ser usado em uma escola ou
escritório, por exemplo, desde que implementado internamente),
mas é pago para uso comercial (quando você cobra pelo
serviço de implantação, ou o fornece como parte
de uma solução comercial). Você pode ver mais
detalhes sobre a licença de uso
no: Ao instalar, comece verificando se já não existe um pacote disponível na distribuição que está usando. O DansGuardian é um pacote de uso muito comum; por isso, a maioria das distribuições o inclui nos CDs de instalação. No Debian, por exemplo, você pode instalá-lo com um: # apt-get install dansguardian Você pode também encontrar pacotes para várias distribuições, junto com o tradicional pacote com código fonte no http://dansguardian.org/?page=download2. Depois de instalar o pacote, inicie-o com o comando:
#
/etc/init.d/dansguardian start Para que o DansGuardian funcione, é preciso que o Squid esteja instalado e ativo. Ele trabalha sobre o Squid, implementando suas políticas de acesso, mas deixando que o próprio Squid faça o acesso à web, cache e autenticação. O principal arquivo de configuração é o "/etc/dansguardian/dansguardian.conf". Ao editá-lo pela primeira vez, é importante verificar algumas opções: # UNCONFIGURED Esta linha deve ficar comentada, indicando que o arquivo já foi configurado por você. 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 vai a localização do arquivo de log do dansguardian, onde ficam armazenados os endereços das páginas cujo acesso foi bloqueado. Serve tanto para verificar a eficiência do filtro, quanto para identificar falsos-positivos, ou seja, páginas legítimas que estão sendo bloqueadas por engano. Estas exceções podem ser especificadas individualmente no arquivo "/etc/dansguardian/exceptionsitelist", que funciona como uma white list, contendo uma lista de páginas que sempre são 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 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 do Squid 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. Lembre-se de que, por padrão, o Squid usa a porta 3128.
Se não existir nenhum bloqueio relacionado ao domínio, a requisição é enviada ao Squid e o acesso é realizado. Ao receber os arquivos da página, o DansGuardian verifica o conteúdo da página, em busca de expressões e palavras "ruins", freqüentemente encontradas em páginas indesejadas, e também palavras "boas", normalmente encontradas em páginas de bom conteúdo. Cada palavra ruim soma um certo número de pontos. Por exemplo, a palavra "s3xy" soma apenas 5 pontos, enquanto a expressão "s3x org1es" soma 80 pontos (estou trocando as vogais por números para que o meu próprio texto não caia nos filtros ;). Palavras "boas", por outro lado, subtraem pontos, fazendo com que a página 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, vão 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 máximo a ser tolerado no arquivo "/etc/dansguardian/dansguardianf1.conf", na opção: naughtynesslimit = 160 Quanto mais baixo o número, mais severa é a censura, porém mais páginas boas acabam sendo bloqueadas por engano. 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 boas, 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 no:
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> 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 à 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 neste arquivo são especificados todos os arquivos de palavras que são utilizados. Na pasta existem várias categorias diferentes. Em algumas situações, você pode querer desabilitar algumas das categorias, 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> Lembre-se de que é necessário reiniciar o DansGuardian para que qualquer uma das alterações tenha efeito: # /etc/init.d/dansguardian restart Configurando os clientes
Para usá-lo, você precisa configurar os navegadores, tanto os instalados no próprio servidor onde ele está sendo executado, quanto em outras máquinas da rede para acessarem via proxy. Nas configurações do proxy, coloque o endereço IP do servidor (como por exemplo 192.168.0.1) e a porta do DansGuardian, definida no arquivo de configuração. Lembre-se de que, por padrão, ele usa a porta 8080. No Firefox, a opção de configurar um proxy está em "Editar > Preferências > Proxy". Ou seja, com exceção da porta diferente, a configuração para usar o DansGuardian é a mesma que para um proxy tradicional. Em casos onde ele é usado num micro doméstico, com o objetivo de servir como um simples filtro de conteúdo, você pode até mesmo rodá-lo localmente. Neste caso, use o endereço "127.0.0.1" como proxy:
Atualizando as blacklists
Você pode baixar uma lista longa e atualizada no: http://urlblacklist.com/.
O
link completo para a versão mais recente
é: Para instalar, basta descompactar o arquivo e mover o conteúdo para dentro da pasta "/etc/dansguardian/", substituindo a pasta "/etc/dansguardian/blacklists" existente:
$ tar -zxvf
bigblacklist.tar.gz
Depois
de instalar o arquivão completo, você pode usar o script
de atualização, disponível no site para baixar
atualizações de forma automática. Baixe-o
em: Basta ativar a permissão de execução e executá-lo. Em algumas distribuições é preciso criar a pasta "/var/lib/lrpkg/", onde ele guarda os logs. Sem esta pasta, ele exibe um erro e não conclui a atualização.
# mkdir -p
/var/lib/lrpkg/ O pacote inclui várias listas diferentes, separadas por assunto. As listas incluem muitos assuntos inocentes como, "cellphones", "sports" e "childcare" (saúde infantil). Ele não é uma "blacklist" no sentido estrito da palavra, mas sim um conjunto de listas que inclui também sites sobre conteúdos diversos. A idéia aqui é que você pode bloquear todos os assuntos desejados.
Dentro de cada uma das subpastas, você encontra três arquivos: domains (sites completamente bloqueados), expressions e urls (páginas específicas, 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 páginas de conteúdo adulto (adult), drogas (drugs), páginas pornográficas (porn) e warez, adicione (ou descomente) no arquivo "/etc/dansguardian/bannedurllist" as linhas:
.Include</etc/dansguardian/blacklists/adult/urls> No arquivo "/etc/dansguardian/bannedsitelist" vão as linhas:
.Include</etc/dansguardian/blacklists/adult/domains> Você pode usar também os arquivos com expressões proibidas, incluídos no pacote para reforçar a lista adicional, com os termos em português, que já ativamos anteriormente. Para isso, abra novamente o arquivo "/etc/dansguardian/bannedphraselist" e adicione as linhas:
.Include</etc/dansguardian/blacklists/adult/expressions> Faça o mesmo com outras categorias que quiser adicionar.
Proxy transparente com o DansGuardian
Normalmente, os clientes precisam ser configurados manualmente para utilizar o DansGuardian como proxy, acessando-o através da porta 8080. Isso traz de volta o problema de configurar manualmente cada um dos micros e evitar que os usuários removam a configuração para acessar diretamente, sem passar pelo filtro. Contudo, é possível configurar o DansGuardian para trabalhar como proxy transparente, da mesma forma que fizemos anteriormente com o Squid. Neste caso, o firewall redireciona as requisições 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 estão instalados o Squid e DansGuardian como gateway. Comece adicionando as quatro linhas que ativam o proxy transparente no "/etc/squid/squid.conf":
httpd_accel_host
virtual Depois vêm as regras de firewall para habilitar o compartilhamento da conexão e direcionar as requisições recebidas na porta 80 para a porta usada pelo DansGuardian. Novamente, é a mesma configuração usada para fazer um proxy transparente no Squid, mudando apenas a porta. Lembre-se que o "eth0" deve ser substituído pela interface ligada na rede local:
modprobe
iptable_nat A última regra bloqueia a porta 3128 usada pelo Squid, para impedir que algum espertinho configure o navegador para acessar diretamente através do Squid, sem passar pelo DansGuardian. A única exceção é o endereço 127.0.0.1, ou seja, o próprio servidor. Lembre-se de colocar estes comandos no arquivo "/etc/rc.d/rc.local" ou "/etc/init.d/bootmisc.sh" para não precisar ficar digitando tudo a cada boot. |