Блокируем Viber при помощи MikroTik

Закрыл дверь, а он в окно…

Предистория

По сравнению с блокировкой TeamViewer’а, блокировка Viber оказалась гораздо более увлекательной затеей. Эта зверюга поднимает десятки соединений на разные адреса из разных подсетей. Ловить всё это по IP казалось совершенно мифической задачей. Тут уже не обошлось без помощи L7, однако банальная блокировка домена ничего не давала. Пришлось вооружаться Wireshark и терпением.

Русскоязычный онлайн-курс по MikroTik от нашего коллеги Дмитрия Скромнова. Здесь можно изучить MikroTik и RouterOS самостоятельно по курсу «Настройка оборудования MikroTik». Курс основан на официальной программе MTCNA, но содержит больше информации. Это 162 видеоурока и большая практическая задача, разбитая на 45 лабораторных работ. Время на изучение неограниченно – все материалы передаются бессрочно и их можно пересматривать сколько нужно. Первые 25 уроков можно посмотреть бесплатно, оставив заявку на странице курса.

Решение

Как показал Torch, при каждом запуске, Viber лезет на DNS с более чем десятком запросов. Дальнейшее общение с миром происходит по https, естественно на разные IP адреса из разных подсетей. Количество и разнообразие соединений периодически ввергали в оцепенение, но сдаваться ни кто не собирался.

Viber DNS запросы
Viber DNS запросы
Viber https соединения
Viber https соединения

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

Viber DNS запросы в Wireshark
Viber DNS запросы в Wireshark

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

RegEx
RegEx

Моих 600 мГц в одном ядре не хватало даже на банальные «далее» (.*) при применении которых маршрутизатор просто зависал и его приходилось выдёргивать из сети. Теперь собственно о рецепте.

Рецепт

1
2
3
4
5
6
7
8
# Создаём регулярку.
/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 хоста для которого работает данный фильтр.

1
2
/ip firewall filter
add action=drop chain=forward comment="Drop all except Amazon WS (Viber)" disabled=no dst-address=!52.0.0.0/11 src-address=10.0.0.7

Соответственно блокируется Viber (сеть Amazon Web Services) обратным правилом. Адрес 10.0.0.7 — IP хоста для которого работает данный фильтр. Если не указывать src-address, тогда правило работает глобально, для всех.

1
2
/ip firewall filter
add action=drop chain=forward comment="Drop Amazon WS (Viber)" disabled=no dst-address=52.0.0.0/11 src-address=10.0.0.7

О том как заблокировать не только Viber, но и другие сервисы, расскажет Дмитрий Скромнов в русскоязычном онлайн-курсе по MikroTik для самостоятельного изучения. Серия курсов по MikroTik и RouterOS основана на официальной программе MTCNA, однако содержит намного больше полезной информации. 162 видеоурока и большая практическая задача, разбитая на 45 лабораторных работ. Время на изучение неограниченно – все материалы передаются бессрочно и их можно пересматривать сколько нужно. Первые 25 уроков можно посмотреть бесплатно, оставив заявку на странице курса.

Блокируем Viber при помощи MikroTik

