連載
» 2016年02月15日 05時00分 UPDATE

システムインテグレーションとセキュリティ(1):「データベースセキュリティ」の視点から見る「ユーザー管理」「監査証跡(ログ)管理」のポイント (1/3)

システムの開発・運用に携わっているけれど、セキュリティに少し不安がある。そんなシステム担当者の方は多いのではないでしょうか? 本連載「システムインテグレーションとセキュリティ」では、“SI視点”に立って、システム担当者が考慮すべきセキュリティ上のポイントについて、身近な例を取り上げながら分かりやすく解説します。最初のテーマは、「データベースセキュリティ」です。

[中野資久(ラック),@IT]
「システムインテグレーションとセキュリティ」のインデックス

連載目次

SI視点で見るセキュリティ

 昨今、企業や機関への外部からの不正侵入やDDoS攻撃、または内部不正による情報資産の漏えいなど、情報セキュリティに対する脅威が世界的に拡大しています。そのため、システムインテグレーションとセキュリティの関係も、今まで以上に密接になっています。「適切なセキュリティ要件を引き出す」「セキュリティを確保しつつ利便性を大きく損なわないインフラの設計・実装を行う」「脆弱(ぜいじゃく)性を作り込まない設計やプログラミングを行う」といった設計・製造局面での対策はもちろん、「人的な作業負荷を下げつつセキュリティ監査を強化する」など、運用における対策も重要です。

 本連載では、「システムインテグレーションとセキュリティ」をメインテーマとして、「インフラ構築」「アプリ開発」「システム運用」の観点から留意すべきポイントを、筆者自身の経験を基にして解説します。第1回および第2回は、「データベースセキュリティ」をテーマに、ユーザ―管理や監査、暗号化など、データベース構築時に考慮すべきセキュリティ上のポイントについて説明します。なお、それ以降は以下のようなテーマを扱う予定です。

  • イントラネットでのWebアプリ開発のポイント、EUC(エンドユーザーコンピューティング)における注意事項など
  • メールシステムの円滑な運用のポイント、運用業務におけるセキュリティ向上施策など

 いずれの回も、現役のシステムエンジニアが、実体験を踏まえて、顧客事例や“あるある事例”などを交えながら分かりやすく解説を行います。本連載が、SIerやユーザー企業で情報システムに携わる皆さまにとって、身近でためになるものになれば幸いです。

内部犯行を防ぐためのデータベースセキュリティ

 「データベース管理者もアプリケーション開発者も、最高の権限を持つSYSユーザーで作業を行う」「お守り代わりにrootとSYSユーザーを借用しておく」。システム開発・運用の現場で、こんな光景を見かけたことはありませんか? 「そんなのあり得ない」と思われた方は、セキュリティ意識のある方なのでしょう。実際には、こうした慣習が多くの現場でまかり通っています。

 情報漏えい事故は外部からの攻撃よりも、内部犯行によるものが圧倒的に多いといわれています。2014年には、通信教育会社での内部犯行による個人情報流出事件が大きな波紋を呼びました。あのニュースを見て、「決して人ごとではない」と感じたシステム担当者の方も多くいらっしゃるのではないでしょうか。

 「データ破壊」や「Webサイトの改ざん」などのサイバー攻撃を受けたときには、本来とは異なる画面が表示されたり、システム的に普段と異なる挙動が発生したりして、否が応でも被害を目の当たりにすることになります。しかし、内部犯行による情報漏えいは、システム的には「単なるデータのコピー」であり、破壊行為ではありません。犯人(システム従事者)は「作業」という大義名分の下、堂々とデータの持ち出しを行うのです。適切な内部犯行対策を実施していなければ、犯行に気が付くのは至難の業でしょう。

 では、このような内部犯行は、どのように抑止すればよいのでしょうか? また、万が一不正が行われた際には、どうすれば速やかに気付くことができるのでしょうか?

 今回は、セキュリティの観点から見て望ましい「データベースユーザー管理の仕方」と「監査証跡(ログ)の管理の仕方」について考えてみたいと思います。なお、本稿では「Oracle Database 11g」を想定した説明を行いますが、基本的な考え方は他のRDBMSでも変わりませんので、どなたにとっても参考になるはずです。

データベースユーザー管理の勘所

 まず、データベースのユーザー管理について考えましょう。ユーザー管理では、以下の二つの原則を順守する必要があります。

  • ユーザーに不必要に強い権限を与えない
  • 作業は最低限の権限を持ったユーザーで行う

 この原則を守れば、想定外の作業をシステム的に実行できないようにすることができます。特に注意すべきなのは、最高の権限を持つシステムユーザー(SYS)の取り扱いです。SYSユーザーを使えば、当然ながら全ての業務データを自由に閲覧・操作できます。また、一度SYSユーザーを使って、弱い権限のユーザーでも閲覧可能な別テーブルに業務データをコピーすることができれば、常にSYSユーザーが使えない環境であっても、業務データにいつでもアクセスできてしまいます。

 こうした事態を防ぐために、次ページから、ユーザー管理において考慮すべき9つのポイントを紹介します。なお、ポイントの説明の前に、システム担当者の皆さまに認識しておいていただきたいことがあります。それは「作業の利便性とセキュリティはしばしば相反する」ということです。開発効率を優先し過ぎるあまり、何もかもができる権限(DBAロール)を多くのユーザーにまとめて与えてしまうと、セキュリティは大きく低下してしまいます。逆に、セキュリティを優先して各ユーザーの権限を絞れば、複数のユーザーを何度も切り替えて作業を行わなければならないこともあります。大切なのは効率とセキュリティのバランスであり、「セキュリティを確保するためには、多少の“不便さ”を受け入れなければならない」ということを理解しておいてください。それでは、ユーザー管理の9つのポイントを紹介します。

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。