内部統制に効く! データベースセキュリティ

第2回データベースだけの対策にとどまらないデータベースセキュリティ

データベース以外でも対策を実施

前回は、⁠データベースセキュリティの特徴として、対策箇所がデータベースだけにとどまらず、多岐に渡る」という点を挙げ、⁠データベースセキュリティの必要性」とともに「データベースで実施する対策」について解説しましたが、今回は「データベース以外で実施する対策」に焦点を当てていきます。

ではなぜ、⁠データベース以外でも対策が必要」なのでしょうか。

仮にデータベース以外(OS、ネットワーク、アプリケーションなど)で対策が実施されていなかった場合には、以下のような脅威が想定できます。

  • DBサーバのOSにログインされ、そのOSアカウントに付与されている権限が強かったため、DBMSの構成ファイルを削除されてしまった。
  • DBサーバが施錠されている場所に設置されていなかったため、侵入者によって物理的に破壊されてしまった。
  • アプリケーションでSQLインジェクション対策が実施されていなかったために、SQLインジェクションによる情報漏洩が発生してしまった。
  • ネットワークのセキュリティ対策に不備があったため、ワームによる攻撃を受けてしまった。
データベースだけで守っていると……
データベースだけで守っていると……

周辺環境も含めたトータルな対策

前述のとおり、データベースで可能な限りの対策を実施して万全を期したつもりでいても、周辺のOSやネットワーク、アプリケーション、設置環境などで適切な対策を実施していなければ、データベース上の資産は守ることができません。

そのため、データベースだけでなく、周辺の環境も含めてトータルに対策を考えて設計・実装して初めてデータベースセキュリティは成り立ちます。

データベースセキュリティを設計・実装した結果、⁠○○の脅威に対する対策はデータベースでは対応できないため、アプリケーションで対策する」というケースや、またはその逆のケースがあるかも知れません。中には、データベースとその他の箇所で二重で対策することになるものが出てくるかも知れません。しかし肝心なことは、⁠たとえ代替の対策であっても、システム全体で該当の脅威に漏れなく確実に対処できることです。

データベース以外で行うセキュリティ対策例

以下に、データベース以外で行うセキュリティ対策の例をいくつか挙げます。

  1. 物理的対策
    DBサーバは安全な場所に設置
    施錠された安全な場所に設置することで、DBサーバ本体やデータが格納されているハードディスクなどの物理的盗難や破壊などを防ぎます。
    DBサーバ設置場所への入退室時の適切な認証・認可
    DBサーバ設置場所への入室が許可されていない者の入室を防ぎます。
  2. ネットワークでの対策
    安全なネットワークへの接続
    DBサーバは内部セグメントに設置し、外部から直接接続させないようにすることで、インターネットからの不正アクセスやウイルス/ワームなどからの攻撃を防ぎます。
    ファイアウォールやルータなどによる接続制限
    DBサーバへの直接的なアクセスを防ぐため、ファイアウォールやルータなどのネットワーク機器を導入し、適切に接続元の制限設定を実施することで、許可されていない端末からのアクセスを防ぎます。
    通信の暗合化
    通信は暗合化し、盗聴されても通信内容がわからないようにします。
    ネットワークの不正アクセス監視
    ネットワーク機器によりネットワーク上を監視し、不審な行動を検知・通知することで、外部からの不正アクセスを防ぎます。
  3. OSでの対策
    必要最小限のOSアカウント
    不要なアカウント(退職者のアカウントや不要な共有アカウントなど)を利用した不正アクセスを防ぎます。
    必要最小限の権限付与
    業務上必要のない権限を利用した重要ファイルへのアクセスや改ざんなどを防ぎます。
    OSアカウントのパスワードの複雑化
    OSアカウントのパスワードを複雑化することで、許可されていない者がOSにログインすることを防ぎます。
  4. アプリケーションでの対策
    セキュアなアプリケーションの利用
    セキュリティ対策が施されているアプリケーションを利用することで、アプリケーションの不備を利用したデータベースへの不正アクセスや情報漏洩などを防ぎます。
    アプリケーションアカウントのパスワードの複雑化
    アプリケーションアカウントのパスワードを複雑化することで、許可されていない者がシステムにログインすることを防ぎます。
  5. 人的対策
    ポリシーの策定
    セキュリティポリシーを策定することで、ルールに基づいてデータベースがセキュアに管理・運用されるようになり、システム全体のセキュリティレベルが向上します。
    セキュリティ教育
    社員や協力会社社員、アルバイトなどに対してセキュリティ教育を実施することで、犯行の抑止につながります。
    職掌分離
    特定の人物に重要な役割を集中せず、複数人に分担することで相互牽制が成り立ち、犯行の抑止につながります。
    複雑なパスワードの利用
    システム利用者が自発的にもしくは、ポリシーに従って複雑なパスワードを利用することで、アカウントが不正利用される可能性を低減します。

以上の対策も、データベース以外で実施すべき非常に重要な対策です。いくらデータベースでセキュリティ対策を設計・実施しても、それ以外の対策を怠ったために情報漏洩が起きてしまったのでは、元の木阿弥です。

そのような片手落ちのないよう、データベース以外で実施すべき対策も十分考慮して、データベースセキュリティ対策を設計・実施してください。

次回は、運用で実施する対策とセキュリティレベルを維持するための運用について解説します。

なお、弊社ラック/データベースセキュリティ研究所では、実施すべき対策を網羅した「セキュアDBマトリクス」を公開していますので、こちらもご覧ください。

セキュアDBマトリクス
http://www.lac.co.jp/business/laboratory/dbsl/matrix/index.html

おすすめ記事

記事・ニュース一覧