Dica curta: Bloqueando streaming de áudio e vídeo no SQUID

Hoje em dia, sem sombra de dúvida alguma, o streaming de áudio e vídeo é o grande vilão do consumo de link em empresas e instituições com acesso público à web (caso de instituições de ensino, por exemplo). Bloquear manualmente sites através do SQUID ou mesmo utilizando listas de URLs pré-compiladas (formato banco de dados), como é o caso do squidGuard, já não garantem o sossego do administrador de redes.

Quase todo site, mesmo aqueles que você não pode bloquear, hospedam algum tipo de formato de áudio e vídeo e, neste caso, é preciso ir no cerne do problema e bloquear o streaming em si. Não vou entrar em detalhes com relação a instalação e configuração básica do SQUID, ou seja, presumimos que o seu webproxy já esteja rodando com as demais ACLs configuradas.

Botando a mão na massa

Edite o arquivo de configuração do SQUID (no Linux, geralmente em /etc/squid/squid.conf) e acrescente as seguintes instruções:

acl streaming req_mime_type ^video/x-ms-asf

acl musica urlpath_regex -i \.aif$ \.aifc$ \.aiff$ \.asf$ \.asx$ \.avi$ \.au$ \.m3u$ \.med$ \.mp3$ \.m1v$ \.mp2$ \.mp2v$ \.mpa$ \.mov$ \.mpe$ \.mpg$ \.mpeg$ \.ogg$ \.pls$ \.ram$ \.ra$ \.ram$ \.snd$ \.wma$ \.wmv$ \.wvx$ \.mid$ \.midi$ \.rmi$

http_access deny musica
http_reply_access deny streaming

Depois é só reiniciar o serviço. No caso do Debian e afins:

# /etc/init.d/squid restart

Na prática, as ACLs acima bloqueiam o áudio e vídeo de rádios online, download de arquivos MP3 (que possam ser feitos eventualmente via HTTP), filmes e demais formatos que sobrecarregam o seu link. Uma observação importante é que  no SQUID, as regras/listas de acesso são executadas sempre seqüencialmente, por isso a ordem em que elas aparecem  no arquivo de configuração pode influenciar no comportamento do webproxy. Isso significa que ao entrar em uma ACL (a condição for verdadeira) o SQUID não checa/executa as posteriores.