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

Исходное сообщение
"Фильтрация пользователей по строке useragent"

Отправлено alexy , 12-Фев-03 14:57 
Требуется фильтрация по строке useragent. Соответствующий лог ведётся. Установлен squid 2.4 stable7 on BSDI/BSD OS. Что хотел бы получить? Запрет на выход в интернет при наличии в сторке useragent запрещённого значения.

Содержание

Сообщения в этом обсуждении
"RE: Фильтрация пользователей по строке useragent"
Отправлено Michael , 12-Фев-03 16:50 
>Требуется фильтрация по строке useragent. Соответствующий лог ведётся. Установлен squid 2.4 stable7
>on BSDI/BSD OS. Что хотел бы получить? Запрет на выход в
>интернет при наличии в сторке useragent запрещённого значения.

Добрый день!
попробуй acl aclname browser  [-i] regexp


"RE: Фильтрация пользователей по строке useragent"
Отправлено alexy , 13-Фев-03 07:25 
>попробуй acl aclname browser  [-i] regexp

А по-подробней можно? Browser - это строка useragent, как она есть? Что-за параметр [-i]? А может можно это сделать, как и запрет на баннеры, со ссылкой на какой-то файл?


"RE: Фильтрация пользователей по строке useragent"
Отправлено Michael , 13-Фев-03 08:33 
>>попробуй acl aclname browser  [-i] regexp
>
>А по-подробней можно? Browser - это строка useragent, как она есть? Что-за
>параметр [-i]? А может можно это сделать, как и запрет на
>баннеры, со ссылкой на какой-то файл?
acl и browser - ключевые слова для построения списка доступа
-i - опциональный параметр для игнорирования регистра символов
regexp - регулярное выражение, в простейшем виде можно написать Internet Explorer для обозначния всех версий MSIE

подробнее читай в squid.conf раздел про acl-и и http_access, и на сайте-первоисточнике www.squid-cache.org


"RE: Фильтрация пользователей по строке useragent"
Отправлено alexy , 13-Фев-03 09:49 
>regexp - регулярное выражение, в простейшем виде можно написать Internet Explorer для
>обозначния всех версий MSIE

Спасибо. Только вот вскрылась какая проблема. При задании regexp и указании пути к файлу идут ошибки: либо не находится файл (хотя он там есть), либо (если SQUID не ругнулся) всё равно по логу я вижу, что ходят все. Такая же проблема и при запрете подобным образом порно и баннеров (с указанием пути к файлу).


"RE: Фильтрация пользователей по строке useragent"
Отправлено Michael , 13-Фев-03 13:37 
>Спасибо. Только вот вскрылась какая проблема. При задании regexp и указании пути
>к файлу идут ошибки: либо не находится файл (хотя он там
>есть), либо (если SQUID не ругнулся) всё равно по логу я
>вижу, что ходят все. Такая же проблема и при запрете подобным
>образом порно и баннеров (с указанием пути к файлу).
squid далеко не всегда ругается, если не находит файл, может и промолчать... в cache.log смотрел?

синтаксис везде корректен?

напиши свои acl и http_access, думаю, что-то в них...


"RE: Фильтрация пользователей по строке useragent"
Отправлено alexy , 13-Фев-03 14:09 
>squid далеко не всегда ругается, если не находит файл, может и промолчать...
Вот это не есть хорошо.

>в cache.log смотрел?
Не создавал.

>синтаксис везде корректен?
Думаю да.

>напиши свои acl и http_access, думаю, что-то в них...
acl Banners urlpath_regex '/etc/ba'
acl Porno urlpath_regex '/etc/por'
deny_info ERR_PORNO_LIST Porno
acl NoBanners urlpath_regex '/etc/noban'
Далее идут мои группы пользователей.
....
http_access deny Banners !NoBanners
http_access deny Porno !NoBanners
Далее разрешения на описанные выше группы.
....
Кусок файла por:
prostit
popka
boob
horny
snatche
freex
zoofilia
zoophilia
На всякий случай, может формат не верен, т.к. на porno.ru зайти можно, но слова porn и porno в файле присутствуют. А вот если встречаются указанные слова в глубине URL - тогда запрет.
P.S.: А строки относящиеся к запрету на использование "неправильных браузеров" я убрал. Надо в начале одну задачу решить.


"RE: Фильтрация пользователей по строке useragent"
Отправлено Michael , 13-Фев-03 16:14 
>>в cache.log смотрел?
>Не создавал.
зря, некоторые вещи можно увидеть только там...

>acl Banners urlpath_regex '/etc/ba'
>acl Porno urlpath_regex '/etc/por'
у меня используются двойные кавычки, а не одинарные, и все работает, возможно, дело в этом.

