特集
|
|
|
ABE制御のためのAPI
先ほど簡単に述べたように、ABE機能を利用するには、Windows Server 2003 SP1システムに対して、共有フォルダに対するABE機能を有効にするためのAPIを発行する必要がある。詳しくはインストールされるドキュメントや以下のAPIの解説などを参照してほしいが、「NetShareSetInfo(共有ファイルに関する各種パラメータをセットするためのAPI)」というWin32 APIに対して、SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUMというフラグ・をセットして呼び出せばよい。
このAPIそのものは従来のWindows NT 4.0の頃から利用できるものであり、フラグのデータもいままでは予約領域だったものである。そのため、このAPIを呼び出す側はWindows Server 2003 SP1でなくても構わず、以前のWindows OSでもよい。実際、abecmd.exeをWindows XP SP2上で(Windows Server 2003 SP1のコンピュータに対して)実行することも可能であった。
ABEとアクセス権の関係
ABEが有効になっている共有において、ファイルやフォルダが見えるために最低限必要なアクセス権は「読み取り」の許可である。
ABEで見えるようにするためのアクセス許可設定 | ||||||||||||
「読み取り」の許可があれば、ABEが有効な場合に表示されるようになる。 | ||||||||||||
|
この権限をファイル関連APIのパラメータでいうと「FILE_GENERIC_READ」になる。これは実際には次の属性を合成したものになる。
- STANDARD_RIGHTS_READ(READ_CONTROL)―オブジェクトのセキュリティ記述子の読み取り許可
- FILE_READ_DATA(FILE_LIST_DIRECTORY)―ファイルのデータやフォルダの内容の一覧の取得許可
- FILE_READ_ATTRIBUTES―ファイル属性の取得許可
- FILE_READ_EA―ファイル拡張属性の取得許可
- SYNCHRONIZE―同期処理。ただしこの属性はGUIで個別に設定することはできないし、する必要もない
これを実際の[プロパティ]ダイアログで確認するには、上の[プロパティ]ダイアログで[詳細設定]ボタンをクリックし、[アクセス許可]タブにある[編集]ボタンをクリックすると表示される。
詳細なアクセス許可設定 | |||||||||
[プロパティ]ダイアログのアクセス許可設定にある「読み取り」という項目は、実際にはこのような4つの権利を合成したものである。このダイアログを表示させるには、[プロパティ]ダイアログの[セキュリティ]タブで[詳細設定]ボタンをクリックし、[アクセス許可]タブにある[編集]ボタンをクリックする。 | |||||||||
|
ABEとファイルのバックアップについて
「ファイルとディレクトリのバックアップの権利(SeBackupPrivilege)」を持つユーザー(AdministratorsやBackup Operators、Server Operatorsなど)は、たとえABEを有効にしていても、従来通り、読み取りアクセス権がないファイルも見ることができる。ファイル・バックアップをスケジュール化している場合は、この権限を持つユーザーとして実行しなければ、ABEが有効にされた共有フォルダ経由のバックアップ作業で、漏れが生じる可能性があるので注意が必要だ。ただし逆にいうと、管理者権限のあるユーザーにとってはABEは有効でない(常に全ファイルが見える)ということでもある。ABEはあくまでも一般ユーザー向けの機能と考えるべきである。
ABEとパフォーマンスの低下について
ABEで権限のないファイルやフォルダ名を隠ぺいする場合、一覧を列挙するたびにそれぞれのファイルやフォルダのアクセス権のチェックを行う必要があるので、パフォーマンスの低下を招く可能性がある。とはいうものの、ABEにおけるファイルのアクセス権のチェック処理は、ファイルの情報をディスクから読み出すことに比べると非常に負担は少なく、実際に試したところでも、パフォーマンス的な劣化はほとんど感じられない(ABEによってファイルやフォルダが隠ぺいされれば、その分だけディスク・アクセスが減少するため、結果としてパフォーマンスが向上するケースもあるだろう)。ABEツールのインストール先に含まれるドキュメントには、ABEの有効時と無効時におけるパフォーマンスの比較データなどが含まれているが、これによると、1つのフォルダに1万とかそれ以上のファイルを格納した場合にのみ、パフォーマンスの劣化が観測されている。通常の用途ではほとんど気にすることはないだろう。
FTPにおけるファイル共有
ABEは、ファイル共有に対して働くため、例えばIIS 6.0のFTPサイトで、共有フォルダを利用している場合にも有効である。以下は、共有フォルダをFTPで公開した場合の例である。
共有フォルダをFTPサイトとして公開する | |||||||||||||||
共有フォルダをFTPサイト経由で公開すれば、FTPのファイル/フォルダ一覧にもABE機能が適用され、アクセスするユーザーごとに異なるファイル一覧が返される。 | |||||||||||||||
|
このFTPサイトに対してFTPクライアントで接続し、ファイルの一覧を表示すると次のようになる。
|
このように、ABEが有効になっていると、アクセス権のないフォルダやファイルの一覧が表示されなくなる。ユーザーごとに個別のアクセス許可を与えたフォルダを作成しておけば、ABEの機能によって、ほかのユーザーのフォルダを隠蔽することができる。
従来のFTPサービスでも、ユーザー名と同じフォルダを作成しておけば、FTPで接続した場合に、そのユーザー名のフォルダへ自動的に移動する機能を持っていた。例えばFTPサイトのルートに/aliceというフォルダを作成しておくと、ユーザーaliceがFTP接続した場合のデフォルト・ルートが/aliceとなる機能である。だがユーザーが「cd /」を実行してルートへ移動すると、ほかのユーザーのフォルダ名一覧が見えてしまう。
しかしABEの機能を併用すると、ルートへ移動しても、アクセス権のないフォルダ(=ほかのユーザーのフォルダ)を見ることはできなくなる。
関連リンク | ||
Windows Server 2003 Access-based Enumeration[英文](マイクロソフト) | ||
Access-based Enumeration Tools(マイクロソフト) | ||
INDEX | ||
[特集]Windows Server 2003 SP1レビュー | ||
第6回 アクセス・ベースのディレクトリ列挙ABE | ||
1.アクセス・ベースのディレクトリ列挙ABEとは | ||
2.ABEツールのインストール | ||
3.ABEツールの利用方法 | ||
4.ABEとアクセス権 | ||
「特集」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|