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

Исходное сообщение
"Проблема при acl url_regex -i"

Отправлено Вебер , 02-Дек-03 19:46 
Хочется заблокировать "нежелательные" сайты. Тема неоднократно обсуждалась.
Но возникает проблема в следующем:
Пишем в squid.conf
acl url_porno url_regex -i "d:/prog/squid/etc/url_porno"
http_access deny url_porno

или используем redirector, например из www.rejik.ru (кстати хорошо описан и реально работает)
и было бы полное счастье, если бы не хитрость Юзеров. Делается просто: ping www.sex.ru (или подобное). В ответ получают адрес сайта и в
адресную строку броузера ставят этот адрес. А на него как раз запрета и нет.
Все прекрасно качается (смотрится)
Резолвинг для пользователя закрывать (по-моему) бессмысленно так как особо ретивые
обращаются к друзьям-знакомым за адресочком. В конце концов есть Whois сервера
Если прописывать в файл с запрещенными названиями сайтов еще и адреса - количество увеличивается практически вдвое.
Да и не хорошо как-то закрывать IP-шники т.к. на этом адресе м.быть несколько доменов.
И чего-то я не пойму. Как лучше с этой напастью бороться?
Может даст кто совет?


Содержание

Сообщения в этом обсуждении
"Проблема при acl url_regex -i"
Отправлено Андрей Слободяник , 03-Дек-03 02:50 
>и было бы полное счастье, если бы не хитрость Юзеров. Делается просто:
>ping www.sex.ru (или подобное). В ответ получают адрес сайта и в
Гм, у меня до этого еще не додумались. ;-)

>количество увеличивается практически вдвое.
Похоже, что другого выхода нет.

>Да и не хорошо как-то закрывать IP-шники т.к. на этом адресе м.быть
>несколько доменов.
Да, но "закрытие" IP-шника коснеться только "главного" из них, т.е. доступ к другим доменам сохраниться.

Надо что ли автору режика эту проблему подкинуть: быстрее, наверное, список удвоить, чем по IP определять URL и потом фильтровать. Кстати, в бан-листах режика довольно много IP адресов.

Пространные размышления ;-). Вначале было IP. Потом для удобствами придумали DNS. Теперь, чтобы обойти это удобство, вернулись к IP.


"Проблема при acl url_regex -i"
Отправлено Junior , 03-Дек-03 08:09 
>Хочется заблокировать "нежелательные" сайты. Тема неоднократно обсуждалась.
>Но возникает проблема в следующем:
>Пишем в squid.conf
>acl url_porno url_regex -i "d:/prog/squid/etc/url_porno"
>http_access deny url_porno
>
>или используем redirector, например из www.rejik.ru (кстати хорошо описан и реально работает)
>
>и было бы полное счастье, если бы не хитрость Юзеров. Делается просто:
>ping www.sex.ru (или подобное). В ответ получают адрес сайта и в
>
>адресную строку броузера ставят этот адрес. А на него как раз запрета
>и нет.
>Все прекрасно качается (смотрится)
>Резолвинг для пользователя закрывать (по-моему) бессмысленно так как особо ретивые
>обращаются к друзьям-знакомым за адресочком. В конце концов есть Whois сервера
>Если прописывать в файл с запрещенными названиями сайтов еще и адреса -
>количество увеличивается практически вдвое.
>Да и не хорошо как-то закрывать IP-шники т.к. на этом адресе м.быть
>несколько доменов.
>И чего-то я не пойму. Как лучше с этой напастью бороться?
>Может даст кто совет?


Вот тебе и совет:)
Используй не url_regex, а dstdom_regex (читаешь внимательней squid.conf на предмет применения и пояснения)


