В свете растущих обвинений в том, что TeamViewer был взломан, и что злоумышленники каким-то образом получают несанкционированный доступ к рабочим станциям с поддержкой TeamView, мы хотели бы полностью заблокировать TeamViewer.
Как работает протокол установления сеанса TeamViewer? Какие правила брандмауэра или другие меры мы можем использовать для предотвращения контроля всех рабочих станций в нашей сети с помощью TeamViewer?
У нас неоднородная среда; контроль должен осуществляться на уровне сети, а не через что-либо вроде групповой политики.
Для полноты картины TeamViewer использует три разных порта в определенном порядке.
5938
- это основной порт, который TeamViewer предпочитает использовать. Кроме того, в настоящее время это единственный порт, используемый клиентами Android, Windows Mobile и BlackBerry. 443
. На самом деле это самая проблемная часть, потому что блокировка порта HTTPS по умолчанию 443
заблокирует все безопасные веб-сайты. Подделка данных потребует использования поддельного корневого центра сертификации и дешифрования данных, и без этого очень сложно определить, идет ли речь о трафике TeamViewer или обычном протоколе HTTPS с шифрованием TLS. 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.
Первый шаг блокировки DNS
Клиент TeamViewer, использующий порт 80 для исходящего соединения, трудно заблокировать, используя основу порта. Поэтому, поскольку клиент TeamViewer должен быть сначала подключен к серверу TeamViewer, мы можем использовать другой подход, то есть блокировать каждый dns запрос для *.teamviewer.com и/или *.dyngate.com.
Второй шаг блокировки Диапазон IP-адресов TeamViewer
Диапазон IP-адресов TeamViewer составляет 178.77.120.0/24, но вы должны проверить еще раз.
.Приложение 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.
При повторном посещении наших сетевых блоков с помощью этого метода мы обнаружили, что 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