システム構築時のアプローチ
それでは本題に入る。実際にセキュリティ対策を検討する際は、大きく2種類のシチュエーションが存在する。
1つ目は、システムを構築する前の段階、もう1つはすでに稼動・運用中のシステムに対する後付けのセキュリティ対策である。本連載では、最初に前者におけるセキュアDBマトリクスの活用方法、その後で後者における活用方法について解説する。
要件定義なき実装はなし
要件定義とは、ひらたく言えば、提案依頼書(RFP)に記載されている要求や制約に対して、対象のシステムが実装すべき機能、運用ルールなどを定義するフェーズである。このとき、ユーザ企業から「セキュリティ」に関する要求がきちんと提示されていれば、システム構築を請け負うシステムインテグレータ(SIer)は喜んで実装するのだが、要件として提示されない場合、セキュリティ対策の設計もされず、当然実装もされない。
止まらなければ良いのか!?
ここでもう一度改めて考えて欲しい。組織にとって重要な情報を格納するのはデータベースであり、その情報の安全を保つためには、データベース側で可用性、完全性に加え、機密性、責任追跡性を確保することが、もはや当たり前といってよいのではないだろうか。
データベースに関する要件は、性能目標や稼働率、障害復旧時間などの可用性に関する要件、データ処理(計算、編集、集計など)やデータの整合性などの完全性に関する要件は、比較的詳細に提示される。しかし、機密性(誰がどのデータにアクセスしてよいか/よくないか)や、責任追跡性(誰がいつどのデータにアクセスしたのか)に関しては十分といえないだろう。
もちろんデータベースが、安定稼動して高パフォーマンスであることは基本中の基本であり、これらがおろそかになってはいけない。しかし、安全性が欠けている状態のままでは、いずれそこを突かれ、大惨事になる可能性があることを忘れないで欲しい。
次回は、セキュアDBマトリクスの項目から、具体的な要件化、要件に対する対策の選択についてを説明する。乞うご期待。