データベースには,企業の顧客情報や取引情報など重要なデータが保存されています。そのため,データベースを安全に運用するためには,さまざまなセキュリティ対策が必要になります。特に,Webアプリケーションと連携する場合には,不正なアクセスや攻撃によってデータが漏えいしたり改ざんされたりする危険があります。
データベースセキュリティ=重要データを不正アクセスや攻撃から守るしくみ
Webシステムでは,一般的にWebサーバー,アプリケーションサーバー,データベースサーバーの3つの役割に分けた「Web3層構造」が用いられます。この構造を理解することは,データベースのセキュリティを理解するうえでも重要です。
また,Webアプリケーションを狙った代表的な攻撃としてSQLインジェクション攻撃があります。これは,入力フォームなどに不正なSQL文を入力することで,本来は実行されないSQL文を実行させてしまう攻撃です。
このページでは,データベースのセキュリティの基本として,Webシステムの構成であるWeb3層構造と,SQLインジェクション攻撃の概要についてシンプルに解説します。
データベースセキュリティの重要性
データベースに保存されているデータは,漏えいしたり改ざんされたりすると,大きな被害につながる可能性があるため,対策が必要です。
Webシステムとは(DB セキュリティとの関係)
Webシステムとは,Webの技術を用いて構成したシステムをいいます。
Web3層構造とは
Web3層構造とは,Webシステムのサーバー側の構成を3つの層(Webサーバー,AP(アプリケーション)サーバー,DB(データベース)サーバー)に分け,それぞれを専用のソフトウェアで実装する方式をいいます。詳細は,WWWの基礎まとめ(Webシステム)を参照してください。
SQLインジェクション攻撃対策
SQLインジェクション攻撃とは,Webアプリケーションの入力フォームなどに不正なSQL文を入力して想定外のSQL文を実行させることにより,通常はアクセスが禁止されているデータにアクセスしたり,改ざんしたりする攻撃をいいます。
SQLインジェクション攻撃対策については,「SQLインジェクション攻撃対策の基礎まとめ」を参照してください。
まとめ
今回は,データベースのセキュリティの基礎として,Webシステムの構成であるWeb3層構造と,SQLインジェクション攻撃の概要についてシンプルにまとめました。
理解が進んだら,基本情報技術者試験の過去問題にもチャレンジしてみてください。


