Second Life にアクセスするための企業内ファイアウォールの設定方法
概要
この記事では、イントラネットの中で Second Life ビューワ (クライアント) を使えるようにするファイアウォールの設定方法を解説します。これはネットワーク管理者やその他ネットワークセキュリティの担当者向けに書かれています。
ファイアウォールはネットワークセキュリティプログラムの基本コンポーネントです。「最小権限の法則(principle of least privilege)」に従って、ファイアウォールはサポートするネットワークアプリケーションのみが企業のイントラネットと公開ネットワークの間を通れるように制限をかけます。このため、ファイアウォールは基本的に日常使うアプリケーション、Domain Name Service (DNS)、電子メール、ウェブブラウズが通れるように設定されています。しかし、Second Life は通常使用しないポートをたくさん使用しており、これらのポートはほとんどのファイアウォールがデフォルトでブロックしています。
ボイスチャット
ボイスチャットは、Second Life そのもののように、「ゼロコンフィグレーション(zero configuration)」で動くようになっており、ほとんどのファイアウォールでは動作するはずです。ポート 5060 の SIP 接続がダメだった場合 (ルーターが VoIP サービスを自分で提供するようになっているのかもしれません) 、ビューワは自動的にポート 5062 でリトライします。つまり、きついファイアウォールでは、ポート 5062 を開ける必要があるかもしれません。
最初に Second Life ビューワを起動すると、"SLVoice.exe" と "SLVoiceAgent.exe" のインターネットアクセスを許可するかをファイアウォールが尋ねてくることもあります。
ファイアウォールの内側の人が Second Life を使えるようにするには、この文書の手順を実行します。
手順
ファイアウォールによって細かいところは異なってきますが、一般的な手順を説明します。
- TPC ポートのアウトバウンドアクセスを許可します。Second Life サーバは Second Life ビューワが動作しているクライアントシステムに向けてインバウンドの TCP 接続を確立しません。その代わり、「要求/応答」メッセージパターンを使用します。
- アウトバウンドの TCP アクセスをポート 80, 443, 5060, 5062, 12043, 21002 で許可します。
- UDP ポートの「セッション」アクセスを許可します。UDP はセッションレス通信ですが、多くのファイアウォールは、つい最近同じポートから外向きの UDP 通信があった場合を除いて、特定のポートへの承諾のない内向きの UDP 通信をブロックします。
- アウトバウンドの UDP アクセスをポート 5060, 5062, 12000 ~ 13050 で許可します。
- 監視します。最近のファイアウォールは複雑で、全てのネットワーク設定を 1 つの文書でカバーするのは難しいです。ntop や nprobe のようなツールを使って Second Life ビューワとサーバの間のネットワークフローを監視して、ファイアウォールにブロックされるネットワークフローを特定しましょう。
ポート
DNS ルックアップや Web アクセスに使用する標準ポートの他に、Second Life ビューワは以下の表にリストアップされたポートを必要とします。
ポート | プロトコル | 用途 |
---|---|---|
53 | UDP/TCP | DNS ルックアップ |
80 | TCP | Second Life に関連した Web リソースへのアクセス |
443 | TCP | Second Life に関連した Web リソースへのアクセスとクライアント認証 |
5060 | UDP and TCP | Voice / SIP のトラフィック |
5062 | UDP and TCP | Voice / SIP (Session Initiation Protocol) のトラフィック |
12000 - 15000 | UDP | Voice / RTP のトラフィック |
12035 | UDP | コアプロトコル通信 |
12043 | UDP | シミュレータ通信とマップ関連の機能 |
12043 | TCP | ケイパビリティ・ベース (Capability-based) のシミュレータ通信 |
13000-13050 | UDP | コアプロトコル通信 |
21002 | TCP | 音声信号 |
注記:
- RTP: Real-time Transport Protocol
- SIP: Session Initiation Protocol
サーバの IP アドレス
IP アドレスの最新情報は、こちらを参照してください。
- Second Life サーバの IP アドレスは What are Second Life's subnets?
- Voice サーバの IP アドレスは Can I use voice from behind a firewall?
更新したら通知が受け取れるように、これらの記事を読者登録することもできます。
Second Life ビューワは Linden Lab 以外の組織が提供する仮想世界にアクセスするのにも使えます。使用する IP アドレスを提供機関に問い合わせてください。
ハードウェアベンダー特有の事項
ファイアウォールの設定方法の手順は、ファイアウォールの説明書やベンダーの Web サイトを見てください。
Cisco
リフレクシブ ACL (reflexive access lists) を使用する Cisco のルータ/スイッチ (IOS 11.0 以降) では、アウトバンドアクセスリストに以下の行を追加します。
permit tcp any any eq 443 permit udp any any eq 12035 reflect outbound-SL permit udp any any eq 12036 reflect outbound-SL permit udp any any range 13000 13050 reflect outbound-SL
それから、インバウンドアクセスリストに以下の行を追加します。
permit tcp any any established evaluate outbound-SL
追加したら、アクセスリストを適用します。
Linux Killerwall
Killerwall を使用している Linux システムでは、これらの行を /etc/killerwall.acl
に追加します。
IN IFACE <your lan interface> FROM 0.0.0.0/0 TO 0.0.0.0/0 tcp TOPORT 443 ACCEPT IN IFACE <your lan interface> FROM 0.0.0.0/0 TO 0.0.0.0/0 udp TOPORT 12035 ACCEPT IN IFACE <your lan interface> FROM 0.0.0.0/0 TO 0.0.0.0/0 udp TOPORT 12036 ACCEPT IN IFACE <your lan interface> FROM 0.0.0.0/0 TO 0.0.0.0/0 udp TOPORT 13000-13050 ACCEPT
そして、Killerwall を再起動します。Killerwall は自動的に返答パケットを追跡するので、Second Life が正常に動作するようになります。
Linux Firewall
IPF (Linux ファイアウォール) を使用している Linux では、以下のように設定します。
pass out quick on rl0 proto tcp from any to any port = 443 flags S keep state pass out quick on rl0 proto udp from any to any port = 12035 pass out quick on rl0 proto udp from any to any port = 12036 pass out quick on rl0 proto tcp from any to any port = 12043 flags S keep state pass out quick on rl0 proto udp from any to any port 12999 <> 13051 pass in quick on rl0 proto tcp from any to any port = 443 flags S keep state pass in quick on rl0 proto udp from any to any port = 12035 pass in quick on rl0 proto udp from any to any port = 12036 pass in quick on rl0 proto udp from any to any port 12999 <> 13051
FreeBSD IPFW
Ipfirewall (ipfw) ベースのファイアウォールでは、以下の行を /etc/rc.firewall
に追加します。
ipfw add allow tcp from any to any 443 setup ipfw add allow udp from any to any 12035 keep-state ipfw add allow udp from any to any 12036 keep-state ipfw add allow tcp from any to any 12043 keep-state ipfw add allow udp from any to any 12999-13051 keep-state