アカウントの管理・運用は、各事業体の実態に合わせる必要があり、対策が難しいですが、その対策に不足があると、セキュリティホールを作り出す一因ともなり得ます。そのため、各種セキュリティガイドラインでは重要な要素として、実施すべき対策が細かく定義されています。
今回は、PCI DSSを例に、アカウントの種類と、アカウント管理の基礎となる考え方を解説します。なお、2024年4月より準拠が必須となるPCI DSS v4.0では、「ユーザアカウント」だけでなく、「アプリケーションおよびシステムアカウント」への対策も、明確に求められるようになりました。
「アカウント」とは、コンピュータシステムを使用するための権利であり、人(ユーザ)またはプロセスに対して発行されます。
「アカウント」と一口に言っても、レイヤー(OS、ミドルウェア、アプリケーション)などの種類およびその権限で、たくさんの組み合わせがあります。そのため、使用しているアカウント全ての種類と権限を把握し、整理することは難しいですが、その整理ができていなければ、適切な管理はできません。
アプリケーション | ユーザアカウント | 特権(管理者権限含む) |
一般権限 | ||
システムアカウント (アプリケーションアカウント) |
特権(管理者権限含む) | |
一般権限 | ||
ミドルウェア | ユーザアカウント | 特権(管理者権限含む) |
一般権限 | ||
システムアカウント | 特権(管理者権限含む) | |
一般権限 | ||
OS | ユーザアカウント | 特権(管理者権限含む) |
一般権限 | ||
システムアカウント | 特権(管理者権限含む) | |
一般権限 |
各レイヤー(OS、ミドルウェア、アプリケーション)のアカウントの中にも、人がアクセスするためのユーザアカウントと、システムがタスクを実行するためのアプリケーションおよびシステムアカウントがあります。本章では、それぞれの特徴を解説します。
人がシステムにアクセスするために用いるアカウントです。一般的にアクセス時にはID・パスワードなどの、使用者を識別、認証するための情報の入力が求められます。
例えば、Windowsにログインする際のアカウントや、Googleにログインするためのアカウントなど、我々が日常的に使用しているものがユーザアカウントに該当します。
システムがタスクを実行するために用いるアカウントです。(以降、総称して「システムアカウント」と表記します。)
例えば、Windowsのタスクマネージャー上で動いていることが確認できる「SYSTEM」、「NETWORK SERVICE」や、Linuxでバッチを実行するためのアカウントなどが該当します。
システムアカウントは、主にシステムのインストール時などに作成され、特定のシステム上のタスクを実行するために使用されます。
システムアカウントは、そのタスクの実行のために強力な権限を持っていることがあり、悪用された場合のリスクが大きくなります。そのため、人によるアクセスができない(ユーザアカウントのように、ID・パスワードを入力してログインすることができない)設定にしておくことが、セキュリティ上推奨されます。
ユーザアカウント、システムアカウントの権限は、一般的に以下の3つに分類されます。
本章では、それぞれの特徴を解説します。
管理者権限とは、システムやネットワーク、アプリケーションを維持・管理するために必要な権限を指します。
管理者権限を持つアカウントは、特定のOSや組織に応じて、「スーパーユーザ」、「root」、「管理者」、「admin」などと呼ばれることがあります。
管理者権限には、以下のようなものがあります。
システム、アプリケーションなど | 管理者権限の名称 |
---|---|
Windows | Administrator |
UNIX/Linux | root |
Oracle | DBA |
AWS | ルートユーザ |
Azure AD | グローバル管理者 |
PCI DSS v4.0での、ユーザアカウントおよびシステムアカウントの管理については、要件7と要件8で言及されています。
本章では、各アカウントの管理・運用に求められている要件をいくつか抜粋して紹介します。
ユーザアカウントの場合、例えば、経費精算システムの承認者用アカウントは、システム自体を制御する権限(管理者権限)は持たないものの、承認権限(特権)は持つなど、業務の範囲に応じて最小限に権限を設定する必要があります。
システムアカウントの場合、例えば、Linuxでバッチを実行するためのシステムアカウントに対しては、その役割を超えた権限を与えないなど、役割に応じた権限で適切なアクセスレベルを設定することが必要になります。
(参考:PCI DSS要件7.2.1、要件7.2.2、要件7.2.5 )
ユーザアカウントの場合、サードパーティ(委託先)やベンダが使用するものを含む全てのアカウントを対象に、権限の見直しを少なくとも6ヶ月に一度行うことが求められています。例えば、使用者の異動・退職などにより使用がなくなるアカウントのアクセス権が付与されたままではないかなどの観点で、全てのアカウントをチェックする必要があります。
システムアカウントの場合、定期的に(各事業体で実施するリスク分析で定義された頻度で)行うことが求められています。
(参考:PCI DSS要件7.2.4、要件7.2.5.1)
システムにログイン後、一般権限アカウント/特権アカウントなどを判別し、必要最小限のアクセス権を管理する必要があります。
この管理を実現するためにアクセス制御システムを導入する必要があります。
また、アクセス制御システムでは、アカウントのアクセス権はデフォルトで「全て拒否」としておく必要があります。
(参考:PCI DSS要件7.3.1、要件7.3.2、要件7.3.3)
基本的にユーザアカウントは共有されることなく、個々のユーザに割り当てることで使用者を特定できる必要があります。
例外的にユーザアカウントを共有する場合や、システムアカウントを人が使用する場合は、使用者が特定できなくなってしまうため、役席者などに承認を得た上で決められた期間に誰が使用したか分かる状態で使用しなければなりません。
(参考:PCI DSS要件8.2.1、要件8.2.2、要件8.6.1)
申請フロー内では、定められた担当者(例:役席者)によって承認が行われる必要があり、割り当てられた権限は職務に必要な範囲で設定される必要があります。
(参考:PCI DSS要件7.2.3、要件8.2.4)
使用者の異動や退職などによりアカウントが不要となる場合は、無効化もしくは削除しなければなりません。
また、定期的にアカウントの棚卸をして、暫く使用していない*アカウントを無効化する必要があります。(*PCI DSSでは90日を超えて使用されていない状況と定められています)
(参考:PCI DSS要件8.2.5、要件8.2.6)
サポートや保守のためにシステムにアクセスする第三者が使用するアカウントは、不正アクセスを防ぐために適切に管理しなければなりません。
(参考:PCI DSS要件8.2.7)
例えばスクリーンセーバー機能を15分以内に設定し、ユーザが再認証して画面のロックを解除する必要があります。
(参考:PCI DSS要件8.2.8)
アカウントの管理・運用は、使用しているアカウントの種類・権限や、使用形態によって必要な対応が変わってくるため、事業体ごとに実施すべき対応は様々です。
また、本記事では触れていませんが、クラウドや特権ID管理ソリューションなどを使用している場合、PCI DSSの一部の要件は、事業体側での対応負荷を軽減できる可能性があります。ユービーセキュアでは、PCI DSS v4.0の準拠支援コンサルティングを提供しており、各事業体に合わせて、要件準拠のために必要な対応のご提案が可能です。なお、PCI DSS以外のセキュリティ規格に準拠するご支援や、社内セキュリティ全般についてのご相談会もございます。ご不安な点があれば、お気軽にお問い合わせください。