"Проблема при acl url_regex -i"
Отправлено ipmanyak , 03-Дек-03 10:05 
>Хочется заблокировать "нежелательные" сайты. Тема неоднократно обсуждалась.
>Но возникает проблема в следующем:
>Пишем в squid.conf
>acl url_porno url_regex -i "d:/prog/squid/etc/url_porno"
>http_access deny url_porno
>
>или используем redirector, например из www.rejik.ru (кстати хорошо описан и реально работает)
>
>и было бы полное счастье, если бы не хитрость Юзеров. Делается просто:
>ping www.sex.ru (или подобное). В ответ получают адрес сайта и в
>
>адресную строку броузера ставят этот адрес. А на него как раз запрета
>и нет.
>Все прекрасно качается (смотрится)
>Резолвинг для пользователя закрывать (по-моему) бессмысленно так как особо ретивые
>обращаются к друзьям-знакомым за адресочком. В конце концов есть Whois сервера
>Если прописывать в файл с запрещенными названиями сайтов еще и адреса -
>количество увеличивается практически вдвое.
>Да и не хорошо как-то закрывать IP-шники т.к. на этом адресе м.быть
>несколько доменов.
>И чего-то я не пойму. Как лучше с этой напастью бороться?
>Может даст кто совет?

всё очень просто в конфиге сквида пишешь :
acl IPaddrURLs url_regex http://[0-9]+\.[0-9]+\.[0...
http_access deny IPaddrURLs
более никто по ip никуда не попадет !


"Проблема при acl url_regex -i"
Отправлено Junior , 03-Дек-03 16:00 
>всё очень просто в конфиге сквида пишешь :
>acl IPaddrURLs url_regex http://[0-9]+\.[0-9]+\.[0...
>http_access deny IPaddrURLs
>более никто по ip никуда не попадет !

А если мне нужно будет проверять локальные вэб-сервера, которые имеют внутренние адреса и соответственно не прописаны в ДНС?
Наверное использование dstdom_regex будет всё-таки более правильным решением. На мой взгляд.


"Проблема при acl url_regex -i"
Отправлено ipmanyak , 04-Дек-03 06:32 
>>всё очень просто в конфиге сквида пишешь :
>>acl IPaddrURLs url_regex http://[0-9]+\.[0-9]+\.[0...
>>http_access deny IPaddrURLs
>>более никто по ip никуда не попадет !
>
>А если мне нужно будет проверять локальные вэб-сервера, которые имеют внутренние адреса
>и соответственно не прописаны в ДНС?
>Наверное использование dstdom_regex будет всё-таки более правильным решением. На мой взгляд.

ну ты даешь! поставь аксели на себя любимого выше этих правил и всё!  


"Проблема при acl url_regex -i"
Отправлено Вебер , 04-Дек-03 19:41 
Спасибо всем. .... url_regex http://[0-9]+\.[0-9]+\.[0... сработало великолепно.

А вот как можно в этой ситуации использовать dstdom_regex не сильно понял.
Как написано dstdom_regex: шаблон регулярного выражения назначения (сервер)
Понимаю, что использование dstdom_regex позволяет производить обратное преобразование адресов.
Т.е. если указано
acl IPaddr dstdom_regex "/squid/porno"
http_access deny IPaddr    
то при использовании dstdom_regex произойдёт обратное преобразование из IP в ИМЯ и сравнение с запретными сайтами, которые у меня в файле??
Я правильно вас понял?


"Проблема при acl url_regex -i"
Отправлено Junior , 05-Дек-03 07:30 
>Т.е. если указано
>acl IPaddr dstdom_regex "/squid/porno"
>http_access deny IPaddr
>то при использовании dstdom_regex произойдёт обратное преобразование из IP в ИМЯ и
>сравнение с запретными сайтами, которые у меня в файле??
>Я правильно вас понял?

Совершенно верно


"Проблема при acl url_regex -i"
Отправлено Michael , 03-Дек-03 17:58 
>и было бы полное счастье, если бы не хитрость Юзеров. Делается просто:
>ping www.sex.ru (или подобное). В ответ получают адрес сайта и в
а зачем открывать NAT и ДНС для простых пользователей?
у меня NAT строго по нужным хостам и адресам разрешен, так что такая хитрость Юзеров не пройдет.

