(Paul Robichaux)

 セキュリティに関するメーリング・リストのNTBugtraqで,Exchange Serverに関する問題を指摘する投稿を見つけて大いに興味を抱いた。その投稿者の主張はこうだ。

 バグのように思えるもののおかげで,権限のない一般ユーザーがOutlookを使ってディストリビューション・グループをセキュリティ・グループに変えられる。こういうことができるのはセキュリティ上問題だ,というのだ。

 この主張は部分的に正しい。ユーザーはここに書いてあるような変更を行える。しかし,それは必ずしもセキュリティの問題ではない。事実,この変換機能は設計上存在しているもので,おそらくExchange Server 5.5からExchange Server 2003やExchange 2000 Severにアップグレードするときに使う必要があるはずだ。

原因は従来版Exchangeからの移行にまつわる仕様
 少し技術的な背景を話しておこう。Exchange 5.5はそれ自身のディレクトリを保持しているので,Exchange 5.5のメールボックスやパブリック・フォルダ,ディストリビューション・リスト(DL群),カスタム受信者はWindows NT 4.0のユーザー・アカウントとは別に管理されている。こういうふうに分かれていることは,つまりExchange 5.5のオブジェクトにパーミッションを与えるためにはNTのグループを使えなことを意味する。

 その代わり,パーミッションを与えるにはExchangeのDLを使うのだ。パブリック・フォルダの所有者なら,一般ユーザーでもDLを割り当てる権限があり,パブリック・フォルダのロールとパーミッションを複数のDLに与えられる。ここまではいい。

 次にExchange 2000ではどうなるかというと,それはActive Directoryと高度に統合されている。ADの採用に伴って,新しいグループ・オブジェクトとタイプも導入された。この中には,パーミッションの割り当て時にSID(セキュリティ識別子)を利用できるセキュリティ・グループやExchange 5.5のDLによく似たディストリビューション・グループも含まれている。

 ただし,グループ・タイプの仕様の違いから,Exchange 2000/2003ではパーミッションを割り当てる際にディストリビューション・グループを使えない。DLの所有者やパーミッションを保持しているExchange 5.5のパブリック・フォルダを,新しいバージョンのExchangeで使おうとすると壊れてしまう。

 Microsoftは次のような選択をしなければならなかった。自動的に問題を修正する方法を見つけるか,または管理者がパブリック・フォルダ・オブジェクトのパーミッションを手動で更新できるようにするか――のどちらかだ。

 この選択問題は簡単に解けた。MicrosoftはDLの変換機能を提供したのだ。もしパブリック・フォルダのACL(アクセス制御リスト)がExchange 5.5のDLを含んでいて,そのパブリック・フォルダがExchange 2000/2003からアクセスされる場合,メッセージなどを格納するExchangeのインフォメーション・ストア(IS)がDLをADのセキュリティ・グループに変換するのである。

 NTBugtraqの投稿は,この仕組みのもう1つの側面に関係があった。既に定義されたADのディストリビューション・グループをパブリック・フォルダのACLに対して追加すると,そのISは該当するディストリビューション・グループもセキュリティ・グループに変換するというのだ。この動作は予期しないものに感じられるかもしれないが,前述したような制約からすれば論理的なものだ。パーミッションを与えるためにセキュリティなしのオブジェクトを使おうとした場合に,Exchangeがそのオブジェクトをセキュリティありのオブジェクトとして使えるものに変換するのは合理的である。

Exchangeのリソース・キットに解決策があった
 さらに「Microsoft Exchange 2000 Server Resource Kit」の第10章では,こうした動作について詳しく書いてあるし,もし管理者がそれを変えたいなら,その解決策も教えてくれる。AD内のExchangeのorganizationオブジェクトに属しているmsExchDisableUDGConversionというAD属性を探してもらいたい。ADSI Editかスクリプトを使うと,この属性に以下のどれかの値を設定できる。

 「0」(デフォルト)は,いつでも要求されればディストリビューション・グループからセキュリティ・グループへの変換が実行されるのを許可する。

 「1」は,ISに要求された場合にだけ,ディストリビューション・グループからセキュリティ・グループへの変換を許可する。もしユーザーがディストリビューション・グループをパブリック・フォルダのパーミッション・リストに追加するためにOutlookを使っているなら,この変換は失敗し,そのユーザーは更新されたパーミッションを保存できない。

 「2」はディストリビューション・グループからセキュリティ・グループへの変換を行わない。しかしMicrosoftは,この設定を使わないように勧めている。なぜならExchange 5.5のパブリック・フォルダに対するアクセスのうちのいくつかのタイプを使えなくするからだ。

 数人のNTBugtraqの読者はすばやくオリジナルの報告に返答して,そのメカニズムがどう働くのか,なぜそれをセキュリティ上の欠陥と考えるべきではないかを解説した。このエピソードが語る教訓は,「セキュリティの弱点を指摘する報告に対して,それが信頼できるものかどうか,そこに書かれている動作が自社の環境にどう当てはまるのかを判断するために,慎重に評価する必要がある」ということである。