Ник | Пост | Дата |
---|---|---|
ValdikSS | У системы блокировки сайтов Ростелекома есть интересная деталь: соединения на заблокированные IP-адреса успешно устанавливаются, если размер пакета TCP SYN меньше 62 байт. При этом соединение идет через DPI (видно по дополнительному хопу в TTL), разрывается через 10 секунд неактивности, и пакеты TCP RST всё равно присылаются клиенту (их нужно блокировать, чтобы способ сработал). SYN-пакеты размером более 62 байта отбрасываются, ACK на них не приходит. Предполагаю, это какая-то дополнительная система обнаружения трафика, которая перенаправляет соединение через другой маршрут, т.к. до этого у Ростелекома был только «пассивный» (out-of-band) DPI, а это похоже на «активный» (in-band). Чтобы уменьшить TCP SYN до 62 байт в Linux, достаточно отключить две TCP-опции: TCP Timestamps и TCP SACK:
И применить:
Это будет работать только непосредственно на компьютере, с которого устанавливается TCP-соединение. Если добавить эти параметры на маршрутизатор, и попытаться загрузить заблокированный сайт на компьютере, например, с Windows, то ничего не поменяется — сайт не откроется. Правила iptables для Linux, для блокировки TCP RST:
Windows 7, после неудачных попыток установки соединения с большим SYN-пакетом, отправляет пакет без TCP SACK, из-за чего он получается равен 62 байтам, и соединение со включенным GoodbyeDPI устанавливается в течение нескольких десятков секунд. Windows 10 не обладает такой особенностью, и соединение не будет установлено. | 2019-09-20T11:06:46.974Z |
darkk(Leonid Evdokimov) | У РТК есть и другая странная деталь: TCP порты 1-9 у некоторых из заблокированных IP доступны без каких-либо ухищрений. | 2019-09-24T21:29:49.066Z |