今回はz/OSのRACFの管理にまつわる小ネタ集をお届けします。PART Iもご参照ください。
永久有効設定のユーザID
パスワード変更が不要なユーザIDを利用されていますか? この機会にパスワード変更が不要なユーザIDの必要性について、もう一度考え直してみませんか?
ユーザIDはセキュリティ保護されたシステム環境で、業務上必要なアクセス権限を得るために必要ですが、パスワードの定期変更に伴う作業が発生することから、運用管理者にとって都合の良いパスワード固定を選択しがちです。
一方、悪意を持った人にとっても同じことが言えます。一度パスワードを知ってしまえば、該当ユーザIDがいつまでも利用できますし、該当ユーザIDが特権を所有していれば影響も大きくなります。パスワード変更しないユーザIDの存在は重要度の高いセキュリティリスクに該当し、PCI-DSSなどを含むコンプライアンス上では定期変更が義務付けられています。
UACC設定
UACC (Universal Access) とは何でしょうか? データセットなどのリソースを定義する時のデフォルトアクセス権限です。リソースアクセス権限の基本は、業務上必要な人に必要な時アクセスを許可するNeeds to knowの原則に従って、UACC(NONE)で誰もアクセスできないデフォルトを設定し、アクセスが必要な人に必要な権限(READ, UPDATE, ALTERなど) でPERMITします。間違っても UACC(READ) や UACC(UPDATE)と設定しないように注意しましょう。尚、UACC(NONE)でPERMITで許可されていないにも関わらずアクセスできる人がいます。それがOPERATIONS特権所有者になります。
OPERATIONS属性の危険度
OPERATIONS属性は特権の1つです。RACFには特権としてSPECIAL、OPERATIONS、ROAUDITおよびAUDITの4種類があります。OPERATIONSはシステム運用管理者、SPECIALはセキュリティ管理者、AUDITORがセキュリティおよびシステム資源の監査担当者、そしてROAUDIT(z/OS 2.2より) がシステム資源のみの監査担当者の役割を担っています。
特権の中で最も注意すべき属性はOPERATIONSです。この属性を所持しているユーザは、PERMITコマンドによるシステム資源のアクセス許可が無くても、RACF保護データセットに対してコピー、再編成、カタログおよびスクラッチなどの保守操作を実施する権限を有しています。次に注意すべき属性はSPECIALです。この属性はRACFデータセット内のすべてのRACFプロファイルの完全な制御権が与えられ、すべてのRACFコマンドを実行することができますので、誰に対しても権限を設定することが可能です。
RACFセキュリティ下で、特定のユーザがOPERATIONSとSPECIAL両方の権限を所有することは、最も実施してはならない設定に該当し、「鶏小屋を狐が守る」管理が実施されていると表現されています。
複雑なRACFの管理、正しくできていますか?Vanguard RACF研修コース
特権から派生する問題
OPERATIONS属性所有者はRACF保護されたデータセットのコピーが自由できますが、コピー先のデータセットが保護されていない場合、誰もが自由にデータを参照変更できてしまいます。OPERATIONS属性のユーザがデータセットを参照する場合、PERMITコマンドによって許可されているか、許可が無くOPERATIONS属性に依ってデータが参照できているかの区別ができません。
SPECIAL属性のあるユーザは誰でも同じRACFコマンドを発行できます。RACFコマンドにはRACFセキュリティ全体に影響するコマンドもあり、セキュリティ管理者の知識・経験レベルに依って利用できるコマンドを制限したい場合があります。RACFではパスワードをリセットするヘルプデスク担当者向けに別の手段を提供していますが、コマンド制限の方法が無く、誤って発行しシステムの運行に影響を与える恐れがあります。このことはダブルチェックなどでは防げない種類の問題です。
詳しくは Vanguard Policy Manager を参照ください。
USSからのRACF設定変更
z/OSと同時にUSS (UNIX System Service) が稼働しています。ISPFのTSOコマンド画面からOMVS または ISHELLコマンドを入力するとUSSを利用できます。
USSにはRACF特権と同等の superuser (UID(0)) が存在しますが、USS環境からRACFコマンド発行できることをご存じでしょうか?
RACFコマンドを発行するためには、インターフェースとなるプログラム(rac.exe)が必要で、ftp://ftp.boulder.ibm.com/s390/zos/racf/rac/ からrac.exeとracReadMeがダウンロードできます。RACFコマンド発行方法は rac “alu (hacker) SPECIAL“ のようにコマンドを
パラメータとして渡して実行させます。コマンド発行には当然RACF側で一般資源のプロファイル登録が前提ですが、USSからRACFコマンドを発行できる事以外に、発行した記録がSMFやSYSLOGに記録されないことがあるため、運用上注意が必要です。
ワーニングモード
RACFにはワーニングモードがあります。これは移行などの猶予のために利用する定義で、ユーザが認証チェックに失敗しても、引き続きアクセス出来るようにするための通知オプションとなります。ワーニングモードが比較的良く利用される例としては、PROTECTALL設定があります。一定の猶予期間にSMFデータのアクセス履歴を解析してプロファイル定義に漏れがないかを確認し、不足定義を補った後、ワーニングモードをフェイルモードに変更して通常の運用に入ります。
問題は本来の目的であるワーニングモードをフェイルモードに変更し忘れることで、セキュリティ上の問題に晒されることが発生します。データセットや一般資源プロファイルのどれがワーニングモードのまま運用されているかを常時確認することが肝要です。尚、どのプロファイルがワーニングモードのままなのか確認するには、台帳などできちんと管理していないとリストするのも結構面倒だと思います。検索が便利なVanguard AdministratorであればWarning(Y)で簡単に表示することができます。
RACFデータベースの保護
過去、Vanguard社のアセスメントでも信じられない例として報告されておりましたが、忘れてはならない点としてRACFデータベース自体の保護があります。 RACFデータベースはユーティリティで簡単にコピーやダンプが可能で、ユーザID名や保護対象のリソース名など簡単に抽出できますので保護されているか確認が必要です。
参考 メインフレーム関連のトピックはこちらも