URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 6373
[ Назад ]

Исходное сообщение
"Как настроить сквид, чтобы он блочил траффик программ?"

Отправлено GlooM , 12-Апр-10 22:10 
Здравствуйте. Помогите плз решить проблему.
Имеется шлюз на FreeBSD_7.2, ipfw, Squid3, SquidGuard через который в инет ходит рабочая локалка.

Ситуация такая: юзерам открыт только 80 порт (даже https весь запрещен) + 25 и 110 порт на корпоративный почтовый сервер (остальное в тотальный дроп), причем запросы на 80 порт автоматически заворачиваются на сквид, работающий в транспарент режиме. Таким образом, все запросы проходящие в инет идут через сквид, где, при помощи сквидгарда, обрабатываются на принадлежность к списку "плохих сайтов", соответственно, пишется лог всего этого. С блокировкой сайтов сквид+сквидгард справляются нормально, т.е. из блокировочного списка сайт редиректится на картинку-затычку, и из браузера юзер не может посмотреть любой адрес, где в слове или части слова встречается выражение из базы сквидгарда. Стоит еще заметить, что конфигой сквида запрещен "метод коннект".

Казалось бы, кроме веб-анонимайзеров, ничего пролазить "мимо кассы" не должно....

Однако, недавно наблюдал такую ситуацию. На браузер устанавливается плагин "Яндекс.бар", после чего в логах сквида начинают активно появляться метки о посещении с данного локального компа (на браузере которого стоит яндексбар) адреса bar-navig.yandex.ru. Т.е. этот плагин коннектится к своему серверу через 80 порт и сгребает, таким образом, информацию для отображения в себе. Я, значит, выражение "bar-navig" засовываю в "базу гадостей" сквидгарда, вижу что такой сайт действительно блокируется (из браузера), но, на следующий день наблюдаю полные логи этих обращений к бар-навигу.яндекс.ру с немалым количеством насосанного трафика! Как? Он же запрещен?! И если сам сквид в своем логе это великолепно фиксирует, так что же ему мешает это банить (тем более метод_коннект запрещен)?
Делаю лукап этого бар-навига, получаю весь перечень айпи, которые, дружно отправляются в фильтрующее правило ipfw. Никаких бар-навигов после этого в логах в помине нет. Т.е. удалось зафильтровать только фаерволом, политиками дропа айпи, а не адресов в хттп запросах.

Но, недавно появилась другая проблема, юзер повадился пользоваться сервисом открытия удаленного доступа через сторонние сервера и их программу агент. Эта программа, наподобие того самого яндексбара не просто запрашивает страничку, а стучится к своему серверу через 80 порт так, что сквид его не кроет. В логах куча пометок: server500.blabla.com; server602.blabla.com; server624.blabla.com и так далее. Всю эту дрянь в айпифв засунуть не получится, я затрахаюсь лукапить каждое имя, кроме того там не одна подсеть на все сервера, а капитальный разброс адресов. Как заставить все таки сквид выпиливать эти запросы, ведь в нем же можно просто разом (выражение blabla.com) накрыть все сервера. Я просто не понимаю суть - как эти запросы вообще проходят? Чем отличается запрос в браузере адреса, от таких запросов через программы\плагины к браузерам итд? Повторюсь, метод коннект запрещен.
Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Как настроить сквид, чтобы он блочил траффик программ?"
Отправлено Square , 13-Апр-10 00:32 
> Я
>просто не понимаю суть - как эти запросы вообще проходят? Чем
>отличается запрос в браузере адреса, от таких запросов через программы\плагины к
>браузерам итд? Повторюсь, метод коннект запрещен.

Тем что в браузере - протокол http, а любая прога стучащаяся на 80 порт может использовать свой собственный протокол... возможно сквид, не опознав в потоке http пропускает его как есть? А Яндекс.бар точно по http лезет на 80-й порт?


"Как настроить сквид, чтобы он блочил траффик программ?"
Отправлено Golub Mikhail , 13-Апр-10 10:30 
>> Я
>>просто не понимаю суть - как эти запросы вообще проходят? Чем
>>отличается запрос в браузере адреса, от таких запросов через программы\плагины к
>>браузерам итд? Повторюсь, метод коннект запрещен.
>
>Тем что в браузере - протокол http, а любая прога стучащаяся на
>80 порт может использовать свой собственный протокол... возможно сквид, не опознав
>в потоке http пропускает его как есть? А Яндекс.бар точно по
>http лезет на 80-й порт?

Точно по http.

Смотрите:
#       acl aclname dst ip-address/netmask ...          # URL host's IP address
#       acl aclname dstdomain   .foo.com ...            # Destination server from URL
#       acl aclname dstdom_regex [-i] \.foo\.com ...    # regex matching server
#         # For dstdomain and dstdom_regex a reverse lookup is tried if a IP
#       acl aclname dst_as number ...
#         # acl asexample dst_as 1241



"Как настроить сквид, чтобы он блочил траффик программ?"
Отправлено GlooM , 13-Апр-10 12:07 
>[оверквотинг удален]
>.foo.com ...          
>  # Destination server from URL
>#       acl aclname dstdom_regex [-i] \.foo\.com
>...    # regex matching server
>#         # For dstdomain
>and dstdom_regex a reverse lookup is tried if a IP
>#       acl aclname dst_as number ...
>
>#         # acl asexample
>dst_as 1241

Я понял. Т.е. идея заключается в том же самом бане по имени домена, но не средствами редиректа в сквидгард и обработке уже им, а сразу сквидом напрямую. Написал правило, проверил блокировку из браузера - корректно (The requested URL could not be retrieved). Насобираю логов за сутки, вечером гляну как там прога этого умника поведет себя.