Controle de conteúdo: Como proteger seus usuários deles mesmos
Publicado em 11 de outubro de 2004
Allan Cassaro Vilela Gomes (allan.gomes@capes.gov.br) explica como unir o Squid, DansGuardian e outros recursos para construir um filtro de conteúdo que evite o download de arquivos impróprios ou perigosos para a sua rede. Controle de conteúdo: Como proteger seus usuários deles mesmos. Esclarecimento: Nesse texto pretendo abordar alguns aspectos do controle de conteúdo. Este artigo vai contar com uma filtragem totalmente invasiva, mas sua rede estará segura e os falsos-positivos serão praticamente eliminados. Vamos separa algumas coisas antes de começar:
Primeiro os pré-requisitos: O melhor Proxy O melhor filtro de conteúdo HTTP Uma bela blacklist (mais de 1.000.000 de URLs, Sites e IPs!) 4) Uma boa máquina 5) Alguém que entenda o que eu vou falar ;) Por que não utilizar apenas o Squid como proxy e filtro? o Squid não é um filtro de conteúdo, ele possui inúmeras formas de ser burlado se utilizado com este fim. Outro motivo é que caso utilize uma base muito extensa ele utilizará muita memória e se tornará lento demais. E por último, ele definitivamente não serve para fazer uma filtragem efetiva! Nota: Vamos explicar como tudo vai funcionar: O cliente se conecta no Dansguardian que faz uma "pré-filtragem": 1) Cliente pede "http://www.playboy.com" --> DansGuardian 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é-filtrgem": 1) Cliente pede "http://www.estudodeanatomia.hpg.com.br" --> DansGuardian O DansGuardian compara a URL enviada com sua base de bloqueados, caso não encontre envia a requisição para o Squid 2) DansGuardian "OK" --> Squid busca a página na Internet O Squid devolve a página ao DansGuardian: 3) Squid --> DansGuardian Agora acontece a mágica! O DansGuardian irá "ler" toda a página procurando por palavras pré estabelecidas e pontuar sua "leitura". 4) DansGuardian --> Palavra "sexo" soma 80, Palavra "lesbicas" soma 60, Palavra "Amadoras" soma 90. Pontuação final: 230 5) DansGuardian responde --> "Acesso Negado" para o Cliente Nos arquivos de configuração podemos definir diversos tipos de filtragem, entre elas a citada acima. 1) 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. 2) PICS Labeling -> Vários sites espalhados pela Internet utlizam uma "rotulação" para o seu site, informando o seu conteúdo. O DansGuardian consegue ler e tomar uma ação, bloquear ou permitir.
4) White List -> O site ou url não será filtrada. Acesso total garantido. 5) Greylist -> O site será "parcialmente" liberado. Apenas o conteúdo poderá ser bloqueado. 6) 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, :) Primeiro devemos baixar e instalar tudo: Vou colocar aqui os parametros que eu usei: No Squid: usuario$ ./configure --datadir=/usr/local/share/squid --sysconfdir=/etc/squid --enable-underscores --disable-ident-lookups -enable-linux-netfilter --enable-err-languages="Portuguese" --enable-default-err-language="Portuguese" --enable-snmp --disable-wccp --enable-delay-pools --enable-removal-policies="heap lru" --enable-storeio="diskd aufs coss ufs" --with-pthreads --libexecdir=/usr/local/libexec --sbindir=/usr/local/sbin --bindir=/usr/local/bin --mandir=/usr/share/man --enable-ntlm-auth-helpers="SMB fakeauth no_check winbind" --enable-basic-auth-helpers="NCSA SMB winbind" --enable-external-acl-helpers="ip_user wbinfo_group winbind_group" --enable-ntlm-fail-open --enable-auth="basic ntlm" Claro que você deve adptar para suas necessidades. usuario$ make * Diretorios da instalação: (Não vou falar da configuração do squid) No DansGuardian: usuario$ ./configure --logrotatedir=/etc/logrotate.d/ --piddir=/var/run/ --runas_usr=squid --runas_grp=squid --logdir=/var/log/cache/ --mandir=/usr/share/man/ --cgidir=/usr/local/httpd/cgi-bin/ --sysvdir=/tmp/ --sysconfdir=/etc/dansguardian/ --bindir=/usr/local/bin/ usuario$ make * Diretorios da instalação: O parâmetros mais importantes são (dansguardian.conf): Agora que temos tudo instalado vou explicar o que cada arquivo no diretório do DansGuardian faz: bannedextensionlist -> Lista de extensões de arquivos bloqueados não pense duas vezes, LEIA TODOS OS ARQUIVOS DE CONFIGURAÇÃO. Isso ajudará a entender melhor a lógica de funcionamento do DansGuardian. * Mantenha este arquivo pequeno, com o mínimo de regras possíveis, se você não sabe o que é regex (expressões regulares) aconselho a manter este arquivo vazio. Ele bloqueia URLs da seguinte maneira: ** Sites e urls são tratados de maneiras completamente diferentes, observe os exemplos: *** Isso é interessante para barrar popups, ActiveX, musicas de fundo (AAAARRRG!), etc. Sabendo disso basta editar o arquivo dansguardian.conf e ajustá-lo para sua realidade. Uma dica: No arquivo filtergroupslist coloco o seguinte: E crio 3 arquivos dansguardianfx.conf Vale lembrar: O DANSGUARDIAN NÃO FAZ AUTENTICAÇÃO DE USUÁRIO, este é um papel do SQUID!!!! Não vou me aprofundar nos arquivos de configuração, estão todos muito bem documentados e comentados linha-a-linha. Para o tutorial não ficar muito extenso vou ficar por aqui, aguardem os próximos Ok? Allan Cassaro -> allangood at ibest.com.br Comentários para "Controle de conteúdo: Como proteger seus usuários deles mesmos"
» Postado por: luciano em outubro 12, 2004 06:00 PM, 200.138.209:
» Postado por: fl0cker em outubro 13, 2004 03:12 PM, 201.9.225.1:
» Postado por: hfkc em outubro 13, 2004 07:58 PM, 200.202.234:
» Postado por: Allan Cassaro em outubro 13, 2004 09:58 PM, 200.252.113:
» Postado por: Rafael Dipold em outubro 15, 2004 02:56 PM, 200.163.242:
» Postado por: Fernando em outubro 17, 2004 11:22 AM, 200.215.178:
» Postado por: Allan Cassaro em outubro 18, 2004 11:59 AM, 200.130.18.:
Antes de comentar...
- Preserve a qualidade desta discussão - Leia os Termos de Uso. - Este formulário deve ser usado para comentários sobre a notícia. Se você tem dúvidas ou precisa de ajuda, use o Fórum. - Mantenha o foco nos argumentos e no assunto - Não faça ataques pessoais. - Pense 5 vezes antes de entrar em discussões inúteis, como "qual é a melhor distribuição/ambiente gráfico/linguagem de programação/etc.", mesmo se alguém já tiver provocado - um erro não justifica o outro - Não seja um e-mala ;-) ![]() Envie seu comentário
|