第2回 データベースの認証を総点検
星野 真理
株式会社システム・テクノロジー・アイ
2005/2/17
クイズ:ここが危険だ! 認証編 |
では、ここで問題です。以下に示すシステムにおいて、「危険だ!」とサイレンを鳴らすべきところを5つ指摘してください。
背景
ABC社は、いままでFAXや電話によって注文を受け付け、商品を販売しておりました。同社では最近、販売網の拡大のためにオンラインショッピングサイトを構築しWebを使った受注システムをカットオーバーしました。しかし、社内のデータの流れは特に変化していないため、ユーザーからの問い合わせや苦情に対応するための社内システムは既存のクライアント/サーバシステムを利用しています。
一般社員Aさんの朝
社員Aさんは、会社から支給された自分用のPCにログインします。ユーザー名は個人の名前、パスワードは「ABCDEFG」です。しかし、パスワードの期限切れのためログインができないことに気付きました。そこで社員Aさんは、取りあえずドメインユーザーではないローカルのPCユーザーに接続し、社内システムを使用して作業を始めました。
ABC社の社内システムでは、アプリケーションのショートカットをダブルクリックするとデータベースへの認証画面が表示され、部署ごとに決まっているユーザー名とパスワードを入力すると受注データ確認システムの利用が可能になります。
データベース管理者Bさんの夜
データベース管理者Bさんは、今週はバッチ監視の当番です。そのため毎晩1時にバッチ処理の確認をする必要があります。会社にいなくても監視が行えるように、グローバルIPを使用してTeraTermを使って社内LANへsshで接続します。接続時のユーザー名は「ABC_乱数」、パスワードは「pass_乱数」になっています。このユーザー名とパスワードは、社内のデータベース管理者(DBA)の3人にしか知らされていません。
社内LANに接続した後は、データベース側のシステム管理者としてクライアントツールを起動します。このデータベース側のシステム管理者は、データベース作成時に常に作成される「SYSTEM」という管理ユーザーです。この管理ユーザーのパスワードは乱数になっており社内のDBAの3人にしか知らされていません。
さて、あらためて書くと何か恥ずかしいものもありますが、答えを確認していきましょう。
問題点1:
社員Aさんの会社のPCへのログインに対するパスワードが「ABCDEFG」では簡単すぎます。ユーザー名と個人名とが何らかの関連を持ったシステムであれば、パスワードはできるだけ複雑なものにしてください。
問題点2:
社員Aさんは、会社のドメインに入れなかったのに社内システムが使えてしまいました。こんなことができるなら、クライアントアプリケーションを入手すれば社内アプリケーションが使えるようになります。アプリケーション内でクライアントOSへのログインユーザーを確認し、正しくない場合はログオフさせてください。
問題点3:
社員Aさんは、部署ごとのDBユーザーで接続しています。これは大きな問題です。クライアント/サーバでのユーザー認証においてグループでのユーザー登録はご法度です。
Webアプリケーションを使用したシステムの場合、通常DBユーザー名はアプリケーションサーバの奥底に隠れてしまってユーザーの目に付くことはありません。また、実際のユーザーごとにDBユーザーを作ることは、その数から考えると現実的ではありません。
一方、クライアント/サーバシステムで使用されるユーザーは、アプリケーション起動時にユーザー名とパスワードの入力が必要になります。このユーザー名を部署ごとに同じにしてしまえば部署内でユーザー名とパスワードを共有できますが、これこそが情報漏えいの引き金になるのです。さらに悪いことには、この共有ユーザー名とパスワードが漏えいした場合、原因となった人間の特定ができません。
問題点4:
データベース管理者Bさんは、社外からの作業にグローバルIPを使用しTeraTerm を使ったssh接続を実行しています。この仕組みでは、かつて管理者をしていた人間(異動や退職などさまざまな要因があります)でも、ユーザー名とパスワードを知っていれば社内LANに接続可能です。これは怖いです。
問題点5:
データベース管理者として、インストール時に作成されるデータベース管理ユーザーを日常の管理作業で使用することは、セキュリティの観点から考えれば適切ではありません。一般的にインストール時に作成されるデータベース管理ユーザーは非常に多くの権限を持ちます。しかし、データベース管理作業にこれらのすべての権限が必要というわけではありません。各作業者に必要な権限だけを付与したデータベース管理ユーザーを作成すべきです。
会社のシステムに外部から接続する場合は、SecurIDなどハードウェアベースの動的なパスワードを必要とするシステムが最適です。しかし、SecurIDを導入するには予算から準備していく必要があり、棚上げにされる可能性も高いでしょう。
2/3
|
Index | |
データベースの認証を総点検 | |
Page1 データセキュリティはデータの重要性確認から 認証の重要性 |
|
Page2 クイズ:ここが危険だ! 認証編 |
|
Page3 認証を見直してセキュリティ強度を向上しよう |
関連記事 |
データベースセキュリティの基礎のキソ |
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)対策の観点から考える。
|
|