mounting allegations TeamViewerがハッキングされており、犯罪者がTeamView対応のワークステーションに何らかの方法で不正アクセスしているという観点から、TeamViewerを完全にブロックしたいと思います。
TeamViewerセッション確立プロトコルはどのように機能しますか?ネットワーク内のすべてのワークステーションがTeamViewerから制御されないようにするには、どのファイアウォールルールまたは他の手段を使用できますか?
異機種混在環境があります。制御は、グループポリシーのようなものではなく、ネットワークレベルで行う必要があります。
完全を期すために、TeamViewerは3つの異なるポートを特定の順序で使用します。
5938
は、TeamViewerが優先的に使用するポートです。これは現在、Android、Windows Mobile、BlackBerryクライアントで使用される唯一のポートでもあります。443
を次に試行します。デフォルトのHTTPSポート443
をブロックすると、すべての安全なWebサイトがブロックされるため、これは実際に最も問題の多い部分です。データを改ざんするには、偽のルートCAを使用してデータを復号化する必要があります。これがないと、TeamViewerトラフィックなのか、通常のTLS暗号化HTTPSなのかを検出するのが非常に困難です。80
は3番目の代替手段です。これは簡単にブロックできます。 透過プロキシを使用しますが、これの前に443
が使用されるため、完全に不要です。したがって、任意のクライアント(BYODを含む)からネットワークレベルでの接続をブロックするには、以下が必要になります。
*.teamviewer.com
のDNSクエリを偽造またはブロックしています。これは、TeamViewer GmbHの Word (反対の目的のため)を信頼している場合、実際には最も効率的な方法です。
TeamViewerソフトウェアは、世界中にある当社のマスターサーバーに接続します。これらのサーバーは、さまざまなIPアドレス範囲を使用しますが、これらも頻繁に変更されます。そのため、サーバーIPのリストを提供することはできません。ただし、すべてのIPアドレスには、
*.teamviewer.com
に解決されるPTRレコードがあります。これを使用して、ファイアウォールまたはプロキシサーバーの通過を許可する宛先IPアドレスを制限できます。
さらに、TeamViewerの既知のIPアドレス範囲をブロックしますが、すぐにわかるように、これには問題があり、維持するのが難しい場合があります。
178.77.120.0/25
; DE-HE-MASTER-EXT
; TeamViewer GmbH159.8.209.208/28
; NETBLK-SOFTLAYER-RIPE-CUST-SS30641-RIPE
; TeamViewer GmbH92.51.156.64/26
の一部Host Europe GmbHが所有。誤検知のリスク...TeamViewer GmbHを信頼せず、TeamViewerがポート443
および80
でスタンドアロンTeamViewerQS.exe
を使用する場合、グループポリシー(例ソフトウェア制限ポリシー) )は、ADドメインに参加しているWindowsマシンの保護を強化する優れた追加機能です。
ファーストステップブロックDNS
送信接続にポート80を使用するTeamViewerクライアントは、ポートベースを使用してブロックすることが困難です。したがって、TeamViewerクライアントを最初にTeamViewerサーバーに接続する必要があるため、*。teamviewer.comまたは* .dyngate.comのすべてのDNS要求をブロックする別のアプローチを使用できます。
2番目のステップのブロックIPアドレス範囲
TeamViewerのIPアドレス範囲は178.77.120.0/24ですが、もう一度確認する必要があります。
この方法を使用してネットワークブロックに再度アクセスすると、Teamviwerがここにリストされているものとは異なるサブネットおよびDNS名に接続していることがわかりました。これでrouter [1-16] .teamviewer.comに接続します。
唯一の問題は、ANEXIA Internetdienstleistungsに世界中にサーバーがあるため、ホストがどこにでもあり、サブネットをブロックすると多くの誤検知が発生することです。 whoisによると、これらは専用サーバーに関連付けられているようです。そのため、これらのドメインにDNSベースのIPブロックを配置し、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アプリは常にhttp\https経由でserverXXXXX.teamviewer.comのようなサーバーの1つに接続します。
次のような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_to_block.txt内のすべてのIPをブロックして、スクリプトを終了します。これは、すべてのTeamviewerクライアントを100%ブロックします。