"Проблема при acl url_regex -i"
Отправлено ipmanyak , 04-Дек-03 06:35 
dstdomain плохое решение для режекта порно, сайт может иметь безобидное
название, но иметь урлы с порно словами, например
www.site.com\adult
в этом случае dstdomain  не покатит !

"Проблема при acl url_regex -i"
Отправлено Junior , 04-Дек-03 07:17 
>dstdomain плохое решение для режекта порно, сайт может иметь безобидное
>название, но иметь урлы с порно словами, например
>www.site.com\adult
>в этом случае dstdomain  не покатит !


Обсуждается не решение по резке порно по урлам, а банить обращение по ip-адресам! RTFM!!!
Для резки порнухи лучше использовать редиректоры, для сих целей предназначенные (в моём понимании). Вопрошающему нужен был ответ по определённому моменту. Предложенный мной способ удобнее (объяснил почему) и не привязан к определённым машинам в сети.

Удачного дня.


"Проблема при acl url_regex -i"
Отправлено Ape , 10-Дек-03 13:04 
Решение с acl IPaddrURLs url_regex http://[0-9]+\.[0-9]+\.[0...
красивое. Решение с dstdomain тоже правильное.
Но вот есть другая проблема с тем же acl url_regex -i.
Известно, что url_regex ищет совпадение в строке URL. Тогда при запрете скачивания файлов с определённым расширением
acl STOP_FILE url_regex -i .exe .com .zip .rar .arj .ha
получаем следующую картину.
Пользователь не может перейти по ссылке содержащей слова comment channel так
как в первом слове есть буквосочетание com, а во втором ha. Как запретить скачивание файлов по расширениям правильно?

"Проблема при acl url_regex -i"
Отправлено Rippy , 10-Дек-03 18:54 
Когда нибудь обращал внимание на такие вещи:
^http://
exe$ mp3$
Не задавался вопросом, что они значат?
смотрим регулярные выражения на перле



"Проблема при acl url_regex -i"
Отправлено Ape , 10-Дек-03 21:49 
>Когда нибудь обращал внимание на такие вещи:
>^http://
>exe$ mp3$
>Не задавался вопросом, что они значат?
>смотрим регулярные выражения на перле

Честно говоря, я не силён в Perl, но хотелось бы знать.
Проясни если можешь.


"Проблема при acl url_regex -i"
Отправлено ipmanyak , 11-Дек-03 10:53 
>>Когда нибудь обращал внимание на такие вещи:
>>^http://
>>exe$ mp3$
>>Не задавался вопросом, что они значат?
>>смотрим регулярные выражения на перле
>
>Честно говоря, я не силён в Perl, но хотелось бы знать.
>Проясни если можешь.

acl deny_file url_regex -i "/usr/local/squid/etc/deny_file"
в файле

\.[zZ][iI][pP]$
\.[aA][rR][jJ]$
\.[qQ][qQ][qQ]$
\.[rR][aA][rR]$
\.[hH][aA]$
\.[mM][pP][33]$
впрочем если стоит -i, можно просто написать
\.zip$
есть еще наюнасы с резкой порно, допустим есть  в списке плохое слово   cum
тогда все урлы со словом document  будут отшиваться , поэтому нужно завести еще один список:
acl noporno url_regex -i  "/usr/local/squid/etc/noporn"
http_access allow noporno
и туда пихать такие слова как document и другие
например analyze   (в порно - anal )
  


"Проблема при acl url_regex -i"
Отправлено Ape , 11-Дек-03 11:44 
>впрочем если стоит -i, можно просто написать
>\.zip$
>есть еще наюнасы с резкой порно, допустим есть  в списке плохое слово   cum
>тогда все урлы со словом document  будут отшиваться , поэтому нужно завести еще один список:
>acl noporno url_regex -i  "/usr/local/squid/etc/noporn"
>http_access allow noporno
>и туда пихать такие слова как document и другие
>например analyze   (в порно - anal )

