広範囲の利用者にアクセス権限を設定するために利用されている方法に、ID(*)とUACCがあります。
両者の違いはご存じの通り、ID(*)は全てのユーザーID所有者を示し、UACCは全てのユーザーID所有者に加え、ユーザーID未指定のシステム利用者(即ちシステム利用権限の無い人達)を含みます。
RACFでのアクセス権限設定の基本は、全てのリソースに対するデフォルトのアクセス権限(UACC) をNONEとし、業務上必要な人にアクセス権限を設定する方法です。従って当然ながら、UACC=READやUPDATEを指定すべきではありません。
理由は、明示的に許可されていないどのユーザーが、あるいはどのプロセスが、ID(*)やUACC設定によってアクセスを許可されているか判断できないためです。
該当するプロファイルにAUDIT(ALL)でアクセス情報が収集されている場合でも、誰が、どのプロセスがアクセス権を取得(利用)したかを判断するために、1 年以上ものSMF データを収集解析する事はほぼ不可能であり、現実的な方法ではありません。
では、どう解決すればいいでしょうか。
最初にID(*)を探し削除コマンドを生成
SEARCHコマンドでは上手く検索できない場合、RACFデータベースをアンロード(IRRDBU00) し、データセットプロファイルのデータからICETOOL等を利用してレポートします。
因みにVanguard Administrator™の場合、IDに*を指定して(あるいはUACC=NONEを指定して)簡単に検索可能です。
検索したデータを元に削除コマンドを生成しますが、対象となるクラスにより形式が異なり、データセットプロファイルの場合には「PE ‘&PROFILE’ GEN ID(*) DELETE」のコマンドで、一般資源クラスの場合には「PE &PROFILE CL(&CLASS) ID(*) DELETE」のコマンドを生成します。
影響を事前に確認する
生成したコマンドをそのまま実行することはリスクが大きいため、これらのRACFコマンド実行による影響を事前に確認できれば安心して変更ができます。
このような場合にはシミュレーション機能があると便利です。しかも、過去のアクセス権限の情報を利用して検証できれば、生成したRACFコマンド実行による影響を最小限に留めることができます。
Vanguard Offline™ではRACFコマンド実行による影響分析により、権限削除シミュレーションにより影響を受けるユーザーID、プロファイル名および必要なアクセス権限を確認できます。
解析結果でアクセス権を変更
権限削除シミュレーション結果の解析データを利用して、影響を受けるユーザーIDに対し明示的にアクセス権を設定するためのRACFコマンドも生成することができますので、 ID(*) 権限削除による影響を無くしてかつ潜在的なリスクを排除することが可能になります。
将来のクリープを防ぐために
Vanguard Offline™で影響分析を実施し問題なしと確認できれば、作成したコマンドを実行して潜在的な脆弱性を取り除くことが可能です。
しかし、その後の運用で同様のID(*) 権限問題が再発する可能性は否定できません。
このようなケースに対応するためには、将来に亘ってID(*) 権限問題を再発させるRACFコマンドの実行を阻止する必要があります。
そのためには、Vanguard Policy Manager™を実装する方法があります。Vanguard Policy Manager™ではコマンドポリシーを実装することでこの問題の再発を防止するだけでなく、コマンド阻止記録もSMFに残るため、Vanguard Advisor™でレポート作成が可能です。