本文書の目的 anchor.png

 本文書は、一般的な業務等のWebアプリケーションが動作するシステムを想定し、そのシステムを運用管理する上での役割や、その権限について述べたものである。

 本文書では、各役割の権限や、役割の兼任を判断する際のガイドラインとして、以下の二点を明確にする。

  • 運用管理する上での役割の分類と、各役割が持つべき権限範囲
  • 各役割を兼任させた場合のセキュリティ上の危険性と推奨度

 本文書では、強制アクセス制御機能を提供するセキュアOS及び、その強制アクセス制御機能を用いた役割分割を前提としている。しかし、セキュアOSを利用しないシステムの場合では、役割分割に強制力が働かないものの、役割分割の考え方については参考にすることができる。

Page Top

役割の分類 anchor.png

 Webアプリケーションが動作するシステムに対する役割を以下のように分類する。

Page Top

Webアプリケーションユーザ anchor.png

 ブラウザ経由などでWebアプリケーションを利用する。以下の2つが存在する。

  • 一般ユーザ

     Webアプリケーションを利用する一般的なユーザ。

     Webインタフェースから、Webアプリケーションで提供される機能を用いて業務を行う。

  • 管理ユーザ

     Webアプリケーション上の管理者権限を持つユーザ。

     Webインタフェースから、Webアプリケーションの管理者ページを通じて、一般ユーザの管理や内容の管理等を行う。

 Webアプリケーションユーザは、実業務に利用しているWebアプリケーションが動作するシステム(以降本番システムと記す)のOSに対するログイン権限は持たない。

Page Top

システムオペレータ anchor.png

 システムオペレータは、本番システムに対する日々の運用に責任を持つ。

 具体的には、以下のようなルーチンワークを行い、本番システムが常時正常に動作していることを保ち、何らかの障害が起こった時の初期対応(再起動等)を行う。

 システムオペレータで対応できない障害については、システムアドミニストレータに依頼する。  

  • バックアップ

     定期的に行われる本番システム全体のバックアップ

  • 死活監視

     本番システムのOSやWebアプリケーション、DBなどが正常に動作しているかを確認するための、常時もしくは定期的な監視

  • OSレベル、アプリケーションレベルの再起動

     死活監視の結果及び何らかの障害が起こった時の初期対応として行われる再起動

 システムオペレータは、本番システムのOSに対するログイン権限を持つ。また、上記のルーチンワークを行う上で、必要に応じてroot権限を持つ。

Page Top

システムアドミニストレータ anchor.png

 システムアドミニストレータは、本番システムの全般的な管理責任を持つ。 

 具体的には、本番システムに対し以下の作業を行い、適切なパッチ適用やバージョンアップが行われ、正しい設定で稼動するようにする。システムオペレータで対応できない障害が起こった際には、設定変更やリストアなどで対応する。

 さらに、システムオペレータなど本番システムのOSに対するログイン可能ユーザの管理を行う。

  • OS、ミドルウェア、Webアプリケーション等の設定変更

     システムオペレータや管理ユーザなどからの要求などに伴い、障害対応、機能追加変更、セキュリティ強化を目的として、OSなどの設定を変更する作業。

  • OS、ミドルウェア、Webアプリケーション等のパッチ適用

     ベンダーやコミュニティが提供するパッチを、定期的もしくは非定期に本番システムに適用する作業。

  • OS、ミドルウェア、Webアプリケーション等のバージョンアップ

     ベンダーやコミュニティが提供する新しいバージョンを、本番システムに導入する作業。

  • リカバリー(設定・データの復旧)

     本番システムの障害時に、バックアップデータを用いて正常動作時の設定やデータに戻す作業。

  • 本番システムのOSに対するユーザの追加変更

     システムオペレータなどの人員に変更があった際に、本番システムのOSにログインするユーザの追加や削除を行う作業。

 システムアドミニストレータは、本番システムのOS対して、root権限でのログイン権限を持つ。

