1 人のうち 1 人が役に立つと評価しました    - このトピックを評価する

管理者アカウント セキュリティ計画ガイド

第 3 章 - 管理者アカウントのセキュリティを強化するためのガイドライン

公開日: 2005年7月6日

この章では、管理者アカウントのセキュリティを強化するための一般的な推奨事項のガイドラインの一部について説明します。 このガイドラインは、「第 2 章 - 管理者アカウントのセキュリティを強化するためのアプローチ」で既に説明した原則に従ったものです。

管理者アカウントのセキュリティを強化するためのガイドラインの概要

Active Directory® ディレクトリ サービスを新しくインストールすると、各ドメインに Administrator アカウントが必ず作成されます。 既定では、このアカウントを削除またはロックアウトすることはできません。 Microsoft® Windows Server™ 2003 では、Administrator アカウントを無効にすることはできますが、コンピュータをセーフ モードで起動すると自動的に再有効化されます。

悪意のあるユーザーはコンピュータへの侵入を試みる場合、通常は有効なアカウントを見つけることから始め、見つけたらそのアカウントの権限を昇格させることを試みます。 Administrator アカウントのパスワードを入手するために、パスワードを推測するさまざまな手法を用いることもあります。 このアカウントが標的にされるのは、権限が強力でロックアウトされないためです。 また、攻撃者にアクセス権を与える悪意のあるコードを管理者に実行させようとする試みも行われます。

ドメイン管理者とエンタープライズ管理者の役割を区別する

エンタープライズ管理者という役割には、フォレスト環境で最高の権限が付与されているため、次の 2 つのうちのいずれかの処置を講じて、その使用には充分に注意する必要があります。 適切に保護された単一のアカウントを作成し、Enterprise Admins のメンバとしてこれを選択します。または、そのような資格情報を持つアカウントは準備せず、その種の権限が必要な承認済みタスクによって要求された場合にのみ、そのようなアカウントを作成します。 そのアカウントでの作業が完了したら、一時的な Enterprise Admins アカウントをすぐに削除します。

ユーザー アカウントと管理者アカウントを別にする

管理者の役割を担う各ユーザーには、2 つのアカウントを作成します。 1 つは一般ユーザー アカウントで、これは電子メールや他のプログラムなど通常の日常的なタスクを実行する際に使用します。もう 1 つは管理者アカウントで、これは管理タスクを行う場合にのみ使用します。 この管理者アカウントでは、電子メールを使用したり、標準的なプログラムを実行したり、インターネットを閲覧したりすることはできないようにしてください。 アカウントごとに固有のパスワードを設定します。 こうした簡単な予防措置を講じておけば、管理者アカウントが外部にさらされる機会が減り、管理者アカウントがコンピュータやドメインにログオンしている時間も大幅に短縮できます。

Secondary Logon サービスを使用する

Microsoft Windows® 2000、Windows XP Professional、および Windows Server 2003 では、現在ログオンしているユーザーとは異なるユーザーとしてプログラムを実行できます。 Windows 2000 では、Run as サービスを使用するとこの機能を利用できます。Windows XP および Windows Server 2003 では、このサービスは Secondary Logon サービスと呼ばれています。 Run as サービスと Secondary Logon サービスは、名前は異なりますが同じサービスです。  

Secondary Logon を使用すると、管理者はコンピュータに管理者以外のアカウントでログオンでき、ログオフしないままで信頼できる管理プログラムを管理者コンテキストで実行して、管理タスクを実施することができます。

Secondary Logon サービスを使用した場合、悪意のあるコードの影響を受けやすいプログラムを管理者が実行することで発生するセキュリティ リスクに対処できます。たとえば、管理者権限でログオンして信頼できない Web サイトにアクセスするような場合です。

Secondary Logon は、主にシステム管理者を対象にしたサービスですが、複数のアカウントを持つユーザーや、ログオフせずに異なるアカウント コンテキストでプログラムを起動する必要のあるユーザーは誰でも使用できます。

Secondary Logon サービスは自動的に起動するように設定されており、ユーザー インターフェイスとしては [別のユーザーとして実行] ツールを、コマンドライン インターフェイスとしては runas.exe を使用します。 [別のユーザーとして実行] では、プログラム (*.exe)、保存されている Microsoft 管理コンソール (MMC) のコンソール (*.msc)、プログラムへのショートカット、およびコントロール パネルの項目を実行できます。 管理者権限のない標準的なユーザー アカウントでログオンした場合でも、画面に従って管理者のユーザー アカウントとパスワードという資格情報を入力すれば、管理者としてこのようなプログラムを実行できます。

[別のユーザーとして実行] を使用すると、他のドメインの管理者アカウントの資格情報がわかっていれば、そのドメインまたはフォレストのサーバーを管理できます。

注 : デスクトップ上の [プリンタ] フォルダ、[マイ コンピュータ]、[マイ ネットワーク] など、一部の項目は [別のユーザーとして実行] を使用して起動することはできません。

