Ник | Пост | Дата |
---|---|---|
Sector | Всем привет! Задача проста: выявлять и направлять через VPS заблокированные ресурсы на уровне домашнего роутера. Сейчас пытаюсь реализовать на базе микротика. На данный момент отлавливаю ответ от DPI следующим правилом: /ip firewall filter add action=add-src-to-address-list address-list=rkn address-list-timeout=1w chain=forward comment= Затем соединения с хостами, из сформировавшегося списка “подозрительных” ip-адресов направляю через VPN: /ip firewall mangle Проблема в том, что правило фильтра слишком широкое, и в список попадает много лишних, легитимных соединений. В статье на хабре ValdikSS писал: “В случае с HTTPS-сайтами, DPI присылает TCP Reset-пакет, тоже с Identification = 1 и Flags = 0”, но в моём случае это не так почему-то, всё наоборот: DF-флаг на месте (1), identification = 0. Провайдер - ростелеком, Нижний Новгород. Подскажите, можно-ли как-то средствами микротика однозначно идентифицировать ответ от DPI (TCP-reset)? | 2022-03-18T14:09:31.978Z |
ValdikSS |
Эта информация чуть ли не пятилетней давности, с тех пор многие системы DPI изменились или были заменены. Почему из всех возможных методов обхода блокировок вы выбрали именно этот? Вас чем-то не устроили «классические» методы маршрутизации заблокированных адресов (которые тоже могут маршрутизировать много «лишнего»)? | 2022-03-20T21:08:27.864Z |
Sector | Приветствую! Так вот как раз и не устроили тем, что маршрутизируют много «лишнего», ищу способ исправить этот момент | 2022-03-21T04:16:54.688Z |
Eugen(Евгений) | Привет!
Ну и в дополнении к этому Настройка BGP для обхода блокировок, версия 3.1. И немного Q&A / Хабр P.S. | 2022-03-21T05:32:37.887Z |
Sector | Привет! Увы, это решение уже не работает должным образом, по крайней мере в Нижнем Новгороде | 2022-03-21T05:58:49.735Z |
Eugen(Евгений) | А DNS заворачиваете в туннель? | 2022-03-21T06:15:50.747Z |
Sector | DNS через DoH Cloudflare | 2022-03-22T08:48:30.804Z |
ValdikSS | 2022-03-22T09:23:39.900Z | |
Elevator | Поделюсь своим способом. Фейковый пакет FIN,ACK мало чем отличается от других кроме всегда одинакового TTL=57 что недостаточно для выявления блокировки. Но я нашел способ его выявлять практически со 100% гарантией. Принцип работы Вероятность что в первых 1000 байт соединения, отсылая приветствие, мы получим пинок под зад стремится к нулю, следовательно нас блокируют. Реализация В IP-Firewall-Mangle создаем два правила: Первое правило: Второе правило: Данный способ также хорошо подойдет если провайдер отсылает фейковый RST пакет, т.к мы отсекаем пакеты после 1000 байт и тем самым уменьшаем вероятность ложного срабатывания. | 2022-05-16T08:03:07.364Z |
Elevator | Заметил у своего провайдера новый тип блокировки Теперь после clienthello делается drop пакетов вместо FIN,ACK Добавил новое правило на роутер, теперь ищется пакет от клиента PSH,ACK после clienthello. Пока тестирую на ложные срабатывания Также придумал как обнаруживать блокировку по ip. Но скорее всего будет много ложных срабатываний. Тесты покажут. Все это наводит меня на мысли что нужно делать active probing на стороне клиента. Чтобы автоматически и достоверно определять факт блокировки | 2023-03-10T10:41:17.612Z |
Sector | В этом, собственно, и вопрос: как качественно сделать этот самый “Active Probing”? Желательно, средствами Микротика… | 2023-03-10T10:57:59.122Z |
Elevator | Средствами микротика никак. Насколько мне известно функционал routeros не позволяет отправлять свои пакеты. | 2023-03-10T11:09:08.202Z |
bolvan | Лишь только дропанием каких-либо пакетов можно обойти только пассивный DPI, который не может блокировать пакеты по признаку соединения. Активный DPI после срабатывания блочит весь tcp сеанс. На routeros есть scripting, возможно с ним что-то можно соорудить. | 2023-03-10T16:47:21.199Z |
Elevator | Речь не про дроп пакетов. Идея состоит в том чтобы роутер мог автоматически определять факт блокировки. Это позволит отказаться от многотысячных списков и ручного наполнения. Комфорт просто несоизмеримый. Заходишь на сайт - connection reset. Нажимаешь F5 и сайт открывается. А если приложение где тысячи доменов заблочены по маске? Пару раз посвайпал и все работает. Вот у меня и крутится в голове идея про active probing для клиента. | 2023-03-10T17:12:47.203Z |
bolvan |
Выглядит не просто реализуемым. Нужно каким-то образом распознать факт обращения к IP, по факту вызвать некий обработчик Еще потенциальная проблема может быть с отслеживанием аномальных ситуаций. Сброс может произойти по желанию самого сервера, если он, например, перегружен. Чтобы каждый такой чих не приводил к вечному занесению IP. А как сделать невечное ? В ipset это невозможно, там нет даты/времени добавления. Тереть каждый день ? Тогда придется каждый день заново нажимать F5. | 2023-03-11T06:55:35.822Z |