Скрипт, помогающий находить незаблокированные порно-сайты

Обсуждение распределенного бан-листа
Ответить
Nab
Сообщения: 16
Зарегистрирован: Пн дек 19, 2005 3:04
Откуда: Kiev
Контактная информация:

Сообщение Nab »

Да, скрипт интересный, и тема тоже интересная, я тоже хотел бы автоматизировать обновления DBL.
Хотя пока решение не найдено, но я думаю Вячеслав что-нибудь придумает.

По поводу Ваших действий я немного не пойму :( А почему бы не добавить эти Ваши правила, в особенности те которые дают стопроцентный результат попадания в porno лист, прямо в pcre правила порно? По моему это самое логичное, зачем писать еще раз еще один анализатор логов?
Тогда первое: не приходилось бы постфактум обрабатывать логи.Также для не стопроцентных правил уменьшился бы их объем, потому как стопроцентные уже обрезаны...
Хотя я для таких решений сделал-бы так. Написал бы такой скрипт:

Код: Выделить всё

#!/bin/sh

/usr/local/rejik3/redirector /usr/local/rejik3/redirector.conf | ваша программа
И подвесил бы его прямо в squid напрямую. Там кроме одного Режика запускается еще и Ваша программа.
Которая на ходу пускай бы не блокировала а только бы разбрасывала адреса пропущеные Режиком по файлам на Ваше усмотрение. А вот потом вручную их уже обрабатывать.
По моему это самый правильный подход, зачем плодить сущности, добавлять себе работы и навешивать десяток анализаторов проганяя лог каждый раз по новой.... Для этого придумали конвейер :) Да и Режик по своей организации именно такому решению и способствует... он достаточно гибок в принятии решений...

