Windows RDPまたはRemminaを使用する場合は、通常、ログオンにサーバーのIP(パブリック)または添付のホスト名を使用します。 Team Viewer のようなリモートプログラムはどのように動作するのでしょうか。また、プログラムはどのようにインターネット上でそのトラフィックをルーティングするのかをどのようにして知るのでしょうか。
TeamViewer、LogMeIn、およびzero config
リモートデスクトップセッションを許可するその他のプログラムは、サードパーティのサーバーを使用します。
たとえば、LogMeInはTeamViewerに似たプログラムで、現在接続しているネットワークの外側にあるコンピュータにリモートでログインできます。このタイプのリモートセッションには外部設定が不要であることがわかります。これは、リモートマシン(LogMeInクライアント)にインストールしたソフトウェアがLogMeInサーバーへの送信要求を開始するという事実によります。このクライアントが要求を開始したので、ファイアウォールでポート転送は必要ありません。
LogMeInコンピュータのネットワーク外にある自分のコンピュータでは、LogMeInのWebサイトを介してこのコンピュータにリモートからアクセスできます。このWebサイトは、リモートコンピュータから開始された要求を受け入れ、リモートセッション要求を待機するために接続を維持します。
TeamViewerを実行すると、仲介サーバーにIDが割り当てられます。 TeamViewer IDに接続すると、TeamViewerはその接続をTeamViewerクライアントの確立されたトンネルを経由して宛先に渡し、その後パスワードの入力を求められ、その後接続が確立されます。
Teamviewerはポート80を使用して中央サーバーに接続します。接続が確立されると、あなたはユニークなIDを取得し、サーバーはあなたがオンラインであることを認識します。他のポートがブロックされていると、すべての通信がポート80を介して行われる可能性があります。
Teamviewerでは、IPアドレスに直接接続することができます。着信LAN接続を許可するには、オプションでこれを設定する必要があります。これはローカルネットワーク、そしておそらくWANネットワークでもうまくいきますが、その場合はポートフォワードを機能させ、ポート80をルータ/ファイアウォールの後ろの正しいコンピュータに接続するために動かさなければなりません。これは、ほとんどの人にとって物事を困難にし、残りのほとんどの人にとって手に負えないものにします。そこで、私たちはTeamviewer IDメソッドを使います。
これがすべてのトラフィックがチームビューアサーバを経由することを意味するのかどうかはわかりませんが、そうであるかもしれません。 (そしてそれがすべてのクリックとキープレスを登録するので、それはおそらく理論的には - そして私たちはPRISMなどについて知っているので - おそらくあなたのすべてのログインと秘密鍵についても知ることができる)
これは同社が彼らの セキュリティステートメント で言うことです:
セッションを確立するとき、TeamViewerは最適な接続タイプを決定します。マスターサーバーを介したハンドシェイクの後、すべてのケースの70%でUDPまたはTCPを介した直接接続が確立されています(標準ゲートウェイ、NAT、およびファイアウォールの背後でも)。残りの接続は、TCPまたはhttpsトンネリングを介して、非常に冗長なルーターネットワークを介してルーティングされます。 TeamViewerを使用するためにポートを開く必要はありません!
「暗号化と認証」の段落で後述するように、ルーティングサーバーの運営者である私たちでさえ暗号化されたデータトラフィックを読み取ることはできません
そう:
TeamViewerのようなほとんどのアプリケーションは、利用可能な直接パスがない場合、サーバを通して物事をルーティングします。そのため、パブリックIPとオープンポートを使用する必要がありません。