Das Verhindern von Video- und Audio-Streaming (z.B. Internet-Radio) über den Proxy Squid ist eigentlich relativ simpel. Umsomehr war ich entäuscht keine bzw. nicht ausreichende Dokumentation hierzu zu finden. Aber vielleicht fehlte es ja auch nur an Beispielen hierzu. Daher habe ich mich entschlossen auch hierzu ein Beispiel zu veröffentlichen, wie ich es verwende.

Für dieses Beispiel habe ich den Squid 2.5.STABLE3 genommen.

Als erstes müssen wir erst einmal herausfinden, was für MIME-Type für Audio und Video Streams den so verwendet werden. Dazu habe ich einfach ein bestehendes Log-Files vom Squid genommen. Dies habe ich dann mit einem

cat squid-access.log | grep -v text/ | grep -v images/ \
| grep -v /x-javascipt | grep -v TCP-MISS \
| grep -v TCP_REFRESH_HIT | grep -v /x-shockwave \
| grep -v application/pdf | grep -v /x-compress \
> squid-access-neu.log

auseinandergenommen. Damit ist das Log-File schon ziemlich geschrumpft und um viele "Standard"-MIME-Types bereinigt. Unter denen, die übrig bleiben sind z.B. die folgenden:

  • video/x-ms-asf
  • application/vnd.ms.wms-hdr.asfv1
  • application/x-mms-framed
  • audio/x-pn-realaudio

Hiermit können wir nun die squid.conf ändern. Zum einen brauchen wir dei entsprechenden ACL's und zum anderen die entsprechenden Rules. Diese müssen nur noch in die squid.conf an die richtige Stelle geschrieben werden. Dies ist aber aus der Datei selber ersichtlich.

#/etc/squid/squid.conf
...
################## ACL for Radio / Video Stream ###########################
acl StreamingRequest1 req_mime_type -i ^video/x-ms-asf$
acl StreamingRequest2 req_mime_type -i ^application/vnd.ms.wms-hdr.asfv1$
acl StreamingRequest3 req_mime_type -i ^application/x-mms-framed$
acl StreamingRequest4 req_mime_type -i ^audio/x-pn-realaudio$
acl StreamingReply1 rep_mime_type -i ^video/x-ms-asf$
acl StreamingReply2 rep_mime_type -i ^application/vnd.ms.wms-hdr.asfv1$
acl StreamingReply3 rep_mime_type -i ^application/x-mms-framed$
acl StreamingReply4 rep_mime_type -i ^audio/x-pn-realaudio$
################## ACL for Radio / Video Stream ###########################
...
...
#################### Rules to block Radio / Video Stream  #################
http_access deny StreamingRequest1 all
http_access deny StreamingRequest2 all
http_access deny StreamingRequest3 all
http_access deny StreamingRequest4 all

http_reply_access deny StreamingReply1 all
http_reply_access deny StreamingReply2 all
http_reply_access deny StreamingReply3 all
http_reply_access deny StreamingReply4 all
#################### Rules to block Radio / Video Stream  #################
...