quinta-feira, 28 de outubro de 2010

Filtrando conteúdo pelo MIME-TYPE com o Squid

Para aqueles que precisam filtrar as páginas que os usuários de sua rede podem ou não ter acesso, nada melhor que o bom e velho Squid. Mas se a banda não é lá essas coisas todas e você não tem nem tempo e muito menos saco para ficar brincando de gato e rato, experimente filtrar pelo tipo MIME do conteúdo acessado.

Aqui no trabalho, temos três níveis de acesso:

  1. Acesso livre - que como o nome já diz, tem o acesso liberado a todos os sites;
  2. Acesso moderado - que permite o acesso a alguns sites tidos como proibidos tais como orkut mas não pode realizar downloads de vídeos, etc; e
  3. Acesso restrito - acessa apenas alguns tipos de sites.

A restrição a downloads é feito através da regra de MIME-TYPES

acl Proibir-mime rep_mime_type -i ^(.*)video(.*)$ ^(.*)audio(.*)$

Perceba que é rep e não req. E os parâmetros são os mime types a serem barrados. Esse comando aceita expressões regulares. No exemplo acima, todos os tipos mime que conste as palavras video ou audio serão barrados. Depois de definido o acl, aplique a regra:

http_reply_access allow Acesso-livre
http_reply_access deny Proibir-mime

Observe que a regra é aplicada através do comando http_reply_access, e antes de aplicar a regra de proibição, devemos ter o cuidado de liberar para o grupo mais privilegiado.

As regras http_reply_access, não interferem na ordem das http_access. No meu squid.conf eu as separo em blocos distintos.

Essa regra afeta inclusive os downloads de anexos de mensagens de correio eletrônico.