[別のユーザーとして実行] を使用する

[別のユーザーとして実行] は、次のようにいくつかの方法で使用できます。

[別のユーザーとして実行] を使用して、ドメイン管理者のアカウント資格情報を使用したコマンド シェルを起動するには

  1. [スタート] ボタンをクリックして、[ファイル名を指定して実行] をクリックします。

  2. [ファイル名を指定して実行] ダイアログ ボックスで、「runas /user:<ドメイン名>\administrator cmd」(<ドメイン名> には使用するドメインの名前を入力します) と入力し、[OK] をクリックします。

  3. <ドメイン名>\administrator アカウントのパスワードを入力するダイアログ ボックスが表示されたら、管理者アカウントのパスワードを入力して Enter キーを押します。

  4. 管理者コンテキストで実行されている新しいコンソール ウィンドウが開きます。 コンソールのタイトルには、「<ドメイン名>\administrator として実行中」と表示されます。

[別のユーザーとして実行] を使用してコントロール パネルの項目を実行するには

  1. Windows XP または Windows Server 2003 の場合は、[スタート] ボタンをクリックして、[コントロール パネル] をクリックします。

  2. 管理者コンテキストで実行するツールまたはプログラム (たとえば、[ハードウェアの追加]) を、Shift キーを押しながら右クリックします。

  3. ショートカット メニューの [別のユーザーとして実行] をクリックします。

  4. [別のユーザーとして実行] ダイアログ ボックスで [次のユーザー] をクリックし、適切なドメイン名、管理者アカウント名、およびパスワードを入力します。たとえば、次のように入力します。

    CORPDOMAIN\Administrator

    P@ssw0rd

  5. [OK] をクリックします。プログラムが管理者コンテキストで実行されます。

[別のユーザーとして実行] を使用して [Active Directory ユーザーとコンピュータ] などのスタート メニュー プログラムを開くには

  1. Windows Server 2003 で [スタート] ボタンをクリックし、[管理ツール] をポイントして [Active Directory ユーザーとコンピュータ] を右クリックします。

  2. ショートカット メニューの [別のユーザーとして実行] をクリックします。

runas.exe 実行可能コマンドライン ユーティリティを使用して、コマンドラインからプログラムを実行したり管理コンソールを起動することもできます。

ローカル コンピュータの管理者としてコマンド プロンプトのインスタンスを起動するには

  1. [スタート] ボタンをクリックして、[ファイル名を指定して実行] をクリックします。

  2. [ファイル名を指定して実行] ダイアログ ボックスで、「runas /user:<ローカル コンピュータ名>\administrator cmd 」と入力します。

  3. [OK] をクリックします。

  4. パスワードの入力を求められたら、コマンド プロンプト ウィンドウに管理者パスワードを入力して Enter キーを押します。

corpdomain ドメインの domainadmin というドメイン管理者アカウントで [コンピュータの管理] スナップインのインスタンスを起動するには

  1. [スタート] ボタンをクリックして、[ファイル名を指定して実行] をクリックします。

  2. [ファイル名を指定して実行] ダイアログ ボックスで、「runas /user:<corpdomain>\<domainadmin> "mmc %windir%\system32\compmgmt.msc"」と入力します。 

  3. [OK] をクリックします。

  4. パスワードの入力を求められたら、コマンド プロンプト ウィンドウにアカウント パスワードを入力して Enter キーを押します。

runas.exe を使用して、スマート カードの資格情報でコマンドラインからプログラムを実行したり管理コンソールを起動することもできます。

スマート カードの資格情報でローカル コンピュータ上の管理者としてコマンド プロンプトのインスタンスを開始するには

  1. [スタート] ボタンをクリックして、[ファイル名を指定して実行] をクリックします。

  2. [ファイル名を指定して実行] ダイアログ ボックスで、「runas /smartcard /user:<localcomputername>\administrator cmd」と入力します。 

  3. [OK] をクリックします。

  4. PIN 番号の入力を求められたら、コマンド プロンプト ウィンドウにスマート カードの PIN 番号を入力して Enter キーを押します。

注 : runas.exe のコマンドライン パラメータとしてパスワードを入力する行為はセキュリティ上安全ではないため、この操作は実行できません。

管理を行う場合は別のターミナル サービス セッションを実行する

[別のユーザーとして実行] は、ローカル コンピュータに変更を加えるとか、基幹業務プログラムの一部を実行する場合に、管理者が使用する最も一般的な方法です。 IT ベースの管理タスクを実行する場合は、管理する必要のあるサーバーにターミナル サービスを使用して接続することができます。 このほうが複数のリモート サーバーを簡単に管理することができ、各サーバーに物理的にアクセスする必要もなくなります。また、この方法を採用すればサーバーでの対話的ログオン権限の必要性もなくなります。 この方法を使用するには、通常のユーザー アカウントの資格情報でログオンし、ドメイン管理者としてターミナル サービス セッションを実行します。 ドメイン管理タスクは、そのセッション ウィンドウ内でのみ実行してください。

