Skype for Business Online / Teams をご利用いただく際のポート開放について

こんにちは。Skype / Teams サポートチームです。

Skype for Business Online / Microsoft Teams をご利用いただく際、インターネット接続経路上のファイアウォールにてポートを開放いただく必要がございます。その際、宛先を指定してポート開放を実施する場合は、以下の公開情報により宛先をご指定いただきます。

  Title : Office 365 URL および IP アドレス範囲
  URL : https://support.office.com/ja-jp/article/Office-365-URL-および-IP-アドレス範囲-8548a211-3fe7-47cb-abb1-355ea5aa88a2

ファイアウォールにおいて宛先を指定してポートを開放する方法として、以下の様ないくつかの方式が存在しますが、Skype for Business Online / Microsoft Teams に関しては、1. の IP アドレスベースでホワイトリストに登録いただくことが必要となります。

  1. 宛先 IP アドレスを指定して開放する
  2. FQDN / domain name / URL を指定して開放する
  3. 通信内容から振る舞いをチェックし、アプリケーションを判断して許可する (Application Level Gateway 機能)

3. の ALG 機能による開放については、ファイアウォール側の実装に依存してまいりますので、各メーカーへご確認いただく必要がございます。 そのため、Microsoft として正式にご案内できる方式は 1. となり、少なくとも、2. のサーバー名を用いた開放については一部の通信が対応しないことより対応できないこととなります。 2. の方式に対応できない理由につきまして、詳細を次に説明させていただきます。

< サーバー名で開放する仕組み >
ファイアウォールが宛先のサーバー名をチェックし、通信を許可する方法はいくつか存在しますが、これまで、2種類の方法で問題が確認されております。いずれの方法も TLS ネゴシエーションメッセージに含まれる情報をチェックする動作となり、対象とされる属性は以下となります。

  1. Client Hello に含まれる Server Name Indication (SNI) をチェック
  2. Server Hello の証明書に含まれる Common Name (CN) をチェック

< SfB / Teams が対応できない理由 >
一般的な TLS 通信であれば、上記で説明した方法により FQDN / domain name / URL ベースでの開放が可能となります。 Skype for Business や Teams が利用する多くの通信 (プロトコル) につきましても、TLS を用いた通信となり同様に制御が可能です。 しかしながら、音声やビデオ、アプリケーション共有といったメディア通信については、上位のプロトコルにおいてペイロードが暗号化されるため、TLS による暗号化が不要であることから、サーバー証明書を用いた一般的な TLS ネゴシエーションが行われません。 その結果、Client Hello と Server Hello には、次の様にサーバー名を特定する情報が含まれない状況となります。

  1. Client Hello には Server Name Indication が含まれておりません
  2. Server Hello には証明書が含まれておりません

メディア通信における実装は上記のとおりとなり、ファイアウォールで SNI や CN から接続先サーバーを判断することができないこととなります。 その結果、サーバー名ベースでのみ開放を行うと、サインインは可能なものの、オンライン会議へ参加する際に音声やビデオが接続できなかったり、P2P のコールにおいても呼び出しまでに時間を要するといった事象が発生します。
なお、Proxy Server 環境における PAC での宛先制御や、Proxy Server 上で宛先ベースの通信制御を実施する場合は、HTTP の CONNECT メッセージから平文で読み取り可能であるため、サーバー名ベースでの制御が可能となります。

< まとめ >
Skype for Business  Online / Microsoft Teams をご利用いただくにあたり、ファイアウォールでのポート開放を宛先ごとに実施される場合は、公開情報に記載されているすべての宛先を、IP アドレスベースにて開放いただくことを、Microsoft としては必須要件とさせていただいております。 ALG 機能による開放につきましては、Skype for Business や Teams への対応を表明されている製品もございますが、詳細につきましては各メーカーまでお問い合わせいただきますようお願いいたします。