>deny_info ERR_PORNO_LIST Porno
>acl NoBanners urlpath_regex '/etc/noban'
>Далее идут мои группы пользователей.
>....
>http_access deny Banners !NoBanners
>http_access deny Porno !NoBanners
>Далее разрешения на описанные выше группы.
>....
>Кусок файла por:
>prostit
>popka
>boob
>horny
>snatche
>freex
>zoofilia
>zoophilia
>На всякий случай, может формат не верен, т.к. на porno.ru зайти можно,
>но слова porn и porno в файле присутствуют. А вот если
>встречаются указанные слова в глубине URL - тогда запрет.

и правильно! потому, что ты используешь только urlpath_regex, для самих URL-ов нужно использовать url_regex.
только не знаю, надо ли использовать оба типа acl-ов одновременно или достаточно url_regex :( это уж пробуй сам!


"RE: Фильтрация пользователей по строке useragent"
Отправлено alexy , 14-Фев-03 09:31 
>>>в cache.log смотрел?
>>Не создавал.
>зря, некоторые вещи можно увидеть только там...

Создам, только на что там обращать внимание.

>у меня используются двойные кавычки, а не одинарные, и все работает, возможно,
>дело в этом.

и с одинарными работает.

>и правильно! потому, что ты используешь только urlpath_regex, для самих URL-ов нужно
>использовать url_regex.
>только не знаю, надо ли использовать оба типа acl-ов одновременно или достаточно
>url_regex :( это уж пробуй сам!

нашёл на http://www.fork.kiev.ua/index.phtml?id=17 полезный совет. Щас попробую.
Теперь по поводу useragent. Всё же как грамотнее задать запрет на попытки выйти в Сеть недозволенным программам? Хочу создавать и поддерживать список запрещённых программ. Как корректно описать путь к списку? Если это возможно. Не хочеться городить всё в конфиге.



"RE: Фильтрация пользователей по строке useragent"
Отправлено Michael , 14-Фев-03 18:54 
>>>>в cache.log смотрел?
>>>Не создавал.
>>зря, некоторые вещи можно увидеть только там...
>
>Создам, только на что там обращать внимание.
например, свои проблемы с ДНС я смог увидеть только там.
в частности, там пишутся сообщения об ошибках при запуске внешних программ.

>>и правильно! потому, что ты используешь только urlpath_regex, для самих URL-ов нужно
>>использовать url_regex.
>>только не знаю, надо ли использовать оба типа acl-ов одновременно или достаточно
>>url_regex :( это уж пробуй сам!
>
>нашёл на http://www.fork.kiev.ua/index.phtml?id=17 полезный совет. Щас попробую.
>Теперь по поводу useragent. Всё же как грамотнее задать запрет на попытки
>выйти в Сеть недозволенным программам? Хочу создавать и поддерживать список запрещённых
>программ. Как корректно описать путь к списку? Если это возможно. Не
>хочеться городить всё в конфиге.
на самом деле по useragent можно защититься только от совсем простых юзеров, большинство современных программ позволяют настраивать эту строку и даже быстро переключать ее во время работы...
так что никак!
единственный путь, который я вижу - ставить персональные файрволлы на рабочих машинах, и каждый настраивать...


"RE: Фильтрация пользователей по строке useragent"
Отправлено alexy , 17-Фев-03 08:38 
>на самом деле по useragent можно защититься только от совсем простых юзеров,

А у меня в основном такие: начальники, не умеющие толком пользоваться даже браузерами, а уж о настройках и говорить нечего.

>так что никак!

Не согласен.

>единственный путь, который я вижу - ставить персональные файрволлы на рабочих машинах,
>и каждый настраивать...

Лишний гемор. Лучше всё сделать централизованно.


"RE: Фильтрация пользователей по строке useragent"
Отправлено Михаил , 17-Фев-03 10:44 
>>единственный путь, который я вижу - ставить персональные файрволлы на рабочих машинах,
>>и каждый настраивать...
>
>Лишний гемор. Лучше всё сделать централизованно.

тогда остается использовать useragent, других способов различить программы в http, а уж тем более в TCP/IP, нет.
например, вирус, лезущий на свой родной сервак по протоколу http и подставляющий aseragent как у MSIE, не отличишь от настоящего MSIE идущего туда же :(
кстати некторые альтернативные браузеры для виндов не имеют своего движка, а используют MSIE, тут вообще отличить не вижу возможности...


"RE: Фильтрация пользователей по строке useragent"
Отправлено alexy , 18-Фев-03 12:45 
>тогда остается использовать useragent, других способов различить программы в http, а уж
>тем более в TCP/IP, нет.
>например, вирус, лезущий на свой родной сервак по протоколу http и подставляющий
>aseragent как у MSIE, не отличишь от настоящего MSIE идущего туда
>же :(
>кстати некторые альтернативные браузеры для виндов не имеют своего движка, а используют
>MSIE, тут вообще отличить не вижу возможности...

Ну у меня вроде как получилось. Уже 2 дня кроме браузеров никого лишнего. А от вирусов антивирус помогает.