既定の Administrator アカウントの名前を変更する

既定の Administrator アカウントの名前を変更すると、このアカウントの権限が昇格していることを明確に示すものがなくなります。 既定の Administrator アカウントでも、攻撃者はパスワードを入手しなければ使用できませんが、既定の Administrator アカウントの名前を変更しておけば、強い権限を入手しようとする攻撃に対する保護をさらに強化できます。 元のユーザー名と同じ書式で架空の姓名を使用するという方法もあります。

注 : 既定の Administrator アカウントの名前を変更しても、ある種の攻撃しか防ぐことはできません。 攻撃者の側から、どのアカウントが既定の Administrator アカウントかを特定することは比較的簡単です。というのも、このアカウントのセキュリティ ID は常に同じものになるからです。 また、グループのメンバを列挙するツールが一般に出回っており、このツールを使用すると、元の Administrator アカウントが常に先頭に表示されます。 ビルトイン Administrator アカウントへの攻撃に対する最善の防御策は、新しい管理者アカウントを作成し、ビルトイン アカウントは無効にすることです。

ドメインの既定の Administrator アカウントの名前を変更するには

  1. Domain Admins グループのメンバ (ただし、ビルトイン Administrator アカウント以外) としてログオンし、[Active Directory ユーザーとコンピュータ] を開きます。

  2. コンソール ツリーで、[ユーザー] をクリックします。

  3. 詳細ペインで [Administrator] を右クリックし、[名前の変更] をクリックします。

  4. 架空の名と姓を入力して、Enter キーを押します。

  5. [ユーザー名の変更] ダイアログ ボックスで、[フル ネーム][名][姓][表示名][ユーザー ログオン名][ユーザー ログオン名 (Windows 2000 以前)] の各値を架空の名前に合わせて変更し、[OK] をクリックします。

  6. 詳細ペインで、今作成した新規アカウント名を右クリックし、[プロパティ] をクリックします。

  7. [全般] タブをクリックします。 [説明] ボックスの「コンピュータ/ドメインの管理用 (ビルトイン アカウント)」という説明文を削除し、他のユーザー アカウントと同じように説明を入力します (多くの組織では、ここは空白のままにしています)。

  8. [OK] をクリックします。

既定のローカル Administrator アカウントの名前を変更するには

  1. ローカル Administrators グループのメンバ (ただし、ビルトイン Administrator アカウント以外) としてログオンし、[コンピュータの管理] コンソールの [ローカル ユーザーとグループ] スナップイン ツールを開きます。

  2. コンソール ツリーで [ローカル ユーザーとグループ] を展開し、[ユーザー] をクリックします。

  3. 詳細ペインで [Administrator] を右クリックし、[名前の変更] をクリックします。

  4. 架空の名と姓を入力して、Enter キーを押します。

  5. 詳細ペインで、今作成した新規アカウント名を右クリックし、[プロパティ] をクリックします。

  6. [全般] タブをクリックします。 [フル ネーム] ボックスに新しいフル ネームを入力します。 [説明] ボックスの「コンピュータ/ドメインの管理用 (ビルトイン アカウント)」という説明文を削除し、他のユーザー アカウントと同じように説明を入力します (多くの組織では、ここは空白のままにしています)。

  7. [OK] をクリックします。

注 : グループ ポリシー オブジェクト (GPO) の設定を使用して、多数のコンピュータの既定の Administrator アカウントの名前を変更するという方法もあります。 ただし、この設定では既定の説明を変更することはできません。 詳細については、マイクロソフト サポート技術情報 816109「[HOWTO] Windows Server 2003 で Administrator アカウント名と Guest アカウント名を変更する方法」を参照してください。

おとりの Administrator アカウントを作成する

おとりの Administrator アカウントを作成すると、セキュリティをさらに強化することができます。 この処置により、Administrator アカウントに対してパスワード攻撃を仕掛けてくる攻撃者の攻撃対象を、特別な権限のないアカウントにすり替えることができます。したがって、名前を変更した Administrator アカウントは、攻撃者によって発見されにくくなります。 このおとりのアカウントにはロックアウトを設定せず、同時に強力なパスワードを設定しておいても、攻撃者による攻撃に時間がかかるようになるため最善の対策となります。 おとりのアカウントを作成したら、そのアカウントが権限を持つセキュリティ グループのメンバでないことを確認し、アカウントの使用状況を監視してログオンの失敗など予期しない結果が発生していないかどうか確認してください。 詳細については、「Securing Active Directory Administrative Groups and Accounts」(英語) を参照してください。

