Показаны сообщения с ярлыком squid. Показать все сообщения
Показаны сообщения с ярлыком squid. Показать все сообщения

пятница, 24 апреля 2009 г.

X-Forwarded-For и Squid

На днях выяснилось, что Squid, несмотря на запрет выдавать «X-Forwarded-For», пропускает данный http-заголовок наружу в том случае если сгенерирован нижестоящим прокси-сервером.
Проблема решилась одной строкой в конфиге Squid

header_access X-Forwarded-For deny all

вторник, 8 января 2008 г.

Squid 2.6 может слушать на нескольких портах

Достаточно в squid.conf прописать несколько раз параметр http_port с нужными значениями:

# Например:
# Сюда форвардятся запросы пользователей из локальной сети
http_port 127.0.0.1:3128 transparent
# Через этот порт ходят программы из jail'ов
# т.к. не могут соединиться на порт 3128 по адресу 127.0.0.1
# (FreeBSD 7.0)
http_port 127.0.0.3:3128

В логах Squid пишет что-то вроде этого:
2008/01/08 20:15:47| Accepting transparently proxied HTTP connections at 127.0.0.1, port 3128, FD 13.
2008/01/08 20:15:47| Accepting proxy HTTP connections at 127.0.0.3, port 3128, FD 15.

среда, 10 октября 2007 г.

Блокирование баннеров в Squid 2.6

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"
acl BANNER_IFRAME_REGEX url_regex "/usr/local/etc/squid/url.banner.iframe-regex"
Применение запретов. Приведенные ниже правила http_access deny размещаются ДО разрешающих правил http_access allow.
http_access deny !WHITELIST BANNER
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
Блокируем соединения CONNECT, на всякий случай.
http_access deny CONNECT !WHITELIST BANNER
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
И сами предупреждения, etc.
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
internal-server.local
• /usr/local/etc/squid/url.banner
.ad.adriver.ru
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
• /usr/local/etc/squid/url.banner-regex
^http://r\.mail\.ru/(cl)?b[[:digit:]]+
^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/
• /usr/local/etc/squid/url.banner.iframe
clck.yandex.ru
.engine.awaps.net
.begun.ru
.adv.aport.ru
.tr.1big.ru
• /usr/local/etc/squid/url.banner.iframe-regex
/iframe/
[[:<:]]pagead[[:digit:]]+\.googlesyndication\.com
• /usr/local/etc/squid/url.porno
.porndiller.com
.meatmembers.com
.xvideos.com
.livesexlist.com
.brothasfuckteens.com
.nexxx.com
.creamed-whores.com
.juggmovieplanet.com
• /usr/local/etc/squid/url.porno-regex
porno|xxx|adult
После внесения изменений перезагрузите прокси-сервер:
# squid -k reconfigure