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

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

Предистория

Мышки долго плакали, кололись, но продолжали жрать кактус! Именно так выглядела блокировка Тима у нас в конторе. Ловили порты, создавали правила L7, блокировали не переблокировали… Как всегда на помощь нам пришла «свечка» (Torch) и помогла выяснить, что помимо официальной автономки (43304 — 185.188.32.0/24), Тим юзает ещё 3 подсети. И так, собственно рецепт в студию!

Решение

Как показал Torch, активация Тима поднимала ряд соединений в кучу портов. Блокировка одной подсети, приводила к активации соединений в другой подсети. Методом перебора были обнаружены следующие подсети:
81.31.5.48/28
212.81.64.0/18
178.77.120.0/25
185.188.32.0/24
185.188.33.0/24
185.188.34.0/24
185.188.35.0/24

Теперь оставалось только перекрыть им «кислород». Рецептов несколько, в зависимости от поставленной задачи.

Рецепт первый (самый простой)

1
2
3
4
5
6
7
8
# Элементарно дропаем все вражеские подсети.
/ip firewall filter add chain=forward action=drop dst-address=81.31.5.48/28
/ip firewall filter add chain=forward action=drop dst-address=212.81.64.0/18
/ip firewall filter add chain=forward action=drop dst-address=178.77.120.0/25
/ip firewall filter add chain=forward action=drop dst-address=185.188.32.0/24
/ip firewall filter add chain=forward action=drop dst-address=185.188.33.0/24
/ip firewall filter add chain=forward action=drop dst-address=185.188.34.0/24
/ip firewall filter add chain=forward action=drop dst-address=185.188.35.0/24

Рецепт второй, с использованием маркировщика

1
2
3
4
5
6
7
8
9
10
# Сперва маркируем соединения.
/ip firewall mangle add chain=forward action=mark-packet dst-address=81.31.5.48/28 new-packet-mark=teamviewer
/ip firewall mangle add chain=forward action=mark-packet dst-address=212.81.64.0/18 new-packet-mark=teamviewer 
/ip firewall mangle add chain=forward action=mark-packet dst-address=178.77.120.0/25 new-packet-mark=teamviewer 
/ip firewall mangle add chain=forward action=mark-packet dst-address=185.188.32.0/24 new-packet-mark=teamviewer
/ip firewall mangle add chain=forward action=mark-packet dst-address=185.188.33.0/24 new-packet-mark=teamviewer
/ip firewall mangle add chain=forward action=mark-packet dst-address=185.188.34.0/24 new-packet-mark=teamviewer
/ip firewall mangle add chain=forward action=mark-packet dst-address=185.188.35.0/24 new-packet-mark=teamviewer
# Теперь дропаем по маркеру
/ip firewall filter add chain=forward action=drop packet-mark=teamviewer

Рецепт третий, с ловушкой нарушителя

1
2
3
4
5
6
7
8
9
10
11
12
# Сперва маркируем соединения.
/ip firewall mangle add chain=forward action=mark-packet dst-address=81.31.5.48/28 new-packet-mark=teamviewer
/ip firewall mangle add chain=forward action=mark-packet dst-address=212.81.64.0/18 new-packet-mark=teamviewer 
/ip firewall mangle add chain=forward action=mark-packet dst-address=178.77.120.0/25 new-packet-mark=teamviewer 
/ip firewall mangle add chain=forward action=mark-packet dst-address=185.188.32.0/24 new-packet-mark=teamviewer
/ip firewall mangle add chain=forward action=mark-packet dst-address=185.188.33.0/24 new-packet-mark=teamviewer
/ip firewall mangle add chain=forward action=mark-packet dst-address=185.188.34.0/24 new-packet-mark=teamviewer
/ip firewall mangle add chain=forward action=mark-packet dst-address=185.188.35.0/24 new-packet-mark=teamviewer
# Добавляем адреса нарушителей в список провинившихся, дополнительно пишем лог.
/ip firewall mangle add chain=forward action=add-src-to-address-list address-list=teamviewer packet-mark=teamviewer log=yes log-prefix="teamviewer"
# Теперь дропаем по маркеру
/ip firewall filter add chain=forward action=drop packet-mark=teamviewer

Собственно третьим способом мы смогли отловить и самих нарушителей, а так как в лог пишется ещё и MAC адрес источника, то съехать с темы уже не получится 100%. Для активации правил Firewall «на лету» удаляем все активные соединения TeamViewer. Это удобней всего сделать при помощи WinBox.

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

Блокируем TeamViewer при помощи MikroTik: 7 комментариев

  1. # Элементарно дропаем все вражеские подсети.

    Может проникнуться любовью к пользователям и заменить на reject?

  2. Так запретить подключаться через Teamviewer из локальной сети (на работе), к кому-то там, это пол беды, пусть ради бога) Как запретить подключаться из вне (из Интернета) в локальную сеть??
    Если блокировать теже сети, но не как сети назначения Dst. Address, а как сети от кого исходит подключение Src. Address — не выходит! Толи входящие/проходящие через микротик соединения (из Интернета в локалку) по Teamviewer имеют другие подсети?
    Как заблокировать teamviewer, чтобы не могли к запущенному приложению в локальной сети подключиться?

    1. Доброго времени суток!
      Для начала нужно разобраться как работает Teamviewer. Когда вы запускаете приложение, не важно для чего, оно устанавливает соединение с сервером, который в дальнейшем помогает построить P2P соединение. В дальнейшем, используется чистый пиринг, в котором сервер по сути уже не принимает участия, а это IP адреса клиент-клиент. Единственный способ блокировки — это запретить доступ к серверу организовывающему пиринг. Таким образом, сделать запрет типа «из локальной сети можно, а в локальную сеть нельзя» не выйдет.

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

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

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