Перейти к содержимому
Калькуляторы
Блокировка веб ресурса  

565 пользователей проголосовало

  1. 1. Для блокировка используем



Блокировка сайтов провайдерами маневры с DNS

Дело не в 64bit. У меня 32bit

 

sendto() at /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/Net/RawIP.pm line 630.
     (in cleanup) Not a HASH reference at /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/Net/RawIP.pm line 691 during global destruction.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

AdmSasha Какой дистрибутив?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

AdmSasha Какой дистрибутив?

Mandriva Linux release 2010.0 (Official) for i586

kernel: 2.6.31.5-server-1mnb

perl: v5.10.1

 

rpm:

perl-Net-Pcap-0.160.0-1mdv2010.0

perl-Net-RawIP-0.250.0-1mdv2010.0

perl-NetPacket-0.41.1-2mdv2010.0

libpcap1-1.0.0-7mdv2010.0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

0 вместо "xyz"

 

у меня работает, только ответы от сайтов прилетают быстрее чем успевает скрипт выплюнуть фейковый ответ. (скрипт опаздывает где-то на 100мс) - т.е. если сайт быстрее ответит - получается облом (тестил со своим удалённым сервером, если при генерации страницы сделать задержку - всё в порядке) =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

darnet

а чего он 100мс делает? )

наверно стоит попробовать порулить этим числом my $pcap_t = Net::RawIP->pcapinit($dev, $filter_str, 1500, 250);

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А rst серверу не получилось пока отсылать?

 

Я наверно тупой вопрос задам, но всё же задам =)

Чтобы не пропустить отматченый пакет к серверу (чтобы избежать проблемы с быстрым ответом сервера) - выход только писать модуль к нетфильтру, и все пакеты прогонять через подобный скрипт, для пропуска ожидая "разрешения", что вызовет бешеные накладные расходы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На попробовать - есть диверт сокеты.

http://www.netlab.linkpc.net/forum/index.php?topic=175.0

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

или ip_queue заюзать, как вариант

 

 

Основные проблемы:

1. Нужно собирать фрагментированные пакеты;

2. Держать список для данных соединений;

3. Нужно регэкспать;

4. Держать большой список для регэкспа с ип адресами и регэкспами;

5. Всё это делать в ядре.

 

И ещё, если оно ставится "с боку" и видит траф только в одну сторону, то с редиректами могут быть проблемы.

1,2 - да, проблемки

3,4 - Зачем? В реестре урлы чёткие прописаны =) Кроме того, часть записей там домены, можно тупо по хосту рубить

5 - так ли это необходимо?

 

Про редиректы - какие проблемы, например?

Изменено пользователем Wingman

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

darnet

а чего он 100мс делает? )

наверно стоит попробовать порулить этим числом my $pcap_t = Net::RawIP->pcapinit($dev, $filter_str, 1500, 250);

 

я пробовал с предыдущей версией, где было: $packet->send(); #(видимо по умолчанию какая-то задержка есть)

в потом посмотрел последнюю - где уже: $packet->send(0,1); и с ней вроде не нужно задержек - скрипт успевает опередить ответ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3,4 - Зачем? В реестре урлы чёткие прописаны =) Кроме того, часть записей там домены, можно тупо по хосту рубить

4 нужно для того чтобы быстрее проверять.

Выцепляем из л3 заголовка дст ип, быстренько по нему находим заблокирован он или нет, или какие урл поискать в данных.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А может ли кто-нибудь выложить более менее готовый вариант взаимодействия с их архивом? (Получение списка). Может даже с обработкой и какими-либо действиями шлюзе? Очень желательно под фрю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

AdmSasha Какой дистрибутив?

Mandriva Linux release 2010.0 (Official) for i586

kernel: 2.6.31.5-server-1mnb

perl: v5.10.1

 

rpm:

perl-Net-Pcap-0.160.0-1mdv2010.0

perl-Net-RawIP-0.250.0-1mdv2010.0

perl-NetPacket-0.41.1-2mdv2010.0

libpcap1-1.0.0-7mdv2010.0

А iptables есть? NAT? Может где-то тут проблема живёт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А может ли кто-нибудь выложить более менее готовый вариант взаимодействия с их архивом? (Получение списка). Может даже с обработкой и какими-либо действиями шлюзе? Очень желательно под фрю.

 

с электронной подписью они неприятно осложнили жизнь. фактически для подписи надо использовать Crypto pro - для виндоуз и линукс он есть, под фрю кажется нету.

кажется в этой ветке или соседних писали, что они пока не придираются к дате формирования запроса. Т.е. можно один раз сформировать запрос руками и потом постоянно его скармливать с подписью.

Изменено пользователем darnet

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

http://forum.nag.ru/forum/index.php?showforum=1 тут в верхних темах уже несколько готовых решений лежит

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А вариант iptables + squid + redirect кто-нибудь реализовать пробовал?

Например, в iptables заворачиваем в сквид все IP из списка, а в сквиде разбираем url

и в случае совпадения редиректим на страничку с "ай-ай!".

С iptables всё понятно, а вот со сквидом что-то торможу.. :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я так сейчас делаю, пока dpi на тест не приехало или другого решения не придумалось

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я так сейчас делаю, пока dpi на тест не приехало или другого решения не придумалось

А конфигом сквида не поделитесь? В плане, как редиректить на страницу с уведомлением.

Я что-то совсем в нём заблудился.. Всё позабыл, после пятилетнего НЕ_юзания кальмара..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В сквиде

url_rewrite_program /usr/bin/squidGuard -c /etc/squidGuard/squidGuard.conf

 

/etc/squidGuard/squidGuard.conf

dbhome /etc/squidGuard/db
logdir /var/log/squidGuard/

