Разработчики анонимной сети Tor сообщили о появлении аномалий в работе на территории Республики Беларусь, которые оказались связаны с блокировкой доступа на уровне ключевого оператора связи Белтелеком. Блокировка осуществлена через подстановку TCP RST-пакетов для обрыва соединения при обращении к публичным шлюзам сети Tor. Доступ к серверам директорий Tor не блокируется (порт DirPort остаётся открытым, но обращения к ORPort обрываются).

Для обхода блокировки можно использовать не отмеченные в основном каталоге Tor скрытые шлюзы, поставляемые в базе BridgeDB. Кроме использования BridgeDB для обхода блокировки также можно настроить игнорирование TCP-пакетов с флагом RST на стороне локального пакетного фильтра (метод работает и для обхода применяемой некоторыми провайдерами блокировки по спискам Роскомнадзора):


iptables -I INPUT -p tcp --tcp-flags RST RST -j DROP

Особенностью блокировки является отправка первого RST-пакета с неверным номером последовательности (поля SEQ и ACK заполнены нулями), что приводит к его отбрасыванию TCP/IP-стеком клиента. Подобный пакет может использоваться как маркер для обнаружения попыток подстановки пакетов. В целом, метод блокировки напоминает ранний опыт блокировки Tor в Китае, который последнее время существенно продвинулся в плане выявления и блокирования узлов Tor.


$ tshark -Tfields -eframe.time_relative -eip.src -etcp.srcport -eip.dst -etcp.dstport \
 -eip.ttl -etcp.flags.str -etcp.seq -etcp.ack -r urandom.pcap | sed | awk | perl
0.000000
 192.168.1.2 42555 87.118.94.227
 443
64 **********S* 899897236
0
 0.029459 87.118.94.227
 443
 192.168.1.2 42555 125 *********R** 0

0 (!!!)
0.096914 87.118.94.227
 443
 192.168.1.2 42555
52 *******A**S* 1984028404 899897237
0.096958
 192.168.1.2 42555 87.118.94.227
 443
64 *******A**** 899897237
1984028405
0.136874 87.118.94.227
 443
 192.168.1.2 42555 125 *********R** 1984028405 0


Источник: http://www.opennet.ru/opennews/art.shtml?num=45645