ドメインにおとりの Administrator アカウントを作成するには

  1. Domain Admins グループのメンバとしてログオンし、[Active Directory ユーザーとコンピュータ] を開きます。

  2. [Users] コンテナを右クリックし、[新規作成] をポイントして、[User] をクリックします。

  3. [名] ボックスと [ユーザー ログオン名] ボックスに「Administrator」と入力して、[次へ] をクリックします。

  4. パスワードを入力し、確認のために再入力します。

  5. [ユーザーは次回ログオン時にパスワードの変更が必要] チェック ボックスをオフにして、[次へ] をクリックします。

  6. おとりのアカウントの情報が正しいことを確認して、[完了] をクリックします。

  7. 詳細ペインで [Administrator] を右クリックし、[プロパティ] をクリックします。

  8. [全般] タブをクリックします。 [説明] テキスト ボックスに「コンピュータ/ドメインの管理用 (ビルトイン アカウント)」と入力して、[OK] をクリックします。

おとりのローカル Administrator アカウントを作成するには

  1. ローカル Administrators グループのメンバとしてログオンし、[コンピュータの管理] コンソールの [ローカル ユーザーとグループ] スナップイン ツールを開きます。

  2. コンソール ツリーで、[ローカル ユーザーとグループ] を展開します。

  3. [ユーザー] コンテナを右クリックし、[新しいユーザー] をクリックします。

  4. [ユーザー名] ボックスに、「Administrator」と入力します。 [説明] テキスト ボックスに、「コンピュータ/ドメインの管理用 (ビルトイン アカウント)」と入力します。

  5. パスワードを入力し、確認のために再入力します。

  6. [ユーザーは次回ログオン時にパスワードの変更が必要] チェック ボックスをオフにします。

  7. [作成] をクリックします。

代わりの管理者アカウントを作成し、ビルトイン Administrator アカウントを無効にする

ターミナル サービスを使用して管理を行っていない場合でも、管理者以外のユーザーがサーバーにアクセスできるようになっている場合でも、追加のユーザーを作成して代わりの管理者アカウントとして使用し、これでサーバーを管理すると最善の対策になります。 このユーザーは、Administrators グループのメンバにする必要があります。 代わりのアカウントを作成したら、ビルトイン Administrator アカウントを無効にすることができます。

代わりの管理者アカウントを作成するには

  1. Administrator としてログオンし、[Active Directory ユーザーとコンピュータ] を開きます。

  2. [ユーザー] コンテナを右クリックし、[新規作成] をポイントして、[ユーザー] をクリックします。

  3. [名][ユーザー ログオン名] に「<ユーザー名>」を入力して、[次へ] をクリックします。

  4. 強力なパスワードを入力し、確認のために再入力します。

  5. [ユーザーは次回ログオン時にパスワードの変更が必要] チェック ボックスをオフにして、[次へ] をクリックします。

  6. アカウントの情報が正しいことを確認して、[完了] をクリックします。

  7. 詳細ペインで <ユーザー名> を右クリックし、[プロパティ] をクリックします。

  8. [所属するグループ] タブをクリックし、[追加] をクリックして「administrators」と入力し、[名前の確認] をクリックして、[OK] をクリックします。

  9. 再度 [OK] をクリックして、[プロパティ] ページを閉じます。

ビルトイン Administrator アカウントを無効にするには

  1. 作成した代わりの管理者アカウントでログオンし、[Active Directory ユーザーとコンピュータ] を開きます。

  2. [Users] コンテナをクリックし、ビルトイン Administrator アカウントの名前を右クリックして、[プロパティ] をクリックします。

  3. [アカウント] タブをクリックします。

  4. [アカウント オプション] で下にスクロールし、[アカウントは無効] チェック ボックスをオンにします。

  5. [OK] をクリックします。

警告 : ビルトイン Administrator アカウントを無効にするときは、適切な管理者権限を持つ別のアカウントが存在することを確認してください。 利用できる別のアカウントが存在しないままアカウントを無効にすると、ドメインを管理できなくなり、システムの復元または再インストール操作が必要になる場合があります。

リモートでの管理者ログオンに対してアカウントのロックアウトを有効にする

攻撃者によってビルトイン Administrator アカウントとパスワードの資格情報が使用されるのを防止する対策の 1 つとして、指定した回数のログオンの失敗が発生したらアカウント ポリシーによって管理者アカウントがネットワークからロックアウトされるように設定するという方法があります。 既定では、ビルトイン Administrator アカウントはロックアウトできません。ただし、Microsoft Windows 2000 Server リソース キットのコマンドライン プログラムである passprop.exe を使用すると、管理者アカウントを使用したリモート ログオンのアカウント ロックアウトが可能になります。 passprop ユーティリティを /ADMINLOCKOUT スイッチを付けて実行すると、管理者アカウントはアカウント ロックアウト ポリシーの対象になります。 Windows 2000 Server では、これはリモート ログオンにのみ適用されます。ビルトイン Administrator アカウントはローカル コンピュータからロックアウトできないため、このプログラムを使用した場合、ネットワークを介した攻撃から管理者アカウントを保護することができ、しかも対話的なアクセスは可能なままです。

警告 : Windows Server 2003 では、passprop を使用すると、リモート ログオンだけでなく対話型ログオンでもビルトイン Administrator アカウントをロックアウトできます。

