DBセキュリティの第1歩、アカウント管理と認証
アカウントの管理、運用
(1)不要なアカウントは速やかに削除もしくはロック
不正アクセス者であっても、マルウエアであっても、DBにログインするためにはアカウントが必要です。そこで、アカウントを不正利用されるリスクを軽減するために、業務に必要のないアカウントは、速やかに削除(またはロック)しなければなりません。異動や退職などによって不要となったアカウントは、速やかに削除します。
例えば、DBMSのインストール時に自動的に作成されるデフォルト・アカウントは、既知のアカウントとして広く知られているため、必要がなければ削除やロック、もしくは名称を変更します。ただし、デフォルト・アカウントはDBMSの機能とヒモ付いている場合があるため、DBMSの動作に支障がでないように注意することが必要です。
また、システム改修などによって不要となったアカウントも、忘れずに削除しなければなりません。
(2)長期間使用しないアカウントはロック
テーブルやプロシージャなどのオブジェクト定義用のアカウントや、年次処理に使用するアカウントなど、普段は使用せず特定の用途だけに使用するアカウントは、大抵の場合、特殊で、かつ強力な権限を持っています。このため、使用しない間はロックしておくことで、不正利用されないようにします。
(3)DB管理作業は事前に作業申請
DB管理作業を行う場合は、事前の作業申請を必要とするような運用体制にします。作業申請には「誰が、いつ、どのアカウントで、どんな作業をする」という内容を記載し、管理責任者による承認を受けたうえで作業するようにします。強力な権限を用いた作業を監視することによって、情報資産の保護やDB管理者による不正操作リスクが減ります。作業結果の記録を残すことで、より適切な管理となります。
図2: 作業申請書の例(クリックで拡大) |
(4)定期的な見直し
「アカウントは一度作成したら終わり」ではありません。アカウントに変更が発生した時だけでなく、定期的に見直すことが重要です。
「DB管理者による削除漏れ」や「退職/異動による不要アカウントの削除依頼が忘れられていた」などという場合があります。また、見知らぬアカウントが存在する場合もあります。見知らぬアカウントがあった場合、不正アクセスによって作成された可能性もあります。
(5)外部業者へのアカウントの一時貸し出しルール
DBを運用していくうえで、外部の業者にアカウントを貸し出さなくてはならない場合があります。この場合、部外者にDBへのアクセスを許可するわけですから、万が一のことが起こらないようにルールを決め、厳重に運用します。以下は、その一例です。
- 一時アカウントは、その都度作成し、作業が終了した時点で削除する。もしくは、普段はロックしておき、必要となった時点でロックを解除し、新たにパスワードを設定する。
- 作業には、社員が立ち会う。
- 作業ログを取得する。
認証の重要性
冒頭で「アカウントは、DBへのアクセスを許可された人物や機能(アプリケーション)を識別(Identification)するために使用する」と述べましたが、識別しただけでは、重要情報が詰まったDBにアクセスさせるわけにいきません。
該当するアカウントを使ってログインしようとしている人が、所有者本人かどうかを判断する必要があります(本人確認)。このためのステップが、認証(Authentication)です。
多くのDBMSでは、「パスワード認証」が用いられます。本人を識別するアカウントと、その本人しか知らないことを前提にしたパスワードのペアが、事前に登録されている情報と一致すれば、本人であると判断(認証)し、DBにログインする権限や所定のリソースへのアクセス権限を付与(認可)します。
識別と認証が、不正な目的によって突破されると、DBへのログインを許してしまいます。従って、アカウントの不正利用を防ぐためにも、アカウントとパスワードは厳重に管理する必要があります。中でも、DB管理用のアカウントは、非常に強力な権限を持つため、一般アカウント以上の厳重な管理が求められます。
「認証」と「認可」は、しばしば混同されることがありますが、本来は、以下のステップに分類されます。
- 識別(Identification):
- 接続を試みている人が「誰」であるかを、アカウントの違いによって把握する。
- 認証(Authentication):
- パスワードや指紋などにより、本人であるかどうかを確認する。
- 認可(Authorization):
- 本人確認ができたら、その人に「権限」を与える。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 終わりなきデータベースのセキュリティ対策で押さえるべきポイントとは
- DBセキュリティの第2弾、アクセス・コントロールと権限管理
- 監査ログをいかに取得し活用するか
- 特権ユーザー・アカウントのID管理/アクセス管理
- WordPress コース 2nd Stage を攻略しよう(Linux 仮想マシン編)
- データベース・ファイアウォール導入への不安を解消する、5つの選定ポイントとは
- エンジニアが知っておくべき4つのデータベース攻撃シナリオ
- ownCloud導入はじめの一歩(仮想マシンイメージとCentOS 7のインストール手順)
- Adempiereのインストール
- パスキーでサインインの安全性と利便性の課題を同時に解決