Блокируем TeamViewer, Ammyy, AnyDesk и пр.

1 December 2020
900 full reads
1,4k story viewsUnique page visitors
900 read the story to the endThat's 62% of the total page views
2,5 minutes — average reading time

Приветствую, коллеги! В разных организациях принято закрывать внутреннюю сеть, ограждая ее от промышленного шпионажа и других угроз, связанных с работой собственных сотрудников. Такие сервисы удаленного подключения, как TeamViewer, Ammyy admin, AnyDesk и др. являются огромной "дырой" в безопасности любой организации. Как ее "немного прикрыть" мы рассмотрим в данной статье, на примере работы с роутером MikroTik.

Тот самый зловредный сайт TeamViewer'а
Тот самый зловредный сайт TeamViewer'а
Тот самый зловредный сайт TeamViewer'а

Итак, если на пальцах, то нам надо поставить маркеры на определенные слова и словосочетания, которые будут помечать трафик (любой, не только из браузера) и делать с ним все, что нам захочется: хоть блокировать, хоть перенаправлять, хоть пустить в пешее кругосветное путешествие через всю нашу сеть. Голь на выдумки хитра. Но здесь я рассмотрю только вариант с блокировкой.

Для начала нам надо определиться что именно мы будем блокировать. Идем в IP -> Firewall на последнюю вкладку Layer 7 Protocols.

Описание регулярных переменных для отслеживания работы L7 модели OSI
Описание регулярных переменных для отслеживания работы L7 модели OSI
Описание регулярных переменных для отслеживания работы L7 модели OSI

Здесь мы создаем регулярки для определения того, что будем блочить. Это могут быть совершенно разные сайты: хоть социалки, хоть видео-хостинги, радио или просто вам сайт АвтоВАЗа, например, не хочется видеть. Забиваем регулярные выражения в следующем виде.

Список регулярок
Список регулярок
Список регулярок

Забиваем "^.+(что-то | еще что-то).*$" - без пробелов и кавычек. Средняя вертикальная палка разделяет выражение в скобках. Например, "^.+(facebook|vk).com*$" - будет блокировать только обращения к facebook.com и vk.com, но другие домены (.ru | .ua | .cn) будут работать. Т.е. очень гибко можно настроить на любые задачи. Но это еще не блокировка - это маркер. Переходим к следующей вкладке в разделе Firewall - Mangle.

В трех этих вкладках при создании нового мангла, нужно указать: внутренний адрес ус-ва (если пусто, то все), указать как L7 лист использовать для маркировки трафика от данного устройства, указать как помечать трафик, который удовлетворяем уже 2 нашим условиям: таблицы регуляров BlockList и внутреннему адресу ус-ва. Имя Connection mark может быть любым. Готово. Далее сама блокировка.

На вкладке Filter Rules - самой первой вкладке раздела Firewall, создаем новое правило.

Filter rules, создание нового правила

Когда нажмете "плюсик", то не надо заполнять все поля - чем меньше их заполнено, тем более обширно правило. Заполняя поля вы сужаете область применения данного правила. Нам достаточно следующих: connection mark, который мы создали предыдущим шагом, и в разделе action выбрать что делать - в нашем случае дропать.

И самое важное, поднять наше новое правило в разделе filter rules как можно выше, так как правила во всех фаерволах всегда и везде выполняются по очереди до первого совпадения. Т.е. если вы создали правило под номером 10, а до него есть правило номер 7, которое все разрешает, то все правила после 7 не будут выполняться вообще. Еще один нюанса микрота - замыкающее, конечное правило, надо создать дропать все. Т.е. все поля пустые, а action - drop. Т.к. базово оно не прописано, как у других производителей, где последнее правило всегда "запрещает все всем". Тут такого нет, поэтому создаем.

Результат нашей борьбы с удаленным подключением
Результат нашей борьбы с удаленным подключением
Результат нашей борьбы с удаленным подключением

Как видите, на данной машине перестали открываться сайты, в имени которых встречаются слова, с которых мы начали данную статью.

Окно AnyDesk
Окно AnyDesk
Окно AnyDesk

Окно программы AnyDesk тоже не может связаться с сервером, чтобы получить ID для удаленного подключения.

Ammyy Admin тоже отвалился
Ammyy Admin тоже отвалился
Ammyy Admin тоже отвалился
TeamViewer просит проверить подключение
TeamViewer просит проверить подключение
TeamViewer просит проверить подключение

В заключении хочу обозначить пару моментов, которые лежат на поверхности, но многие об этом не задумываются при блокировке этих или других сервисов. Будь то фейсбук, вк или амазон с ютубом - не важно. Блокировка сторонних ресурсов всегда должна быть согласована и подтверждена руководством письменно. В идеале у вас должно быть минимум распоряжение, на которое вы сможете ссылаться, когда очередной мини-вип-царек по телефону будет вспоминать всю вашу родословную, искать вам новую работу или еще что похуже. Вы обезопасите себя и свои нервные клетки. В идеале также убедить руководство, что никаких исключений быть не должно и реализовать их будет проблематично и напряжно для роутера: гораздо проще обработать команду блочить 1,2,3,4 для всех, чем 1,2 для группы1, 2,4 для группы2, а группа 3 только по праздникам может ходить в 1,3. Это все реализуемо, но нервов у вас высосет тонну. Работа ради работы.

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

Посмотрите так же другие мои статьи: