特集
Windows Server 2003 SP1レビュー

第6回 アクセス・ベースのディレクトリ列挙ABE

1.アクセス・ベースのディレクトリ列挙ABEとは

デジタルアドバンテージ 打越 浩幸/DA Lab
2005/07/01


 Index
第1回 Windows Server 2003 SP1の概要
第2回 リモート・アクセス検疫機能
第3回 初期セットアップ時のセキュリティ保護を実現する「セットアップ後のセキュリティ更新」
第4回 ネットワーク・セキュリティを実現する「Windowsファイアウォール」
第5回 利用目的に応じたセキュリティ設定を素早く確実に行う「セキュリティの構成ウィザード」
第6回 アクセス・ベースのディレクトリ列挙ABE

「アクセス・ベースのディレクトリ列挙―ABE」の概要

 Windows Server 2003 Service Pack 1(以下Windows Server 2003 SP1)では、「アクセス ベースのディレクトリ列挙(Access-based Enumeration。以下ABEと表記)」という機能が新しく導入された。ファイル共有サービスを通してファイルやフォルダ名の一覧を表示する場合に、アクセス権に基づいて表示するかどうかを決定する機能である。


「アクセス・ベースのディレクトリ列挙」という名称は、Windows Server 2003 SP1のヘルプ・ファイルなどで記述されている正式な名称ではない。以下で解説するような設定を行わないと利用できないし、そのための日本語ツールも用意されていないので、実際の日本語名称がどのようになるかは未定である。Windows Server 2003 SP1関連の機能概要ドキュメントでの記述に従い、本稿では、「アクセス・ベースのディレクトリ列挙(ABE)」と呼ぶことにする。

 従来のWindows OSでサーバ上の共有フォルダにアクセスする場合、アクセス権(読み取り権限)のないファイルやフォルダでも、フォルダの一覧には表示されるので、ファイルをクリックすることが可能であった(実際にはアクセス権がないのでファイルを開こうとするとエラーになるのだが)。だがこのABE機能を有効にすると、アクセス権のないファイルやフォルダはエクスプローラでは一覧に表示されないし、検索でも見つからなくなるので、ユーザーが間違ってクリックしたり、開こうとしたりする間違いを防止できるし、アクセスする許可権限のないファイルやフォルダの存在をユーザーに知らせない(隠す)ということにも役立つ。

 以前のWindows OSでも、共有名の最後に「$」を付けて(例:share$などとする)、(擬似的に)共有フォルダを隠すことが可能であったが、これは共有名にのみ有効な機能だし、ユーザーごとに可視/不可視を制御することはできなかった。これに対してABEでは、アクセスするユーザーの権利に応じて、ファイルやフォルダを隠すことができるのが大きな特徴である。

 ABEに関する情報は、以下の場所にまとめられている。

 このページの「Access-based Enumeration」のところに、ABEに関するドキュメントとツールへのリンクがそれぞれ用意されている。ABEに関するドキュメントは以下のページからダウンロードできる。原稿執筆時点(2005年6月末現在)では、日本語のドキュメントは提供されていない。

 このドキュメントには、ABEの機能概要や利用方法、制限事項、パフォーマンスなどがまとめられている。

ABEによるアクセス制御の実際

 ABE機能のインストール方法を解説する前に、実際にABEによる一覧の制御の実際を見てみよう。

 いま、次のような構造の共有フォルダがあるとする。このフォルダに対して、ネットワーク経由でアクセスする場合を見てみる。

379

 サーバ「abetestserver」が「Share」という共有フォルダをネットワークに公開しており、そのフォルダの中には、さらに「Granted」と「Restricted」という2つのフォルダが存在している。

 この共有フォルダへユーザー「Alice」がアクセスするとする。ただし各フォルダやファイルには次のようなアクセス権を付けておく。

リソース Aliceに対するアクセス権
Share共有 読み取り可
  Grantedフォルダ  読み取り可
    Grantedフォルダ中のGranted.txt   読み取り可
    Grantedフォルダ中のRestricted.txt   アクセス権なし
  Restrictedフォルダ  アクセス権なし
    Restrictedフォルダ中のGranted.txt   読み取り可
    Restrictedフォルダ中のRestricted.txt   アクセス権なし
ユーザーAliceに対するアクセス権の設定例

 このようなフォルダにユーザーAliceがアクセスする場合、従来のWindows OSでは次のように見える。

従来の共有フォルダの見え方
フォルダRestrictedは見えるが、その中のファイルはアクセス権がないので、見えない。Grantedフォルダ中のファイル名は(アクセス権の有無に関係なく)両方とも見える。
  Resctrictedはアクセス権のないフォルダ。上位のShareフォルダへはアクセスできるので、その中にあるRestrictedフォルダの存在そのものは確認することができる。
  Restrictedフォルダの中にはアクセスできないので、その中にあるファイルの一覧を取得することはできない。

 この画面では、フォルダRestrictedが見えているが、その中のファイルは見えない。

 これに対し、ABEが有効になっている場合は、次のようになる。

ABE有効時の共有フォルダの見え方
アクセス権のあるフォルダGrantedも、その中にあるファイルGranted.txtも見えるが、そうでないフォルダRestrictedや、ファイルRestricted.txtは見えない。
  フォルダRestrictedの存在そのものが見えなくなっているし、Grantedフォルダの中のRestricted.txtも見えなくなっている。

 この画面では、Restrictedというフォルダそのものが見えないことに注意していただきたい。アクセス権がない場合はこのように、フォルダの存在そのものが隠ぺいされる。

 ただしABEはフォルダやファイルの列挙を防ぐだけなので、ファイルのパスを知っていれば、アクセス権のあるファイル自体にはアクセスすることができる。例えばフォルダRestrictedの中にあるファイルGranted.txtに対して、ユーザーAliceの読み取りが許可されているとする。例えばコマンド・プロンプト上で「notepad \\ABETestServer\Share\Restricted\Granted.txt」とすれば、このファイルをメモ帳で開くことができる。

 なお、この例では、途中のフォルダ(ここではRestrictedフォルダ)に読み取り権限がないのに、その下にあるファイルやフォルダにはアクセス可能だが、これはABEとは関係ない。Windows OSでは、あるフォルダに読み取り権限がなくても、その中にあるファイルのパス名が分かっていて、さらにアクセス権があれば、アクセスすることができる。これを「走査チェックのバイパス」権利というが、デフォルトではこれが有効になっている(無効にするとさまざまな問題が発生するので、無効にしてはいけないことになっている)。

注意:ABEはネットワーク経由でのみ利用可能な機能

 ABEが機能するのは、ファイル共有を通して(ネットワーク経由で)アクセスする場合だけである。ローカル・ディスク上のファイルに直接アクセスする場合はABEは機能しない。そのため、Aliceがファイル・サーバにインタラクティブにログオンしてShare共有のフォルダを開くと、次のように、従来と同様に見ることができる。

ローカルのファイルをアクセスする場合
ローカルのファイルやフォルダをアクセスする場合は、ABEが無効になっている場合と同様に見える。
  現在のユーザー名。
  フォルダRestrictedは見えるが、その中のファイルは見えない。
 

 INDEX
  [特集]Windows Server 2003 SP1レビュー
  第6回 アクセス・ベースのディレクトリ列挙ABE
  1.アクセス・ベースのディレクトリ列挙ABEとは
    2.ABEツールのインストール
    3.ABEツールの利用方法
    4.ABEとアクセス権
 
目次ページへ  「特集」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間