У меня работает похожий скрипт, но только для других целей, для временного отключения Режика... Потому как, пока проверяешь BanList Режик надоть отключать :)
Чтобы правильно задать вопрос, нужно знать больше половины ответа.
[url=http://freesco.linux.kiev.ua/]FreeSCO[/url]

asket
Сообщения: 40
Зарегистрирован: Вт янв 24, 2006 19:32
Откуда: Москва

Сообщение asket »

Нет, не думаю, что это рабочая идея, по крайней мере с тем списком слов, который сейчас приведен в скрипте. Будет некоторый % ложных срабатываний, например слова sex, adult, nude часто встречаются на приличных сайтах. И, поскольку в офисах работают взрослые люди, для них я придерживаюсь принципа - лучше недозакрыть, чем перезакрыть. Т.е. лучше уж смотрят временно порнуху, чем по ошибке автоматом закроется нужный сайт. На порнуху никто не пожалуется, а про ошибочно закрытый сайт будут год вспоминать.
Если урезать список слов до заведомо верного, тогда скрипт не нужен, - нужен pcre, а он у меня такой:

(^|[-\?+=&/_])(proxy|big|cyber|hard|huge|mega|small|soft|super|tiny|bare|naked|nude|anal|oral|topp?les|sex){1,}.*(anal|babe|bharath|boob|breast|busen|busty|clit|cum|cunt|dick|fetish|fuck|girl|hooter|lez|lust|naked|nude|oral|orgy|penis|porn|porno|pupper|pussy|rotten|sex|shit|smutpump|teen|topp?les|xxx|proxy)s?([-\?+=&/_]|$)
(^|[-\?+=&/_])(proxy|anal|babe|bharath|boob|breast|busen|busty|clit|cum|cunt|dick|fetish|fuck|girl|hooter|lez|lust|naked|nude|oral|orgy|penis|porn|porno|pupper|pussy|rotten|sex|shit|smutpump|teen|topp?les|xxx){1,}.*(big|cyber|hard|huge|mega|small|soft|super|tiny|bare|naked|nude|anal|oral|topp?les|sex|proxy){1,}([-\?+=&/_]|$)
bigtits
cummdrink
cumshot
fisting
gangbang
hardcore
interracial
knockers
lesbian
lolitas
telki
tetki
titty
torture
vagina

Автор вержних двух строк Philip Pearce, я добавил в них лишь proxy, нижние взяты и подправлены с этого сайта

Но загнать все в pcre не получится, в названиях сайтов часто используют буквы, похожие на русские, смешивают их с английскими и уже ничего pcre не ловит:
cekc.ru
eblja.ru
npocmumymku.ru

Увы, требуетя какой-то полуручной контроль. 2-3 раза в день, если есть время и желание, можно посмотреть, если надо перепроверить, чего еще там нового нашли и забанить. Нет желания - можно заняться чем-то другим.
Мне кажется, такой способ самый безвредный и аккуратный.

Nab
Сообщения: 16
Зарегистрирован: Пн дек 19, 2005 3:04
Откуда: Kiev
Контактная информация:

Сообщение Nab »

Возможно я плохо объяснил свою идею.... Если просматривать все логи вручную, на это уйдет уйма времени. Вы ведь все равно первичный анализ на подозрительность скриптом проводите?
Вот я и предлагаю, чтоб скрипт этот не запускать вручную, а чтоб он был в конвейере с режиком, и не делал редирект, то есть не банил бы урл а просто заносил его в лог подозрительных, пропуская при этом.
А потом уже вручную просмотреть что отловилось... А если есть свободая консоль, то вообще можно tail -f этому логу сделать, и реагировать очень быстро :) Ну эт конечно действительно когда время есть свободное :) и сидишь на месте....
Чтобы правильно задать вопрос, нужно знать больше половины ответа.
[url=http://freesco.linux.kiev.ua/]FreeSCO[/url]

asket
Сообщения: 40
Зарегистрирован: Вт янв 24, 2006 19:32
Откуда: Москва

Сообщение asket »

Скорее, это я тормознул.
Действительно, можно сделать на автомате и даже в конвейере и складывать в файл плохие сайты, даже можно делить их на 2 списка, "плохие с высокой вероятностью" и "плохие с низкой вероятностью", но все равно ведь полуручной проверки не избежать.
Я взял самый большой лог за прошлую неделю в нем 2 453 432 записей на работающей машине с прокси (P4 2,4 ГГц,SCSI, 1ГБ) скрипт отработал за 22 сек.(а ведь это был самый большой лог) Если запускать скрипт один раз в день, в конце дня, или утром, обрабатывая лог за прошлый день, то можно и подождать 20 сек., дальше ведь все равно нужно смотреть и что-то проверять. Если сделать на автомате, то эти 20 сек. сэкономятся, я сразу буду работать с готовым списком, но по сранению со временем просмотра результата, это очень маленькая экономия.

Наверное, тот кому критично время обработки лога, стоит подумать о формировании списка налету. Ждать уже не придется.

Логичнее добавить подобную фичу в режик. Т.е. поиск по определенному алгоритму нехороших сайтов и формирование из него списка для ручной обработки. Фичу можно сделать настраиваемой (ключевые слова) и отключаемой, - для слабых машин, если будет тормозить.
Это уже предмет для рассмотрения Славе. Если прочтет, если идея понравится, если будет время и желание ... .

Но идея, вроде бы неплохая, - если можно сформировать список плохих/подозрительных сайтов скриптом, то почему бы подобный интеллект не добавить в режик? Не блокировать, но предупреждать, формируя список сайтов, отсутствующих в urls, при общении к которым сработал настраиваемый фильтр.

Nab
Сообщения: 16
Зарегистрирован: Пн дек 19, 2005 3:04
Откуда: Kiev
Контактная информация:

Сообщение Nab »

Ха, а это идея, но сделать можно еще лучше :)

Весовые коэффициенты добавлять для правил не стоит, тем более что они уже есть. Система то рейтинговая.

Можно просто по другому Славе сделать...
Обрабатывать правила и те которые по своему рейтингу попали в бан лист, и те которые из-за низкого рейтинга туда не попали, но для последних не банить а вести отдельный лог, для ручного повышения рейтинга впоследствии...

Можно даже и не прошедшие правила разделить на те у которых рейтинг положительный и те у которых рейтинг ниже нуля, ну или еще каким способом

