※ 本記事は2017年7月27日に公開されたものです。
お客様のデータベースのセキュリティアセスメントを実施していると、結構な割合のシステムでアプリケーションのユーザーしかないというケースに遭遇します。
第3回「アカウント管理の重要性」でも説明しましたが、「共有ユーザー利用などの匿名性を排除する」ためには、データベースを管理者やクライアントから直接アクセスする利用者の個人アカウントを作成することが重要です。
しかし、管理者や利用者は部署移動や退職によって変わっていきます。
また、本番データベースにデータ移行や一時的にアカウントを作成することもあるでしょう。
既に部署移動や退職した人、一時利用のために作成したアカウントで既に利用していないものが残っているケースをセキュリティアセスメントで見つけることもたびたびあります。データベースユーザーの一覧の見方も第3回「アカウント管理の重要性」で紹介していますが、このリストを見ながら「このユーザーは何のためのユーザーですか?」とヒアリングすると「○○チェックのために依頼されて作成したユーザーです」と説明を受けるのですが、他部門からの依頼のため現在の利用状況を把握できておらず、チェックのために全データにアクセスできる強力な権限が付与されていたこともあります。
12cR1からDBA_USERSビューに追加されたユーザーの最終ログイン時間を格納するLAST_LOGIN列の値を確認することにより、ユーザーが利用されているかどうかを確認することができます。
また、それ以前のバージョンでもパスワードの有効期限が設定されていれば長期間利用されていないユーザーはEXPIREDされ、その時間がEXPIRY_DATE列に記録されます。パスワード有効期限機能を有効にしている場合には、12cより前のバージョンでも長期間利用されていないユーザーが確認できます。
パスワードの有効期限が切れて、EXPIREDのステータスのユーザーでもユーザーを利用し続けることができることは第41回「12cR2でのアカウント管理の強化」でも紹介しました。
NISC(内閣サイバーセキュリティセンター)では、2016年10月7日に近年の標的型攻撃等の高度サイバー攻撃の増加にともない、府省庁や独立行政法人等に向けて「高度サイバー攻撃対処のためのリスク評価等のガイドライン」を公開しました。
このガイドラインの「付随書」の中の「付属書2 標的型攻撃への対処のための対策セット」で高度サイバー攻撃の「攻撃手法」について、「管理者権限アカウント等を窃取しながら、侵入範囲を拡大する」と説明しています。
不要なアカウントが残っている場合、こういった攻撃に使われることもあります。
利用していないユーザーは必ず削除するか、LOCKするようにしてください。
みなさまのシステムでもこの機会に一度ユーザーの棚卸をしてみてはいかがでしょうか?
