mirror of
https://github.com/bol-van/zapret2.git
synced 2026-03-14 06:13:09 +00:00
update docs
This commit is contained in:
@@ -48,12 +48,12 @@ nfqws2 работает не в ядре (kernel mode), а является пр
|
||||
Результатом диссекции является диссект - представление пакета в виде структур, которые можно адресовать по полям.
|
||||
|
||||
Далее задействуется встроенная в nfqws2 подсистема conntrack - система отслеживания потоков поверх отдельно взятых пакетов.
|
||||
Ищется уже имеющаяся запись о соединении на основании данных L3/L4 пакета. Если ее нет - создается. Старые записи, по которым давно нет активности, удаляются.
|
||||
Ищется уже имеющаяся запись о потоке на основании данных L3/L4 пакета. Если ее нет - создается. Старые записи, по которым давно нет активности, удаляются.
|
||||
conntrack отслеживает логическое направление пакетов в потоке (входящее/исходящее), ведет подсчет количества прошедших пакетов и байт в обе стороны,
|
||||
следит за sequence numbers для tcp. Он же используется в случае необходимости для сборки сообщений, передаваемых несколькими пакетами.
|
||||
|
||||
Сигнатурно определяется тип пейлоада - содержимого отдельно взятого пакета или группы пакетов. На основании типа пейлоада определяется тип протокола
|
||||
всего потока, который сохраняется за потоком до конца его существования. В рамках одного соединения могут проходить разные типы пейлоадов.
|
||||
всего потока, который сохраняется за потоком до конца его существования. В рамках одного потока могут проходить разные типы пейлоадов.
|
||||
Например, протокол потока xmpp обычно несет несколько видов специфических для xmpp сообщений и сообщения, связанные с tls.
|
||||
Тип протокола потока xmpp остается, но последующие пакеты получают различные типы пейлоада - как известные, так и неизвестные. Неизвестные пейлоады определяются как тип "unknown".
|
||||
|
||||
@@ -69,7 +69,7 @@ conntrack отслеживает логическое направление п
|
||||
|
||||
Все дальнейшие действия выполняются уже в рамках выбранного профиля. Выбранный профиль кэшируется в записи conntrack, поэтому для каждого пакета поиск заново не выполняется.
|
||||
Повторный поиск выполняется в случае изменения исходных данных - при обнаружении L7 протокола и при обнаружении имени хоста. В последних случаях производится повторный поиск
|
||||
и при необходимости переключение профиля. Таких переключений может быть за соединение до двух, поскольку есть лишь 2 изменяемых параметра.
|
||||
и при необходимости переключение профиля. Таких переключений может быть за время существования потока до двух, поскольку есть лишь 2 изменяемых параметра.
|
||||
|
||||
Профиль выбран. Из чего состоит его содержание, отвечающее за действия ?
|
||||
За действия отвечают LUA функции. В профиле их может быть произвольное количество.
|
||||
@@ -3137,7 +3137,7 @@ function synack(ctx, desync)
|
||||
* arg: [standard reconstruct](#standard-reconstruct)
|
||||
* arg: [standard rawsend](#standard-rawsend)
|
||||
|
||||
Отсылает перед SYN пакет SYN,ACK, чтобы запутать DPI относительно направления IP соединения. Атака называется в литературе "TCB turnaround". Ломает NAT - через NAT применение невозможно. Применение на проходящем трафике требует nftables и режим POSTNAT. После прохода пакета без SYN выполняет [instance cutoff](#instance_cutoff). Вердикт не выносит.
|
||||
Отсылает перед SYN пакет SYN,ACK, чтобы запутать DPI относительно направления tcp соединения. Атака называется в литературе "TCB turnaround". Ломает NAT - через NAT применение невозможно. Применение на проходящем трафике требует nftables и режим POSTNAT. После прохода пакета без SYN выполняет [instance cutoff](#instance_cutoff). Вердикт не выносит.
|
||||
|
||||
### synack_split
|
||||
|
||||
@@ -3778,7 +3778,7 @@ nfqws2 может работать и самостоятельно без скр
|
||||
| AUTOHOSTLIST_DEBUGLOG | включение autohostlist debug log. лог пишется в `ipset/zapret-hosts-auto-debug.log` |
|
||||
| GZIP_LISTS | применять ли сжатие gzip для генерируемых хост и ip листов |
|
||||
| DESYNC_MARK | марк-бит для предотвращения зацикливания |
|
||||
| DESYNC_MARK_POSTNAT | марк-бит для пометки соединений, идущих по схеме POSTNAT |
|
||||
| DESYNC_MARK_POSTNAT | марк-бит для пометки потоков, идущих по схеме POSTNAT |
|
||||
| FILTER_MARK | если задан, перехватывает пакеты только с этим битом mark. Полезно для организации особых фильтров, например, по ip источника локальной сети. |
|
||||
| POSTNAT | использовать режим перехвата после NAT на nftables. По умолчанию - 1. На iptables перехват всегда до NAT. |
|
||||
| NFQWS2_ENABLE | включение стандартного режима nfqws2 |
|
||||
@@ -3793,7 +3793,7 @@ nfqws2 может работать и самостоятельно без скр
|
||||
| INIT_APPLY_FW | должны ли применять [стартовые скрипты](#стартовые-скрипты) правила firewall |
|
||||
| INIT_FW_PRE_UP_HOOK<br>INIT_FW_POST_UP_HOOK<br>INIT_FW_PRE_DOWN_HOOK<br>INIT_FW_POST_DOWN_HOOK | хук-скрипты, вызываемые до, после поднятия и до, после опускания firewall |
|
||||
| DISABLE_IPV4<br>DISABLE_IPV6<br> | отключить версии ip протокола |
|
||||
| FILTER_TTL_EXPIRED_ICMP | фильтровать "time exceeded" в ответ на пакеты, принадлежащие соединениям, прошедшим через zapret |
|
||||
| FILTER_TTL_EXPIRED_ICMP | фильтровать "time exceeded" в ответ на пакеты, принадлежащие потокам, прошедшим через zapret |
|
||||
| GETLIST | [скрипт внутри ipset](#система-ведения-листов), вызываемый из `ipset/get_config.sh` . если не указано - `ipset/get_ipban.sh` |
|
||||
|
||||
* По стандартным режимом nfqws2 понимается то, что запускается с параметрами `NFQWS2_OPT` при включении `NFQWS2_ENABLE`. В противовес [custom скриптам](#custom-скрипты), откуда могут запускаться нестандартные, кастомные, инстансы nfqws2.
|
||||
|
||||
Reference in New Issue
Block a user