quinta-feira, 19 de agosto de 2010

Como bloquear audio e vídeo usando squid

Para bloquear audio e vídeo (stream) pesquisei na web e com a ajuda de vários tutoriais obtive sucesso seguindo os passos abaixo:

No arquivo /etc/squid/squid.conf insira as linhas abaixo antes das liberações

#acl bloqueio de extensõde ráos online / arquivos de streaming:
acl streaming rep_mime_type -i "/etc/squid/mimeaplicativo"
acl proibir_musica urlpath_regex -i "/etc/squid/audioextension"
http_reply_access deny streaming
http_reply_access deny proibir_musica

Ainda no arquivo SQUID.CONF, insira a seguinte linha de comando, isso para que o squid possa gerar os logs adequados.

log_mime_hdrs on


# vi /etc/squid/mimeaplicativo

application/vnd.audiograph
audio/32kadpcm
audio/3gpp
audio/amr
audio/amr-wb
audio/annodex
audio/basic
audio/flac
audio/g.722.1
audio/l16
audio/mid
audio/midi
audio/mp4a-latm
audio/mpa-robust
audio/mpeg
audio/mpegurl
audio/ogg
audio/parityfec
audio/prs.sid
audio/telephone-event
audio/tone
audio/vnd.cisco.nse
audio/vnd.cns.anp1
audio/vnd.cns.inf1
audio/vnd.digital-winds
audio/vnd.everad.plj
audio/vnd.lucent.voice
audio/vnd.nortel.vbk
audio/vnd.nuera.ecelp4800
audio/vnd.nuera.ecelp7470
audio/vnd.nuera.ecelp9600
audio/vnd.octel.sbc
audio/vnd.qcelp
audio/vnd.rhetorex.32kadpcm
audio/vnd.vmx.cvsd
audio/x-aiff
audio/x-gsm
audio/x-mpegurl
audio/x-ms-wax
audio/x-ms-wma
audio/x-pn-realaudio
audio/x-pn-realaudio-plugin
audio/x-realaudio
audio/x-scpls
audio/x-sd2
audio/x-wav
application/x-videolan
video/3gpp
video/annodex
video/dl
video/dv
video/fli
video/flv
video/gl
video/mp4
video/mp4v-es
video/mpeg
video/ogg
video/parityfec
video/pointer
video/quicktime
video/vnd.fvt
video/vnd.motorola.video
video/vnd.motorola.videop
video/vnd.mpegurl
video/vnd.mts
video/vnd.nokia.interleaved-multimedia
video/vnd.vivo
video/x-flv
video/x-la-asf
video/x-matroska
video/x-mng
video/x-ms-asf
video/x-ms-asx
video/x-msvideo
video/x-ms-wm
video/x-ms-wmv
video/x-ms-wmx
video/x-ms-wvx
video/x-sgi-movie


# vi /etc/squid/audioextension

\.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$


Crie um Shell Script para ficar analisando os logs que serão registrados no squid, assim você terá sempre seu arquivo de bloqueio atualizado.

# vi /etc/squid/checa.sh

# =================
# Script para atualizacao
# de Bloqueio de Radio/Video
# on-line
# Author: Leandro Moreira
# Date: 04-24-2009
set -x
# =================
# Variaveis
# =================
PERL="/usr/bin/perl"
AUDIO=`$PERL -p -e "s/\\\r/\r/g;s/\\\n/\n/g" /var/log/squid/access.log | egrep -v 'text/html|text/xml' | grep -i "Content-Type:" | sed 's/;/ /g' | awk '{ print$2 } ' | sort -u | grep audio > /tmp/audio`
VIDEO=`$PERL -p -e "s/\\\r/\r/g;s/\\\n/\n/g" /var/log/squid/access.log | egrep -v 'text/html|text/xml' | grep -i "Content-Type:" | sed 's/;/ /g' | awk '{ print$2 } ' | sort -u | grep video > /tmp/video`
# ======================/

cat /tmp/audio >> /etc/squid/mimeaplicativo
cat /etc/squid/mimeaplicativo | sort | uniq -c| awk '{print$2}' > /tmp/audio.tmp
cat /tmp/audio.tmp > /etc/squid/mimeaplicativo

cat /tmp/video >> /etc/squid/mimeaplicativo
cat /etc/squid/mimeaplicativo | sort | uniq -c| awk '{print$2}' > /tmp/video.tmp
cat /tmp/video.tmp > /etc/squid/mimeaplicativo



Mude o atributo do arquivo criado acima permitindo execução:
# chmod +x /etc/squid/checa.sh


Agora edite o arquivo /etc/crontab e insira os códigos abaixo:
1ª Linha - Agendei para rodar na cron a cada 5 minutos
2ª Linha - Atualizar o squid a cada hora

# vi /etc/crontab

*/5 * * * * /root/script.sh /var/log/script.log 2>&1
59 * * * * squid -k reconfigure



Reinicialize o cron, (service cron restart)


OBS: Complementando o bloqueio, adicione as seguintes regras em seu firewall:

#bloqueio da RADIO do UOL
iptables -A INPUT -d 0/0 -p tcp --dport 1935 -j DROP
iptables -A INPUT -d 0/0 -p udp --dport 1935 -j DROP
iptables -A FORWARD -d 0/0 -p tcp --dport 1935 -j DROP
iptables -A FORWARD -d 0/0 -p udp --dport 1935 -j DROP
#bloqueio da RADIO Bradesco
iptables -A INPUT -d 0/0 -p tcp --dport 29054 -j DROP
iptables -A INPUT -d 0/0 -p udp --dport 29054 -j DROP
iptables -A FORWARD -d 0/0 -p tcp --dport 29054 -j DROP
iptables -A FORWARD -d 0/0 -p udp --dport 29054 -j DROP



Créditos relevantes para:
http://www.mail-archive.com/debian-user-portuguese@lists.debian.org/msg124511.html

Um comentário:

Glauber disse...

cara... não funcionou comigo não.... fui no portal do terra e consegui ver os vídeos normalmente... também conseguir acessar o sonora....

Como obter sua chave do produto do Windows (10 ou 11) com o prompt de comando

  Se quiser obter sua chave do produto do Windows, a maneira mais fácil é fazer isso com o prompt de comando do Windows. Primeiro, pressione...