Список изменений и обновление СКАТ [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:update [2025/01/16 08:12] – [Изменения в версии 13.2] elena.krasnobryzhdpi:update [2025/07/01 08:52] (текущий) elena.krasnobryzh
Строка 1: Строка 1:
 ====== Список изменений и обновление СКАТ ====== ====== Список изменений и обновление СКАТ ======
 {{indexmenu_n>10}} {{indexmenu_n>10}}
- 
 ===== Инструкция по обновлению ===== ===== Инструкция по обновлению =====
 <note important>Начиная с версии 12.0, DPI устанавливается только на CentOS 8.x и [[veos:installation|VEOS]]!</note> <note important>Начиная с версии 12.0, DPI устанавливается только на CentOS 8.x и [[veos:installation|VEOS]]!</note>
Строка 47: Строка 46:
 <note tip>Клиентам, использующим функционал BRAS, при обновлении СКАТ на новую версию необходимо обратить внимание на изменения.</note> <note tip>Клиентам, использующим функционал BRAS, при обновлении СКАТ на новую версию необходимо обратить внимание на изменения.</note>
  
-===== Обновление платформы DPI до версии 13.0 Congo =====+===== Обновление СКАТ до версии 13.0 Congo =====
  
 13.0 Congo ((Колыбель человечества: люди обитают здесь более 50 тыс лет)) 13.0 Congo ((Колыбель человечества: люди обитают здесь более 50 тыс лет))
Строка 222: Строка 221:
   - Исправлено: длина АААА записей в услуге 19   - Исправлено: длина АААА записей в услуге 19
   - Добавлено: в параметр ''block_options'' маска 8 — не формировать RST-пакеты блокировки и переадресации для направления пакетов inet→subs. [[dpi:dpi_options:opt_filtration:filtration_settings#настройки_блокировки|Описание]]   - Добавлено: в параметр ''block_options'' маска 8 — не формировать RST-пакеты блокировки и переадресации для направления пакетов inet→subs. [[dpi:dpi_options:opt_filtration:filtration_settings#настройки_блокировки|Описание]]
-  - [DPI] Улучшено: анализ out-of-order пакетов+  - [DPI] Улучшено: анализ out-of-order пакетов (также появилась возможность задавать количество буферов для обработки out-of-order пакетов) и расшифровка фрагментированного QUIC. Также появилась возможность задавать количество буферов для обработки out-of-order пакетов, устранено исчерпание буферов для обработки out-of-order пакетов. [[dpi:dpi_options:opt_filtration:filtration_common|Описание]]
   - [DPI] Исправлено: распознавание DOT   - [DPI] Исправлено: распознавание DOT
-  - [CTRL] Добавлено: новый формат для вывода полисинга: <code bash>fdpi_ctrl list profile --policing --profile.name htb_6 --outformat=json2</code> +  - [CTRL] Добавлено: новый формат для вывода полисинга. [[dpi:dpi_options:opt_bandwidth_mgmt:bandwidth_json#второй_вариант|Описание]] <code bash>fdpi_ctrl list profile --policing --profile.name htb_6 --outformat=json2</code> 
-  - [CTRL] Добавлено: загрузка профилей полисинга c новым форматом (где есть value и unit)+  - [CTRL] Добавлено: загрузка профилей полисинга c новым форматом (где есть value и unit). [[dpi:dpi_options:opt_bandwidth_mgmt:bandwidth_json#второй_вариант|Описание]]
   - [BRAS][IPv6] Добавлено: при получении от клиента DHCPv6 confirm и отсутствии сессии в БД BRAS отправляется ответ со статусом ''NotOnLink''   - [BRAS][IPv6] Добавлено: при получении от клиента DHCPv6 confirm и отсутствии сессии в БД BRAS отправляется ответ со статусом ''NotOnLink''
   - [FastPCRF][DHCPv6] Исправлено: ошибка, приводящая к закрытию и последующему открытию текущей IPv6 accounting сессии при обработке DHCPv6 запросов от клиента на продление аренды адреса   - [FastPCRF][DHCPv6] Исправлено: ошибка, приводящая к закрытию и последующему открытию текущей IPv6 accounting сессии при обработке DHCPv6 запросов от клиента на продление аренды адреса
-  - [DPI] Добавлено: обновление ''asnum.bin'' из облака, параметр ''asnum_download'' аналогичен по набору значений ''[[dpi:dpi_options:opt_filtration:filtration_settings|federal_black_list]]'' +  - [DPI] Добавлено: обновление ''asnum.bin'' из облака, параметр ''asnum_download'' аналогичен по набору значений ''[[dpi:dpi_options:opt_filtration:filtration_settings|federal_black_list]]''[[dpi:dpi_options:opt_priority:priority_config_as|Описание]] 
-  - [DPI] Добавленозадание количества буферов для обработки out-of-order пакетов. +  - Добавлено: параметр ''mem_ssl_savebl'' (холодный). Задает количество сохраняемых буферов для разбора ssl при перемешивании пакетов. [[dpi:dpi_components:platform:dpi_admin:mem_problems#mem_ssl_savebl|Описание]] 
-  - Добавлено: параметр ''mem_ssl_savebl'' (холодный). Задает количество сохраняемых буферов для разбора ssl при перемешивании пакетов.\\ По умолчанию = 10% от ''mem_ssl_parsers''. Если значение == 0 — сохранение и обработка не происходит.\\ Первое значение — из conf, в скобках — то что используется.\\ Пример вывода из alert: +  - Добавлено: статистика утилизации сохранения буферов парсинга ssl запросов[[dpi:dpi_components:platform:dpi_admin:mem_problems#cтатистика_утилизации_сохранения_буферов_парсинга_ssl_запросовписание]]
-    - Параметр не задан<code bash> +
-    mem_ssl_parsers              : 320000 +
-    mem_ssl_savebl               : -1 (32000)</code> +
-    - Задан ''mem_ssl_savebl=1234''<code bash> +
-    mem_ssl_parsers              : 320000 +
-    mem_ssl_savebl               : 1234 (1234)</code> +
-  - Добавлено: статистика утилизации сохранения буферов парсинга ssl запросов <code bash> +
-    [STAT    ][2024/08/07-13:33:16:262335] Detailed statistics on SSL_SAVEBL : +
-             thread_slave= 0 : 1522/1/32000 0/0/0/0/0/ 1/1/348 348/348/348 +
-             Total : 1522/1/32000 0/0/0/0/0/ 1/1/348 348/348/348</code>Обозначим: ''a1/a2/a3 b1/b2/b3/b4/b5 c1/c2/c3 d1/d2/d3''\\  ''a1'' — размер выделяемой памяти для сохранения записи последующего разбора (совпадает с snaplen)\\ ''a2'' — выделено записей\\ ''a3'' — использовано записей\\ \\ ''b1'' — суммарное количество ошибок при обоработке сохранения пакетов\\ ''b2'' — прочитанный размер буфера очень большой\\ ''b3'' — в функцию передан некорректный ''isbl_t ind_''\\ ''b4'' — ошибка добавления записи в arw — нет места для сохранения списка используемых буферов\\ ''b5'' — ошибка добавления данных в ''p_data'' (не можем сохранить буфер)\\ \\ ''c1'' — количество запросов на сохранение данных\\ ''c2'' — освобождено сохраненных пакетов\\ ''c3'' — суммарный размер пакетов, которые были сохранены\\ \\ ''d1'' — средний размер сохраненного TCP пакета\\ ''d2'' — min размер сохраненного TCP пакета\\ ''d3'' — max размер сохраненного TCP пакета+
   - [BRAS][DHCPv6] Добавлена возможность извлекать option 37 и option 38 из клиентского пакета   - [BRAS][DHCPv6] Добавлена возможность извлекать option 37 и option 38 из клиентского пакета
   - [Router][tap] Исправлено: инициализация статуса моста при старте fastDPI. TAP-девайс для сквозного LAG находится в состоянии Up, если хотя бы один порт в сквозном LAG находится в состоянии Up и его второй конец в мосту также в Up. Статус моста (Up/Down) вычислялся только при наступлении события link Up/Down, при старте fastDPI статус моста полагался равным Down. Данный патч инициализирует статус мостов (Up/Down) при старте роутера на основании текущего статуса портов.   - [Router][tap] Исправлено: инициализация статуса моста при старте fastDPI. TAP-девайс для сквозного LAG находится в состоянии Up, если хотя бы один порт в сквозном LAG находится в состоянии Up и его второй конец в мосту также в Up. Статус моста (Up/Down) вычислялся только при наступлении события link Up/Down, при старте fastDPI статус моста полагался равным Down. Данный патч инициализирует статус мостов (Up/Down) при старте роутера на основании текущего статуса портов.
   - [BRAS] Исправлено: local interconnect разрешаем только если srcIP — известный нам абонент. Ранее не проверялось, что srcIP — известный нам абонент, что могло привести к подделке IP-адреса абонента и DDoS от имени этого поддельного IP других локальных абонентов с пометкой local interconnect.   - [BRAS] Исправлено: local interconnect разрешаем только если srcIP — известный нам абонент. Ранее не проверялось, что srcIP — известный нам абонент, что могло привести к подделке IP-адреса абонента и DDoS от имени этого поддельного IP других локальных абонентов с пометкой local interconnect.
-  - Добавлено: CLI-команда ''permit'' +  - Добавлено: CLI-команда ''permit''.
-  - [DPI] Устранено исчерпание буферов для обработки out-of-order пакетов+
   - [CLI][Ping] Изменено: сообщение об ошибке, если subs IP не найден   - [CLI][Ping] Изменено: сообщение об ошибке, если subs IP не найден
   - [CLI] Добавлено: В json-вывод команды ''dev xstat'' добавлен булевый признак ''on_stick''   - [CLI] Добавлено: В json-вывод команды ''dev xstat'' добавлен булевый признак ''on_stick''
Строка 252: Строка 240:
     // признак on-stick     // признак on-stick
     "on-stick": "true|false"</code>     "on-stick": "true|false"</code>
-  - Изменено: формат статистики <code bash> 
-    [STAT    ][2024/08/19-17:26:05:599912] Detailed statistics on SSL_SAVEBL : 
-             thread_slave= 0 : 1522/1/32000 0/0/0/0/0/ 6/6/2561 426/348/556 1/1/32000 
-             Total : 1522/1/32000 0/0/0/0/0/ 6/6/2561 426/348/556 1/1/32000</code>Обозначим: ''a1/a2/a3 b1/b2/b3/b4/b5 c1/c2/c3 d1/d2/d3 e1/e2/e3''\\ ''a1'' — размер выделяемой памяти для сохранения записи последующего разбора (совпадает с snaplen)\\ ''a2'' — выделено записей\\ ''a3'' — использовано записей\\ \\ ''b1'' — суммарное количество ошибок при обоработке сохранения пакетов\\ ''b2'' — прочитанный размер буфера очень большой\\ ''b3'' — в функцию передан некорректный ''isbl_t ind_''\\ ''b4'' — ошибка добавления запис в arw — нет места для сохранения списка используемых буферов\\ ''b5'' — ошибка добавления данных в ''p_data'' (не можем сохранить буфер)\\ \\ ''c1'' — количество запросов на сохранение данных\\ ''c2'' — освобождено сохраненных пакетов\\ ''c3'' — суммарный размер пакетов, которые были сохранены\\ \\ ''d1'' — средний размер сохраненного TCP пакета\\ ''d2'' — min размер сохраненного TCP пакета\\ ''d3'' — max размер сохраненного TCP пакета\\ \\ ''e1'' — использвоано записей в очереди arw\\ ''e2'' — свободно записей (могут быть повторно использовано)\\ ''e3'' — выделено записей в очереди 
   - Удалены поддельные yandex sni из TELEGRAM_TLS   - Удалены поддельные yandex sni из TELEGRAM_TLS
-  - [DPI] Добавлена обработка фрагментированного QUIC IETF +  - Добавлен параметр ''mem_quic_ietf_savebl''. Задает количество буферов для разбора ''quic_ietf''-запросов, которые состоят из нескольких пакетов. Значение по умолчанию 15% от ''mem_ssl_parsers''. [[dpi:dpi_components:platform:dpi_admin:mem_problems#mem_quic_ietf_savebl|Описание]]
-  - Добавлен параметр ''mem_quic_ietf_savebl''. Задает количество буферов для разбора ''quic_ietf''-запросов, которые состоят из нескольких пакетов. Значение по умолчанию 15% от ''mem_ssl_parsers''+
   - [DPI] Добавлены протоколы <code bash>   - [DPI] Добавлены протоколы <code bash>
-"HLS VIDEO" 49298  +"HLS VIDEO" 49298  
-"ICMP TUNNEL" 49299  +"ICMP TUNNEL" 49299  
-"DNS TUNNEL" 49300  +"DNS TUNNEL" 49300  
-"FORTICLIENT_VPN" 49301 +"FORTICLIENT_VPN" 49301  
 +"CISCO_ANYCONNECT_VPN" 49302 
 +"SHADOWSOCKS_VPN" 49303 
 +"NOT_DNS" 49304 
 </code> </code>
   - Добавлена возможность отправки DNS query по IPFIX   - Добавлена возможность отправки DNS query по IPFIX
Строка 271: Строка 257:
   - [Router] Добавлена статистика по TAP-девайсам. В вывод CLI-команды ''router vrf show'' добавлена статистика по TAP-девайсам - сколько пакетов/байт вычитано с TAP, сколько записано в порт с TAP, сколько передано в TAP, число событий и ошибок.   - [Router] Добавлена статистика по TAP-девайсам. В вывод CLI-команды ''router vrf show'' добавлена статистика по TAP-девайсам - сколько пакетов/байт вычитано с TAP, сколько записано в порт с TAP, сколько передано в TAP, число событий и ошибок.
   - [Router] Изменена отправка пакетов, вычитанных с TAP-девайса: выбранный slave-поток для записи закрепляется за TAP-интерфейсом на ближайшие 5 секунд, что должно значительно уменьшить реордеринг при большом трафике с TAP-интерфейса   - [Router] Изменена отправка пакетов, вычитанных с TAP-девайса: выбранный slave-поток для записи закрепляется за TAP-интерфейсом на ближайшие 5 секунд, что должно значительно уменьшить реордеринг при большом трафике с TAP-интерфейса
-  - [DPI] Исправлено детектирование DNS TUNNEL +  - [DPI] Улучшено детектирование DNS TUNNELCISCO_ANYCONNECT_VPN, SHADOWSOCKS_VPN, DPITUNNEL, FORTICLIENT_VPN, SHADOWSOCKS_VPN
-  - [DPI] Добавлены протоколы <code bash> +
-"CISCO_ANYCONNECT_VPN" 49302 +
-"SHADOWSOCKS_VPN     49303 +
-"NOT_DNS"              49304  +
-</code>+
   - Изменен log level для запросов от телеметрии на INFO независимо от результата запроса   - Изменен log level для запросов от телеметрии на INFO независимо от результата запроса
-  - [DPI] Улучшено детектирование CISCO_ANYCONNECT_VPN, SHADOWSOCKS_VPN, DPITUNNEL 
   - [fastPCRF][ACCT] Исправлена отправка Interim-Update при переключении на резервный RADIUS сервер   - [fastPCRF][ACCT] Исправлена отправка Interim-Update при переключении на резервный RADIUS сервер
   - [BRAS][CLI] Исправлено: абоненты, закрытые по SHCV, теперь не выводятся командой ''fdpi_cli subs prop show active''   - [BRAS][CLI] Исправлено: абоненты, закрытые по SHCV, теперь не выводятся командой ''fdpi_cli subs prop show active''
   - [BRAS][Auth] Оптимизация подключения/отключения услуг   - [BRAS][Auth] Оптимизация подключения/отключения услуг
   - [FastRadius] Разбор конфигурационного файла переведен на новый движок   - [FastRadius] Разбор конфигурационного файла переведен на новый движок
-  - [DPI] Улучшено детектирование CISCO_ANYCONNECT_VPN, FORTICLIENT_VPN, SHADOWSOCKS_VPN 
-  - [DPI] Улучшена расшифровка фрагментированного QUIC 
   - [BRAS][DHCP] Offer посылаем сперва на bcast 255.255.255.255   - [BRAS][DHCP] Offer посылаем сперва на bcast 255.255.255.255
   - [BRAS][CLI] Исправлено: команда ''dhcp show stat vrf'' поддерживается только в режиме Radius proxy (в режиме DHCP Relay вызов этой команды приводил к падению)   - [BRAS][CLI] Исправлено: команда ''dhcp show stat vrf'' поддерживается только в режиме Radius proxy (в режиме DHCP Relay вызов этой команды приводил к падению)
Строка 293: Строка 271:
   - [DPI] Исправлено: допускается смена протокола по CUSTOM SNI если ранее произошло распознавание по встроенной сигнатуре   - [DPI] Исправлено: допускается смена протокола по CUSTOM SNI если ранее произошло распознавание по встроенной сигнатуре
   - [DPI] Дополнительная проверка целостности файла при загрузке списка AS из облака    - [DPI] Дополнительная проверка целостности файла при загрузке списка AS из облака 
-  - [DPI] Исправлена загрузка ч/б списков из облака +  - [DPI] Исправлена загрузка черных и белых списков из облака 
-  - [utils] Добавлена поддержка новых форматов в утилите обратной конвертации ч/б списков bin2ip+  - [utils] Добавлена поддержка новых форматов в утилите обратной конвертации черных и белых списков bin2ip
   - Исправлено возможное падение в корку   - Исправлено возможное падение в корку
-  - Поддержка 128-ядерных процессоров+  - Поддержка 128-ядерных процессоров. [[dpi:dpi_brief:dpi_requirements#рекомендуемые_требования|Описание]] 
 + 
 +====Изменения в версии 13.3==== 
 + 
 +  - [DPI] Добавлены протоколы:\\ <code bash> 
 +BIGOTV 49305 
 +SAYHI_CALL 49306 
 +AZARLIVE 49307 
 +LINE_CALL 49308 
 +QQ_CALL 49309 
 +VYKE_CALL 49310 
 +VEEGO_STREAMS 49311 
 +BHABI_CAM 49312 
 +WEPARTY 49313 
 +</code> 
 +  - [DPI] Улучшено распознавание Viber 
 +  - [DPI] Уменьшено число ложных срабатываний для DPI TUNNEL 
 +  - [DPI] Увеличена глубина просмотра пакетов при поиске BIGOTV 
 +  - [DPI] Изменен протокол FACETIME 
 +  - [DPI] Изменено: если протокол определился по ip/sni/cname, то не происходит переопределение протокола по встроенным сигнатурам 
 +  - [DPI] Упорядочено соблюдение приоритетов протоколов, что позволяет избежать лишних переключений между протоколами в процессе анализа.   
 +  - [DPI] Исправлено: поиск одновременно ''*'' и '':'' в http доменах 
 +  - [DPI] Исправлено: удаление адресов в виртуальных каналах при reload 
 +  - [DPI] Исправлено: игнорирования drop при задании параметра ''smartdrop'' при ошибках разбора ssl 
 +  - [BRAS][PPP] Исправлено: учет опции ''bras_pppoe_trace_mac'' при сохранение DHCPv6-пакетов в pcap. Ранее учитывалась только опция ''bras_dhcp_trace_mac''. Теперь для DHCPv6-пакетов в PPPoE-туннеле учитывается также и ''bras_pppoe_trace_mac''  
 +  - [DPI] Исправлены ошибки при назначении vchannel по IP/CIDR 
 +  - [DPI] Исправлено: блокировка по IP DNS, работающего через tcp 
 +  - [DPI][PCRF] Изменен уровень логгирования с INFO на WARNING для сообщений старта и остановки 
 +  - [DPI Utils] Исправлена ''checkproto'' для случая IP протокол Unknown 
 +  - [Utils] Исправлено: ''checkproto'' проверяет с учетом MARK1, задан ли номер порта, т.е. ''checkproto 8.8.8.8 443 www.google.com'' и ''checkproto 8.8.8.8 www.google.com'' могут вернуть разный результат 
 +  - [Utils] ''bin2as'' принимает любое количество входных файлов как аргументов 
 +  - [Utils] ''ascheckip'' принимает адреса для гупповой проверки со ''stdin'' 
 +  - [Utils] ''bgp2bin'' аналог ''as2bin'', но принимает только подсети /24 и крупнее, понимает формат диапазона IP1-IP2 как в записях ripe (выделяя из него подсети /24 и крупнее), последующие записи приоритетнее предыдущих, создает файл немного крупнее чем ''as2bin'', но в нем диапазоны подсетей не пересекаются (т.к. менее приоритетные записи отфильтрованы), что позволяет передать утилите на вход данные из нескольких источников в порядке приоритета 
 +  - [BRAS] Доработка L3-авторизации: 
 +    * Если приходит Reject на IP-адрес, привязанный к multi-bind логину, то сначала отвязываем этот IP от логина, а затем навешиваем услуги (белый список, полисинг) на IP. 
 +    * При успешной авторизации (Access-Accept): если IP не имеет логина, но при авторизации (успешной) пришел логин - надо отвязать все услуги от IP, прежде чем связывать IP с новым логином. 
 +  - [BRAS][PPP] Исправлено: разнородный dual-stack. Один адрес (IPv4 или IPv6) задан явно, для второго (IPv6 или IPv4) указан framed-pool. 
 +  - [BRAS][PPP] Исправлено: бродкастные пакеты теперь молча дропаем 
 +  - [PCRF] Добавлена поддержка записи в syslog. Новый параметр ''syslog_level'' в fastpcrf.conf — уровень записи сообщений из alert-лога в syslog. ''0'' — запись в syslog отключена (значение по умолчанию) 
 +  - Добавлено: горячий параметр ''smartdrop = 1'', если для прокола задан ''drop'', то он будет отложен, пока не будет разобран tls или ошибка разбора tls 
 +  - Исправлено: добавление http доменов с окончанием на '':'' (номер порта) 
 +  - Изменен путь загрузки ASNUM из VAS Cloud (cloud.vasexperts.ru) 
 +  - Блокировка по черному списку в GTP туннеле (при заданной настройке ''detect_gtp_tunnel''
 +  - Исправлено: блокировка https с опцией ''hard'' 
 +  - Поддержка reload для автономных систем IPv6  
 +  - Начальная поддержка записи alert лога в syslog. Включается настройкой ''syslog_level=7'' (уровень, включительно до которого дублируются сообщения в syslog), по умолчанию не писать. Замечания: 
 +    - По умолчанию rsyslog при записи в текстовый лог заменяет символ табуляции и переводы строк на их коды. Чтобы это отключить можно создать файл ''/etc/rsyslog.d/fastdpi.conf'' с настройкой <code bash>global(parser.escapeControlCharactersOnReceive="off")</code> либо пользоваться утилитой ''journalctl''. Пример: <code bash>journalctl -t fastdpi -p 4 --since "1 hour ago" -o verbose --output-fields PRIORITY,MESSAGE</code> 
 +    - Можно перенаправить запись логов на удаленный сервер. Пример из ''/etc/rsyslog.conf'': 
 +      - на локальном сервере с fastdpi:<code bash>*.*  action(type="omfwd" target="192.0.0.1" port="10514" protocol="tcp" 
 +            action.resumeRetryCount="100" 
 +            queue.type="linkedList" queue.size="10000")</code> 
 +      - на удаленном сервере:<code bash>input(type="imptcp" port="10514" 
 +      ruleset="writeRemoteData"
 +ruleset(name="writeRemoteData" 
 +        queue.type="fixedArray" 
 +        queue.size="250000" 
 +        queue.dequeueBatchSize="4096" 
 +        queue.workerThreads="4" 
 +        queue.workerThreadMinimumMessages="60000" 
 +       ) { 
 +    action(type="omfile" file="/var/log/fastdpi.log" 
 +           ioBufferSize="64k" flushOnTXEnd="off" 
 +           asyncWriting="on")</code>