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

Фильтр трафика Фильтр трафика

5 часов назад, shamani сказал:

oleg_n подскажите я по коду так  и не понял.
Как осуществляется блокировка https? По IP или по server name?

  Если оч.коротко, то, при использовании для создания списка  rknr_get.pl, по tls server_name.

  Если подробней, то trfl имеет модули фильтров и модули разбора пакетов. Модули разбора пакетов собирают всю информацию из пакета, которая может пригодиться фильтрам, а именно:

 

pkt_ip - собирает src ip, dst ip, ip proto

pkt_icmp - собирает icmp type, icmp code

pkt_tcp - собирает src tcp port, dst tcp port

pkt_udp - собирает src udp port, dst udp port

pkt_http - собирает domain, uri

pkt_dns - собирает domain

pkt_tls - собирает domain

 

  После чего эта информация передаётся фильтрам, где каждый фильтр ищет своё:

 

f_ipsrv - dst_ip:proto:PROTO_SPECIFIC, где PROTO_SPECIFIC для icmp это type:code, а для tcp/udp это dst_port

f_domain - domain

f_domaintree - части domain

f_uri - uri

 

  rknr_get.pl создаёт конфиг так, что https uri из реестра превращается в 2 записи: http uri и domain. Т.о. блокируется обращение по http-ссылке, dns-запрос домена и https-запрос на домен.

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

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


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

Версия 0.9.7.

 

Основные изменения:

- исправлена утечка памяти при перечитывании конфига;

- исправлена ошибка при разборе http-запроса с нестандартными символами и без номера порта;

- уменьшено потребление памяти при конвертировании реестра в конфиг фильтра с 410МБ до 38МБ(теперь вместо создания dom, дёргаем callback на каждый content-элемент при разборе xml);

- добавлена утилита rknr_rcheck.pl для упрощения диагностики отчётов Ревизора;

- прочие изменения(подробности можно посмотреть с помощью git-log tags/0.9.5..tags/0.9.7)

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


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

Версия 0.9.8.

 

Основные изменения:

- исправлен разбор реестра(раньше некоторые заблокированные сети не попадали в конфиг trfl).

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


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

Можно ли ваш проект использовать в режиме бриджа или только в режиме роутера?

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


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

Можно. Всё зависит от того как вы настроите iptables. У нас, например, так:

 

filter ~ # iptables-save
# Generated by iptables-save v1.4.21 on Wed Jun 13 10:49:53 2018
*raw
:PREROUTING ACCEPT [139787162007:128505056314736]
:OUTPUT ACCEPT [15204371:4150247253]
-A PREROUTING -j NOTRACK
COMMIT
# Completed on Wed Jun 13 10:49:53 2018
# Generated by iptables-save v1.4.21 on Wed Jun 13 10:49:53 2018
*filter
:INPUT ACCEPT [2640482:10337235011]
:FORWARD ACCEPT [39913550920:60868930658888]
:OUTPUT ACCEPT [5687306:595546557]
:trfl - [0:0]
-A FORWARD -p tcp -m tcp -m mark --mark 0x1 -j REJECT --reject-with tcp-reset
-A FORWARD -m mark --mark 0x1 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -m physdev --physdev-in enp7s0f0 -j trfl
-A trfl -m statistic --mode nth --every 6 --packet 0 -j NFQUEUE --queue-num 0
-A trfl -m statistic --mode nth --every 5 --packet 0 -j NFQUEUE --queue-num 1
-A trfl -m statistic --mode nth --every 4 --packet 0 -j NFQUEUE --queue-num 2
-A trfl -m statistic --mode nth --every 3 --packet 0 -j NFQUEUE --queue-num 3
-A trfl -m statistic --mode nth --every 2 --packet 0 -j NFQUEUE --queue-num 4
-A trfl -j NFQUEUE --queue-num 5
COMMIT
# Completed on Wed Jun 13 10:49:53 2018
# Generated by iptables-save v1.4.21 on Wed Jun 13 10:49:53 2018
*nat
:PREROUTING ACCEPT [163388926:13760188137]
:INPUT ACCEPT [84:10694]
:OUTPUT ACCEPT [17043:1065317]
:POSTROUTING ACCEPT [162540075:13702044795]
COMMIT
# Completed on Wed Jun 13 10:49:53 2018
filter ~ # brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.a0369fdecbfa       no              enp7s0f0
                                                        enp7s0f1
filter ~ # cat trfl/conf
list tf_list repeat 1

 

 

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


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

Можно. Всё зависит от того как вы настроите iptables. У нас, например, так:

 

filter ~ # iptables-save
# Generated by iptables-save v1.4.21 on Wed Jun 13 10:49:53 2018
*raw
:PREROUTING ACCEPT [139787162007:128505056314736]
:OUTPUT ACCEPT [15204371:4150247253]
-A PREROUTING -j NOTRACK
COMMIT
# Completed on Wed Jun 13 10:49:53 2018
# Generated by iptables-save v1.4.21 on Wed Jun 13 10:49:53 2018
*filter
:INPUT ACCEPT [2640482:10337235011]
:FORWARD ACCEPT [39913550920:60868930658888]
:OUTPUT ACCEPT [5687306:595546557]
:trfl - [0:0]
-A FORWARD -p tcp -m tcp -m mark --mark 0x1 -j REJECT --reject-with tcp-reset
-A FORWARD -m mark --mark 0x1 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -m physdev --physdev-in enp7s0f0 -j trfl
-A trfl -m statistic --mode nth --every 6 --packet 0 -j NFQUEUE --queue-num 0
-A trfl -m statistic --mode nth --every 5 --packet 0 -j NFQUEUE --queue-num 1
-A trfl -m statistic --mode nth --every 4 --packet 0 -j NFQUEUE --queue-num 2
-A trfl -m statistic --mode nth --every 3 --packet 0 -j NFQUEUE --queue-num 3
-A trfl -m statistic --mode nth --every 2 --packet 0 -j NFQUEUE --queue-num 4
-A trfl -j NFQUEUE --queue-num 5
COMMIT
# Completed on Wed Jun 13 10:49:53 2018
# Generated by iptables-save v1.4.21 on Wed Jun 13 10:49:53 2018
*nat
:PREROUTING ACCEPT [163388926:13760188137]
:INPUT ACCEPT [84:10694]
:OUTPUT ACCEPT [17043:1065317]
:POSTROUTING ACCEPT [162540075:13702044795]
COMMIT
# Completed on Wed Jun 13 10:49:53 2018
filter ~ # brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.a0369fdecbfa       no              enp7s0f0
                                                        enp7s0f1
filter ~ # cat trfl/conf
list tf_list repeat 1

 

Да. Забыл самое главное для такой конфигурации:
 

filter ~ # cat /proc/sys/net/bridge/bridge-nf-call-iptables
1

 

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

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


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

Join the conversation

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

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

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

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

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

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

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