Назад | Перейти на главную страницу

Как заблокировать TeamViewer?

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

Как работает протокол установления сеанса TeamViewer? Какие правила брандмауэра или другие меры мы можем использовать для предотвращения контроля всех рабочих станций в нашей сети с помощью TeamViewer?

У нас неоднородная среда; контроль должен осуществляться на уровне сети, а не через что-либо вроде групповой политики.

Первый шаг заблокировать DNS

Клиент TeamViewer, использующий порт 80 для исходящего соединения, сложно заблокировать на основе порта. Итак, поскольку клиент TeamViewer должен быть сначала подключен к серверу TeamViewer, мы можем использовать другой подход, который блокирует каждый запрос DNS для * .teamviewer.com и / или * .dyngate.com.

Диапазон IP-адресов блока второго шага

Диапазон IP-адресов TeamViewer - 178.77.120.0/24, но вам нужно проверить еще раз.

Для полноты картины TeamViewer использует три разных порта в определенном порядке.

  1. TCP / UDP порт 5938 - это основной порт, который TeamViewer предпочитает использовать. В настоящее время это единственный порт, который используется клиентами Android, Windows Mobile и BlackBerry.
  2. Если соединение не удается, TeamViewer пытается TCP 443 следующий. На самом деле это самая проблемная часть, потому что блокировка порта HTTPS по умолчанию 443 заблокирует все безопасные веб-сайты. Подделка данных будет включать использование поддельного корневого центра сертификации и расшифровку данных, и без этого очень сложно определить, идет ли речь о трафике TeamViewer или обычном HTTPS с шифрованием TLS.
  3. Порт HTTP по умолчанию, TCP 80 это третья альтернатива. Это было бы легко заблокировать, например используя прозрачный прокси, но это совершенно не нужно, потому что 443 используется перед этим.

Следовательно, блокировка подключений на сетевой уровень от любого клиента (включая BYOD) будет включать:

  • Подделка или блокировка DNS-запросов для *.teamviewer.com. На самом деле это должен быть наиболее эффективный способ, если вы доверяете TeamViewer GmbH слово (для противоположных целей):

    Программное обеспечение TeamViewer подключается к нашим главным серверам, расположенным по всему миру. Эти серверы используют несколько различных диапазонов IP-адресов, которые также часто меняются. Таким образом, мы не можем предоставить список IP-адресов наших серверов. Тем не мение, все наши IP-адреса имеют записи PTR, которые разрешают *.teamviewer.com. Вы можете использовать это, чтобы ограничить IP-адреса назначения, которые вы разрешаете через брандмауэр или прокси-сервер.

  • Кроме того, блокировка известных диапазонов IP-адресов TeamViewer, но, как мы вскоре увидим, это может быть проблематично и сложно поддерживать:

    • 178.77.120.0/25; DE-HE-MASTER-EXT; TeamViewer GmbH
    • 159.8.209.208/28; NETBLK-SOFTLAYER-RIPE-CUST-SS30641-RIPE; TeamViewer GmbH
    • Некоторые в 92.51.156.64/26; принадлежит Host Europe GmbH; риск ложных срабатываний ...
    • и т.д.; также риск ложных срабатываний и необходимости удаления в будущем.
  • Кроме того, очень параноидальные администраторы могут использовать некоторые Глубокая проверка пакетов.

Если вы не доверяете TeamViewer GmbH, а поскольку TeamViewer работает на портах 443 и 80 с автономным TeamViewerQS.exe, групповая политика (например, Политики ограниченного использования программ) было бы хорошим дополнением, которое повысит защиту на машинах Windows, подключенных к домену AD.

При повторном посещении наших сетевых блоков с помощью этого метода мы обнаружили, что Teamviwer подключается к другим подсетям и DNS-именам, чем указано здесь. Теперь он подключается к маршрутизатору [1-16] .teamviewer.com.

Единственная проблема заключается в том, что хосты находятся повсюду, так как у них есть серверы по всему миру в ANEXIA Internetdienstleistungs, и блокировка подсетей приведет к множеству ложных срабатываний. Согласно whois, похоже, что они связаны с выделенными серверами, поэтому мы добавили блоки IP на основе DNS для этих доменов, и это, похоже, мешает TeamViewr снова подключиться.

Если вам нужно получить IP-адреса, следующий сценарий (основанный на приведенном выше сценарии) сделает свое дело:

for i in $(seq 1 16);
do
    a="router"$i".teamviewer.com"
    b=$(dig +short $a)
    echo "RESULT: $b"
    if [[ "$b" == "" ]]; then
        continue
    fi
    echo "$b" >> ip_to_block.txt
    echo "$a" >> domains_to_block.txt
done

Приложение Teamviewer всегда подключается к одному из серверов, например serverXXXXX.teamviewer.com, через http \ https.

Запустите сценарий bash, например


for i in `seq 10000 99999`;
do
    a="server"$i".teamviewer.com"
    b=`dig +short $a`
    if [[ "$b" == "" ]]; then
        continue
    fi

    echo "$b" >> ip_to_block.txt
done

И заблокируйте все IP в ip_to_block.txt после завершения скрипта. Это 100% блокировка всех клиентов Teamviewer.