Page Top

ログ監視管理者 anchor.png

 ログ監視管理者は、本番システムが正常に動作しているか、不正が行われていないかなどを監視する責任及び、ログを必要に応じて適正に保管する責任を持つ。

 具体的には、本番システムの各種ログを常時もしくは不定期に監視する。さらに、不要ログの削除や、ログの保管のために別媒体への移動などを行う。 

 本番システムのOSに対するログイン権限を持つ。必要に応じてroot権限を持つ。

Page Top

データ管理者 anchor.png

 データ管理者は、本番システムのWebアプリケーションが保持する業務情報等のデータに対する責任を持つ。

 具体的には、Webアプリケーションユーザなどの要求に応じて、Webアプリケーションが持つデータファイルやDB上のテーブルに対し、OS及びミドルウェアの層(DBMSなど)から変更修正を行う。また、業務情報等のデータに対して、バックアップ/リストア作業を行う場合もある。

 本番システムのOSに対するログイン権限を持つ。基本的にroot権限は持たない。

Page Top

アクセス権限管理者 anchor.png

 各役割やアプリケーションのアクセス権限に対して責任を持つ。

 具体的には、セキュアOS(強制アクセス制御機能)の設定変更を行う。

 本番システムに対するログイン権限を持つ。基本的にroot権限を持つ。

 ここで、アクセス権限管理者は、各役割やアプリケーションのアクセス権限を自由に変更することが出来てしまうため、以下の事柄を考慮する必要がある。

  • アクセス権限管理者

     責任を持たせることが可能な役職や立場を持つ人を任命しなければならない。

     外部の人や組織に依頼することは望ましくないが、やむ終えない場合は、別途契約等で責任や違反時の罰則などを明確にしておく必要がある。

  • アクセス権限管理者のユーザ認証

     アクセス権限管理者のユーザ認証は、他の役割に比べて強固にすることが望ましい。

     例えば、二要素認証や特別な認証機構を利用することなどである。また、特定の端末からしかセキュリティ管理者の作業が出来ないようにするなど、物理的なセキュリティと組み合わせても良い。

  • アクセス権限管理者の監査強化

     アクセス権限管理者は、単独もしくは他の役割と共謀することで、不正を引き起こしそれを隠蔽することが可能である。そのため、アクセス権限管理者のログインや作業履歴などの監査を強化する必要がある。

Page Top

アプリケーション開発者 anchor.png

 Webアプリケーション自体の機能やセキュリティに責任を持つ。

 具体的には、Webアプリケーションの開発及び修正パッチの作成を行う。この開発及び作成は、本番システムではなく開発用のシステムで行う。

 実際に開発されたWebアプリケーションや作成されたパッチは、システムアドミニストレータが本番システムに導入や適用する。アプリケーション開発者は、Webアプリケーションやパッチをシステムアドミニストレータに引き渡すまでが役割であり、導入や適用まで行ってはいけない。

 アプリケーション開発者は、本番システムのOSに対するログイン権限は持たない。

Page Top

リソースの分類 anchor.png

 Webアプリケーションが動作するシステムに関連する情報資産を以下に列挙する。

Page Top

セキュアOSの設定 anchor.png

 セキュアOS(強制アクセス制御機能)のアクセス権限設定である。

Page Top

ログ anchor.png

 各種ログ情報である。主に以下のものが考えられる。

  • OS
  • ミドルウェア
  • Webアプリケーション
Page Top

業務データ anchor.png

 Webアプリケーションが保持する業務情報等のデータである。形式としては以下のものが考えられる。

  • File System上のファイル
  • DB上のデータ
Page Top

実行ファイル anchor.png

 コマンドを含む実行ファイルやライブラリなどである。以下に関連するものが考えられる。

  • OS
  • ミドルウェア
  • Webアプリケーション
Page Top

設定ファイル anchor.png

 システムやアプリケーションが実行時に利用する設定ファイルである。以下に関連するものが考えられる。

  • OS
  • ミドルウェア
  • Webアプリケーション