dest fed {
       domainlist fed/domains
       urllist fed/urls
       expressionlist fed/exp
}

acl {
       default {
               pass !fed all
               redirect 302:http://zapret.provider.name
       }
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем привет! Подскажите вопрос. может кто нибудь сталкивался.

На rhel 6.3 висит сквид и сквидгард. Сквид работает, внутренние acl отрабатывают. Сквидгард в процессах висит.

root 3407 0.0 0.0 72964 2928 ? Ss 16:05 0:00 squid -f /etc/squid/squid.conf

squid 3409 0.0 0.2 77020 11624 ? S 16:05 0:00 (squid) -f /etc/squid/squid.conf

squid 3411 0.0 0.0 10252 1552 ? S 16:05 0:00 (squidGuard) -c /etc/squid/squidguard.conf

squid 3412 0.0 0.0 10248 1528 ? S 16:05 0:00 (squidGuard) -c /etc/squid/squidguard.conf

squid 3413 0.0 0.0 10248 1528 ? S 16:05 0:00 (squidGuard) -c /etc/squid/squidguard.conf

squid 3414 0.0 0.0 10248 1544 ? S 16:05 0:00 (squidGuard) -c /etc/squid/squidguard.conf

squid 3415 0.0 0.0 10248 1544 ? S 16:05 0:00 (squidGuard) -c /etc/squid/squidguard.conf

squid 3416 0.0 0.0 20076 1104 ? S 16:05 0:00 (unlinkd)

 

Даю команду

echo "http://www.porn.com 10.0.0.1/ - - GET" | squidGuard -d -c /etc/squid/squidguard.conf

Выводит вроде верно есть редирект на нужный сайт

2012-11-13 16:36:07 [3512] New setting: dbhome: /var/lib/squidGuard/db

2012-11-13 16:36:07 [3512] New setting: logdir: /var/log/squidGuard

2012-11-13 16:36:07 [3512] init domainlist /var/lib/squidGuard/db/porn/domains

2012-11-13 16:36:07 [3512] loading dbfile /var/lib/squidGuard/db/porn/domains.db

2012-11-13 16:36:07 [3512] init urllist /var/lib/squidGuard/db/porn/urls

2012-11-13 16:36:07 [3512] loading dbfile /var/lib/squidGuard/db/porn/urls.db

2012-11-13 16:36:07 [3512] init domainlist /var/lib/squidGuard/db/socialnet/domains

2012-11-13 16:36:07 [3512] loading dbfile /var/lib/squidGuard/db/socialnet/domains.db

2012-11-13 16:36:07 [3512] init urllist /var/lib/squidGuard/db/socialnet/urls

2012-11-13 16:36:07 [3512] loading dbfile /var/lib/squidGuard/db/socialnet/urls.db

2012-11-13 16:36:07 [3512] squidGuard 1.3 started (1352810167.011)

2012-11-13 16:36:07 [3512] squidGuard ready for requests (1352810167.013)

2012-11-13 16:36:07 [3512] source not found

2012-11-13 16:36:07 [3512] no ACL matching source, using default

http://fnkc.ru 10.0.0.1/- - -

2012-11-13 16:36:07 [3512] squidGuard stopped (1352810167.013)

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

Может в этом?

sudo -u squid squidguard -c /etc/squid/squidguard.conf -d -C all

Вывод

2012-11-13 18:09:38 [3769] New setting: dbhome: /var/lib/squidGuard/db

2012-11-13 18:09:38 [3769] New setting: logdir: /var/log/squidGuard

2012-11-13 18:09:38 [3769] init domainlist /var/lib/squidGuard/db/porn/domains

2012-11-13 18:09:38 [3769] Error db_open: Permission denied

2012-11-13 18:09:38 [3769] going into emergency mode

Хотя какие только права не выставлял все без толку .Точно так все делал на ALT Linux 6 спт все норм работает((

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А конфиги гварда покажите

урлы должны быть в нём записаны без http://

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Конфиг минимальный база урлов в формате Berkeley

 

dbhome /var/lib/squidGuard/db

logdir /var/log/squidGuard

dest porn {

domainlist porn/domains

urllist porn/urls

}

dest socialnet {

domainlist socialnet/domains

urllist socialnet/urls

}

acl {

default {

pass !porn !socialnet all

redirect http://fnkc.ru

}

}

 

 

 

Сама база до преобразования в *.db в таком виде

 

0--ass-cinema-newsp.da.ru

0--bondage.dk

0--fightingshaving.da.ru

0--foodwarez.da.ru

0--gratis.dk

0--lesbians.dk

0--oralsex.dk

0--sex.dk

0--teenagesex.dk

0-0-0-1blowjob.da.ru

Изменено пользователем bass_v

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В сквиде

url_rewrite_program /usr/bin/squidGuard -c /etc/squidGuard/squidGuard.conf

 

/etc/squidGuard/squidGuard.conf

dbhome /etc/squidGuard/db
logdir /var/log/squidGuard/

dest fed {
       domainlist fed/domains
       urllist fed/urls
       expressionlist fed/exp
}

acl {
       default {
               pass !fed all
               redirect 302:http://zapret.provider.name
       }
}

А такие url

.../369-%D1%81%D0%BA%D0%BE%D1%80%D0%BE%D1%81%D1%82%D1%8C-%D0%B2...

нормально обрабатывает?

У меня не кушает...

И такие тоже пропускает -

.../175947/read#t12

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1. Кушает, если прописать кириллицей в утф

2. уберите #t12

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Без баз списком тоже не проходит. А по поводу длинных урлов вроде патч под сквидгард существует. И какие все таки права должны быть на базы

Изменено пользователем bass_v

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.