サービスおよびサービス アカウントのセキュリティ計画ガイド

第 3 章 - サービスのセキュリティを保護して実行する方法

最終更新日: 2006年2月1日

ダウンロード

サービスおよびサービス アカウントのセキュリティ計画ガイド (英語)

この章では、‏‏‏‏‎‎‎‎‎ここまでの章で説明したアプローチと原則を使用して、サービスのセキュリティを保護する計画を立てるときに従う必要のある作業について説明します。

サービスのセキュリティを保護するには、次の作業を行う必要があります。

  • すべてのサーバーを監査してサービスに不可欠なプロパティを判断する。

  • 実際に実行する必要のあるサービスを判断する。

  • サービスのすべてのドメイン管理者アカウントを特定して除去する。

  • サービスの展開に最小特権の階層を使用する。

  • ドメイン管理者という例外のためにセキュリティの高いサーバー グループを作成する。

  • サービス アカウントのパスワードの変更を管理する。

  • 強固なパスワードを設定する。

  • 脆弱な管理者パスワードのテストを自動化する。

トピック

すべてのサーバーを監査してサービスに不可欠なプロパティを判断する
実際に実行する必要のあるサービスを判断する
サービスのすべてのドメイン管理者アカウントを特定して除去する
サービスの展開に最小特権の階層を使用する
ドメイン管理者という例外のためにセキュリティの高いサーバー グループを作成する
サービス アカウントのパスワードの変更を管理する
強固なパスワードを指定する
脆弱な管理者パスワードのテストを自動化する

すべてのサーバーを監査してサービスに不可欠なプロパティを判断する

組織内に存在するサーバーの正確な台数を判断する必要があります。この作業は単純に見えますが、大規模組織の場合、組織に配置されている各サーバーを特定することも、各コンピュータに管理を必要とするサービスがどの程度あるのかを判断することも予想以上に複雑な作業になります。たとえば、境界ネットワークで実行されているコンピュータでは、このようなコンピュータが攻撃を受ける範囲を減らすために、非常に高いレベルのサービス管理が必要になります。

