Jump to content
  • 85

URL-фильтрация


Bobr

Question

Recommended Posts

  • 0
5 минут назад, BACbKA сказал:

А то даже в DIR-615 это есть, а тут почему-то нет

Потому что DIR-615 соответствует интернет-реалиям на момент своего выпуска в 2009-м году, а HTTPS, напомню, появился позже. Теперь HTTPS трафика больше половины, а фича URL-фильтрации для него бесполезна.

  • Upvote 1
Link to comment
Share on other sites

  • 0
В 1/31/2017 в 17:51, m__a__l сказал:

Остается надеяться, что найдется человек со знаниями и прямыми руками, которому это нужно и прикрутит к примеру прозрачный mitmproxy на роутер ну и в идеальном варианте добавит возможность правки перенаправляемых ссылок в графическом интерфейсе.
Ну и второй немаловажный фактор, что для этого хватит аппаратных ресурсов роутера :)

Будете заходить на youtube, почту или в онлайн-банкинг, когда браузер вам будет постоянно кричать о "поддельное соединение, мошенники! уходим отсюда!" ?

Link to comment
Share on other sites

  • 0
5 часов назад, BACbKA сказал:

Всё-таки буду настойчив, апну тему. А то даже в DIR-615 это есть, а тут почему-то нет :(

Сначала проверьте как это работает на 615, а потом предлагайте нам сделать :) Настолько же плохо - не хочется.

  • Thanks 1
Link to comment
Share on other sites

  • 0
1 час назад, Le ecureuil сказал:

Технически как себе представляете работу этой фичи? 

Скрин от Tomato это скорей всего реализация L7 фильтра или при его disable то использование например библиотеки "opendpi" в месте с iptables. Работает в виде библиотеки xtables.

Скрытый текст

#ifdef HAVE_OPENDPI
                  insmod("xt_ndpi");
                  insmod("xt_opendpi");
                 /*commonly used protocols, decending */
                save2file("-A advgrp_%d -m ndpi --bittorrent -j %s\n", seq, log_drop);

Module                  Size  Used by

xt_opendpi            276292  0
xt_DSCP                 1412  1

root@My:/proc/3348/net/xt_ndpi# cat proto
#id mark     ~mask     name
00         0/000000ff unknown
01         1/000000ff ftp_control
02         2/000000ff pop3
03         3/000000ff smtp
04         4/000000ff imap
05         5/000000ff dns
06         6/000000ff ipp
07         7/000000ff http
08         8/000000ff mdns
09         9/000000ff ntp
0a         a/000000ff netbios
0b         b/000000ff nfs
0c         c/000000ff ssdp
0d         d/000000ff bgp
0e         e/000000ff snmp
0f         f/000000ff xdmcp
10        10/000000ff smb
11        11/000000ff syslog
12        12/000000ff dhcp
13        13/000000ff postgres
14        14/000000ff mysql
15        15/000000ff tds
16        16/000000ff direct_download_link
17        17/000000ff pop3_ssl
18        18/000000ff applejuice
19        19/000000ff directconnect
1a        1a/000000ff socrates
1b        1b/000000ff winmx
1c        1c/000000ff vmware
1d        1d/000000ff mail_smtps
1e        1e/000000ff filetopia
...

3c        3c/000000ff http_app_veohtv
3d        3d/000000ff qqlive
3e        3e/000000ff thunder
3f        3f/000000ff soulseek
40        40/000000ff ssl_no_cert
41        41/000000ff irc
42        42/000000ff ayiya
43        43/000000ff unencryped_jabber
44        44/000000ff msn
45        45/000000ff oscar
46        46/000000ff yahoo
47        47/000000ff battlefield
48        48/000000ff quake
49        49/000000ff ip_vrrp
4a        4a/000000ff steam
4b        4b/000000ff halflife2
4c        4c/000000ff worldofwarcraft
4d        4d/000000ff telnet
4e        4e/000000ff stun
4f        4f/000000ff ip_ipsec
50        50/000000ff ip_gre
51        51/000000ff ip_icmp
52        52/000000ff ip_igmp
53        53/000000ff ip_egp
54        54/000000ff ip_sctp
55        55/000000ff ip_ospf
56        56/000000ff ip_ip_in_ip
57        57/000000ff rtp
58        58/000000ff rdp
59        59/000000ff vnc
5a        5a/000000ff pcanywhere
5b        5b/000000ff ssl
5c        5c/000000ff ssh
...