passprop では、次のアカウント ロックアウト スイッチを使用できます。

passprop [/adminlockout] [/noadminlockout]

/adminlockout スイッチによって、Administrator はロックアウトされます。

/noadminlockout スイッチによって、Administrator のロックアウトが解除されます。

注 : この設定を有効にしてアカウントがロックアウトされるようになると、管理者アカウントを使用してリモート管理を行うことは一切できなくなります。

強固な管理者パスワードを作成する

ビルトイン Administrator アカウント用に強固なパスワードを使用します。 強固なパスワードを使用すれば、パスワードを推測して Administrator アカウントの資格情報を取得する攻撃者の脅威を最小限に抑えることができます。 管理者アカウントの強固なパスワードの条件は、次のとおりです。

  • 15 文字以上にする。

  • アカウント名、実際の名前、または会社名は含めない。

  • どの言語であれ、辞書に掲載されている見出し語 (スラング、専門用語も) は含めない。

  • 前回のパスワードとは大幅に違うものにする。 数字が 1 つずつ進むようなパスワード (Password1、Password2、Password3 ...) は、強固なパスワードとはいえません。

  • 下の表に挙げられている 5 つのグループのうち、少なくとも 3 つのグループの文字を含める。

表 3.1: 強固な管理者パスワードを作成する際に使用する文字の種類

文字の種類

大文字

A、B、C ...

小文字

a、b、c ...

数字

0、1、2、3 ...

キーボードにある英数字以外の記号

