z/OSに対するセキュリティシステム監査(ログの取得・保管)
z/OSにおけるログ取得・保管の概要
SMF(システム管理機能)とは
z/OSにおいてログを集中管理する機能で、各所から出力されるログを集中的に保管します。
ログ取得・保管の大まかな流れ
z/OSや各種のミドルウェア、およびRACFはそれぞれログをSMFに出力します。SMFは方々から入ってくるログを、MAN1〜MAN3のようなSMF管理下のデータセットに保管します。MANxの1つのデータセットの使用率が一定以上となるとNetview等の自動ツールを使用して、次のデータセットへの切り替えを行うとともにMANx内のログを一時保管のデータセットに吸い上げをします。さらに長期保管を行うために、定例バッチジョブ等で長期保管テープ等に保管します。
適切にログを取得・保管するためには、上記の一連の全ての設定や運用が適切に実施されていることを確認する必要があります
ログ取得・保管における設定流れ
ログ取得・保管の流れを説明するために、「HONBAN.TEMP.DATA」データセットを参照したログを取得することを例に記載します。
①クラス全体のログ取得設定
RACFではログを取得するには、該当するクラスがログ取得対象となっている必要があります。今回は「HONBAN.TEMP.DATA」データセットのログ取得であることから「SETROPTS LIST」の次の項目に「DATASET」が含まれている必要があります。
②プロファイルによるログの取得設定+α
さらに具体的にどのデータセットのログを取得するかを設定する必要があり、個別のログ取得設定はデータセットプロファイルにて定義されています。
例えば「HONBAN.TEMP.DATA」を「HOBAN.TMEP.*」にて保護するプロファイルが存在している場合に該当プロファイルの監査設定が「ALL(READ)」等になっていれば該当データセットを参照したログが取得されます。
また、個別のデータセットの取得ではなく該当クラス全てのログを取得する設定も存在します。「SETROPTS LIST」の以下の項目に「DATASET」が含まれていれば個別のプロファイルが存在しなくても全て取得されます。
("LOGOPTIONS ALWAYS"や”LOGOPTIONS FAILURES”の場合は、アクセス成功した場合や失敗した場合に全て取得する)
③SMFによるログの保存設定
SMFには各種から多量のログが出力されており、どのログを保管するかを「レコードタイプ」で制御しています。レコードタイプ毎にどのようなログが含まれているかは次のマニュアルを参照してください。
例えば、RACFであれば「HONBAN.TEMP.DATA」を参照したログであれば「80」に含まれています。RACF側で適切にログを出力する設定となっていたとしても、SMF側で「80」を保存していない場合にはログはSMF側で保管されません。
SMFにて保管対象となるレコード番号は、「SMFPRMxx パラメーター」の「TYPE」または「NOTYPE」で定義されています。そのため、「SMFPRMxx パラメーター」を被監査部門に提出を依頼し「80」等のレコードが取得対象となっているかを確認する必要があります。
④SMFから中間DSへの保管
SMFの出力先データセットは通常は複数存在しており、使用しているデータセットの使用率が一定を超えるとメッセージが出力され、そのメッセージをトリガーとしてNetview等の自動処理で次のデータセットへの切り替えおよび中間データセット等へのログの吸い上げを行います。被監査システムの担当者にヒアリングを行い、切り替えおよび吸い上げ先のデータセット等の仕様を確認する必要があります。
⑤テープ等への長期保管処理
通常、z/OSのログ量は莫大となることからDASDVOLでの保管は行わず、長期保管用のテープに吸い上げ、最終的な保管が行われます。長期保管を行う場合に、全てレコードをテープに吸い上げを行わず一部レコードを保存対象としていない場合があります。そのため、テープ保管保管用のJCLを確認し、必要なレコード番号がテープ等の長期保管対象となっていることを確認する必要があります。
⑥定められた期間のログ保管
ログ保管期間は各社にて定められたガイドライン等が存在することから、当該ガイドラインに沿った期間保管されていることをヒアリングやテープ保管ロジック設定等にて確認してください。また、ログの改竄・漏洩を防止するため、SMFのMANx、中間ログ保管データセット、長期のテープデータセット等の全てのログ保管に関連するデータセットが正しくアクセス制御されていることを確認してください。