Jump to content
Калькуляторы
Блокировка веб ресурса  

536 members have voted

  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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

0 вместо "xyz"

 

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

Share this post


Link to post
Share on other sites

darnet

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

 

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

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

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

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

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

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

 

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

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

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

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

 

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

Edited by Wingman

Share this post


Link to post
Share on other sites

darnet

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

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

 

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

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

Share this post


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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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? Может где-то тут проблема живёт?

Share this post


Link to post
Share on other sites

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

 

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

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

Edited by darnet

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

В сквиде

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
       }
}

Share this post


Link to post
Share on other sites

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

На 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 спт все норм работает((

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Конфиг минимальный база урлов в формате 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

Edited by bass_v

Share this post


Link to post
Share on other sites

В сквиде

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

Share this post


Link to post
Share on other sites

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

Edited by bass_v

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now