Squid при блокировании нежелательного контента во многих случаях может обходиться без разношерстных редиректоров. В частности, Squid может блокировать баннеры и вместо отображения стандартного текстового предупреждения перенаправить запрос пользователя на веб-сервер с пустым gif-рисунком.
Пример куска конфига прокси-сервера Squid:
Пишем сюда (в файл /usr/local/etc/squid/url.whitelist, по одному домену на строку) доменные имена тех сайтов которые мы не хотим блокировать.
Сюда же следует добавить адрес веб-сервера где размещается контент, куда перенаправляется блокированный запрос пользователя.
acl WHITELIST dstdomain "/usr/local/etc/squid/url.whitelist"
Блокирование баннеров по доменному имени. Строка вроде example.com запретит только этот домен, оставив доступными домены www.example.com или big.friend.example.com. Если вместо example.com написать .example.com будут блокированы сам домен и все его поддомены.acl BANNER dstdomain "/usr/local/etc/squid/url.banner"
Блокирование баннеров с помощью регулярных выражений regex (не pcre).acl BANNER_REGEX url_regex "/usr/local/etc/squid/url.banner-regex"
Блокируем порно по тому же принципу как и баннерыacl PORNO dstdomain "/usr/local/etc/squid/url.porno"Блокируем фреймы
acl PORNO_REGEX url_regex "/usr/local/etc/squid/url.porno-regex"
acl BANNER_IFRAME dstdomain "/usr/local/etc/squid/url.banner.iframe"Применение запретов. Приведенные ниже правила http_access deny размещаются ДО разрешающих правил http_access allow.
acl BANNER_IFRAME_REGEX url_regex "/usr/local/etc/squid/url.banner.iframe-regex"
http_access deny !WHITELIST BANNERБлокируем соединения CONNECT, на всякий случай.
http_access deny !WHITELIST BANNER_REGEX
http_access deny !WHITELIST BANNER_IFRAME
http_access deny !WHITELIST BANNER_IFRAME_REGEX
http_access deny !WHITELIST PORNO
http_access deny !WHITELIST PORNO_REGEX
http_access deny CONNECT !WHITELIST BANNERИ сами предупреждения, etc.
http_access deny CONNECT !WHITELIST BANNER_REGEX
http_access deny CONNECT !WHITELIST BANNER_IFRAME
http_access deny CONNECT !WHITELIST BANNER_IFRAME_REGEX
http_access deny CONNECT !WHITELIST PORNO
http_access deny CONNECT !WHITELIST PORNO_REGEX
deny_info http://192.168.0.9/null.gif BANNERТеперь создаем и заполняем заявленные в конфиге файлы:
deny_info http://192.168.0.9/null.gif CONNECT BANNER
deny_info http://192.168.0.9/null.gif BANNER_REGEX
deny_info http://192.168.0.9/null.gif CONNECT BANNER_REGEX
deny_info http://192.168.0.9/null.html BANNER_IFRAME
deny_info http://192.168.0.9/null.html BANNER_IFRAME_REGEX
deny_info http://192.168.0.9/null.html CONNECT BANNER_IFRAME
deny_info http://192.168.0.9/null.html CONNECT BANNER_IFRAME_REGEX
deny_info http://192.168.0.9/no-porno.gif PORNO
deny_info http://192.168.0.9/no-porno.gif CONNECT PORNO
deny_info http://192.168.0.9/no-porno.gif PORNO_REGEX
deny_info http://192.168.0.9/no-porno.gif CONNECT PORNO_REGEX
• /usr/local/etc/squid/url.whitelist
192.168.0.9• /usr/local/etc/squid/url.banner
internal-server.local
.ad.adriver.ru• /usr/local/etc/squid/url.banner-regex
pics.rbc.ru
.ad.membrana.ru
bs.yandex.ru
pics.imho.ru
body.imho.ru
content.medialand.ru
.spylog.com
counter.yadro.ru
.advideo.bb.ru
.tns-counter.ru
^http://r\.mail\.ru/(cl)?b[[:digit:]]+• /usr/local/etc/squid/url.banner.iframe
^http://images\.rambler\.ru/upl/
/banners?[[:digit:]]*[x?/\.]
[[:<:]]hit[[:digit:]]+\.hotlog\.ru
/(count(er)?|cnt|hit)[[:digit:]]*[\.?]
/[aA]d(v(erts?)?|s)?[[:digit:]]*[?/\.]
^http://(www\.)?sunradio\.ru/upload/bx/
^http://(www\.)?nnm\.ru/ban/
^http://(www\.)?java2phone\.ru/pict/b
^http://([[:alpha:]]+[[:digit:]]*\.)+bigmir\.net
^http://[[:alpha:]]+[[:digit:]]*\.[[:digit:]]+mdn\.net/viewad/
^http://(www\.)?nasvyazi\.ru/img/banner_
^http://(www\.)?games\.ru/b/
^http://(www\.)?computerra\.ru/upload/bx/
^http://(www\.)?finbs\.ru/Upload/
^http://(www\.)?torrents\.ru/forum/bn/
^http://(www\.)?powerclip\.ru/baner/
^http://(www\.)?nnm\.ru/rec/[[:digit:]]+/banner
^http://[[:alpha:]-]+\.nnm\.ru/rec/[[:digit:]]+/
^http://i\.ru-board\.com/temp/
^http://adserv\.top500\.org/b/
^http://([[:alpha:]-]+\.)+traf\.spb\.ru/(upload|b)/
^http://([[:alpha:]-]+\.)*inf\.by/i/b/
^http://(www\.)?gzt\.ru/files/
^http://([[:alnum:]]+\.)*ru-board\.com/board/temp/
^http://(www\.)?rb\.ru/img/content/ushki/
clck.yandex.ru• /usr/local/etc/squid/url.banner.iframe-regex
.engine.awaps.net
.begun.ru
.adv.aport.ru
.tr.1big.ru
/iframe/• /usr/local/etc/squid/url.porno
[[:<:]]pagead[[:digit:]]+\.googlesyndication\.com
.porndiller.com• /usr/local/etc/squid/url.porno-regex
.meatmembers.com
.xvideos.com
.livesexlist.com
.brothasfuckteens.com
.nexxx.com
.creamed-whores.com
.juggmovieplanet.com
porno|xxx|adultПосле внесения изменений перезагрузите прокси-сервер:
# squid -k reconfigure
7 комментариев:
Добрый день
А не могли бы Вы выложить рабочий конфиг сквида с комментариями на русском языке? Я начинающий фришник и поэтому бы хотелось бы посмотреть и сравнить со своим
что то не блокирует
в логах тишина права расставлены правильно что не так делаю?
Приведенные выше правила http_access deny следует размещать ДО правил http_access allow.
2skif: Если логи молчат значит трафик идет мимо squid.
Pasiba rebeata realino pomoglo
Наверное, самый толковый мануал о разграничении доступа для squid, из всех, что нагуглился.
Использую в чуть упрощенном виде в 2003 винде.
Спасибо автору!
Уважаемые у меня не получается сделать несколько deny_info
acl PORNO dstdom_regex -i sex porno adult suka girl xxx pussy teen eroti fuck rakom suchki radio
#DOSTUP NA SAYTI VAKANSIY
acl RABOTA dstdom_regex -i "/etc/squid/rabota_stop"
acl nourl url_regex -i "/etc/squid/nourl"
deny_info http://hamann.com.ua/nourl.htm nourl
deny_info http://hamann.com.ua/stop.htm PORNO
deny_info http://hamann.com.ua/work .htm RABOTA
http_access deny nourl
http_access deny PORNO
http_access deny RABOTA
Цель сделать переход
по разным условиям на странички в интернете, но срабатывают все запреты. Но страничка показывается только по ACL nourl и PORNO, а вот на RABOTA не хочет :-(
Может проблема в "work .htm" (пробел перед точкой)?
Отправить комментарий