30 мыслей о “Блокируем Viber при помощи MikroTik

  • 04.04.2017 в 12:58
    Permalink

    Выходит все, тю-тю, до Амазона не достучатся?

    Ответить
    • 04.04.2017 в 13:00
      Permalink

      В этой ситуации да. Тут вот коллега раздобыл на днях некую подсеть, блокировки которой достаточно для того чтобы потушить Viber. На днях раздобуду и добавлю в пост.

      Ответить
  • 05.12.2017 в 20:02
    Permalink

    заблокировал эти порты и айпи сетки — погасло управление девайсами Sonoff , они тоже на амазоне облако крутят ((

    Ответить
    • 05.12.2017 в 20:36
      Permalink

      Да, депрессивно получается. А если просто сетку 52.0.252.0/22 дропнуть, без регулярки? (L7)

      Ответить
  • 07.12.2017 в 22:37
    Permalink

    Подскажи, дружище, а как наоборот разблокировать VIBER на ПК у которого запрет на весь инет? Там сказано, что надо открыть несколько TCP & UDP портов + 80 и 443. Но я этого сделать не могу, тогда появится ИНЕТ на компе, хотя смогу указать дополнительно DESTINATION — IP’шки VIbera. Но что это за IP? Служба поддержки не отвечает на этот вопрос.
    Спасибо!

    Ответить
    • 08.12.2017 в 22:31
      Permalink

      Как показала сегодняшняя практика, сеть 52.0.252.0/22 более не актуальна. На днях поищу альтернативку.

      Ответить
    • 10.12.2017 в 11:55
      Permalink

      Вот такое правило помогло мне в решении этой задачи:
      /ip firewall filter
      add action=drop chain=forward comment=’Drop all except Amazon WS (Viber)’ disabled=no dst-address=!52.0.0.0/11 src-address=10.0.0.7

      Здесь 10.0.0.7 — это IP хоста для которого работает данный фильтр.

      Ответить
      • 20.10.2020 в 16:38
        Permalink

        Похоже «52.0.0.0/11» на 20.10.2020 неактуальна?
        Вы держите руку на пульсе?

        Ответить
        • 09.11.2020 в 12:52
          Permalink

          Здравствуйте. Похоже что актуальна.
          52.0.0.0/11 — AWS
          18.194.0.0/15 — A100 ROW GmbH (AWS EU)
          2.20.144.0/22 — Akamai Technologies
          184.50.0.0/15 — Akamai Technologies, Inc.

          >>>Вы держите руку на пульсе?
          — А должен? )))

          Ответить
  • 25.04.2018 в 14:15
    Permalink

    Дружище, а можно для «чайников»описать, и пару скринов выложить ? Я с микротиком общаюсь 2 недели только, еще не все АНАЛы изучил (((
    А вот тема очень актуальная, да и ясно что микротик умеет гораздо больше домашние роутеры! Жаль только мануала нормального нет (на вики не посылать, уже там).

    Ответить
    • 25.04.2018 в 22:44
      Permalink

      Хорошо, постараюсь на днях сделать визуальный мануал

      Ответить
  • 30.06.2018 в 09:25
    Permalink

    Добрый день, было бы еще очень интересно узнать, через какие порты и IP адреса Viber пересылает сообщения и картинки из чатов. Тоже через 52.0.252.0/22 ?

    Ответить
    • 30.06.2018 в 10:53
      Permalink

      Или через 52.0.0.0/11? А если адрес вне этого диапазона? Например, 52.58.0.0 — 52.58.255.255? Это уже не Viber?

      Ответить
      • 30.06.2018 в 14:06
        Permalink

        Добрый день! Спасибо за ваш вопрос.
        По сути, используется автономки Амазона AS14618 52.0.0.0/15 и тд.
        Какие конкретно адреса там используются viber сказать очень сложно, к тому же они с завидной частотой меняются. Блокировка таких сервисов достаточно серьёзная задача требующая применения не стандартных решений. В большинстве случаев, адреса серверов будут разными для разных стран или даже регионов, поэтому блокировка подсети Амазона будет не всегда 100% эффективна и может унести с собой ещё кучу сервисов помимо viber. В наилучшем решением будет использование L7 фильтрации, но здесь нужно понимать, что ресурсы железа не безграничны. Что касается чатов, то это отдельный вопрос, требующий дополнительных изысканный.

        Ответить
        • 01.07.2018 в 15:25
          Permalink

          Спасибо большое, но еще маленький вопросик. «Блокировка подсети Амазона будет не всегда 100% эффективна и может унести с собой ещё кучу сервисов помимо viber». В общем и целом это понятно. Хотя бы на примере блокировки Телеграма этой весной. А вы не могли бы назвать хотя бы несколько известных вам сервисов из вышеупомянутой «кучи»? Буду вам очень признателен, мне это действительно очень важно.

          Ответить
          • 02.07.2018 в 01:19
            Permalink

            У друга к примеру ряд сетевых элементов умного дома работают через сервисы Амазон (многие китайские модули и прочие поделки сильно любят Амазон), ещё угрушки всякие там висят (не игрок, не скажу какие точно). Тот же Телеграм (далеко не весь естественно), Zello, облако mail.ru, kaspersky тоже там сидел помнится. Сказать кто конкретно там сидит да и ещё в одной подсети с Viber практически не возможно, так как часто адреса сервисов меняются, да и особо не афишуруется обычно оно. В любом случае, если вы у себя зарежете 52.0.0.0/15 апокалипсис не наступит, но как уже было сказано, могут овалиться разного рода побрякушки.

          • 02.07.2018 в 12:52
            Permalink

            Спасибо большое.

          • 06.07.2018 в 10:39
            Permalink

            По поводу чатов (вопроса, требующего дополнительных изысканий). Для чего мне это надо — скажем так, для того, чтобы отбиться от абсурдного обвинения в пересылке неизвестно чего неизвестно куда. Вкратце поясню, что мне нужно понять, может ли быть такое, что исходящие вайбер-сообщения не отображаются в расшифровке интернет-провайдера. То есть речь идет о факте соединения якобы с вайбером и с пересылкой чего-то куда-то. В расшифровке есть соединения с IP адресами, похожими на вышеописанные диапазоны (52.0.0.0/15 и т.д.), но исходящего трафика нет. Как бы вроде получается, что человек не виноват (ничего не посылал), но по их логике виноват по-любому (ты виноват уж тем, что хочется мне кушать, как говорится). Примечание: принадлежность аккаунтов и привязка их к конкретным номерам телефонов в данном случае не рассматривается и не играет роли.
            Потом я взял программу Packet Capture, она отлавливает трафик, которым пользуются приложения. Провел несколько манипуляций, зашел в чаты, в стикеры, туда-сюда, потом отправил и принял несколько сообщений, в том числе и картинок. Так вот картинки не отобразились в трафике (!!!). То есть имеется перечень соединений со многими IP адресами, но трафика, сравнимого с размером картинки (примерно 100 кб) — нет. Напротив большинства IP адресов — «no data». Потом я прочитал, что эта программа не может считать зашифрованный трафик, или может, но не весь, короче если она чего-то не может посчитать, то тогда пишет «no data». А изначально у меня была идея увидеть через какие IP отправляются картинки, и потом сравнить с расшифровкой провайдера. Например, сказать: видите, картинки идут через другой web-service, не через амазон, а в расшифровке и близко ничего нет. Теперь вижу, что нахожусь в небольшом тупике. С одной стороны, есть куча IP адресов, но информация очень неполная, и как дальше быть?
            Может быть, у вас есть возможность провести вышеописанный эксперимент, но на профессиональном уровне? Поверьте, речь идет не просто о любопытстве, а практически о свободе человека. Буду вам очень благодарен.

          • 06.07.2018 в 11:16
            Permalink

            Добрый день!
            Отписался в почту.

  • 06.07.2018 в 11:07
    Permalink

    Есть подозрение, что картинки пересылаются через адреса из подсетей 35.152.0.0/13, 35.160.0.0/12, 35.176.0.0/13. Напротив них в основном и стоит то самое «no data», и по времени вроде бы подходит. Но нужен proof )))

    Ответить
  • 27.11.2018 в 22:51
    Permalink

    Добрый вечер,а можно разблокировать Вайбер,Так как они мой номер заблокировали якобы за рассылку спама,хотя я на самом деле отправляла фото одежды в свою группу.

    Ответить
    • 28.11.2018 в 09:02
      Permalink

      Здравствуйте. С этим вопросом вам нужно обратиться в техподдержку Viber.

      Ответить
  • 31.01.2019 в 17:12
    Permalink

    Тоже задался вопросом блокировки всего, кроме Вайбера. Поодкрывал доступ ко всем указанным на этой странице ip адресам, по итогу можно пересылать стандартные картинки от Вайбера, обмениваться сообщениями, НО ЗВОНИТЬ НИКАК НЕ ПОЛУЧАЕТСЯ, ни видео, ни голосовые звонки не проходят. Так и не понял, через что они работают

    Ответить
    • 01.02.2019 в 00:32
      Permalink

      На самом деле, такие провайдеры как Аками и Амазон частенько меняют IP размещаемых на их мощностях сервисах, поэтому здесь нужно отслеживать какие конкретно сети используются в данный момент для голосовой и видео связи. Как вариант, попробовать открыть всю АС Амазона.

      Ответить
      • 02.02.2019 в 13:26
        Permalink

        А в каком диапазоне адресов работает Амазон, что-то гуглил и не нашел такой информации

        Ответить
  • 04.12.2020 в 21:57
    Permalink

    Можно как-то заблокировать только входящие видеозвонки Viber подобным методом?

    Ответить
    • 04.12.2020 в 22:05
      Permalink

      Здравствуйте!
      К сожалению нет.

      Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.