PDA

Просмотр полной версии : Фильтрация контента в сквиде


Anarc
09.03.2006, 16:15
Помогите разобраться как мне отфильтровать картинки, музыку и рекламу в сквиде
Если я правильно понял, то сквид может порезать запрос в урл которого допустим есть запрещённый, скажем, jpg,но сайт у которого нет буквосочетания JPG в урл разумеется открывается у пользователя ( типа www.tetki.ru откроется и вся "прелесть" тоже) или нет?
Второй вариант-редирект, но squidGuard не умеет (или умеет?) работать не с группами на базе IP адресов а с авторизацией как у меня сейчас.
На вопрос почему не привязать к IP адресу и забыть про авторизацию, скажу-у нас на предприятии за одним и тем же копмпом сидят разные люди и уровни доступа в инет тоже должен быть разный
Мож есть у кого идеи?

Nathan
10.03.2006, 11:11
# Мы любимые!
acl unlimit_host src "/usr/local/etc/squid/acl/unlimit.host"

#
# Рисуем группы и прописываем к ним acl листы
#

# Рубим доступ к чатам через регулярные выражения
acl chat_urls url_regex "/usr/local/etc/squid/acl/chat.deny"

# Даем доступ к чатам избранным
acl chat_ip src "/usr/local/etc/squid/acl/chat.ip"

# Закрываем полностью доступ провинившимся
acl deny_ip src "/usr/local/etc/squid/acl/deny.ip"

# Рубим доступ к медиа всем кроме избранных
acl mp3_urls urlpath_regex -i .mp3$
acl mp3_urls urlpath_regex -i .mpg$
acl mp3_urls urlpath_regex -i .mpeg$

# Даем доступ к MP3 избранным
acl mp3_comps src "/usr/local/etc/squid/acl/mp3.ip"

# Рубим доступ к ICQ
acl noicq_comps src "/usr/local/etc/squid/acl/noicq.ip"

# Рубим доступ к бесплатным почтовым ящикам
acl extmail url_regex "/usr/local/etc/squid/acl/extmail.deny"

# Рубим доступ к NoNaMe
acl nnm url_regex "/usr/local/etc/squid/acl/nnm.deny"
# Даем доступ к NoNaMe Избранным
acl nnm_comps src "/usr/local/etc/squid/acl/nnm.ip"

#
# Пишем права и обязанности групп
#

# Запрещяем ICQ
http_access deny CONNECT ICQ_port icqdom noicq_comps

# Разрешаем MP3
http_access allow mp3_urls mp3_comps
# Запрещаем MP3
http_access deny mp3_urls
# Разрешаем Локальным
http_access allow localext
# Разрешаем Себе любимым
http_access allow unlimit_host

# Разрешаем NNM
http_access allow nnm nnm_comps
# Запрещаем NNM
http_access deny nnm

# Бесплатня почта
http_access allow extmail extmail_comps
http_access deny extmail

# Чаты
http_access allow chat_ip
http_access deny chat_urls

# Запрещаем провинившимся
http_access deny deny_ip

# Запрещаем всем остальным кого явно не указали.
http_access deny all

Пример Файл: chat.deny
.chatcity.ru/
http://www.masterbootrecord.de/
192.168.7
www.mult.ru
http://love.rax.ru/
chat.chat.ru
http://www.intimchat.ru/
http://chat.glasnet.ru/
http://195.42.162.128/
http://195.218.252.3/
http://bchat.seagull.rinet.ru/
http://195.54.192.72/
http://www.lovechat.ru/
http://212.24.43.196/
http://chat.rema.ru/
http://195.91.165.135/
http://www.gordon.ru/
http://195.14.50.23/
http://www.citychat.ru/
http://195.242.9.15/
http://chat.bratsk.ru/
http://195.206.49.9/
http://www.uploaded.com/
http://146.101.140.10/
http://www.x-time.ru/
http://212.24.58.160/
http://www.oo.ru/
http://194.135.30.32/
http://chat.vsluh.ru
http://chat.tura.ru
http://www.webshots.com
krovatka
erolit
194.67.26.20
www.gohip.com
209.85.251.132
vinco.ru

Nathan
10.03.2006, 15:42
Баннеры и остальную рекламу я режу с помощью Squirm

Squirm - настраиваемый, очень эффективный редиректор для Squid by Chris Foote. Возможности:

* Очень быстр
* Не использует виртуальной памяти
* Может перечитывать свой конфиг при получении сигнала HUP
* Интерактивный тестовый режим для проверки новых конфигов
* Полная поддержка регулярных выражений
* Настроечные файлы для шаблонов и IP-адресов.
* Если вы испортили ваш конфиг, Squirm запустится в Dodo Mode т.е. ваш squid продолжит работу :-)

