第3回 データベースアプリケーションのセキュリティ
星野 真理
株式会社システム・テクノロジー・アイ
2005/4/5
EUCアプリケーションで使用するDBユーザー |
EUC(エンドユーザーコンピューティング)アプリケーションの採用は、セキュリティを強化したシステムでは許されません。あらかじめ作成されたアプリケーションを通さず、自分でアクセス方法を決めるということは、すべてのデータをExcelなどに落として持ち出すことも可能になるからです。それ故、この形の処理は慎重に検討を重ねたうえで採用すべきです。
では、この仕組みが採用となった場合のユーザーの分類と権限設定の手順を検討しておきましょう。
- 処理を行う社員ごとにDBユーザーを作成します
- 社員ごとに必要な表とそのアクセス方法(SELECT、UPDATE、INSERTなど)を申請し、上司の許可を得ます
- その書類に基づき権限設定を行います
この仕組みでは、開発時点でのロール決定が難しいため、申請に応じて個人ごとにロールを作成して管理する方が楽でしょう(このような社員は数名、多くても数十人までに絞るという前提です)。
●表示データの必須性
アプリケーションは、必要な情報が必要なタイミングで表示されることが求められます。しかし、その情報が個人データである場合、本当に必要な情報か否か、その表示目的が明らかにならない場合は、表示すべきではありません。セキュリティを意識した表示用のビューを設計して、列を制限することが必要です。
「ビューを使うと遅くなるのでは?」と聞かれることがありますが、ビューを使用したからといってアプリケーションのパフォーマンスに変化はありません。経験上、遅いSQLがビューを使っていたことは確かです。しかし、その原因はビューであるかないかではなく、ビューの基になるSQLそのものが悪いことや、アプリケーションに合っていないビューを無理に使用したため複雑なSQLになったことが原因です。
表示を制限するのは列だけではありません。行も同じです。顧客データはどのように表示するのかを検討すべきです。全件を検索できるアプリケーションは、パフォーマンス的に好ましくないだけでなくセキュリティ的にも好ましくありません。
つまり特定の列では絞り込み条件を入力したときにのみ検索を許すべきです。そのためには、アプリケーションでWhere句の条件入力を強制するようにしましょう。もしくは、自動的に絞り込み条件が付属されるような仕掛けが必要です。Oracleであれば、ファイングレインアクセスコントロールという機能で実装できますが、これはEnterprise Editionで提供される機能です。
ただし、このように列データを絞ったり、行データの表示範囲を制限したりした場合、使いにくいというクレームが発生する可能性もあります。もちろん、使いやすくする工夫は必要ですが、その工夫の結果、セキュリティを弱めることにならないかを必ずチェックしてください。
●LIKE検索は、要注意!
例えば、注文を電話で受け付けるシステムの場合、登録顧客の検索条件にLIKEを使用することで、オペレータは入力文字数を削減することが可能です。しかし、それにより見る必要のない個人データまで検索を許すことになります。
●ソースコードの機密性
ソースコードを見れば、そのシステムのセキュリティの仕組みや、重要な表の名前が判明できる可能性もあります。ソースコードを安全な場所に管理することは必須です。ただし、データベースのストアードプロシージャの場合、DB側に格納されますのでSELECT文を使ってソースコードの検索ができます。必ず、暗号化して格納しましょう。
実装例(Oracleの場合) ラップユーティリティを使用します
この実行により、暗号化したxxxx.plbファイルが作成されます
この実行により、暗号化したソースコードがDBに格納されます |
次回は、既存アプリケーションのセキュリティ強化について検討していきます。
4/4
|
|
Index | |
データベースアプリケーションのセキュリティ | |
Page1 今回の設定 アプリケーション構築の着目点 |
|
Page2 アプリケーション使用における認証の仕組み DBユーザーの分類とその権限設定 |
|
Page3 インターネットアプリケーションで使うDBユーザー イントラネットシステムで使うDBユーザー |
|
Page4 EUCアプリケーションで使うDBユーザー |
関連記事 |
データベースセキュリティの基礎のキソ |
Database Expertフォーラム |
Security&Trust記事一覧 |
- Windows起動前後にデバイスを守る工夫、ルートキットを防ぐ (2017/7/24)
Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。 - WannaCryがホンダやマクドにも。中学3年生が作ったランサムウェアの正体も話題に (2017/7/11)
2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。 - Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (2017/7/10)
代表的なマルウェア解析方法を紹介し、自社のみに影響があるマルウェアを「培養」するために構築した動的解析環境について解説する - 侵入されることを前提に考える――内部対策はログ管理から (2017/7/5)
人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。本連載では、中堅・中小企業が目指すべきセキュリティ対策の“現実解“を、特に標的型攻撃(APT:Advanced Persistent Threat)対策の観点から考える。
|
|