Problem
In einem Netzwerk mit Squid Proxy-Server sollen Video-Streamingdienste blockiert werden. Die Herausforderung liegt hierbei in der Diensterkennung; wenn man in den ACLs nur Domain- oder Hostnamen verwendet, gibt es immer wieder findige Zeitgenossen die ihre Videodienste unter neuen Namen finden.
Außerdem ist die Liste an Porn-Websites im Internet vermutlich größer als Anzahl Wörter in der Wikipedia.
Diese ACL-Liste funktioniert natürlich sowohl unter Linux, als auch im SquidNT unter Windows.
Lösung
Mime-Typen und Dateiendungen nutzen. Nach langem testen und anpassen hat sich bei uns dieses Regelset für die squid.conf bewärt:
acl mediastream rep_mime_type ^application/vnd.ms.wms-hdr.asfv1 acl mediastream rep_mime_type ^application/x-fcs acl mediastream rep_mime_type ^application/x-mms-framed acl mediastream rep_mime_type video/flv video/x-flv acl mediastream rep_mime_type -i ^video/ acl mediastream rep_mime_type -i ^video\/ acl mediastream rep_mime_type ^video/x-ms-asf acl mediastream rep_mime_type ms-hdr acl mediastream rep_mime_type x-fcs acl mediastream rep_mime_type ^audio/mpeg acl mediastream rep_mime_type ^audio/x-scpls acl mediastream rep_mime_type ^video/x-flv acl mediastream rep_mime_type ^video/mpeg4 acl mediastreamurl urlpath_regex \.flv(\?.*)?$ acl mediastreamurl urlpath_regex -i \.(avi|mp4|mov|m4v|mkv|flv)(\?.*)?$ acl mediastreamurl urlpath_regex -i \.(mpg|mpeg|avi|mov|flv|wmv|mkv|rmvb)(\?.*)?$ # Vorsich hiermit! Das blockiert Flash. # acl mediastream rep_mime_type ^application/x-shockwave-flash
Danach reicht es, dise ACLs wie http_access Regel auszusperren:
http_access deny mediastream http_reply_access deny mediastreamurl