Page Top

バックアップデータ anchor.png

 システムオペレータがバックアップ作業で得たデータである。

Page Top

権限 anchor.png

 各役割が持つべき、本番システム上のリソースに対する権限を示す。

Page Top

Webアプリケーションユーザ anchor.png

 本番システム上の全てのリソースに対しアクセス権限を持つべきではない。

 ブラウザ等を用いたWebアプリケーション経由の場合のみ、業務データ等へのアクセスを可能とすべきである。

Page Top

システムオペレータ anchor.png

 バックアップについては、バックアップ用のコマンド及びツールの実行権限を持つ。また、バックアップ用のコマンド及びツール経由に限定して、全てのリソースに対する参照権限のみを持つ。

 可能であれば、バックアップツール等を導入し、運用者はバックアップエージェントの操作に関連する権限のみ持たせることが望ましい。

 再起動や活死監視については、これらに利用するコマンドの実行権限を持ち、これらの実行に必要最小限の権限を持つ。

Page Top

システムアドミニストレータ anchor.png

 設定変更やパッチ適用、バージョンアップのために、設定ファイル、実行ファイルに対して書き込み権限を含め全ての権限を持つ。

 設定変更などの作業結果を確認するために、ログに対して参照権限のみを持つ。

 パッチ導入やバージョンアップの際に必要となる再起動のために、これらのコマンドの実行権限を持ち、これらの実行に必要最小限の権限を持つ。

Page Top

ログ監視管理者 anchor.png

 ログに対して、参照権限及び削除権限を持つ。また、ログを移動するためのにログローテートのコマンド実行権限等を持ち、この実行に必要最小限の権限を持つようにすべきである。

Page Top

データ管理者 anchor.png

 業務データに対して全ての権限を持つ。また、これらを行うコマンドの実行権限を持つ。例えば、業務データがDBにある場合には、DBへの操作を行うコマンドの実行権限を持つ。

Page Top

アクセス権限管理者 anchor.png

 セキュアOS(強制アクセス制御機能)の設定(ファイルなど)に対して、全ての権限を持つ。また、セキュアOSの設定変更を有効にさせるなど、セキュアOS特有のコマンドの実行権限を持ち、これらのコマンド経由で実行に必要最小限の権限を持つ。さらに、これらの設定変更を反映させるための再起動に関するコマンドの実行権限を持ち、これらのコマンド経由で再起動に必要最小限の権限を持つ。

Page Top

アプリケーション開発者 anchor.png

 本番システム上の全てのリソースに対しアクセス権限を持つべきではない。

 開発物及びパッチは、システム管理者に引き渡し、システム管理者が導入や適用を行う。また、不具合修正等でログデータが必要な場合には、ログ監視管理者等に要請する。

Page Top

兼務に対する検討 anchor.png

Page Top