73        73/000000ff pptp
74        74/000000ff warcraft3
75        75/000000ff world_of_kung_fu
76        76/000000ff meebo
77        77/000000ff facebook
78        78/000000ff twitter
79        79/000000ff dropbox
7a        7a/000000ff gmail
7b        7b/000000ff google_maps
7c        7c/000000ff youtube
7d        7d/000000ff skype
7e        7e/000000ff google
7f        7f/000000ff dcerpc
80        80/000000ff netflow
81        81/000000ff sflow
82        82/000000ff http_connect
83        83/000000ff http_proxy
84        84/000000ff citrix
85        85/000000ff netflix
86        86/000000ff lastfm
87        87/000000ff grooveshark
root@My:/proc/3348/net/xt_ndpi#

root@My:/proc/3348/net# cat ip_tables_matches
ndpi
u32
string
state
pkttype
mac
limit
conntrack
conntrack
conntrack
connlimit
connbytes
comment
connmark
connmark
mark
mark
ipp2p
webstr
ah
icmp
tcpmss
layer7
recent
recent
multiport
length
iprange
ttl
esp
ecn
conntrack
udplite
udp
tcp
root@My:/proc/3348/net#

 

... -m opendpi --http -j DROP

... -m ndpi --bittorrent -j DROP

... -m ndpi --apple -j DROP

и т.д.

 

Link to comment
Share on other sites

  • 0
4 минуты назад, ruschestor сказал:

Конечно. Я и не говорю об HTTPS. Функционал Tomato, как я написал, позволяет блокировать не только HTTP запросы, но и другие протоколы/порты. Возможности этой фичи много шире чем просто фильтрация DNS запросов.

Какую скорость маршрутизации выдает ваше устройство на Tomato при таком работающем компоненте? Что за устройство / процессор?

Link to comment
Share on other sites

  • 0
1 минуту назад, sergeyk сказал:

Какую скорость маршрутизации выдает ваше устройство на Tomato при таком работающем компоненте? Что за устройство / процессор?

Устройство - NetGear WNR3500L. Процессор - Broadcom BCM4718.

Не знаю как измерить скорость маршрутизации, но задержки "на глаз" заметны не были.

Link to comment
Share on other sites

  • 0
1 минуту назад, ruschestor сказал:

Устройство - NetGear WNR3500L. Процессор - Broadcom BCM4718.

Не знаю как измерить скорость маршрутизации, но задержки "на глаз" заметны не были.

speedtest подошел бы.

Link to comment
Share on other sites

  • 0

В продолжение темы про возможности прошивки Tomato (Tomato Firmware v1.28.7511 MIPSR2Toastman-RT K26 USB Std). Выгрузил из HTML-кода страницы "Access Restriction" переменные со списком возможных протоколов, может пригодится.

layer7 = ['100bao','aim','aimwebcontent','applejuice','ares','armagetron','audiogalaxy','battlefield1942','battlefield2','battlefield2142','bgp','biff','bittorrent','chikka','cimd','ciscovpn','citrix','code_red','counterstrike-source','cvs','dayofdefeat-source','dazhihui','dhcp','directconnect','dns','doom3','edonkey','exe','fasttrack','finger','flash','freenet','ftp','gif','gkrellm','gnucleuslan','gnutella','goboogy','gopher','gtalk','guildwars','h323','halflife2-deathmatch','hddtemp','hotline','html','http-dap','http-freshdownload','http-itunes','http-rtsp','http','httpaudio','httpcachehit','httpcachemiss','httpvideo','ident','imap','imesh','ipp','irc','jabber','jpeg','kugoo','live365','liveforspeed','lpd','mohaa','mp3','msn-filetransfer','msnmessenger','mute','napster','nbns','ncp','netbios','nimda','nntp','ntp','ogg','openft','pcanywhere','pdf','perl','png','poco','pop3','postscript','pplive','pressplay','qq','quake-halflife','quake1','quicktime','radmin','rar','rdp','replaytv-ivs','rlogin','rpm','rtf','rtmp','rtmpt','rtp','rtsp','runesofmagic','shoutcast','sip','skypeout','skypetoskype','smb','smtp','snmp-mon','snmp-trap','snmp','socks','soribada','soulseek','ssdp','ssh','ssl','stun','subspace','subversion','tar','teamfortress2','teamspeak','telnet','tesla','tftp','thecircle','tonghuashun','tor','tsp','unknown','unset','uucp','validcertssl','ventrilo','vnc','whois','worldofwarcraft','x11','xboxlive','xunlei','yahoo','youtube-2012','zip','zmaap'];    

