Как заблокировать программы удаленного доступа

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

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

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

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

Программы удаленного доступа к телефону (iPhone)

Описание регулярных переменных для отслеживания работы 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 не будут выполняться вообще.

Как настроить неконтролируемый доступ AnyDesk

Еще один нюанса микрота — замыкающее, конечное правило, надо создать дропать все. Т.е. все поля пустые, а action — drop. Т.к. базово оно не прописано, как у других производителей, где последнее правило всегда «запрещает все всем». Тут такого нет, поэтому создаем.

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

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

Окно AnyDesk

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

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

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

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

Читайте также:
Программа технология механизированных работ

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

=== Дополнение к статье ===

Как заметил один из моих подписчиков, данный способ перестал работать с какого-то момента, когда данные компании решили работать по спискам ip-адресов, не полагаясь на dns-записи. На данный момент я еще не нашел эффективного способа, как отфильтровать трафик этих клиентов и разделить его с браузерным, ведь порты эти программы используют, в том числе, 80 и 443. Предлагаю сделать следующий ход ушами: я собрал список всех адресов, которые используются клиентами TeamViewer и AnyDesk и, объединив их общими масками в предполагаемые подсети, которые принадлежат данным компаниям, заблокировал целиком диапазоны. Адреса собирал программой TCPView, просто запустив клиент и занося все адреса, к которым он пытался подключиться, добившись его полной неработоспособности.

Далее сразу выложу весь скрипт, который можно вставить или через ssh или Winbox в менюшке «New Terminal». Данный скрипт рассчитан на локальную подсеть 192.168.0.0 255.255.255.0 — не забудьте исправить на нужное и поднять новое правило в самый верх!

Источник: dzen.ru

Как заблокировать программы удаленного доступа

Обнаружена блокировка рекламы: Наш сайт существует благодаря показу онлайн-рекламы нашим посетителям. Пожалуйста, подумайте о поддержке нас, отключив блокировщик рекламы на нашем веб-сайте.

Запретить программы удаленного управления TeamVieweretc

Обсуждение ПО и его настройки

Есть ли у кого положительная практика блокировки использования популярного софта для удаленного доступа на рабочих станциях в сети средствами RouterOS?
На SQUID-е вполне эффективно решается указанием основного домена с точкой:

.teamviewer.com .dyngate.com .ammyy.com .radmin.ru .anydesk.com .litemanager.ru
1618378378.996 0 192.168.21.89 TCP_DENIED/403 3859 GET http://ping3.teamviewer.com/din.aspx? — NONE/- text/html 1618378379.008 0 192.168.21.89 TCP_DENIED/403 3868 GET http://master12.teamviewer.com/din.aspx? — NONE/- text/html 1618378346.860 0 192.168.24.49 TCP_DENIED/403 3726 GET http://router1.teamviewer.com/cname.aspx — NONE/- text/html 1618390698.005 0 192.168.9.148 TCP_DENIED/403 3624 CONNECT boot-01.net.anydesk.com:6568 — NONE/- text/html 1618390706.008 0 192.168.9.148 TCP_DENIED/403 3634 CONNECT boot-02.net.anydesk.com:443 — NONE/- text/html 1618390708.008 0 192.168.9.148 TCP_DENIED/403 3620 CONNECT boot-02.net.anydesk.com:80 — NONE/- text/html 1618390680.004 0 192.168.9.148 TCP_DENIED/403 3645 CONNECT relay-505c1ed0.net.anydesk.com:6568 — NONE/- text/html

Все попытки соединения с серверами дропаются и проги не могут выйти в статус готовности к подключению (не зеленеют), на микроте адрес-листы такой синтаксис не поддерживают, а опробованные конструкции на Layer7 что-то не заработали у меня.

^.*(get|GET).+(teamviewer.com|dyngate.com|anydesk.com).*$ ^.+(teamviewer.com|dyngate.com|anydesk.com).*$ ^.+(teamviewer|dyngate|anydesk).*$
/ip firewall filter add action=drop chain=forward layer7-protocol=Backdoor2 log=yes src-address=192.168.210.0/24

