データベースのセキュリティ対策は重要です。データベース内に蓄積しているデータは機密情報や個人情報も含まれるため、情報が漏れてしまうと大きな問題となりかねません。
この記事では、データベースのセキュリティ対策の必要性について説明した後、具体的なセキュリティ対策や、対策を検討する際注意したいポイントについて解説します。
データベースのセキュリティ対策とは
情報セキュリティ対策として、ネットワークやWebアプリケーションなどの対策製品は数多く出回っています。しかし、データベース自体に対するセキュリティ対策はまだまだ進んでいないのが実態です。
データベースにはあらゆる情報が集まっています。「ネットワークやWebアプリケーションなどでセキュリティ対策を行っていれば問題ないのではないか」と思う人がいるかもしれません。そこで、なぜデータベース自体もセキュリティ対策が必要なのかという点から考えていきましょう。
データベースのセキュリティ対策が必要な4つの理由
データベースも、さまざまな理由でセキュリティ対策が必要です。その具体的な理由を、4点にまとめて解説します。
1、個人情報や機密情報の漏えい
企業でITシステムを利用している場合、データベースには個人情報や機密情報が数多く含まれていることがほとんどです。何らかの商取引を行い、システムで管理しているなら顧客との取引履歴、製品やサービスの価格・仕様等のデータ、顧客情報などは、一般的にデータベース上で管理します。
データベースは、確かにネットワークやWebアプリケーションなどの裏側にあり、外部から攻撃しにくいかもしれません。
しかし、年々サイバー攻撃は巧妙化しており、ネットワークやWebアプリケーションを通過してデータベースが攻撃されるケースもあります。例えば、SQLインジェクションという攻撃は、Webアプリケーション内で利用しているデータベースを直接狙った攻撃です。
また、外部からの攻撃は防御できても、内部からデータが漏れる可能性もあります。データベースのセキュリティを検討する際は、外部はもちろん内部からの攻撃を予測して対策を行わなければなりません。
2、内部統制の必要性
内部統制とは、企業で働く全従業員が守るべきルール・仕組みのことです。全従業員の中には、正社員だけでなく、事業に携わる人全員が含まれます。
内部統制にはIT関連の統制も定められており、「IT業務処理統制」と「IT全般統制」の2種類があります。
IT業務処理統制とは、業務システムの処理内での不正を防止する目的で、処理の流れや内容を統制することです。一方、IT全般統制とは、業務用のIT環境(インフラのこと)の不正を防止するための統制です。データベースのセキュリティ対策は、インフラなので「IT全般統制」に分類されます。
業務システムをIT業務処理統制で統制していたとしても、データベースのセキュリティ対策がなければ、機密情報が容易に盗まれることは想像できるケースです。結果として、内部統制の報告にも支障が出たり、社会的な信用を失うなどのダメージを受けたりすることが考えられます。
3、職責を超えて必要以上のデータにアクセスできる
職責を超えて、顧客情報や財務関連のデータにアクセスできると、さまざまな問題が発生します。特に、データベースのアクセスが簡単だと、目先の金欲しさにさまざまな内部犯行が発生するリスクが高まります。
だれでもデータベースにアクセスできると、顧客情報や製品の機密情報を抜き出して売り飛ばす、給与関連の情報を操作して不正を隠ぺいするなどの不正も可能です。
データベースのDBAロールは、慎重に付与しなければなりません。システム開発者は、強い権限のテストもしなければならないため、DBAロールが必要となる場合もあります。この場合は、本番環境ではなくテスト環境のみにするなどの対策が必要です。
4、既存のセキュリティ対策だけでは不十分
従来は問題のなかったセキュリティ対策でも、日々進化するサイバー攻撃やウイルスなどの影響もあり、常に安全とは言い切れない状況です。これまでデータベースは安全だからといって、将来もずっと安全とは言えません。データベース自体のセキュリティ対策も考える必要があります。
データベースのセキュリティ対策5つ
ここまで解説してきたように、データベースのセキュリティ対策は、外部・内部両方の攻撃に備えなくてはなりません。ここでは、今からでも実施したいデータベースのセキュリティ対策として、5つの方法を紹介します。
1、データ・管理者の監査
データおよび管理者を監査する仕組みを導入しましょう。データベース管理者の操作ログを取得する、データベース管理者とセキュリティ管理者は別の従業員が担当するといった対策は最低限必要です。操作ログを取得して監査を行っていることを全社にアナウンスすることで、内部犯行の抑制効果も期待できます。
2、アクセス制御
適切にアクセス制御を分散することも、データベースのセキュリティ対策につながります。データベースのロール(役割)設定により、ロールごとの操作権限や、アクセスできるデータを制限します。
また、DBAロールに権限を集中させず、ロールによる役割分担をしっかり行うことも重要です。DBAロールを使った内部犯行を局部的に留めることができます。
DBAロールや管理者権限のある初期ユーザの扱いがずさんで初期パスワードを変更せずデータが盗まれるケースもあります。初期設定のユーザは削除するなどの対応を済ませておきましょう。
3、データの暗号化
データベースに格納するデータの暗号化も重要です。ただ、すべてのデータを暗号化すると時間がかかってしまいます。データベースで扱うデータの重要性にランク付けをして、機密性の高い情報は暗号化するなどの対策を講じましょう。
4、データのバックアップ
データベースに格納しているデータのバックアップも重要です。BCP対策(災害などが発生しても最低限の事業を継続できるようにする対策)として、またランサムウェアでデータベースにも被害を受けた場合にはデータを復帰しなければなりません。
もちろん、バックアップデータも暗号化が必要です。どの頻度でどのようにデータのバックアップを行うかは、費用と効果のバランスを考えて計画的に行いましょう。
5、セキュリティパッチの適用
データベース自体も、脆弱性が見つかり、メーカーからセキュリティパッチが提供されることがあります。セキュリティパッチの適用は、サイバー攻撃からデータベースを守る重要な施策です。
データベースを運用する上での注意点
データベースのセキュリティ対策を検討する際、注意したいポイントを2点解説します。
1、3つの観点からセキュリティ対策を考える
データベースのセキュリティ対策に限りませんが、セキュリティ対策は、予防的統制・発見的統制・構成管理の3点を意識して対策してください。データベースのアクセスを予防するだけでなく、不正アクセスを発見・対策する施策、アカウント管理やIT環境の構成を管理する、この3点が重要です。
2、コストと効果のバランスを考える
データベースのセキュリティ対策、特にデータのバックアップは、方法によっては非常に高コストな場合もあります。
ただ、セキュリティインシデント(事故)が発生した場合のダメージを考えると、対策を何もしないわけにもいきません。セキュリティ対策を検討する場合は、コストと効果のバランスも必ず確認してください。
データベースのセキュリティ対策は重要!できるところから始めよう
データベースのセキュリティ対策は非常に重要です。機密情報が漏れてしまうと、最悪の場合企業経営に大きなダメージを受ける可能性もあります。予防的統制・発見的統制・構成管理という3つの観点をバランスよく取り込んだセキュリティ対策を検討しつつ、コストと効果のバランスも確認して対策方法を考えましょう。
データベース製品の中には、セキュリティを強化する機能を持つ製品もあります。データベース製品のセキュリティ機能について確認したい場合は、製品の資料を入手してみてください。