ipp2p = [[0,'IPP2P (disabled)'],[0xFFFF,'All IPP2P Filters'],[1,'AppleJuice'],[2,'Ares'],[4,'BitTorrent'],[8,'Direct Connect'],[16,'eDonkey'],[32,'Gnutella'],[64,'Kazaa'],[128,'Mute'],[4096,'PPLive/UUSee'],[256,'SoulSeek'],[512,'Waste'],[1024,'WinMX'],[2048,'XDCC'],[8192,'Xunlei/QQCyclone']]

protocols = [null,'ICMP','IGMP','GGP','IP-ENCAP','ST','TCP','CBT','EGP','IGP','BBN-RCC-MON','NVP-II','PUP','ARGUS','EMCON','XNET','CHAOS','UDP','MUX','DCN-MEAS','HMP','PRM','XNS-IDP','TRUNK-1','TRUNK-2','LEAF-1','LEAF-2','RDP','IRTP','ISO-TP4','NETBLT','MFE-NSP','MERIT-INP','SEP','3PC','IDPR','XTP','DDP','IDPR-CMTP','TP++','IL','IPv6','SDRP','IPv6-Route','IPv6-Frag','IDRP','RSVP','GRE','MHRP','BNA','ESP','AH','I-NLSP','SWIPE','NARP','MOBILE','TLSP','SKIP','IPv6-ICMP','IPv6-NoNxt','IPv6-Opts',null,'CFTP',null,'SAT-EXPAK','KRYPTOLAN','RVD','IPPC',null,'SAT-MON','VISA','IPCV','CPNX','CPHB','WSN','PVP','BR-SAT-MON','SUN-ND','WB-MON','WB-EXPAK','ISO-IP','VMTP','SECURE-VMTP','VINES','TTP','NSFNET-IGP','DGP','TCF','EIGRP','OSPFIGP','Sprite-RPC','LARP','MTP','AX.25','IPIP','MICP','SCC-SP','ETHERIP','ENCAP',null,'GMTP','IFMP','PNNI','PIM','ARIS','SCPS','QNX','A/N','IPComp','SNP','Compaq-Peer','IPX-in-IP','VRRP','PGM',null,'L2TP','DDX','IATP','STP','SRP','UTI','SMP','SM','PTP','ISIS','FIRE','CRTP','CRUDP','SSCOPMCE','IPLT','SPS','PIPE','SCTP','FC'];

Link to comment
Share on other sites

  • 0

Мы рекламируем Giga как гигабитное устройство. Сможете показать что-то хотя бы на 300 Мбит/сек? (а еще лучше по pps считать, скажем 50k pps)? А то на 50 мбит с 5k pps справится можно, но это же сразу гигабитное устройство превращает в тыкву образца 2008 года.

  • Thanks 1
Link to comment
Share on other sites

  • 0
1 час назад, ajs сказал:

URL фильтрация да, но по IP или Домену HTTPS спокойно можно фильтровать без подмены сертификатов :)

По домену HTTPS из SNI - очень ресурсозатратно. Даже Ultra врядли потянет на сколько-либо вменяемой скорости.

  • Thanks 1
  • Upvote 2
Link to comment
Share on other sites

  • 0
В 28.07.2018 в 00:10, Le ecureuil сказал:

Мы рекламируем Giga как гигабитное устройство. Сможете показать что-то хотя бы на 300 Мбит/сек? (а еще лучше по pps считать, скажем 50k pps)? А то на 50 мбит с 5k pps справится можно, но это же сразу гигабитное устройство превращает в тыкву образца 2008 года.

Хорошо. Провел еще один тест на более высоких скоростях (все компоненты были связаны Ethernet 1 Gbit). Чтобы тест был приближен к бою использовал пакет speedtest (https://github.com/adolfintel/speedtest) на виртуальной машине с Debian (на ssd).

Схема:

Виртуальная машина Debian (Apache2 + php + speedtest) на Intel NUC (ssd) --1G LAN--> Keenetic Giga (KN-1010) --1G LAN--> NetGear WNR3500L --1G LAN--> PC
Правила остались те же. Как замерить pps на роутере не знаю, надеюсь новых данных хватит.

Результаты:
Эталонный тест без роутера NetGear WNR3500L        | Download: 387,5 Mbps    | Upload: 843,04 Mbps | Ping: 8,78 ms | Jitter: 8,3 ms
Тест с роутером NetGear WNR3500L без правил         | Download: 221,36 Mbps  | Upload: 142,56 Mbps | Ping: 7,59 ms | Jitter: 1,8 ms
Тест с роутером NetGear WNR3500L с правилами      | Download: 152,22 Mbps  | Upload: 95,41 Mbps   | Ping: 9,85 ms | Jitter: 4,78 ms

Этот тест проявляет разницу в скорости маршрутизации с правилами и без. Во время тестов ksoftirqd (на NetGear с Tomato) был загружен под 100%. Напомню, что все это работает на процессоре ~450 MHz из ~2010 года.

Вы подумаете над реализацией аналогичного функционала? Наверняка для этого есть уже готовые пакеты/проекты.

P.S. Не заставляй меня проводить еще тесты :)