Частично трафик дропается по правилам, в т.ч. сами сайты тима и эни недоступны, но приложения по-прежнему подключаются((

https://vikilpet.wordpress.com/2017/12/ . e-control/
Мне интересными показались эти строки
Чтобы заблокировать полностью, нужно на DNS сервере блокировать адреса по регулярному выражению:

.+.teamviewer.com

Попробуйте адреса в этом виде развернуть на 127.0.0.1 на DNS static
Ну и конечно помним об establised и related соединениях. То есть уже установленные соединения не пропадут по мановению волшебной палочки. Только со временем или после принудительного отключения всех соединений и паузы.

Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? . Тогда Netinstal’ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам.

Если не подскажем, хоть посочувствуем.

Возможно вопрос нужно решать другим способом — на рабочих станциях запретить использование и даже запуск посторонних програм с помощю Software Restriction Policies ?

14 апр 2021, 22:26
https://vikilpet.wordpress.com/2017/12/ . e-control/
Мне интересными показались эти строки

Полезный материал.
Через статический dns пропадает возможность избирательно управлять использованием удаленного доступа в случае согласованной необходимости.
Более предпочтительным видится вариант блокировки через fw с возможностью использования белых списков.

add action=reject chain=input comment=DROP_TEAMVIEWER content=teamviewer dst-port=53 in-interface=LAN protocol=udp reject-with=icmp-admin-prohibited src-address-list= !REMOTE_ALLOWED

Тим рубится наглухо, а вот приложение энидеска, повисев какое-то время на соединении, в конечном итоге подключается и работает, сволочь. Видимо, после неуспешных обращений по доменному имени лезет после по IP и авторизируется, хотя со сквидом выше такое у него не катит, при этом алгоритм блокировки тот же, только в случае со сквидом пользователю кроме порта сквида более ничего не доступно наружу. Отсюда вывод, Эни пользуется дополнительными IP-подсетями для подключения к своим серверам.
С регулярными выражениями в статическом днс поведение аналогичное — тим мертв, эни пролазит с задержкой.
Заворачивать запросы от «пользователя» на сторонние днс минуя микротика пробовалось, на решение задачи не повлияло.

15 апр 2021, 08:04

Возможно вопрос нужно решать другим способом — на рабочих станциях запретить использование и даже запуск посторонних програм с помощю Software Restriction Policies ?

Читайте также:
Для связи с глобальной сетью нужна специальная программа

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

На просторах еще находил реализацию с маркировками соединений и пакетов на основе layer7 для минимизации нагрузки на оборудование. Но Эни замедляеет также максимум ненадолго.
Кэш днс на роутере и клиенте зачищается, все соединения на вкладшке коннекшинс сбрасываются перед проверкой, но Эни пофиг.

/ip firewall layer7-protocol add name=remotes regexp=»^.*(anydesk.com).*$» /ip firewall mangle add action=mark-connection chain=prerouting connection-mark=no-mark dst-port=53 layer7-protocol=remotes new-connection-mark=remotes-conn passthrough=yes protocol=udp add action=mark-packet chain=prerouting connection-mark=remotes-conn new-packet-mark=remotes-packet /ip firewall filter add action=reject chain=input packet-mark=remotes-packet reject-with=icmp-host-unreachable place-before=0 add action=reject chain=forward packet-mark=remotes-packet reject-with=icmp-host-unreachable place-before=0

Вообще, конечно, правы те админы, которые в подобных случаях начинают жестко регламентировать работу не только самой сети, но и устройств в ней. Не смотря на сопротивление хитропопых сотрудников. Грамотно составленная докладная с реальными данными на столе у руководства в большинстве случаев приводит к нужным результатам. Они у всех разные.
* По одной схеме рабочие станции сотрудников получают возможность подключаться лишь к ограниченному числу хостов.
* По другой схеме сотрудник получает ограниченное число трафика в месяц и при перерасходе не имеет выхода в сеть до конца месяца без объяснительной на имя руководства.
* Станции строго админятся, обычные юзеры имеют минимум прав. Запрет на запуск левых программ ( в том числе и portable).
* Все вводятся в домен, администрирование не в пример гибче.
* Пускаем все через программу для контроля за трафиком, результаты ежемесячно на стол к руководству с комментариями по злостным нарушения.
Вон попросите, народ поделится рабочими схемами, на их основе построите свою.
Бороться же с этим силами только Микротика не очень эффективная затея. Будут обходить.

Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? . Тогда Netinstal’ом железку прошей и настрой ее заново. Что, все равно не фурычит?

Тогда к нам. Если не подскажем, хоть посочувствуем.

Не, все это конечно стратегически и организационно красиво, понятно и правильно, но речь совсем не о комплексном административно-техническом подходе, а коллективным разумом справиться с конкретными задачами посредством инструментария, предлагаемым микротиком.

Ещё раз:
Бороться же с этим силами только Микротика не очень эффективная затея. Будут обходить.

Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? . Тогда Netinstal’ом железку прошей и настрой ее заново. Что, все равно не фурычит?

Тогда к нам. Если не подскажем, хоть посочувствуем.

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

Источник: forummikrotik.ru

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

Когда в один прекрасный день начальник поднимает вопрос: «Почему у некоторых есть удаленный доступ к раб.компьютеру, без получения дополнительных разрешений на использование?»,
возникает задача «прикрыть» лазейку.

Приложений по удаленному управлению по сети предостаточно: Сhrome remote desktop, AmmyAdmin, LiteManager, TeamViewer, Anyplace Control и др. Если у «Сhrome remote desktop» есть официальный мануал по борьбе с наличием доступа к сервису, у TeamViewer есть лицензионные ограничения по времени либо запросам из сети и пользователи «скрипя зубами» так или иначе «светятся» у админов, то любимчик многих для личного пользования — AnyDesk пока требует особого внимания, тем более если начальник сказал «Нельзя!».

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

Пробуя пойти от обратного, на самом сайте говорится о том, что должно быть разрешено для работы программы, соответственно была заблокирована DNS запись *.net.anydesk.com. Но AnyDesk не прост, блокировка доменного имени ему нипочем.

Update 15.08.2020

Правильное решение по блокировке AnyDesk подсказал prymalbeets123:

собрать адреса от хоста relays.net.anydesk.com

на данный момент их 391 адрес. Со знанием этого, остальная часть статьи становится просто беллетристикой.

Когда-то у меня была решена задача по блокировке «Anyplace Control» который попадал к нам с каким-то сомнительным ПО и решена она была блокировкий всего нескольких IP (я подстраховывал антивирус). Задача же с AnyDesk, после того как я вручную собрал больше десятка IP адресов, подзадорила уйти от рутинного ручного труда.

Также было обнаружено что в «C:ProgramDataAnyDesk» есть ряд файлов с настройками и т.п., а в файл ad_svc.trace собираются события о подключениях и неудачах.

1. Наблюдение

Как уже было сказано блокировка *.anydesk.com не дала никаких результатов в работе программы, было решено поанализировать поведение программы в стрессовых ситуациях. TCPView от Sysinternals в руки и вперед!

Читайте также:
Виды спортивно оздоровительных программ в туркомплексах

1.1. Видно что «висит» несколько интересующих нас процессов, и лишь тот который связывается с адресом извне нам интересен. Порты к которым подключается перебираются, из того что я видел это: 80, 443, 6568. 🙂 80 и 443 нам точно блокировать нельзя.

1.2. После блокировки адреса через роутер, спокойно выбирается другой адрес.

1.3. Консоль наше ВСЁ! Определяем PID и тут мне немного подфартило, что AnyDesk был установлен сервисом, соответсвенно искомый PID единственный. 1.4. Определяем по PID процесса IP адрес сервера сервисов.

2. Подготовка

Так как программа для выявления IP адресов вероятно будет работать только на моем ПК, у меня нет никаких ограничений в удобстве и лени поэтому C#.

2.1. Все методы по выявлению искомого IP адреса уже известны осталось реализовать.

string pid1_;//узнаем PID сервиса AnyDesk using (var p = new Process())

Аналогично находим сервис который установил соединение, приведу только основную строку

p.StartInfo.Arguments = «/c » netstat -n -o | findstr /I » + pid1_ + » | findstr «ESTABLISHED»»»;

Результатом которой будет:

Из строки аналогично перыдущему шагу извлекаем 3й столбец, и убираем все что после «:». Как результат имеем наш искомый IP.

2.2. Блокировка IP в Windows. Если в Linux есть Blackhole и iptables, то метод блокировки IP адреса в одну строку, без использования брандмауэра, в Windows оказался непривычним,
но уж какие инструменты были…

route add наш_найденный_IP_адрес mask 255.255.255.255 10.113.113.113 if 1 -p

Ключевой параметр «if 1» посылаем маршрут на Loopback (Отобразить доступные интерфейсы можно выполнив route print ). И ВАЖНО! Теперь программу требуется запускать с правами администратора, поскольку изменение маршрута требует повышения прав.

2.3. Отображение и сохранение выявленых IP адресов задача тривиальная и пояснения не требует. Если подумать, то можно обрабатывать и файл ad_svc.trace самого AnyDesk, но об этом я сразу не подумал + возможно на него стоит ограничение.

2.4. Странное неодинаковое поведение программы заключается в том, что при «taskkill» процесса службы в Windows 10 она перезапускается автоматически, в Windows 8 завершается, оставляя только процесс консоли и без переподключения, в общем нелогично и это неточно.

Удаление подключившегося к серверу процесса, позволяет «форсировать» переподключение на следующий адрес. Реализуется аналогично предыдущим командам, поэтому привожу только:

p.StartInfo.Arguments = «/c taskkill /PID » + pid1_ + » /F»;

Дополнительно запускаем программу AnyDesk.

//запускаем программу которая расположена по пути path_pro if (File.Exists(path_pro))

2.5. Проверять состояние AnyDesk будем 1 раз в минуту (или чаще?), и если она подключилась т.е. соединение ESTABLISHED — этот IP блокировать, и опять все заново — ждать пока подключится, блокировать и ждать.

3. Нападение

Был «набросан» код, для визуализации процесса решено «+» указывать найденный и блокированный IP, а «.» — повтор проверки без успешного сосединения со стороны AnyDesk.

Программа работала на нескольких компьютерах с разными Windows ОС, с версиями AnyDesk 5 и 6. За 500 итераций собиралось около 80 адресов. За 2500 — 87 и так далее…

Со временем количество блокируемых IP дошло до 100+.

Ссылка на финальный текстовый файл (blacklist) с адресами: >>раз и >>два

Дело сделано! Пул IP адресов через скрипт добавлен в правила основного роутера и AnyDesk просто не может создать внешнее соединение.

Есть странный момент, по первоначальным логам видно что в передаче информации участвует адрес boot-01.net.anydesk.com. Мы конечно заблокировали все хосты *.net.anydesk.com общим правилом, но странность не в этом. Каждый раз при обычном пинге с разных компьютеров это доменное имя дает разный IP. Проверка в Linux:

как и DNSLookup дают только один IP адрес, но этот адрес вариативен. При анализе соединенией TCPView нам возвращаются PTR записи IP адресов типа relay-*.net.anydesk.com.

Теоретически: раз пинг иногда проходит на неизвестный незаблокированный хост boot-01.net.anydesk.com мы можем найти эти ip и заблокировать, эту реализацию сделать обычным скриптом под ОС Linux, тут как раз устанавливать AnyDesk не нужно. Анализ показал что эти IP часто «пересекаются» с найденными из нашего списка. Возможно это как раз этот хост, к которому и подключается программа до того, как начинает «перебирать» известные IP. Вероятно я позже дополню статью 2й частью поисков хостов, хотя на данный момент сама программа внутри сети не устанавливает внешнее соединение вообще.

Надеюсь ничего противоправного Вы не увидели в вышеизложенном, а создатели AnyDesk отнесутся к моим действиям по-спортивному.

  • сетевое администрирование
  • консоль windows
  • удаленное управление
  • c#
  • Информационная безопасность
  • Системное администрирование
  • Программирование
  • Сетевые технологии

Источник: habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru