ファイルへのアクセス件数が毎秒数百にも及ぶ場合は、GAC を実装するとパフォーマンスが向上します。このことはすでに立証されていますが、以下のような制限事項があります。
GAC_root=1
このトークンのデフォルト値は 0(ゼロ)です。 デフォルトに戻すには、トークンを 0(ゼロ)に設定するか、このトークンを削除します。
ここでは例を挙げて、このループホールがどのように悪用されているかを説明します。 ユーザ Tony には、Accounts/tmp ファイルへのアクセス権がありません。 そのため Tony は、Accounts/tmp へのアクセスを許可されているユーザ Sandra の代理になります(/bin/su を使用します)。 Sandra がすでに Accounts/tmp ファイルにアクセスしている場合、このファイルは Sandra の UID と共に do-not‑call‑me テーブルに追加されています。 したがって、Sandra の UID を使用している Tony にもファイルへのアクセスが許可されます。 これは、カーネル コードに UID の履歴が保持されないためです。
一方、Sandra がそれまでにファイルにアクセスしていない場合は、seosd を使用して通常どおりアクセス許可のチェックが行われ、Tony のファイルへのアクセスは拒否されます。 このようなループホールを防止するために、ADMIN ユーザはデータベースの SURROGATE オブジェクトを保護する必要があります。 この例の場合、ADMIN ユーザは以下のルールをデータベースに追加できます。
newres SURROGATE USER.Sandra default(N) owner(nobody)
このコマンドを実行すると、Tony が su コマンドを使用して Sandra のアクセス権限を取得することはできなくなります。
| Copyright © 2013 CA. All rights reserved. |
|