連載
「データベースセキュリティ」の視点から見る「ユーザー管理」「監査証跡(ログ)管理」のポイント:システムインテグレーションとセキュリティ(1)(2/3 ページ)
システムの開発・運用に携わっているけれど、セキュリティに少し不安がある。そんなシステム担当者の方は多いのではないでしょうか? 本連載「システムインテグレーションとセキュリティ」では、“SI視点”に立って、システム担当者が考慮すべきセキュリティ上のポイントについて、身近な例を取り上げながら分かりやすく解説します。最初のテーマは、「データベースセキュリティ」です。
ユーザー管理のポイント
- アプリケーション(プログラム)が利用するユーザーと、作業で人が利用するユーザーは別々に用意する
SQLを発行したのが「アプリケーションか人か」を判断できるようにし、監査証跡(ログ)やセッション情報、ユーザー貸出台帳を突き合わせることで、『誰がその操作を実行したのか』を明確化できます - 人が利用するユーザーは外部認証とし、対応するOSユーザーでパスワード管理を行う
ID管理をOS側に任せることで、管理がシンプルになります - 人が利用するユーザーは権限レベルの異なる複数のユーザーを用意する(参照ユーザー、参照更新ユーザー、管理ユーザーなど)
あらかじめ想定していた操作以外を、技術的にさせないようにします - ID管理部門(システム作業者とは違う部門)がユーザーの貸し出しを行う
公正な立場で貸出ユーザーを判断するために当然のことです - 「作業に必要な最低限の権限をもつユーザー」を貸し出す
あらかじめ想定していた操作以外を、技術的にさせないようにします - 使われないユーザーはロックする(導入時に自動的に作成されるユーザーなど)
脆弱性となり得る点は残さないようにします - 実行したSQL文は、監査証跡(ログ)に出力する
不正に気付くため、また不正を抑止するために行います - ユーザープロファイルでパスワードの各種制限を設定する
セキュリティを向上させ、不正アクセスをやりにくくする効果があります - SYSDBA権限でのパスワードなしログインは禁止する
最も強い権限であるがゆえの対策です
以上のポイントを順守して、日頃よりセキュリティを意識したユーザー管理を行うことが重要です。ところで、上記のポイントの中で、「外部認証」について触れています。これは、データベースユーザーの認証を外部サービスで実施する方法です。例えば「XというOSユーザーにログインすることが許可されている人には、データベースユーザーxの使用も許可する」といったものです。OSユーザーXでデータベースに接続すれば、データベース側でのユーザー名・パスワードの入力は不要となります。この仕組みを活用し、OSユーザーXの所属グループを最小限にすれば、セキュリティを確保しつつパスワード管理をOS側に一元化することができ、セキュリティと利便性を両立させることができます。
以下は、外部認証を使ったOracle Databaseへのログイン実行例です。
$ whoami X ←OSユーザーXで接続中 $ sqlplus / ←Oracleユーザー名、パスワードの入力は不要 SQL> show user SQL> x ←OSユーザーXに対応したOracleユーザーxで接続できる
Copyright © ITmedia, Inc. All Rights Reserved.