Jump to content
Блокировка веб ресурса  

560 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

В сквиде

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

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

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.