ファイアウォール越しにRPCを使用する場合、RPCのために使用するポート番号がほぼランダムになってしまうので要注意。
最初、クライアントはサーバの135番ポート(エンドポイントマッパーのリスンポート)にアクセスし、以降の通信のために使用するポート番号の払い出しをしてもらうが、このポート番号のレンジがTCP/1024~65535の間で払いだされるというとんでもない仕様のため、そのままファイアウォールを運用しようとすると「ほぼ笊状態」となってしまう。
MS-RPCの仕様をせめてプライベートポートの49152以降を使うとかいう仕様になぜしなかったのか、というツッコミはさておき、そのままではファイアウォールを設置している意味がないので、何かの対策を打つ必要がある。
■『ファイアウォールを越えた Active Directory の複製』
http://www.microsoft.com/japan/technet/archive/ittasks/tasks/adrepfir.mspx?mfr=true
この情報によると対策は3つあると書いてあります。
ひとつめの『動的 RPC を完全に許可するアプローチ』は論外。
僕の場合は『RPC のポート使用を制限するアプローチ』で対応することにしました。
3つめの『IPSec 内にトラフィックをカプセル化するアプローチ』は設計段階から動的RPCについての検討が進んでいないと、システムのライフサイクルの途中から導入するのは難しいと思う。認証局の設置が必要になるので、そこらへんの運用負担をいかに整理するかがキーポイント。急場しのぎの対策としては2つめの方法が現実解であると思う。
2つめの方法については、レジストリの編集が必要になるが、編集箇所の違う同様のKB情報が見つかってしまった…。やれやれ。
■『ファイアウォールで動作するように RPC の動的ポート割り当てを構成する方法』
http://support.microsoft.com/kb/154596/ja
両方とも検証したわけではないが、TechNetに載っている方法だとポートレンジの指定方法が不明なのが気になる。
2007年11月1日木曜日
登録:
投稿 (Atom)