z/OSに対するセキュリティシステム監査(開発環境と本番環境の分離)
本番環境は業務データ等の守るべき情報資産が多数あることから、不要な担当者が本番環境にアクセスできないように開発環境と本番環境を分離する必要があります。
そのため、「本番環境へアクセスできるネットワークの分離」、「本番環境端末の物理的セキュリティ対策」および「本番環境のユーザーID管理プロセスの厳格化」などが一般的な対策となります。当記事では、z/OS固有の機能として考慮すべき事項について記載します。
共有VOLの管理
開発環境と本番環境間で業務アプリケーションの引き上げリリース等を行うために、開発環境と本番環境で共有しているDASDVOL(場合によってはTAPEVOL)が存在します。
DASDVOL:通常のハードディスクをイメージしてください
TAPEVOL:バックアップ等で使用する圧縮して保存する媒体をイメージしてください
共有VOLを悪用することで本番環境の業務データを開発環境経由で持ち出されたり、開発環境でテストを行うために無許可で本番データを開発環境に移動されてしまう可能性があります。システム担当者にヒアリングを行い、本番環境と開発環境で共有しているVOLを把握し、共有VOLを使用した開発・本番環境間のデータ移動の抑止方法を確認する必要があります。
開発環境からのVOLオンラインコマンド抑止
例えば開発環境から特定のVOLを使用するには、物理的な接続がされていることに加えて論理的にオンラインとなっていることが必要です。
緊急時に開発環境の筐体を使用して本番環境を稼働させる場合等に備えて全てのVOLが物理的に接続され、論理的にオフラインとなっているシステムが存在します。そのような場合に開発環境側でVOLを論理的にオンラインとするコマンド発行を抑止していない場合、悪意あるユーザーにより開発環境から本番VOLをオンライン状態に変更されることでデータ漏えい等につながる可能性があります。
そのため、物理的な接続を確認するともに開発環境側でのコマンド発行を抑止する必要があります。
(逆に本番環境においても開発VOLをオンラインにすることでデータを開発環境に移動可能となるので同様の対策が必要です)
他システムでのJCL実行
z/OSでは自分がログインして作業しているシステム以外に対してJCL実行を伝播依頼するNJE/RJEと呼ばれる機能があります。例えばセキュリティレベルの低い開発環境から本番環境に対して当該機能を許可している場合、本来であれば本番環境にアクセス権を持たない開発担当者が擬似的に本番環境で何らかの処理を実施可能となります。
そのため、RACFでは他のシステムから依頼されたJCL実行について自システムで資格があるかを検証する機能ががあり、「SETROPTS LIST」の次のパラメータにて確認することができます。