ftpd
18.03.2006, 23:43
Как фильтровать баннеры и остальную рекламу расказал Nathan.
Я же расскажу как фильтровать музыку и файлы. :)
Вот мой производственный вариант. Он писался с учетом того, что можно после имени файла, скажем .mp3, поставить ?1.При этом ссылка остается валидной и большинство веб-серверов проигнорируют эти два символа,а вот соотв. правило squid-а не сработает.
выдержка из конфига:
--
# Файлы. Фильтр по словосочетанию в ссылке.
acl files urlpath_regex -i \.(rar|rar\?.*|zip|zip\?.*|exe|exe\?.*|gz|gz\?.*)$
acl files urlpath_regex -i \.(cab|cab\?.*|img|img\?.*|bin|bin\?.*|msi|msi\?.*)$
acl files urlpath_regex -i \.(iso|iso\?.*|dat|dat\?.*|tar|tar\?.*|tgz|tgz\?.*)$
acl files urlpath_regex -i \.(arj|arj\?.*|lzh|lzh\?.*|ha|ha\?.*|mdf|mdf\?.*|jar|jar\?.*)$
acl files urlpath_regex -i \.(bz2|bz2\?.*|ace|ace\?.*|nrg|nrg\?.*)$

# Файлы. Фильтр по заголовку Content-Length
acl mime_files rep_mime_type application/octet-stream
acl mime_files rep_mime_type application/rar
acl mime_files rep_mime_type application/arj
acl mime_files rep_mime_type application/zip
acl mime_files rep_mime_type application/x-bzip2
acl mime_files rep_mime_type application/x-compress
acl mime_files rep_mime_type application/x-zip-compressed
acl mime_files rep_mime_type application/x-arj-compressed
acl mime_files rep_mime_type application/x-lha-compressed
acl mime_files rep_mime_type application/x-xpinstall
acl mime_files rep_mime_type application/x-compressed
acl mime_files rep_mime_type application/x-msdownload
acl mime_files rep_mime_type application/x-bcpio
acl mime_files rep_mime_type application/x-cpio
acl mime_files rep_mime_type application/x-gtar
acl mime_files rep_mime_type application/x-rpm
acl mime_files rep_mime_type application/x-tar
acl mime_files rep_mime_type application/x-ustar
acl mime_files rep_mime_type application/x-gzip

# Мультимедиа. Фильтр по словосочетанию в ссылке.
acl media urlpath_regex -i \.(mp3|mp3\?.*|avi|avi\?.*|mp(eg|e|g)|mp(eg|e|g)\?.*|cool|cool\?.*|iva |iva\?.*|wm(v|a)|wm(v|a)\?.*)$
acl media urlpath_regex -i \.(m2p|m2p\?.*|bik|bik\?.*|mid|mid\?.*|mov|mov\?.*|qt|qt\?.*|ai(f|fc|f f)|ai(f|fc|ff)\?.*|3g(p|pp)|3g(p|pp)\?.*)$

# Мультимедиа. Фильтр по заголовку Content-Type
acl mime_media rep_mime_type audio/midi
acl mime_media rep_mime_type audio/basic
acl mime_media rep_mime_type audio/echospeech
acl mime_media rep_mime_type audio/tsplayer
acl mime_media rep_mime_type audio/vnd.rn-realaudio
acl mime_media rep_mime_type audio/mpeg
acl mime_media rep_mime_type audio/x-pn-realaudio
acl mime_media rep_mime_type audio/x-pn-realaudio-plugin
acl mime_media rep_mime_type audio/x-twinvq
acl mime_media rep_mime_type audio/x-twinvq-plugin
acl mime_media rep_mime_type audio/x-wav
acl mime_media rep_mime_type audio/x-aiff
acl mime_media rep_mime_type audio/x-bamba
acl mime_media rep_mime_type audio/x-chacha
acl mime_media rep_mime_type audio/x-mio
acl mime_media rep_mime_type video/x-msvideo
acl mime_media rep_mime_type video/x-ms-asf
acl mime_media rep_mime_type video/quicktime
acl mime_media rep_mime_type video/mpeg
acl mime_media rep_mime_type video/vnd.rn-realvideo
acl mime_media rep_mime_type video/vnd.mpegurl


# Block with TCP RST
deny_info TCP_RESET files
deny_info TCP_RESET mime_files
deny_info TCP_RESET media
deny_info TCP_RESET mime_media

# Тут фильтруем запросы к серверу ( фильтруется текст ссылки)

http_access allow кому можно качать файло, музычку и видео
http_access deny all media
http_access allow кому можно качать файло
http_access deny all files
http_access allow все остальные
http_access deny all

# А тут фильтруем ответ сервера (заголовок HTTP Content-Type)

http_reply_access allow кому можно качать файло, музычку и видео
http_reply_access deny all mime_media
http_reply_access allow кому можно качать файло
http_reply_access deny all mime_files
http_reply_access allow все остальные
http_reply_access deny all

Однако, есть сервера (cyberfight.ru, например), которые отдают файлы с заголовком
Content-Type: text/plain
И тут мы, администраторы, беспомощны. :(