Вообще развернуться есть где :)
Чтобы правильно задать вопрос, нужно знать больше половины ответа.
[url=http://freesco.linux.kiev.ua/]FreeSCO[/url]

asket
Сообщения: 40
Зарегистрирован: Вт янв 24, 2006 19:32
Откуда: Москва

Сообщение asket »

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

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

Все же первый вариант мне нравится больше - формирование режиком списка потенциальной, еще незабаненной порнухи, - этот способ более универсален, он может работать без DBL, без рейтингов и даст админам хоть какой-то инструмент (сейчас ведь вообще ничего нет)для более эффективной работы редиректора.

Вообще-то решать разработчику.

Nab
Сообщения: 16
Зарегистрирован: Пн дек 19, 2005 3:04
Откуда: Kiev
Контактная информация:

Сообщение Nab »

Ну эту возможность можно в конфиге и отключать... гибкость тока повысится...
По поводу DBL, так это тоже не обязательно можно просто свой подозрительный банлист вести, и обрабатывать его именно без редиректа а с пометкой "maybe".

Кстати, вопрос Вячеславу, а если не указывать url для категории в конфиге, правило вообще будет обработано?

Если да но не будет сделан редирект, то пол задачи решено, было бы хорошо чтоб еще возможно и лог отдельный "подозрительный" велся.
Хотя не обязательно ведь пометка о категории в логе Режика все одно другая будет, можно прям оттуда выцеплять....

А обработчик DBL я допишу :) чтоб он эти правила создавал....
Чтобы правильно задать вопрос, нужно знать больше половины ответа.
[url=http://freesco.linux.kiev.ua/]FreeSCO[/url]

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

Имхо нет смысла грузить режик задачей, которую можно сделать отдельным скриптом.
Опция url обязательна, если не указать, то не запустится.

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

Напрашивается вывод: берем кеш сквида вытаскиваем из него все картинки и сохраняем в папке, с названием сайта (дабы потом скрипт определил, какой сайт блокировать).
Далее вручную просматриваем. Если порнуха, то оставляем папку, если нет - папку удаляем.

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

Для сужения круга поиска, можно искать только джипеги, например больше 15 килобайт. И если уже искали ранее, то только объекты, созданные после цатого числа, которого вы уже искали.

Где то у меня Валялись такие скрипты, раньше использовал, если есть желание, могу поделится.

asket
Сообщения: 40
Зарегистрирован: Вт янв 24, 2006 19:32
Откуда: Москва

Сообщение asket »

Не стоит забывать, что нужно еще вести IGNOR список и проводить сравнение с ним, иначе какой-нибудь clinicsex.ru (медицинский центр), легко может забить лог якобы подозрительными ссылками (если в офисе с этим сайтом активно работают).
IGNOR-список должен веститсь, видимо, индивидуально. Его накопление позволит лучше ловить действительно подозрительные сайты. Мне пришлось добавить проверку по такому списку, иначе много лишней работы.

Вообще-то, пока всего этого нет, запусти скрипт в конце дня - и возможно узнаешь много нового о том куда ходят некоторые пользователи.)

Nab
Сообщения: 16
Зарегистрирован: Пн дек 19, 2005 3:04
Откуда: Kiev
Контактная информация:

Сообщение Nab »

Да Слава, это идея хорошая, показывай скрипты.....

Хотя у меня пока траф не очень большой, и я все вижу в анализаторе логов сквида ...

Сначала юзал sarg, но потом по некоторым причинам перешел на LightSquid, и пока он мне очень нравится, вот вроде уговорил разработчика чтоб прикрутил анализ логов Режика...
Сделал свой скин под него, и вообще учитывая что он на перле, и с шаблонами то интегрировать его можно куда угодно... чем и занимаюсь...
Подробности можно глянуть у меня на http://nab.kiev.ua/category/projects/re ... ightsquid/
Чтобы правильно задать вопрос, нужно знать больше половины ответа.
[url=http://freesco.linux.kiev.ua/]FreeSCO[/url]

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

Скрипты здесь http://rejik.ru/download/picsfinder.tgz

Перед запуском замените в GO /raid/u/cache на путь до Вашего кеша.

link-make создает ссылки для открытия сайта в Konquerror

PS: Писал давно, молодой был, горячий, просьба сильно не пинать :)

Ответить