各サーバーを監査して実行中のすべてのサービスを一覧し、各サービスで認証に使用されているログオン資格情報を記録します。この作業を支援するために、次のツールを使用できます。

  • Microsoft® Windows Server™ 2003 のシステム情報 : システム情報を使用すると、ローカル コンピュータや他のリモート コンピュータのすべてのサービスのプロパティの包括的な一覧を表示できます。ただし、この方法は拡張性がないので、多数のサーバーの監査が必要な場合には適していません。このツールにアクセスするには、[スタート] ボタンをクリックし、[すべてのプログラム]、[アクセサリ]、[システム ツール] を順にポイントして、[システム情報] をクリックします。

  • サービス管理コンソール : サービス管理コンソールでは、サービスのプロパティ ページの [ログオン] タブを使用して、サービスがログオン時に認証用に使用するアカウントを確認できます。また、[依存関係] タブを使用して、現在のサービスが依存しているサービスと、現在のサービスに依存しているサービスを確認することもできます。依存関係データはサーバーの監査時に収集が不可欠な情報です。ただし、この方法には拡張性がないので、多数のサーバーの監査が必要な場合には適していません。

  • Windows Management Instrumentation (WMI): WMI を使用して、すべてのサーバーで実行されているサービスに関する情報を取得できます。Windows スクリプト ホストなど、プログラミング ツールやスクリプト ユーティリティで WMI を使用すると、コンピュータの多くの側面に関する構成の詳細を取得したり、コンピュータに変更を加えることができます。システム プロパティ、システム情報、サービスの [依存関係] コンポーネントなど、WMI に対応している管理ツールがいくつかあります。サービスの [依存関係] では、現在のサービスが依存しているサービスと、現在のサービスに依存しているサービスを確認できます。

  • Windows Management Instrumentation コマンド ライン (WMIC): WMIC には WMI への単純なコマンド ライン ツール インターフェイスが用意されており、Windows オペレーティング システムを実行するリモート コンピュータを管理できます。WMIC は既存のシェルやユーティリティ コマンドと相互運用するので、スクリプトや他の管理指向のアプリケーションを使用して容易に拡張できます。

    たとえば、「wmic service get」とコマンドを入力して、指定したサービスのすべてのプロパティに関する情報を取得できます。この情報には、次の項目が含まれます。

    • Description

    • DisplayName

    • ErrorControl

    • InstallDate

    • PathName

    • ProcessId

    • StartMode

    • StartName

    • Status

    構文例 :

    SERVICE GET Name,DisplayName,ProcessId,Started, StartMode,StartName

    「wmic service list brief」とコマンドを入力して、インストールされているすべてのサービスの基本プロパティの一覧を取得できます。一覧には次の項目が含まれます。

    • ExitCode

    • Name

    • ProcessId

    • StartMode

    • State

    • Status

    WMIC がインストールされた任意のコンピュータから WMIC を使用して、WMI を実行するすべてのリモート コンピュータを管理できます。管理対象のコンピュータに WMIC をインストールする必要も、WMIC をリモート管理用に実行しておく必要もありません。コンピュータをリモートに管理するには、/node:<computername> コマンドを使用する必要があります。このコマンドは、指定したコンピュータを情報の取得元となるノードの一覧に追加するよう要求しています。

    構文例 :

    注 : 次のコードは、読みやすさを考慮して複数行で表しています。実際に使用するときは、1 行で入力してください。

    `WMIC /NODE:Server1,Server2,Server3 SERVICE GET Name,DisplayName,ProcessId,Started,StartMode, SystemName`
    

    また、WMIC を使用して操作を実行するリモート コンピュータの一覧が含まれるテキスト ファイルの場所を指定することもできます。

    構文例 :

    `WMIC /NODE:@"C:\MyServerList.txt" SERVICE LIST BRIEF`
    

    WMIC は次のような一般的なシナリオで使用すると作業が容易になります。

    • コンピュータのローカル管理 : 作業中のコンピュータを WMIC コマンドを使用して管理します。

    • コンピュータのリモート管理 : あるコンピュータで作業中に、WMIC を使用して別のコンピュータを管理します。

    • 複数のコンピュータのリモート管理 : あるコンピュータで作業中に、WMIC を使用して 1 つのコマンドで複数のコンピュータを管理します。

    • リモート セッションを使用したコンピュータのリモート管理 : Telnet やターミナル サービスなどのリモート セッション テクノロジを使用してリモート コンピュータに接続し、WMIC でそのコンピュータを管理します。

  • 管理スクリプトを使用した自動管理 : WMIC を使用して 1 つの管理スクリプトを記述し、コンピュータの管理を自動化できます (管理対象のコンピュータはローカル、リモート、複数のいずれでもかまわず、複数のコンピュータの場合は順番に管理することも同時に管理することもできます)。

    WMI の詳細については、「[WMI: Introduction to Windows Management Instrumentation https://www.microsoft.com/japan/technet/archive/prodtechnol/sms/smsv4/smsv4_library/29114ab2-70c3-4941-9eff-d3eb5ef762db.mspx?mfr=true)」
    https://www.microsoft.com/japan/technet/archive/prodtechnol/sms/smsv4/smsv4_library/29114ab2-70c3-4941-9eff-d3eb5ef762db.mspx?mfr=true および「Windows Management Instrumentation (WMI) の概要」 (https://technet2.microsoft.com/WindowsServer/ja/Library/03d4cfdf-bc6b-41cd-8154-462cf51e8c701041.mspx) を参照してください。

  • その他のエンタープライズ管理ツール : 他にも監査に使用できる管理ツールがいくつかあります。その一部を以下に示します。

    • Microsoft Systems Management Server

    • Tivoli

    • OpenView

    • Lieberman Software Service Account Manager

サーバーおよび各サーバーのサービスのマスタ一覧を作成すると、サービス関連のセキュリティ リスクを特定して対処するために有効です。

監査を使用して、次のアカウントを使用するすべてのサービスのインベントリを作成できます。

  • ドメイン管理者特権を持つドメイン ユーザー アカウント

  • 複数のサーバーで使用される 1 つのドメイン ユーザー アカウント

ページのトップへ

実際に実行する必要のあるサービスを判断する

最初に Windows Server 2003 をインストールするときに、オペレーティング システムにより、いくつか既定のサービスが作成され、それらのサービスはコンピュータの起動時に実行されるように構成されます。『脅威とその対策ガイド』に付属している Microsoft Excel ブック "Windows Default Security and Services Configuration" には、すべてのシステム サービスに対する既定のスタートアップの種類の設定が記載されています。

これら既定のサービスは、アプリケーションやクライアントの互換性を提供したり、システムの管理を容易にします。ただし、この中には組織の環境によっては不要なサービスもあります。必要なサービスを慎重に評価してください。

必要なサービスと無効にするサービスを定義することは、複雑なプロセスになる可能性があります。明らかに無効にすべきサービスもありますが、その他のサービスについては無効にしてよいか明確には判断できません。そこでお勧めする基本戦略は次のとおりです。

  • 使用する具体的な理由がないサービスは無効にします。

  • 今後使用する必要が生じると考えられるサービスは、必要になるまで無効にします。

コンピュータで実行する必要のあるサービスは、コンピュータの役割によって大きく異なります。たとえば、アプリケーション サーバーなど、インターネット インフォメーション サービス (IIS) が必要な Web サーバーやコンピュータには、IIS のみをインストールします。サーバーでリモート アクセス サービスや Telnet セッションをホストする場合を除き、それらのサービスは無効にするか削除します。システム管理ツールなどのソフトウェアには、コンピュータで実行する独自のサービスを追加するものがあります。追加される独自のサービス、各サービスがログオンに使用するアカウント、各サービスに必要なアクセス レベルについて把握しておくことが重要です。

マイクロソフトでは、コンピュータの役割に基づいて、コンピュータをロックダウンする方法に関するガイドをいくつか公開しています。これらのガイドは、ドメイン コントローラ、Web サーバー、Windows XP クライアントなどの特定の役割に必要なサービスについて説明しており、次の場所から入手できます。

テスト環境や稼動前の環境では、サービスが必要かどうかを判断する際に、そのサービスを無効にし長期にわたってコンピュータを監視することで、作業上問題があるかどうかを確認できます。ただし、一部のサービスは、サービス コンソールで停止することや、スタートアップの種類を変更することが許可されていないので注意が必要です。このようなサービスには、Remote Procedure Call (RPC) サービスや Plug and Play サービスがあります。また、サービス コンソールで停止することが許可されていない場合でも、スタートアップの種類を変更できるサービスもあります。Event Log サービスや Security Accounts Manager などがこれにあたります。

特定のサービスで何が実行されるかが明確でない場合は、次のいずれかの方法を使用して詳細情報を入手してください。

  • 脅威とその対策ガイド』の第 7 章「システム サービス」に記載されているサービスの詳細な説明を参照します。このガイドは、https://go.microsoft.com/fwlink/?LinkId=15160 からダウンロードできます。

  • サービスの説明を読みます。説明を表示するには、サービス コンソールを開き、対象のサービスを見つけて右クリックし、[プロパティ] をクリックします。

  • セキュリティの構成ウィザードを使用してサービスの説明を取得します。

セキュリティの構成ウィザードは、Service Pack 1 (SP1) を適用した Windows Server 2003 で提供されます。このウィザードは、実行する必要のあるサービスの分析を支援します。

セキュリティの構成ウィザードを使用して攻撃を受けやすい範囲を減らす

セキュリティの構成ウィザード (SCW) を使用すると、攻撃の脆弱性を最小限に抑えるためのセキュリティ ポリシーを記述しながら、Microsoft Windows を実行するサーバー (Web サーバーやドメイン コントローラなど) を機能要件に基づいてすばやく簡単に構成できます。SCW をインストールするには、コントロール パネルを開き、[プログラムの追加と削除] をダブルクリックし、[Windows コンポーネントの追加と削除] をクリックします。次に、[Windows コンポーネント] ページの [コンポーネント] ボックスの一覧で [セキュリティの構成ウィザード] チェック ボックスをオンにし、[次へ] をクリックします。ウィザードが完了したら、[完了] をクリックします。この処理により、[セキュリティの構成ウィザード] ショートカットが [管理ツール] フォルダに追加されます。

セキュリティの構成ウィザードでは、組織のサーバーで現在実行されているサービスと、各サービスが他のどのサービスに依存しているかを確認できます。また、このウィザードは、新しいサーバーを展開するときに、どのサービスが必要かを判断することも支援します。SCW によって生成されたポリシーはグループ ポリシーを使用して展開できます。グループ ポリシーを使用することにより、組織単位 (OU) や OU 階層内の数台の類似コンピュータに特定のサーバーの役割を同時に展開できます。

"サーバーの役割" という用語は、コンピュータが組織で実行する主要な機能を定義するものです。サーバーの役割には、ファイル サーバー、ドメイン コントローラ、Web サーバーなどがあります。必要なサービス、受信ポート、および設定は役割ごとに異なるので、作成する SCW のポリシーは、実行する各コンピュータで必要な役割に一致する必要があります。

SCW を使用することで、SP1 を適用した Windows Server 2003 が実行されているコンピュータでの攻撃を受けやすい範囲を減らすことができます。このウィザードでは、指定したサーバーで実行される役割に基づいたセキュリティ ポリシーを手順に従って作成します。作成したポリシーは、1 台または複数の類似構成のサーバーに適用できます。

SCW は次のセクションで構成されています。

  • 役割に基づくサービスの構成

  • ネットワーク セキュリティ

  • レジストリの設定

  • 監査ポリシー

  • インターネット インフォメーション サービス (サーバーの役割として [Web サーバー] が選択されている場合のみ表示されます)

このガイドの目的には、ウィザードの [役割に基づくサービスの構成] セクションだけが関連します。ウィザードのこの部分では、選択したサーバーの役割とその他の機能に基づいてサービスを構成します。

作成するセキュリティ ポリシーは、選択したサーバーにインストールされている役割に基づきます。選択したサーバーをポリシーの適用先にしたり、選択したサーバーをポリシーの作成手段として使用して、同様の役割を担うサーバーのグループに、作成したポリシーを適用できます。

セキュリティの構成ウィザードのしくみ

SCW では、サーバーの機能要件を判断するために用意された一連の質問をユーザーに問いかけることで、Windows が実行されているサーバーでの攻撃を受けやすい範囲を減らすことができます。その後、サーバーによって実行される役割に不要な機能を無効にします。基本的なセキュリティのベスト プラクティスに加えて、攻撃を受けやすい範囲を減らすことにより、Windows 環境の多様性が向上し、脆弱性が露呈したときにすぐに更新する必要があるコンピュータの台数が減ります。

SCW では、Windows Server 2003 に関してよく寄せられる、「どのサービスを無効にできますか」という質問に回答します。

インストールされるテクノロジは、Windows ベースのコンピュータに存在する可能性のある依存関係の階層ごとに数千とおりの組み合わせが考えられるので、今まではこの質問に回答するのが困難でした。Microsoft Exchange Server や SQL Server™ といった他のサーバーを追加すると、依存関係がまた変わります。SCW ではこの問題に対処します。サーバーに割り当てられた役割に必要なサービスのみを実行するようにサーバーを構成する方法が管理者に提示されます。SCW では、Windows Server 2003、および Windows Server 2003 で実行されるマイクロソフト製品に関して必要なデータが含まれる XML (Extensible Markup Language) データベースにアクセスすることで、これを実現しています。

セキュリティの構成ウィザードの利点

SCW を使用して機能的な役割を選択すると、次のことが自動的に行われます。

  • 不要なサービスを無効にします。

  • 不要な IIS Web 拡張を無効にします。

  • 未使用のポートをブロックします。

セキュリティの構成ウィザードの制限事項

SCW は LM 認証レベルやサーバー メッセージ ブロック (SMB) の設定をロックダウンしませんが、前述の Windows Server 2003 と Windows XP のセキュリティ ガイドにはこれらの設定の推奨事項が記載されています。

ページのトップへ

サービスのすべてのドメイン管理者アカウントを特定して除去する

サーバーの監査結果の情報を使用すると、サービスに使用されている可能性のあるすべてのドメイン管理者アカウントを特定して除去できます。ドメイン管理者アカウントを使用するサービスのうち、できるだけ多くのインスタンスを除去することが、サービスのセキュリティを設定するうえで重要な最初の手順になります。次のセクションに記載する、Local Service アカウント、Network Service アカウント、ローカル システム アカウントを使用するサービスは、できる限り再展開してください。

組織では、次のアカウントを使用したサービスの展開を排除する必要があります。

  • サービスとしてログオンする、管理者と同等の特権を持つユーザー アカウント

  • サービスとしてログオンする、ビルトイン管理者アカウント

  • セキュリティの低いサーバーにサービスとしてログオンする、ドメイン管理者アカウント

ページのトップへ

サービスの展開に最小特権の階層を使用する

サービスの実行には、必要最小限の特権しか持たないアカウントを使用する必要があります。高いレベルの特権を持つアカウントを使用して展開されているサービスを、低いレベルの特権しか持たないアカウントで再展開してください。

最小特権の階層では、アカウントを次の順序で使用する必要があります。

  1. Local Service: このアカウントは、ローカル システム アカウントに似ていますが、ローカル コンピュータには最小限の特権しかありません。Local Service アカウントでログオンするサービスは、匿名の資格情報で NULL セッションを使用してネットワーク リソースにアクセスします。このアカウントの特権は、サービスの操作が成功するために必要な特権のみに制限する必要があります。

  2. Network Service: このアカウントは、ローカル システム アカウントに似ていますが、ローカル コンピュータには最小限の特権しかありません。Network Service でログオンするサービスは、コンピュータ アカウントの資格情報を使用してネットワーク リソースにアクセスします (この資格情報では、コンピュータが <domain_name\computer_name>$ として参照されます)。このアカウントの特権は、サービスの操作が成功するために必要な特権のみに制限する必要があります。

  3. 一意のユーザー アカウント : サービスを一意のユーザー アカウントで実行する必要があるのは、Local Service または Network Service で実行できない場合だけです。一意のローカル ユーザー アカウントを使用するのは、ローカル コンピュータで特権が必要なサービス (IIS や SQL Server など) を実行する場合だけに限定してください。ただし、Systems Management Server や Microsoft Operations Manager など、配布先コンピュータで実行する必要があるアプリケーションでは、一意のドメイン ユーザー アカウントを使用する必要があります。また、ネットワーク リソースへのアクセスが必要なアプリケーションでも一意のドメイン ユーザー アカウントが必要になります。一意のドメイン ユーザー アカウントが必要なアプリケーションでは、アプリケーションごとに別のアカウントを使用してください。たとえば、複数の ASP.NET アプリケーションを実行する場合、各アプリケーションが独自の一意ユーザー アカウントを使用していることを確認してください。一意のユーザー アカウントの特権は、サービスの操作が成功するために必要な特権のみに制限する必要があります。サービスの構成で使用される一意のアカウントには追加の管理特権を割り当てることができますが、必要な場合だけにしてください。一意なアカウントのグループ メンバシップも必要なグループだけに制限してください。一意のユーザー アカウントはセキュリティの高いパスワードの使用を規定する組織のポリシーに準拠している必要があります。複数のコンピュータで同じサービスまたは関連サービスを使用する場合、一意のユーザー アカウントごとにそのパスワードも一意にする必要があります。

  4. ローカル システム : ローカル システム アカウントでログオンするサービスには、ローカル コンピュータに強力な特権があり、ネットワークにコンピュータの資格情報 (<domain_name\computer_name>$ として参照されます) を提示することに注意してください。このアカウントの特権は、サービスの操作が成功するために必要な特権のみに制限する必要があります。

  5. ローカル管理者アカウント : ローカル管理者アカウントでサービスを実行するのは、Local Service アカウント、Network Service アカウント、一意のドメイン ユーザー アカウント、またはローカル システム アカウントで実行できない場合だけにしてください。ローカル管理者で実行するサービスを降格させるために、ローカル ユーザー アカウントを使用して、特定の必要な特権を追加したりシステム アクセス制御リスト (SACL) のエントリを変更したりできます。不明な脆弱性があるサードパーティ製サービスは、コンピュータの管理者で実行するのではなく、これらのアプローチのいずれかを使用することを強くお勧めします。また、環境内で最小限の特権しか与えていないサービスを評価と購入プロセスの中核にすることによって、ソフトウェア ベンダに最小特権のサービスの重要性を知らせる必要もあります。さらに、ソフトウェア ベンダがサービスを管理者アカウントで実行することを安易に認めないよう注意を促してください。サービスが実際にアクセスする必要のあるリソースとそのリソースに必要なアクセス許可のレベルについては、ベンダにガイダンスを提供する必要があります。サービスが構成されるコンピュータでは、アカウントにローカル管理者特権のみを割り当ててください。ただし、必要がなければ割り当てる必要はありません。ローカル管理者アカウントはセキュリティの高いパスワードの使用を規定する組織のポリシーに準拠している必要があります。複数のコンピュータで同じサービスまたは関連サービスを使用する場合、各コンピュータのローカル管理者アカウントのパスワードも一意にする必要があります。

  6. ドメイン管理者アカウント : ドメイン管理者アカウントでサービスを実行するのは、セキュリティのシナリオとしては最悪です。組織は、このような状況をすべて取り除くように働きかける必要があります。このアプローチを使用する場合、このシナリオ内のすべてのコンピュータをセキュリティの高いサーバーとして管理し、それらのコンピュータをドメイン コントローラや他の高い価値のネットワーク資産と同じ方法で保護する必要があります。次のセクションでは、セキュリティの高いサーバーについて詳しく説明します。

次のフローチャートは、サービスのセキュリティを保護して実行するために使用するアカウントの種類を判断するときに考慮すべき点を示しています。

図 3.1: サービス展開の最小特権の階層 全画面表示

ページのトップへ

ドメイン管理者という例外のためにセキュリティの高いサーバー グループを作成する

サービスをドメイン管理者レベルの認証を使用して実行する必要があると判断した場合、唯一必要なことはセキュリティの高いサーバーでそのサービスをホストすることです。セキュリティの高いサーバーには、通常、次のサーバーがあります。

セキュリティの高いサーバー グループの作成に必要な主な手順は次のとおりです。

  1. セキュリティの高いサーバーに指定するサーバーを決定します。

  2. エンタープライズ内の各フォレストにユニバーサル セキュリティ グループを作成します。たとえば、"High Security Servers" という名前を付けます。

  3. 指定のセキュリティの高いサーバーのコンピュータ アカウントを新しいユニバーサル グループに追加します。

  4. 各フォレスト内の各ドメインで、All Domain Admin Accounts などの名前でドメイン ローカル グループを作成し、この新しいグループにドメイン管理者と同等のユーザー アカウントを追加します。

  5. 各フォレスト内の各ドメインで、ドメインレベルのグループ ポリシー オブジェクト (GPO) を作成し、すべてのコンピュータ上のサービスにドメインレベルの管理者アカウントの使用を限定するポリシーを設定します。このポリシーを [サービスとしてログオンを拒否する] および [バッチ ジョブとしてログオンを拒否する] ユーザー権利に設定し、先ほど作成した All Domain Admin Accounts ドメイン ローカル グループにこの GPO に対するアクセス許可を次のように設定します。[許可] 列の [読み取り] チェック ボックスと [グループ ポリシーの適用] チェック ボックスをオンにします。

  6. 各フォレスト内の各ドメインで、各 GPO の High Security Servers グループにグループ ポリシー フィルタを使用して、このグループのメンバがサービスにドメインレベルの管理者アカウントを使用できるようにします。これを行うには、High Security Servers ユニバーサル グループのみに GPO に対するアクセス許可を次のように設定します。[許可] 列の [読み取り] チェック ボックスおよび [拒否] 列の [グループ ポリシーの適用] をオンにします。

High Security Servers ユニバーサル グループのメンバシップを正しく管理するには、グループへの追加を要求する内部ワークフロー プロセスを確立します。このプロセスには、要求したサーバーをグループに追加する場合に、要求と要求に関連付けられたセキュリティ リスクを検証する手順を含める必要があります。ワークフロー プロセスは要求エイリアスに電子メールを送信するという単純なものにできますが、自動処理であることが理想的です。Solution Accelerator for Business Desktop Deployment Enterprise Edition (英語) には、ゼロ タッチ プロビジョニング (ZTP: Zero Touch Provisioning) コンポーネントが同梱されており、このプロセスの自動処理が提供されます。

詳細については、以下のガイドを参照してください。

ページのトップへ

サービス アカウントのパスワードの変更を管理する

サービスにアカウントを割り当てると、サービス コントロール マネージャ (SCM) によって割り当てが行われる前に、そのアカウントの適切なパスワードが要求されます。不適切なパスワードを指定すると、そのアカウントは SCM から拒否されます。

ローカル システム アカウント、Local Service アカウント、または Network Service アカウントを使用するようにサービス アカウントを構成する場合は、サービス アカウントのパスワードを管理する必要はありません。この場合、サービス アカウントの管理は、オペレーティング システムによって行われます。そのため、これらのサービス アカウントについてはパスワードの管理は不要です。

他のサービス アカウントを使用する場合は、SCM によってアカウントのパスワードがサービス データベースに格納されます。パスワードが割り当てられた後は、SCM はサービスデータベース内に格納されたパスワードと Active Directory® ディレクトリ サービスに割り当てられたパスワードが常に一致しているかどうかを確認しません。このため、次のような状況が発生することがあります。

  1. 特定のユーザー アカウントで実行するようにサービスを構成します。

  2. 指定したアカウントで現在のアカウント パスワードを使用してサービスを開始します。

  3. ユーザー アカウントのパスワードを変更します。

  4. サービスは実行されたままです。ただし、サービスが停止すると、SCM では引き続き古い無効なパスワードを使用するので、サービスを再起動できません。この状況は、Active Directory 内のパスワードが変更されても、サービス データベースに格納されたパスワードが変更されないために発生します。

標準のドメイン ユーザー アカウントまたはローカル ユーザー アカウントでサービスを実行する場合、ユーザー アカウントのパスワードが変更されるたびにこれらのサービスのパスワードを更新する必要があります。そのアカウントで実行されているサービス、またはそのアカウントで実行されているサービスが存在するコンピュータが不明な場合は、この作業に長時間を費やすことになります。このようなサービス アカウントの種類とそのパスワードの使用について文書化し、セキュリティが確保された場所に保管してください。大規模組織の場合、暗号化されたデータ ファイルをオフラインで使用して、安全な保管場所にそのファイルを保管する必要があることを示していますが、小規模組織ではおそらく鍵付きの引き出しや金庫に文書を保管する方が適しています。

重要 : Active Directory ユーザーとコンピュータ コンソールまたはローカル ユーザーとグループ コンソールを使用して、Exchange Server や SQL Server などのアプリケーションのサービス アカウント パスワードを変更する場合、アプリケーション インターフェイス内のパスワードも変更してください。

注 : サービス アカウント パスワードの更新作業を自動化するツールを記述する方法の詳細については、「Changing the Password on a Service's User Account」 (https://msdn2.microsoft.com/en-us/library/ms675577.aspx) (英語) を参照してください。

ページのトップへ

強固なパスワードを指定する

組織のネットワーク管理者が強固なパスワードを強制的に適用するよう義務付けてください。ネットワーク管理者はグループ ポリシーのパスワード ポリシーを使用して、一定期間後にパスワードを変更するようユーザーに警告する必要があります。強固なパスワードは 10 文字以上 (15 文字以上が理想) で、大文字と小文字、数字、および記号を組み合わせて指定してください。Windows 2000 Server と Windows Server 2003 では、強固なパスワードを強制的に適用する際に、グループ ポリシーを使用できます。詳細については、「Accounts Passwords and Policies」 (www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/bpactlck.mspx) (英語) および「Windows Server 2003 セキュリティ ガイド」 (https://go.microsoft.com/fwlink/?linkid=14845) を参照してください。

ページのトップへ

脆弱な管理者パスワードのテストを自動化する

組織のネットワーク管理者が必ず自動テスト ツールを使用して、ローカル管理者アカウントの脆弱なパスワードで展開されたサーバーを検出するよう義務付けてください。テストでは、Windows ベースのすべてのコンピュータに存在するビルトイン ローカル管理者アカウントのパスワードの推測を行います。

脆弱なパスワードはネットワーク上で最もよく見られる脆弱性の 1 つです。また、侵入者がコンピュータに管理者としてアクセスする権限を取得し、格納されたサービス アカウントの資格情報に侵入することを最も簡単に行える方法の 1 つになります。

Microsoft Baseline Security Analyzer を使用する

Microsoft Baseline Security Analyzer (MBSA) ツールを使用すると、ネットワーク上のすべてのコンピュータをスキャンし、脆弱なパスワードを検索できます。MBSA の詳細およびこのツールのダウンロード方法については、Microsoft Baseline Security Analyzer (MBSA) の Web サイト (www.microsoft.com/japan/technet/security/tools/mbsahome.mspx) を参照してください。

MBSA ツールでは、すべてのユーザー アカウントが列挙され、次のようなパスワードの脆弱性がチェックされます。

  • パスワードが未設定である。

  • パスワードがユーザー アカウント名と同じである。

  • パスワードがコンピュータ名と同じである。

  • パスワードが "password" である。

  • パスワードが "admin" または "administrator" である。

MBSA によるチェックにより、無効にしたアカウントや現在ロックアウトされているアカウントも通知されます。

MBSA は一覧内の各パスワードを使用して、対象のコンピュータのパスワードを変更しようとします。パスワードが正常に変更されると、MBSA はそのパスワードを使用するアカウントを示します。MBSA はパスワードのリセットや変更を常に行うわけではありませんが、パスワードが単純だったり、セキュリティ リスクを示している場合には報告します。

MBSA は使用中のパスワードのうち、攻撃を受けやすいパスワードの検出を支援しますが、市場で入手できるサードパーティ製オフライン スキャン ツールやアプリケーションのようにパスワードの監査と回復についての完全な機能は提供していないことに注意してください。

注 : MBSA はコンピュータで検出されたすべてのアカウント ロックアウト ポリシーをリセットし、このパスワードの変更作業の途中で個別のユーザー アカウントがロックアウトされないようにします。MBSA はドメイン コントローラとして構成されたコンピュータではこのようなパスワードのチェックを実行しません。

ページのトップへ

目次

ページのトップへ