Q

現在,社内でWindows Server 2003のファイル・サーバーを使用しています。共有フォルダにはアクセス権を設定していますが,必要の無いユーザーには人事や経理などの重要情報・機密情報がそこにあることすら,知らせたくありません。コストをあまりかけずに実現できる良い方法はありますか?

A

Windows Server 2003(Service Pack 1適用済み)用に米Microsoftが無償提供しているモジュールがあります。これを利用するとよいでしょう。

 情報漏えい防止に対する要求がますます強まる今日において,ファイル・サーバー(共有フォルダ)のアクセス権を適切に管理することは,必要最低限の条件です。しかし一方で,現在のWindowsのNTFSアクセス許可(または共有アクセス許可)によるアクセス制御には,課題があるのも確かです。

 特に,アクセス権を持たないユーザーでも,フォルダ名やファイル名を表示できることには注意が必要です。例えば「機密情報」というフォルダ名や「給与情報.xls」というファイル名で重要データを管理すると,そのフォルダやファイルを見つけたユーザーの心理的興味をそそり,不正なアクセスの対象となりやすくなります。

 同様の理由から,ファイル名自体に何らかの機密情報が含まれている場合も問題です。例えば,「2006年1月1日の人事.xls」というファイル名では,同日に人事異動があると分かってしまいます。

ABEを使うと存在自体を隠せる


△ 図をクリックすると拡大されます
図1●「Access-based Enumeration」の機能
 このような課題を解決する方法として,Microsoftは,Windows Server 2003(SP1適用済み)を対象に「Access-based Enumeration」(以下,ABE)という新機能をリリースしました。これをサーバーに導入すれば「読み取り以上のアクセス権を持たないユーザーに対して,フォルダやファイルの存在自体を隠せる」ようになります(図1)。

 ABEの効果は2つあります。

 1つは,セキュリティ上考慮が必要なフォルダやファイルがあることさえ,ユーザーに知られなくなるため,ファイル・サーバーとしてのセキュリティ・レベルが向上することです。

 もう1つは,アクセス権の無いフォルダやファイルを隠すことで,表示が整理されることです。ユーザーは,多数のフォルダやファイルが存在するディレクトリ内にあっても,容易に自分が必要なフォルダ(ファイル)を見つけられます。

 ABEが有効なサーバーでは,たとえ別の手段でファイルの存在を知られた場合も安心です。ABEが有効なので,読み取り権限の無いファイルやフォルダは検索にヒットしません。アドレス・バーなどで直接パスを入力しても,「ファイルが存在しない」というエラー・メッセージが表示されます。つまり,読み取り権限の無いファイルは,“存在しないもの”として扱われます。

ABEのインストールは簡単
 ABEが必要とするシステムの要件は,Windows Server 2003(SP1適用済み)もしくは64ビット版Windows Server 2003など同等バージョンのOSを搭載したファイル・サーバーです。Windows 2000 ServerやWindows Server 2003(SP未適用)には導入できません。ABEには,「x86」版(32ビット用),「AMD64」版(64ビットx64用),「IA64」版(64ビットItanium用)の3種類があります。Windows Server 2003 x64 EditionsにはAMD64版を導入します。

 また,共有フォルダがあるディスクをNTFSでフォーマットして,NTFSアクセス許可を設定できるようにしておく必要があります。

 なお,2005年12月の原稿執筆時点ではABEの日本語版は提供されておりませんが,日本語版OSのサーバーに英語版のABEをインストールできます。

 では,実際にABEを導入してみましょう。以下の手順で行います。


△ 図をクリックすると拡大されます
図2●ABEのインストール手順
(1)ABEを有効にしたいファイル・サーバーに,ローカル管理者権限を持つアカウントでログオンします。このサーバーは,前述のシステム要件を満たしている必要があります。
(2)Microsoftのダウンロード・サイトにアクセスし,セットアップ・プログラムをダウンロードします。
(3)ダウンロードした「ABEUI.msi」をダブル・クリックして起動します。インストール画面が現れるので,[Next]ボタンをクリックします(図2a)。
(4)[License Agreement]画面が表示されるので,[I Agree]ラジオ・ボタンを選び,[Next]をクリックします(図2b)。
(5)ABEをインストールするフォルダを変更する場合は,[Folder:]テキスト・ボックスに適切なパスを入力するか,[Browse]ボタンを使ってフォルダを選択します。[Just me]ラジオ・ボタンを選択すると,インストールした本人だけが[プログラムの追加と削除]からABEを削除可能になります。ABEの動作としては,どちらを選択しても変わりません。設定確認後,[Next]をクリックして次に進みます(図2c)。