P.P.S. Нашел некоторое описание функционала "Access Restriction" - https://en.wikibooks.org/wiki/Tomato_Firmware/Installation_and_Configuration#QoS_/_Access_Restrictions_Notes

1Gbit_1.PNG

1Gbit_2.PNG

1Gbit_3.PNG

Link to comment
Share on other sites

  • 0
4 часа назад, ruschestor сказал:

Откуда такой вывод?

Это NetGear WNR3500L с процессором ~450 MHz (результат №2) без правил работает на 221/142 Mbps, а с правилами (результат №3) на 152/95 Mbps. В Giga (kn-1010) 2 ядра по 880 MHz.

Понятное дело, установив кучу приложений, включить весь функционал, можно "загрузить" любой роутер. Отмазка "сразу гигабитное устройство превращает в тыкву образца 2008 года." звучит не убедительно. Вы даже не проверили.

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

Код контентной фильтрации (как и самой прошивки) не обновлялся с конца 2009.

Извините, это труп. Полный. И он никак не может быть даже примером.

  • Upvote 1
Link to comment
Share on other sites

  • 0
В 15.08.2018 в 09:28, OlegR сказал:

Поддерживаю необходимость наличия возможности URL фильтрации средствами роутера.

Вы встройте её, и дайте пользователю уже решать использовать ее или нет ( включение/отключение в настройках ) .

Пусть пользователь сам смотрит устраивает ли его работа роутера при использовании URL фильтрации или нет.   

И не будет никаких споров.

Ну вы нормальный проект по фильтрации можете предложить? Я вам даже его в opkg соберу, ради бога тестируйте.

Только все что я пока вижу - оно либо через nfnetlink_queue (прощай, скорость) или давно сдохло и в 2018 не работает (типа opendpi).

Link to comment
Share on other sites

  • 0
Остается надеяться, что найдется человек со знаниями и прямыми руками, которому это нужно и прикрутит к примеру прозрачный mitmproxy на роутер ну и в идеальном варианте добавит возможность правки перенаправляемых ссылок в графическом интерфейсе.

Ну и второй немаловажный фактор, что для этого хватит аппаратных ресурсов роутера [emoji4]

squid вроде в Entware есть, прозрачное проксирование, перенаправление, фильтрация и mitm в нем можно настроить.

 

--

WBR, ajs icon_e_smile.gif.495ace759159c408e8a9e7b2f37b71b4.gif

 

 

 

  • Upvote 1
Link to comment
Share on other sites

  • 0
6 минут назад, Alexandr Pipkin сказал:

Пожалуйста посмотрите видео по ссылке которую я прикрепил выше и передаите его сотрудникам в отдел разработки для оценки рассмотрения возможности введения подобного функционала.

Не ленитесь пользоваться поиском.

 

 

Link to comment
Share on other sites

  • 0

Видимо данная тема будет висеть в топе вплоть до появления устройств  во всей линейке продуктов с процами достаточно мощными для беспросадочного переваривания фильтрации хотя бы по SNI с актуальными на тот момент скоростями. Функционал DPI. А значит процы должны быть с большим запасом, выполнены по достаточно мелкому техпроцессу, низкой ценой. Т.е. дело за прогрессом. Но когда всё это ещё будет. К тому времени может быть уже смирятся с ESNI или уже окончательно будут его запрещать и игнорировать.

 

В текущий момент данное пожелание скорее всего не реализуемо.

Edited by keenet07
Link to comment
Share on other sites

  • 0
4 часа назад, keenet07 сказал:

Видимо данная тема будет висеть в топе вплоть до появления устройств  во всей линейке продуктов с процами достаточно мощными для беспросадочного переваривания фильтрации хотя бы по SNI с актуальными на тот момент скоростями. Функционал DPI. А значит процы должны быть с большим запасом, выполнены по достаточно мелкому техпроцессу, низкой ценой. Т.е. дело за прогрессом. Но когда всё это ещё будет. К тому времени может быть уже смирятся с ESNI или уже окончательно будут его запрещать и игнорировать.

 

В текущий момент данное пожелание скорее всего не реализуемо.

Ну скажем фильтрация по SNI сейчас есть как низкоуровневый примитив (используется в DNS-фильтрах, например).