` ~ ! @ # $ % ^ & * ( ) _ + - = { } | [ ] \ : " ; ' < > ? , . /

Unicode 文字

€、G、ƒ、?

パスワードの代わりにパスフレーズを使用する

メモに書き留めなくとも覚えていられる強固なパスワードを作成するには、パスフレーズを使用するのが最も簡単な方法です。 パスフレーズとは、基本的に "My son Aiden is three years older than my daughter Anna (息子の Aiden は娘の Anna より 3 歳年上)" のような記憶できる文章のことです。 文中の各単語の最初の文字を使用すると、かなり強固なパスワードを作成することができます。 この例の場合、"msaityotmda" になります。 しかも、大文字と小文字、数字、特殊文字などを組み合わせると、さらに強固なパスワードにすることができます。 たとえば上の文章に手を加えると、M$"8ni3y0tmd@ というパスワードになります。

パスフレーズは辞書攻撃に対して脆弱ですが、世間に出回っているほとんどのパスワード解読ソフトウェアは、14 文字を超える長さのパスワードをチェックしません。 長いパスフレーズを使用すれば、それだけパスワードは解読されにくくなり、しかも従来の強固なパスワードより覚えやすいという利点もあります。 覚えやすければ、パスワードをメモに書き留めるようなこともなくなります。 強固なパスフレーズの例を次に挙げます。

  • I @te 4 tacos for lunch tod@y! (私は今日 4 枚のタコスを食べた)

  • I re@lly want to buy 11 Dogs! (本当に 11 匹の犬を買いたい)

ここに挙げた例は 20 文字を超える非常に長いパスフレーズで、5 つの文字のグループのうち 4 つのグループに属する文字が含まれています。 これらはよく知られているフレーズではありませんが、関連性のない文字、記号、本来意味を持たない句読点などを英数字に混ぜて作られた 15 文字のパスワードよりもはるかに覚えやすくなっています。

管理者パスワードを未設定にしない、または脆弱なパスワードを使わない

大きなセキュリティ上のリスクをもたらすにもかかわらず、管理者アカウントのパスワードに脆弱なパスワードを使っているとか、パスワード自体を設定しないままでいる組織が一部見受けられます。 パスワードが設定されていない、または脆弱なパスワードが使用されているという状態は、ネットワークで最も一般的な脆弱性の 1 つで、侵入者が最も簡単にアクセスできるポイントになります。

管理者アカウントのパスワードが設定されていない場合、またはパスワードが脆弱な場合、悪意のあるユーザーは、ユーザー名が "Administrator" でパスワードは空欄または "administrator" など、単純な組み合わせを試すだけでアクセスすることができます。 パスワード解読の試みにも無防備となり、語句を機械的に次々と試す辞書攻撃や、A ~ Z、0 ~ 9 などの一般的な文字の組み合わせをずらりと並べたリストを使用するブルート フォース攻撃に対しても脆弱となります。

適切なパスワードを使用しても、侵入者によるネットワークへのアクセスを 100% 防げるわけではありませんが、最前線の優れた防御対策として活用できます。

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

組織のネットワーク管理者が強固なパスワードを使用していることを確認してください。 Windows 2000 Server および Windows Server 2003 では、グループ ポリシーを使用して強固なパスワードを強制的に適用できます。

強固で安全なパスワードの詳細については、ホワイト ペーパー「組織全体で強力なパスワードの使用を徹底する」および「安全なパスワードを選択する」 を参照してください。

管理者パスワードを定期的に変更する

権限のあるアカウントのパスワードは定期的に変更する必要があります。 変更する間隔は、アカウントがリスクにさらされた場合に組織が受ける影響に応じて決定してください。 影響度を判断するためのガイドラインについては、「セキュリティ リスク管理ガイド」を参照してください。

ローカル管理者アカウントのパスワードは定期的に変更する必要があります。 Microsoft Windows 2000 Server リソース キットに収録されている cusrmgr.exe ツールを使用すると、サーバーやワークステーションでこの処理を自動化できます。 cusrmgr.exe の使用方法については、マイクロソフト サポート技術情報 272530「Cusrmgr.exe ツールを使用して複数のコンピュータで管理者アカウントのパスワードを変更する方法」を参照してください。

また、ドメイン コントローラのディレクトリ サービス復元モード (DSRM) の管理者パスワードも、定期的に変更してください。 Windows 2000 では、setpwd ユーティリティを使用して DSRM パスワードをリセットします。 Windows Server 2003 では、Ntdsutil ツールを使用します。 どちらのツールもリモートで使用できます。

脆弱なパスワードを自動的にスキャンする

脆弱なパスワードが使われているかパスワードが設定されていない場合、組織のネットワークのセキュリティ全体が大きなリスクにさらされています。 パスワードの未設定または脆弱なパスワードを自動的にスキャンまたはテストするソフトウェアを、組織で作成するか購入することをお勧めします。

このようなツールで採用されている方法には、基本的に次の 2 つがあります。

  • よく使用される脆弱なパスワードを使用して、ネットワークを介してオンラインでログオン試行を繰り返す。 Microsoft Baseline Security Analyzer (MBSA) は、この種のツールの一例です。 アカウントのロックアウトを有効にしている場合は、オンラインによる手法を用いるとサービス拒否につながる可能性があるため、この方法はお勧めしません。

  • オフラインでパスワード スキャンを実行する。 サードパーティの優れたオフライン スキャン ツールをいくつか入手できます。これを使用すると、管理者は脆弱なパスワードや容易に推測できるパスワードに起因するセキュリティの脆弱性を特定および修正して、組織のセキュリティ リスクを低減させることができます。 このようなツールを使用した場合、一般的には、脆弱なパスワードがスキャンされ、パスワードの品質評価、レポート作成、および修正が実行されます。 パスワードの脆弱性をテストする場合は、この方法をお勧めします。

パスワードが未設定か脆弱であるアカウントが特定されたら、組織で確立されているインシデント対応手順に従ってインシデント対応を実施してください。 次に、インシデント対応手順の例を示します。

  • 自動化されたシステムにより、該当するアカウントのパスワードが強固なパスワードに再設定される。

  • 自動化されたシステムにより、サーバーの所有者にパスワードの再設定を要求する電子メールが送信される。

後者のレスポンスでは、サーバーが脆弱である状態が長期化する可能性があります。

Microsoft Baseline Security Analyzer を使用してパスワードをスキャンする

Microsoft Baseline Security Analyzer (MBSA) ツールを使用すると、ネットワーク上のすべてのコンピュータをスキャンして脆弱なパスワードを検出することができます。

さまざまなセキュリティ テストの中でも、MBSA はすべてのユーザー アカウントを列挙して、次のようなパスワードの脆弱性をチェックすることができます。

  • パスワードの未設定

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

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

  • パスワードが "password"

  • パスワードが "admin" または "administrator"

スキャンの結果として、無効なアカウントまたは現在ロックされているアカウントも通知されます。

このテストを実行するため、MBSA はこれらのパスワードを使用して、対象コンピュータのパスワードの変更を試みます。 MBSA によりパスワードがリセットされたり永続的に変更されることはありませんが、パスワードが十分に強固でないためセキュリティ リスクが存在すると判断された場合には、警告は発せられます。

管理者資格情報は、信頼されたコンピュータのみで使用する

組織の管理者は、自分の完全な管理下にないコンピュータには、管理者資格情報を使用してログオンしないようにする必要があります。 そのようなコンピュータでは、キーストローク ロガーやスクリーン スクレイパーが起動している場合があり、管理者のパスワード資格情報が捕捉される可能性があります。

キーストローク ロガーとは、ユーザーのコンピュータのバックグラウンドで密かに実行されるスパイウェア プログラムです。 スパイウェア プログラムの作成者は、ステルス モードが保持されるようにキーストローク ロガーを設計しており、ユーザーの同意や認識がなくてもすべてのキーストロークが記録されます。 この情報は保存され、後で回収されるかキーストローク ロガーの作成者に送信されて、解析されます。 キーストローク ロガーを使用すると、パスワードやクレジット カード番号などの個人情報も含めて、すべてのキーストロークを記録できます。 作成された電子メール メッセージやオンライン チャット セッションもすべて記録できます。

スクリーン スクレイパーは、コンピュータまたはプログラムから文字ベースのデータを捕捉します。データ転送やインスペクションがプログラムによって想定されていない表示の内容が調査され、理解しやすいグラフィカル ユーザー インターフェイス (GUI) 形式で結果が表示されます。 最新のスクリーン スクレイパーでは、情報が HTML 形式で提供されるため、ブラウザを使用して表示することができます。

アカウントとパスワードを定期的に監査する

監査を定期的に実施することで、ドメインのセキュリティの完全性を確保し、権限昇格攻撃を防止することができます。 権限が昇格されると、承認されていない管理者権限をユーザー アカウントに与えることができます。 管理機能が保護されていない場合、攻撃者はさまざまな脆弱性を利用してセキュリティ対策を回避できます。 たとえば、管理者権限を持つ攻撃者は、偽のユーザー アカウントを作成したり、アカウントをメンバシップ グループに許可なく追加したり、既存のアカウントの権限を昇格させたり、ポリシーを追加または変更したり、セキュリティ設定を無効にしたりすることができます。

すべてのドメイン レベルの管理者ユーザーとグループ、および機密性の高いサーバーのすべてのローカル管理者ユーザーとグループは、定期的に監査する必要があります。 管理者は自身の管理者アカウントを変更する権限はなくてもその方法を知ることはできるため、アカウントがドメイン レベル管理者ユーザーのセキュリティ ポリシーに準拠していることを、組織は保証できる必要があります。 このような権限のある資格情報の使用状況を監査し、その監査はパスワードの脆弱性をチェックする以上のものであることを理解しておくことが重要です。 監査は、管理者アカウントで実行されているタスクを規定する有益な機会にもなります。 監査を設定して有効にしたら、イベント ビューアを使用して作成されたセキュリティ ログを表示します。 定期的に監査を行うと、未使用のドメイン レベル管理者アカウントが見つかることもあります。 使用されていないドメイン レベルの管理者アカウントは、攻撃者によって知らないうちに改ざんされた場合などには、ネットワーク環境を脆弱にする要因になります。 未使用のドメイン レベル管理者アカウントおよびグループが見つかったら必ず削除してください。

アカウントの委任を禁止する

ドメイン レベルの管理者ユーザー アカウントはすべて、[アカウントは重要なので委任できない] に指定する必要があります。 こうしておくと、[アカウントは委任に対して信頼されている] にチェックが付いているサーバーを介した資格情報の偽装を防ぐことができます。

認証の委任は、ネットワーク サービスがユーザーからの要請を受け付け、そのユーザーの ID により別のネットワーク サービスとの接続が新たに開始されると想定された時点で発生します。 認証の委任は、複数のコンピュータ間でシングル サインオン機能を使用する多層アプリケーションで利用すると便利です。 たとえば、ドメイン コントローラは委任対象として自動的に信頼されます。 暗号化ファイル システム (EFS) をファイル サーバーで有効にする場合、ユーザーの代理で暗号化されたファイルを保存できるように、そのサーバーは委任について信頼されている必要があります。 認証の委任は、インターネット インフォメーション サービス (IIS) が別のコンピュータで稼動しているデータベースの Web インターフェイスをサポートしている環境内のプログラム (Microsoft Exchange Server での Microsoft Outlook® Web Access (OWA) など) を使用している場合や、別の Web サーバーがページをホストしているときにエンタープライズ認証機関として Web 登録サポート ページを使用する場合に便利です。

Active Directory のコンピュータ アカウント、物理的に安全でないコンピュータ、およびドメイン管理者アカウントは、認証の委任に参加できないようにする必要があります。 ドメイン管理者アカウントには機密性の高いリソースにアクセスできる権限があるため、これに危害が加えられると組織は大きなリスクにさらされることになります。 詳細については、「Windows Server 2003 Deployment Kit」の「Enabling Delegated Authentication」(英語) を参照してください。

管理者のログオン プロセスを管理する

Administrators、Enterprise Admins、および Domain Admins の各グループのメンバは、フォレストおよび各ドメインで最も強力なアカウントです。 セキュリティ上のリスクを最小限に抑えるには、このガイドの以下の項で説明する手順を実行して、強固な管理者資格情報を強制的に適用してください。

管理者のログオンではスマート カードの使用を必須とする

どの管理機能にアクセスする場合も、ドメイン管理者は 2 要素の認証の使用を必須とする必要があります。 2 要素の認証では、次の 2 つの要素が必要となります。

  • ユーザーが所持する物 (スマート カードなど)

  • ユーザーが知識として持つもの (個人識別番号 (PIN) など)

この 2 つの要素を必須とすることで、ユーザー名とパスワードなどの 1 要素の資格情報の共有、盗難、複製による不正なアクセスのリスクを低減することができます。

2 要素の認証は、ドメイン管理者アカウントのセキュリティを確保する上で重要な役割を果たします。従来のユーザー名とパスワードはフリーテキスト形式の資格情報であり、一般的に自然言語の文字セットを使用して作成されています。 そのため、悪意のあるユーザーは、次のような場合にこれを盗み出したり、共有または複製することができます。

  • 信頼されたユーザーが、自分のパスワードを信頼されていないユーザーと共有している、またはパスワードを安全でない方法で記録している (付箋紙に書いてモニタに貼り付けておくなど)。

  • パスワードをクリアテキスト形式で転送している。

  • ログオン時のキーボード入力の内容を、ハードウェアまたはソフトウェア デバイスを使用して捕捉している。

対話型ログオンでスマート カードの使用を必須にしておくと、管理者ユーザーにログオンで使用するカードを身につけさせておくことができ、ランダムな生成と暗号化が組み合わさった強固なパスワードをユーザー アカウントで必ず使用させることができます。 このような強固なパスワードを使用すれば、管理者としてアクセスできるようになる脆弱なパスワードが盗まれる可能性を低減できます。

スマート カードの使用を強制するには、管理者ユーザー アカウントごとに [対話型ログオンにはスマート カードが必要] アカウント オプションを有効にします。

スマート カードの PIN とは、カードの所有者が個々に設定してカードに保存した、暗号化されたコードです。 この PIN は、スマート カード認証で秘密キーを使用可能にしている場合にユーザーが指定する必要がある文字列です。 スマート カードの秘密キーはそれぞれ一意で、これにより認証の一意性が保証されます。

スマート カード認証は、ドメイン管理者が対話型ログオンを使用する場合に特に重要です。 スマート カードを利用すると、それぞれに認証が必要な複数のサーバーを管理するドメイン管理者の作業を簡略化できます。 認証が必要な各サーバーの別個のパスワードを知っておく必要がなくなり、その代わりに、共通の PIN を共有する一意のスマート カードを使用してサーバーを保護できます。

注 : Windows 2000 Server ではスマート カードをリモート アクセスで使用できますが、ドメイン レベルのアカウントでスマート カードを使用できるようにするには、Windows Server 2003 が必要になります。 Windows Server 2003 は、Secondary Logon サービスの runas コマンドを使用してスマート カード資格情報を使用する場合にも必要です。

ドメイン管理者にスマート カードを配布し、このガイドで説明した原則と最善策を採用すれば、組織はネットワーク資産のセキュリティを大幅に向上させることができます。

認証用スマート カードの使用については、次の資料を参照してください。

機密性の高い管理者アカウントのログオン資格情報を共有する

フォレスト ルート ドメインの Enterprise Admins グループまたは Domain Admins グループのメンバであるアカウントのような、機密性が高いと考えられるアカウントの場合、各アカウントでそのアカウントを共有するユーザーを 2 人割り当て、その 2 人がそろって始めてログオンすることができるようにします。 アカウントを共有することで、本来の目視による監査を実現できます。 つまり、片方のユーザーがもう片方のユーザーの実行するアクションを監視することになります。 また、ユーザーが単独でログオンしてコンピュータに管理者としてアクセスし、悪意のある管理者として、または他人に強制されてセキュリティを危険にさらすような事態を防ぐことができます。

共有管理者アカウントとしては、分割パスワードを使用するアカウント、またはスマート カードに PIN を組み合わせて使用するアカウントを実装できます。 管理者アカウントにパスワードに基づいた資格情報を使用する場合は、そのアカウントを共有する 2 人のユーザーでパスワードを分割し、それぞれがパスワードの半分だけを管理します。 各ユーザーは、自分が所持するパスワードの半分を責任をもって管理します。 たとえば、Admin1 という管理者アカウントを作成し、Jane と Bob という 2 人の信頼されたユーザーにこのアカウントを共有させることができます。 この 2 人がパスワードを半分ずつ管理します。 どちらかがこのアカウントでログオンするには、もう 1 人がその場にいてパスワードのもう半分を入力する必要があります。

共有管理者アカウントの短所は、その性質上、監査によって責任の所在を明確にできないことです。 したがって、カメラによる監視など別の管理方法を導入して、2 人のユーザーが共有する権限を乱用していないことを確認する必要があります。

管理者アカウントにスマート カードに基づいた資格情報を使用する場合は、アカウントを共有する 2 人のユーザーにスマート カードと PIN を振り分け、片方のユーザーがスマート カードを実際に保持し、もう片方のユーザーが PIN を管理するようにします。 これで、そのアカウントでログオンするには 2 人のユーザーがその場にいる必要が生じます。

ドメイン管理者がログオンする方法と場所を制限する

組織は、ドメイン レベル管理者がログオンする方法と場所を制限する必要があります。 管理者は、作業内容や役割の必要に応じて、権限行使対象となるドメイン コントローラに対話型でログオンできます。ただし、それでも 2 要素の認証は必須にする必要があります。

次のような場合、ドメイン管理者の使用が特に承認されていないコンピュータに、ドメイン管理者がログオンできないようにしておく必要があります。

  • 対話型ログオンを使用するとき

  • リモート デスクトップを使用するとき

  • サービスとしてログオンするとき

  • バッチ ジョブとしてログオンするとき

目次

この情報は役に立ちましたか。
(残り 1500 文字)