Хорошо, а почему нельзя сделать по аналогии
\cum$
\anal$


"Проблема при acl url_regex -i"
Отправлено ipmanyak , 11-Дек-03 12:32 
>>впрочем если стоит -i, можно просто написать
>>\.zip$
>>есть еще наюнасы с резкой порно, допустим есть  в списке плохое слово   cum
>>тогда все урлы со словом document  будут отшиваться , поэтому нужно завести еще один список:
>>acl noporno url_regex -i  "/usr/local/squid/etc/noporn"
>>http_access allow noporno
>>и туда пихать такие слова как document и другие
>>например analyze   (в порно - anal )
>
>Хорошо, а почему нельзя сделать по аналогии
>\cum$
>\anal$

хм, может и можно, надо проверить


"Проблема при acl url_regex -i"
Отправлено Rippy , 11-Дек-03 12:37 
^ означает начало строки, т.е. '^http' сработает на 'http:/' и не сработает на 'blabla-http', $ означает окончание строки, '.' заменяет любой символ, соответственно точка в строке выглядит как '\.', т.е. если мы хотим убрать расширение zip, то пишем так '\.zip$'


"Проблема при acl url_regex -i"
Отправлено Ape , 11-Дек-03 13:58 
>^ означает начало строки, т.е. '^http' сработает на 'http:/' и не сработает
>на 'blabla-http', $ означает окончание строки, '.' заменяет любой символ,
>соответственно точка в строке выглядит как '\.', т.е. если мы хотим убрать
>расширение zip, то пишем так '\.zip$'

Т.е., как я понял выражение
^com$
означает, что вхождение будет считаться истинным если встретится конкретно
  com
А если мы напишем
\com$
то это значит любое слово оканчивающееся на
com
например  intercom
А если в строке http://porno.com/anal/girl.jpg надо выделить
буквосочетание  anal и заблокировать доступ. Но разрешить доступ к
ссылке http://www.rbc.ru/analitic.htm. Как быть?


"Проблема при acl url_regex -i"
Отправлено Rippy , 11-Дек-03 14:39 
>
>Т.е., как я понял выражение
> ^com$
>означает, что вхождение будет считаться истинным если встретится конкретно
>  com

Нет. Не правильно понял. ^com$ значит только 'com'
>А если мы напишем
> \com$

В шаблонах используются следующие метасимволы (символы обозначающие группы других символов) часто называемые egrep - стандартом:
\ - считать следующий метасимвол как обычный символ.
^ - начало строки
. - один произвольный символ. Кроме '\n' - конец строки.
$ - конец строки
....
Дополнительно в Perl добавлены следующие метасимволы:
\w - алфавитно-цифровой или '_' символ
\W - не -//-  
\s - один пробел
\S - один не пробел
\d - одна цифр
\D - одна не цифра

Обратите внимание, что все это "один" символ. Для обозначения последовательности применяйте модификаторы. Так:
\w+ - слово
\d+ - целое число
(с) citforum
тебе все же надо посмотреть хоть что-то по регулярным выражениям, иначе так и не поймешь

>А если в строке http://porno.com/anal/girl.jpg надо выделить
>буквосочетание  anal и заблокировать доступ. Но разрешить доступ к
>ссылке http://www.rbc.ru/analitic.htm. Как быть?
Как было показано выше, создаешь файл с разрешенными именами. На страничке, которая высвечивается при запрете доступа указано - что если вы считаете несправедливым запрет доступа - свяжитесь с админом. Ну и сам периодически парсь лог на предмет TCP_DENIED, чтоб добавлять разрешенные или кому следует уделять пристальное внимание 8)