特権IDとパスワードの効果的な運用
5. PSMは、特権IDの操作内容を記録
PSMは、特権IDのセッション情報(操作内容)を記録・再生するオプションです。
例えば、サーバーの定期メンテナンスの際に、担当者が誤って重要なファイルを消去してしまったとします。このことは後日、業務に重大な影響を与えました。原因の追及が行われる段階で、誰がどのような操作を行ったのか、把握することが必要になりました。
PSMは、ユーザーが行った操作内容を、そのまま記録します。例えば、監査を実施する担当者が記録内容をPlay(再生)すれば、操作内容を完全に復元させることが可能で、発生した内容を、容易に把握することができます(図3)。
図3: PSMの画面(クリックで拡大) |
図3の画面は、監査者がRecordingsメニューから、該当するユーザーを選択して、Playを行った際の画面です。この画面からは、以下のような情報を確認できます。
- User -> 操作を行ったユーザー
- From IP、Remote machine -> 接続元と接続先の情報
- Star、End -> 開始時間と終了時間
- Use Name -> 特権IDのアカウント名
図3の例では、ITUser1というユーザーが、10月15日の10時46分17秒から41秒間の間にかけて操作を行ったことが分かります。その操作内容は、Windows標準のMedia Playerで再生し、確認することが可能です。
さらに特権IDを、Aさん、Bさん、Cさんという複数のユーザーが共有していたかも知れません。この場合、システムのログには、Administratorが作業をしたことだけが記録され、実際に会社内の誰が作業を行ったのかは分かりません。担当者に個別にヒアリングする必要があるかも知れません。台帳に記録していたとしても、漏れがあることも否定できません。
PSMが間に入ると、まずは自身のアカウントでPSMに接続した後で、許可された対象のデバイスに接続する、という流れになります。ネットワーク的には、対象のデバイスに直接接続することもできますが、パスワードは自動的に変更されているため、PSMを介さない限り、デバイスには実際には接続できません(図4)。
図4: PSMが中間層となり、デバイスへのアクセス権を制御(クリックで拡大) |
6. AIMはアプリケーションのパスワードを保護。OPMはアクセス制御
実は、特権IDの情報は、さまざまな場所に埋もれています。例えば、Windowsの管理に使っている、定期的に実行するVBScriptの中を見てください。パスワードが見えたりしませんか。しかも、そのIDは管理者権限を持っていたりしませんか。
それは、危険な状態なのです。
リスト1: パスワードが埋め込まれた危険なVBScript
With Pass .Address = "192.168.1.1” .UserName = “DBA” .Content = “Pass123”
DBサーバーなどに定期的に接続して、重要なデータの読み出し/書き込みをするプログラムがあったとします。このプログラムの中には、パスワードが含まれます。このプログラムを開発・実装・展開した時、このパスワードが変更されるのは、一体いつのことでしょうか。
また、UNIX/Linuxにおけるrootアカウントは、何でもできてしまうフル・アクセスの権利を持っています。以前から、rootへの昇格を可能にしてしまうプログラム上の問題点が、多く発見されてきました。最近の一部のUNIX/Linuxでは、システムへのrootログインを直接許可しておらず、sudoなどを利用して一時的に管理者コマンドを利用させるケースもあるかも知れません。しかし、それでも完全ではありません。
これらを解決するのが、AIMやOPMです。
AIMは、WindowsとUNIXに、Providerと呼ばれる専用ソフトがインストールされ、専用のAPIを提供します。このAPIを利用する外部プログラムを開発するための言語環境には、以下のようなものがあります。
- C/C++、Java、CLI、.NET Framework、Visual Basic、VBScript
リスト2: 置き換え後のイメージ
With PassReq .Safe = "Passwords" .Folder = "Root .Object = "App1" .Reason = "Billing application - connect to DB2" End With Set Pass = sdk.GetPassword(PassReq)
Providerは、OS上にサービスとして常駐し、認証情報をキャッシュします。仮に、Vault Serverと呼ぶパスワード情報保管サーバーへの接続が滞るような状況があったとしても、認証を確実に行うことを保証します。
一方、OPMは、実行コマンドを制御します。AIMと同じくエージェントであるProviderが必要となり、アクセス制御とともに、PSMと同様に、操作内容を記録できます。
通常、UNIXには、一般ユーザーでログインし、suを実行後、rootになり、管理者コマンドを実行します。こうした、rootでなければ実行できないコマンドには、例えばuseraddコマンドがあります。
OPMでは、pimsuと呼ぶ専用コマンドを提供しています。これを実行すると、Providerは、コマンドを要求しているユーザーを認証します。こうして、そのユーザーが特権コマンドを実行できるユーザーとして登録されているかどうかを検証します。
検証が無事に成功した後は、OPMが特権IDに代わって、別のプロセスで特権コマンドを実行します。このセッションで発生したすべての操作内容は、監査情報として記録が行われるのです。
クラウドの名の下、インターネット経由でさまざまなサービスを利用するのが当たり前となりました。こうした中、アカウントの使用者が社内の人間なのか外部の人間なのかを特定することが困難になりつつあります。さらに、特権IDがリスクにさらされた場合、その影響は測り知れません。今回紹介した製品サービスの有効活用によって、発生するかもしれないリスクを軽減することができます。