△ 図をクリックすると拡大されます
図3●ABEの導入を確認する方法1

△ 図をクリックすると拡大されます
図4●ABEの導入を確認する方法2
(6)ABEの初期設定(サーバー単位で有効にするかなど)を選択します。この設定は後からフォルダ単位,またはサーバー全体単位で簡単に変更できます。ここでは特に変更せず,そのまま[Next]をクリックします(図2d)。
(7)インストール確認画面が表示されたら,そのまま[Next]をクリックします(図2e)。
(8)インストール処理が始まるので,しばらく待ちます。インストール完了の画面が表示されたら,[Close]をクリックします(図2f)。

 インストールが終わってもデスクトップやスタート・メニューは特に変化しませんが,[コントロールパネル]の[プログラムの追加と削除]に,[Windows Server 2003 Access-based Enumeration]が存在することで,インストールの成功を確認できます(図3)。ほかには,%windir%\system32フォルダに,abecmd.exeとabeui.dllという2つのファイルが追加されていることでも確認可能です(図4)。

共有フォルダのプロパティで設定


△ 図をクリックすると拡大されます
図5●ABEのGUIでの設定画面
 導入が終わったら,すぐABEが利用できます。共有フォルダのプロパティにGUI(グラフィカル・ユーザー・インターフェース)の設定ツールが追加されているので,最初は,それを利用してみましょう。

 まず,管理者でログオンして共有フォルダのプロパティを開きます(図5)。[Access-based Enumeration]というタブが追加されており,そこが設定画面になります。[Enable access-based enumeration on this shared folder]のチェック・ボックスをオンにして[OK]または[適用]ボタンを押すと,その共有フォルダでのみABEが有効になります。また,このチェックを外して[OK]または[適用]ボタンを押すとABEが無効になります。

 このとき,[Apply this folders's setting to all existing shared folders on this computer]をオンにしておくと,その共有フォルダに関するABEの設定を同じサーバーの全共有フォルダに適用できます。

 ABEはコマンド・ラインでも設定可能です。前述のように,インストーラを使用してABEを導入すると,%windir%\system32フォルダにabecmd.exeという実行ファイルが作成されます。このEXEファイルを利用します。


△ 図をクリックすると拡大されます
図6●ABEをコマンド・ラインで操作する方法
 コマンド・ラインの操作でもGUIから実施できる設定をすべて変更できます。さらに,/serverオプションを付けて使用すると,ABEが導入されているリモート・サーバーも制御可能です。なお,GUIではリモート・サーバーは制御できません。

 コマンドのオプションは図6の通りです。詳細は,abecmd.exeのヘルプを確認してください。

サーバーの管理者などにはABEは無効
 このようにABEは,便利で導入が簡単なツールですが,利用上の注意点がいくつかあります。

 まずABEを有効にしても,「ファイルとディレクトリのバックアップの権利」を有するユーザーには,従来通り,アクセス権の無いファイルを表示します。

 具体的には,バックアップ用グループBackup Operators,サーバー操作担当者グループServer Operators,管理者グループAdministratorsに所属するユーザーが該当します。バックアップ操作が可能なユーザーはこれらBackup Operators以上のグループに必ず所属しています。

 また,ABEはネットワーク・アクセスにのみ適用されることを覚えておいてください。サーバーのコンソールで対話的にログオンして行うローカル・アクセスではABEが効きません。

インストーラを使わなくとも導入可能
 非公式な方法ですが,ABEはインストーラを使わずに導入することも可能です。インストールによって発生するレジストリなどの変更を厳密に管理されたい人などには参考になると思われますが,あくまで自己責任で実施してください。具体的な手順は以下の通りです。

(1)あらかじめテスト機など1台のサーバーに対して,通常のインストーラでインストールします。
(2)インストール後,%windir%\system32フォルダにあるabecmd.exeとabeui.dllの2つのファイルを,ABEを有効にしたいサーバーの同じフォルダにコピーします。
(3)コピー後,コマンド・プロンプトで「regsvr32 abeui.dll」を実行します。

 以上の手順を踏むことによって対象サーバーでABEが有効となり,前述したGUIまたはコマンドによって制御できるようになります。なお,この方法で導入したABEは,「regsvr32 abeui.dll /u」を実行することで機能を解除できます。

 ABEについてさらに詳しく知りたい方は,Technical Resourcesの「Windows Server 2003 Access-based Enumeration」やダウンロードセンターの「Windows Server 2003 Access-based Enumeration Tools Download」を参考にしてください。


日本IBM  オープン・プラットホーム・コンピテンシー
オープン・システム技術  副主任ITスペシャリスト