Но это очень далеко от "фильтрация по URL". А если для вас это одно и тоже, то уже попахивает логикой РКН, к которой так много претензий.

Да и ESNI - это мечты-мечты. Очень легко сделать, чтобы ESNI просто и тупо не работал - достаточно заблокировать sidechannel для получения публичного ключа ESNI, а это делается элементарно, хоть в прошлой спеке с TXT-записью "_esni", хоть в текущей с HPKE. Да и сам раздел 10 в rfc-draft просто огромен: https://datatracker.ietf.org/doc/draft-ietf-tls-esni/?include_text=1

  • Upvote 1
Link to comment
Share on other sites

  • 0
13 минуты назад, Le ecureuil сказал:

Ну скажем фильтрация по SNI сейчас есть как низкоуровневый примитив (используется в DNS-фильтрах, например).

Но это очень далеко от "фильтрация по URL". А если для вас это одно и тоже, то уже попахивает логикой РКН, к которой так много претензий.

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

Про внедрение в защищенный HTTPS трафик я здесь вообще и не говорю. Это совсем кардинальные метод. И он не без очевидных минусов.

А панацеи в URL-фильтрации вообще не существует. Её всегда можно обойти.

 

А что такого для DNS-фильтров есть нужного в SNI на данный момент?

Edited by keenet07
Link to comment
Share on other sites

  • 0
24 минуты назад, keenet07 сказал:

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

Про внедрение в защищенный HTTPS трафик я здесь вообще и не говорю. Это совсем кардинальные метод. И он не без очевидных минусов.

А панацеи в URL-фильтрации вообще не существует. Её всегда можно обойти.

 

А что такого для DNS-фильтров есть нужного в SNI на данный момент?

Чтобы когда включаешь SkyDNS-профиль устройству оно не могло пролезть на DoH и DoT и обойти назначение.

Link to comment
Share on other sites

  • 0
37 минут назад, Le ecureuil сказал:

Да и ESNI - это мечты-мечты. Очень легко сделать, чтобы ESNI просто и тупо не работал - достаточно заблокировать sidechannel для получения публичного ключа ESNI, а это делается элементарно, хоть в прошлой спеке с TXT-записью "_esni", хоть в текущей с HPKE. Да и сам раздел 10 в rfc-draft просто огромен: https://datatracker.ietf.org/doc/draft-ietf-tls-esni/?include_text=1

Я об этом сразу и написал. А можно просто фильтровать трафик где есть ESNI и нет SNI.

7 минут назад, Le ecureuil сказал:

Чтобы когда включаешь SkyDNS-профиль устройству оно не могло пролезть на DoH и DoT и обойти назначение.

Как? ПО списку известных DOH/DOT DNS серверов? И фильтру по слову DNS в доменном имени? А как оно неизвестный безымянный DOH DNS сервер опознает. По моему - никак.

Edited by keenet07
Link to comment
Share on other sites

  • 0
9 часов назад, keenet07 сказал:

Я об этом сразу и написал. А можно просто фильтровать трафик где есть ESNI и нет SNI.

Как? ПО списку известных DOH/DOT DNS серверов? И фильтру по слову DNS в доменном имени? А как оно неизвестный безымянный DOH DNS сервер опознает. По моему - никак.

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

Link to comment
Share on other sites

  • 0

Теме 5 лет, в топе, вопрос весьма актуальный, прогресса до сих пор нет (разве что Skydns переименовали в Safedns, и он, простите, платный). Или всё настолько сложно и нереализуемо, или нам готовят сюрприз?

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

  • Y'r wrong 1
Link to comment
Share on other sites

  • 0

Так а что реализовывать?

- HTTPS шагает по планете, ресурсов, поддерживающих HTTP, с каждым годом всё меньше и меньше

- URL (целиком, а не лишь домен) в HTTPS увидеть никак нельзя (кроме как MitM-ить, но если это делать на роутере, то станут недоступны все ресурсы с HTTPS pinning, начиная с гугловских)

 

Складывая первое со вторым, получаем, что реализовывать тут нечего. Даже DPI у провайдеров видит лишь домен, про URL они не мечтают (в Казахстане помечтали, заставив пользователей ставить гос.сертификат для расшифровки трафика - это ничем хорошим не кончилось)

Edited by AminDesu
  • Upvote 2
Link to comment
Share on other sites

  • 0

Не шарю в нетворкинге, поэтому мб ахинея. Вот в морде роутера могу видеть категоризированную статистику как щас инет используется. Видел как роутер определил использование pornhub network на моей открытой сети, если роутер может определить категорию траффика, значит он может его и заблокировать? или так не работает

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...