Ip адреса viber — Блокируем Viber при помощи MikroTik
Закрыл дверь, а он в окно…
Предистория
По сравнению с блокировкой TeamViewer’а, блокировка Viber оказалась гораздо более увлекательной затеей. Эта зверюга поднимает десятки соединений на разные адреса из разных подсетей. Ловить всё это по IP казалось совершенно мифической задачей. Тут уже не обошлось без помощи L7, однако банальная блокировка домена ничего не давала. Пришлось вооружаться Wireshark и терпением.
Решение
Как показал Torch, при каждом запуске, Viber лезет на DNS с более чем десятком запросов. Дальнейшее общение с миром происходит по https, естественно на разные IP адреса из разных подсетей. Количество и разнообразие соединений периодически ввергали в оцепенение, но сдаваться ни кто не собирался.


Теперь оставалось выяснить чего такого «ценного» Viber тянет из DNS сервера. Естественно, такое количество DNS запросов говорило о том, что Viber жить не может без доменов, а предидущий опыт говорил о том, что viber.com здесь явно не при делах. Именно в этот момент и понадобился Wireshark. Отфильтровав по источнику и DNS получилась вполне понятная картинка.

В итоге выяснилось, что Viber активно использует Amazon Web Services (AWS), именно там у них всё и располагается. Дело оставалось за малым — регулярка. Так как тестил я всё это «добро» дома, то все мои более менее изящные конструкции буквально кирпичили мои CRS’ы, посему пришлось воспользоваться банальным выражением viber|amazonaws
.

Моих 600 мГц в одном ядре не хватало даже на банальные «далее» (.*
) при применении которых маршрутизатор просто зависал и его приходилось выдёргивать из сети. Теперь собственно о рецепте.
Рецепт
# Создаём регулярку. /ip firewall layer7-protocol add name=viber regexp=»(viber|amazonaws)» # Маркируем соединения по регулярке. /ip firewall mangle add chain=forward layer7-protocol=viber action=mark-packet new-packet-mark=viber # Добавляем адреса нарушителей в список провинившихся, дополнительно пишем лог. /ip firewall mangle add chain=forward action=add-src-to-address-list address-list=viber packet-mark=viber log=yes log-prefix=»viber» # Теперь дропаем по маркеру. /ip firewall filter add chain=forward action=drop packet-mark=viber
Вот таким способом получится блокировать сервис и отловить всех нарушителей, которые вопреки всему активно используют Viber, а так как в лог пишется ещё и MAC адрес источника, то съехать с темы уже не получится 100%. Для активации правил Firewall «на лету» удаляем все активные соединения Viber. Это удобней всего сделать при помощи WinBox. Как показывает практика, всё что связано с L7 активируется не сразу, поэтому прийдётся подождать некоторое время.
UPD Недавно обнаружили что блокировка сети 52.0.252.0/22
помогает с данной задачкой. Пробуем, отписываемся о результатах 😉
UPD2 Расширяем пределы сети 52.0.0.0/11
. В моём случае помогло. Пробуем, отписываемся о результатах 😉
В ответ на вопрос о обратном фильтре, когда нужно заблокировать всё кроме Viber. Адрес 10.0.0.7
— IP хоста для которого работает данный фильтр.