すべきで無い兼務 anchor.png

 以下では推奨しない兼務と、その危険性の具体例を列挙する。

  • システムアドミニストレータがログ監視管理者と兼務すること
    • システムアドミニストレータが、ログの改ざんや消去などを行うことで、不正の監視や監査から逃れることが出来てしまう。
    • 例えば、誰にも知られずに、不正なアプリケーションを導入したり、不正な設定変更が可能で、その証拠を消すことも出来る。
    • また、アップデート等の作業の証拠を改ざんすることで、ログが確実な作業記録にならなくなる。
  • システムオペレータがログ監視管理者と兼務すること
    • システムオペレータが、ログの改ざんや消去などを行うことで、不正の監視や監査から逃れることが出来てしまう。
    • 例えば、誰にも知られずに、不正な再起動を繰り返しによるサービス停止攻撃が可能で、証拠を消すことも出来る。
    • また、バックアップ等の作業の証拠を改ざんすることで、ログが確実な作業記録にならなくなる。
  • データ管理者がログ監視管理者と兼務すること
    • データ管理者が、ログの改ざんや消去などを行うことで、不正の監視や監査から逃れることが出来てしまう。
    • 例えば、誰にも知られずに不正なアプリケーションのデータを改ざん等が可能で、証拠を消すことも出来る。
  • システムアドミニストレータがアクセス権限管理者と兼務すること
    • システムオペレータやデータ管理者の持つ権限を不正に得ることが可能で、これらの役割を分割しても意味をなくしてしまう。
    • ログ監視管理者の権限を不正に得ることが可能で、上記で挙げたログ監視管理者と他の役割の兼任と同様の問題が起こる。
  • システムオペレータがアクセス権限管理者と兼務すること
    • システムアドミニストレータがアクセス権限管理者と兼務する場合と同様の問題が起こる。
  • データ管理者がアクセス権限管理者と兼務すること
    • システムアドミニストレータがアクセス権限管理者と兼務する場合と同様の問題が起こる。
  • Webアプリケーション開発者がシステムアドミニストレータと兼務すること
    • テスト用のWebアプリケーションを本番システムに入れることが出来てしまうという問題が起こる。
  • Webアプリケーション開発者がデータ管理者と兼務すること
    • テスト用のデータを本番システムに入れることが出来てしまうという問題が起こる。
  • Webアプリケーション開発者がシステムオペレータと兼務すること
    • 本番システムのバックアップデータを開発用システムに無断で利用することができてしまうという問題が起こる。
  • Webアプリケーション開発者がアクセス権限管理者と兼務すること
    • 上記で挙げたWebアプリケーション開発者と他の役割の兼務と同様の問題が起こる。
Page Top

推奨される役割適用 anchor.png

 上記を踏まえ、少なくとも役割を以下の三つに分類し、一人には以下の何れかの一つを割り当てるべきである。このためには、最低三名以上の人的リソースが必要となる。

  • アクセス権限管理者とログ監視管理者(かつ、Webアプリケーションユーザ)
    • 自らもWebアプリケーションユーザとして、Webアプリケーションを利用する。
    • システムアドミニストレータとシステムオペレータ、データ管理者の作業を、ログにより監視しつつ、必要に応じてセキュアOS(強制アクセス制御機能)の設定変更(権限付加及び削除)を行う。
  • システムアドミニストレータとシステムオペレータ、データ管理者(かつ、Webアプリケーションユーザ)
    • 自らもWebアプリケーションユーザとして、Webアプリケーションを利用する。
    • 通常運用における全ての運用管理やシステム管理を、セキュリティ管理者に与えられた権限の範囲で、ログ管理者の監視の元で行う。
  • Webアプリケーション開発者(かつ、Webアプリケーションユーザ)
    • 自らもWebアプリケーションユーザとして、Webアプリケーションを利用する。
    • 本番システムの動作等を参考にしながら、Webアプリケーション開発を行う。
    • Webアプリケーションの開発やテストに必要となる、本番システムの設定やデータなどは、システムアドミニストレータやデータ管理者に依頼して取得する。
    • 開発したWebアプリケーションやパッチの本番システムへの適用は、システムアドミニストレータが行う。
Page Top

期待できる効果 anchor.png

 上記の役割適用を行うことによって以下の効果が期待できる。

  • システムオペレータ及びシステムアドミニストレータ、データ管理者による不正の抑止及び検知
  • システムオペレータ及びシステムアドミニストレータによる不正の被害最小化
  • Webアプリケーション開発者による情報漏えい防止
  • Webアプリケーション開発者による本番システム障害の最小化

 これらにより、データを含めた業務システムの改ざん、情報漏えいなどについて、 その可能性を低くすることができると共に、被害を最小化することができる。 また、完全なログを入手することができ、被害の状況や原因を特定することが出来る。


トップページ
戻る


Front page   Freeze Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 131, today: 1, yesterday: 0
Last-modified: 2010-04-25 (Sun) 17:58:53 (JST) (135d) by saisho