管理者アカウント セキュリティ計画ガイド
第 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)、プログラムへのショートカット、およびコントロール パネルの項目を実行できます。 管理者権限のない標準的なユーザー アカウントでログオンした場合でも、画面に従って管理者のユーザー アカウントとパスワードという資格情報を入力すれば、管理者としてこのようなプログラムを実行できます。
[別のユーザーとして実行] を使用すると、他のドメインの管理者アカウントの資格情報がわかっていれば、そのドメインまたはフォレストのサーバーを管理できます。
注 : デスクトップ上の [プリンタ] フォルダ、[マイ コンピュータ]、[マイ ネットワーク] など、一部の項目は [別のユーザーとして実行] を使用して起動することはできません。
[別のユーザーとして実行] を使用する
[別のユーザーとして実行] は、次のようにいくつかの方法で使用できます。
[別のユーザーとして実行] を使用して、ドメイン管理者のアカウント資格情報を使用したコマンド シェルを起動するには
[スタート] ボタンをクリックして、[ファイル名を指定して実行] をクリックします。
[ファイル名を指定して実行] ダイアログ ボックスで、「runas /user:<ドメイン名>\administrator cmd」(<ドメイン名> には使用するドメインの名前を入力します) と入力し、[OK] をクリックします。
<ドメイン名>\administrator アカウントのパスワードを入力するダイアログ ボックスが表示されたら、管理者アカウントのパスワードを入力して Enter キーを押します。
管理者コンテキストで実行されている新しいコンソール ウィンドウが開きます。 コンソールのタイトルには、「<ドメイン名>\administrator として実行中」と表示されます。
[別のユーザーとして実行] を使用してコントロール パネルの項目を実行するには
Windows XP または Windows Server 2003 の場合は、[スタート] ボタンをクリックして、[コントロール パネル] をクリックします。
管理者コンテキストで実行するツールまたはプログラム (たとえば、[ハードウェアの追加]) を、Shift キーを押しながら右クリックします。
ショートカット メニューの [別のユーザーとして実行] をクリックします。
[別のユーザーとして実行] ダイアログ ボックスで [次のユーザー] をクリックし、適切なドメイン名、管理者アカウント名、およびパスワードを入力します。たとえば、次のように入力します。
CORPDOMAIN\Administrator
P@ssw0rd
[OK] をクリックします。プログラムが管理者コンテキストで実行されます。
[別のユーザーとして実行] を使用して [Active Directory ユーザーとコンピュータ] などのスタート メニュー プログラムを開くには
Windows Server 2003 で [スタート] ボタンをクリックし、[管理ツール] をポイントして [Active Directory ユーザーとコンピュータ] を右クリックします。
ショートカット メニューの [別のユーザーとして実行] をクリックします。
runas.exe 実行可能コマンドライン ユーティリティを使用して、コマンドラインからプログラムを実行したり管理コンソールを起動することもできます。
ローカル コンピュータの管理者としてコマンド プロンプトのインスタンスを起動するには
[スタート] ボタンをクリックして、[ファイル名を指定して実行] をクリックします。
[ファイル名を指定して実行] ダイアログ ボックスで、「runas /user:<ローカル コンピュータ名>\administrator cmd 」と入力します。
[OK] をクリックします。
パスワードの入力を求められたら、コマンド プロンプト ウィンドウに管理者パスワードを入力して Enter キーを押します。
corpdomain ドメインの domainadminというドメイン管理者アカウントで [コンピュータの管理] スナップインのインスタンスを起動するには
[スタート] ボタンをクリックして、[ファイル名を指定して実行] をクリックします。
[ファイル名を指定して実行] ダイアログ ボックスで、「runas /user:<corpdomain>\<domainadmin> "mmc %windir%\system32\compmgmt.msc"」と入力します。
[OK] をクリックします。
パスワードの入力を求められたら、コマンド プロンプト ウィンドウにアカウント パスワードを入力して Enter キーを押します。
runas.exe を使用して、スマート カードの資格情報でコマンドラインからプログラムを実行したり管理コンソールを起動することもできます。
スマート カードの資格情報でローカル コンピュータ上の管理者としてコマンド プロンプトのインスタンスを開始するには
[スタート] ボタンをクリックして、[ファイル名を指定して実行] をクリックします。
[ファイル名を指定して実行] ダイアログ ボックスで、「runas /smartcard /user:<localcomputername>\administrator cmd」と入力します。
[OK] をクリックします。
PIN 番号の入力を求められたら、コマンド プロンプト ウィンドウにスマート カードの PIN 番号を入力して Enter キーを押します。
注 : runas.exe のコマンドライン パラメータとしてパスワードを入力する行為はセキュリティ上安全ではないため、この操作は実行できません。
管理を行う場合は別のターミナル サービス セッションを実行する
[別のユーザーとして実行] は、ローカル コンピュータに変更を加えるとか、基幹業務プログラムの一部を実行する場合に、管理者が使用する最も一般的な方法です。 IT ベースの管理タスクを実行する場合は、管理する必要のあるサーバーにターミナル サービスを使用して接続することができます。 このほうが複数のリモート サーバーを簡単に管理することができ、各サーバーに物理的にアクセスする必要もなくなります。また、この方法を採用すればサーバーでの対話的ログオン権限の必要性もなくなります。 この方法を使用するには、通常のユーザー アカウントの資格情報でログオンし、ドメイン管理者としてターミナル サービス セッションを実行します。 ドメイン管理タスクは、そのセッション ウィンドウ内でのみ実行してください。
既定の Administrator アカウントの名前を変更する
既定の Administrator アカウントの名前を変更すると、このアカウントの権限が昇格していることを明確に示すものがなくなります。 既定の Administrator アカウントでも、攻撃者はパスワードを入手しなければ使用できませんが、既定の Administrator アカウントの名前を変更しておけば、強い権限を入手しようとする攻撃に対する保護をさらに強化できます。 元のユーザー名と同じ書式で架空の姓名を使用するという方法もあります。
注 : 既定の Administrator アカウントの名前を変更しても、ある種の攻撃しか防ぐことはできません。 攻撃者の側から、どのアカウントが既定の Administrator アカウントかを特定することは比較的簡単です。というのも、このアカウントのセキュリティ ID は常に同じものになるからです。 また、グループのメンバを列挙するツールが一般に出回っており、このツールを使用すると、元の Administrator アカウントが常に先頭に表示されます。 ビルトイン Administrator アカウントへの攻撃に対する最善の防御策は、新しい管理者アカウントを作成し、ビルトイン アカウントは無効にすることです。
ドメインの既定の Administrator アカウントの名前を変更するには
Domain Admins グループのメンバ (ただし、ビルトイン Administrator アカウント以外) としてログオンし、[Active Directory ユーザーとコンピュータ] を開きます。
コンソール ツリーで、[ユーザー] をクリックします。
詳細ペインで [Administrator] を右クリックし、[名前の変更] をクリックします。
架空の名と姓を入力して、Enter キーを押します。
[ユーザー名の変更] ダイアログ ボックスで、[フル ネーム]、[名]、[姓]、[表示名]、[ユーザー ログオン名]、[ユーザー ログオン名 (Windows 2000 以前)] の各値を架空の名前に合わせて変更し、[OK] をクリックします。
詳細ペインで、今作成した新規アカウント名を右クリックし、[プロパティ] をクリックします。
[全般] タブをクリックします。 [説明] ボックスの「コンピュータ/ドメインの管理用 (ビルトイン アカウント)」という説明文を削除し、他のユーザー アカウントと同じように説明を入力します (多くの組織では、ここは空白のままにしています)。
[OK] をクリックします。
既定のローカル Administrator アカウントの名前を変更するには
ローカル Administrators グループのメンバ (ただし、ビルトイン Administrator アカウント以外) としてログオンし、[コンピュータの管理] コンソールの [ローカル ユーザーとグループ] スナップイン ツールを開きます。
コンソール ツリーで [ローカル ユーザーとグループ] を展開し、[ユーザー] をクリックします。
詳細ペインで [Administrator] を右クリックし、[名前の変更] をクリックします。
架空の名と姓を入力して、Enter キーを押します。
詳細ペインで、今作成した新規アカウント名を右クリックし、[プロパティ] をクリックします。
[全般] タブをクリックします。 [フル ネーム] ボックスに新しいフル ネームを入力します。 [説明] ボックスの「コンピュータ/ドメインの管理用 (ビルトイン アカウント)」という説明文を削除し、他のユーザー アカウントと同じように説明を入力します (多くの組織では、ここは空白のままにしています)。
[OK] をクリックします。
注 : グループ ポリシー オブジェクト (GPO) の設定を使用して、多数のコンピュータの既定の Administrator アカウントの名前を変更するという方法もあります。 ただし、この設定では既定の説明を変更することはできません。 詳細については、マイクロソフト サポート技術情報 816109「[HOWTO] Windows Server 2003 で Administrator アカウント名と Guest アカウント名を変更する方法」を参照してください。
おとりの Administrator アカウントを作成する
おとりの Administrator アカウントを作成すると、セキュリティをさらに強化することができます。 この処置により、Administrator アカウントに対してパスワード攻撃を仕掛けてくる攻撃者の攻撃対象を、特別な権限のないアカウントにすり替えることができます。したがって、名前を変更した Administrator アカウントは、攻撃者によって発見されにくくなります。 このおとりのアカウントにはロックアウトを設定せず、同時に強力なパスワードを設定しておいても、攻撃者による攻撃に時間がかかるようになるため最善の対策となります。 おとりのアカウントを作成したら、そのアカウントが権限を持つセキュリティ グループのメンバでないことを確認し、アカウントの使用状況を監視してログオンの失敗など予期しない結果が発生していないかどうか確認してください。 詳細については、「Securing Active Directory Administrative Groups and Accounts」(英語) を参照してください。
ドメインにおとりの Administrator アカウントを作成するには
Domain Admins グループのメンバとしてログオンし、[Active Directory ユーザーとコンピュータ] を開きます。
[Users] コンテナを右クリックし、[新規作成] をポイントして、[User] をクリックします。
[名] ボックスと [ユーザー ログオン名] ボックスに「Administrator」と入力して、[次へ] をクリックします。
パスワードを入力し、確認のために再入力します。
[ユーザーは次回ログオン時にパスワードの変更が必要] チェック ボックスをオフにして、[次へ] をクリックします。
おとりのアカウントの情報が正しいことを確認して、[完了] をクリックします。
詳細ペインで [Administrator] を右クリックし、[プロパティ] をクリックします。
[全般] タブをクリックします。 [説明] テキスト ボックスに「コンピュータ/ドメインの管理用 (ビルトイン アカウント)」と入力して、[OK] をクリックします。
おとりのローカル Administrator アカウントを作成するには
ローカル Administrators グループのメンバとしてログオンし、[コンピュータの管理] コンソールの [ローカル ユーザーとグループ] スナップイン ツールを開きます。
コンソール ツリーで、[ローカル ユーザーとグループ] を展開します。
[ユーザー] コンテナを右クリックし、[新しいユーザー] をクリックします。
[ユーザー名] ボックスに、「Administrator」と入力します。 [説明] テキスト ボックスに、「コンピュータ/ドメインの管理用 (ビルトイン アカウント)」と入力します。
パスワードを入力し、確認のために再入力します。
[ユーザーは次回ログオン時にパスワードの変更が必要] チェック ボックスをオフにします。
[作成] をクリックします。
代わりの管理者アカウントを作成し、ビルトイン Administrator アカウントを無効にする
ターミナル サービスを使用して管理を行っていない場合でも、管理者以外のユーザーがサーバーにアクセスできるようになっている場合でも、追加のユーザーを作成して代わりの管理者アカウントとして使用し、これでサーバーを管理すると最善の対策になります。 このユーザーは、Administrators グループのメンバにする必要があります。 代わりのアカウントを作成したら、ビルトイン Administrator アカウントを無効にすることができます。
代わりの管理者アカウントを作成するには
Administrator としてログオンし、[Active Directory ユーザーとコンピュータ] を開きます。
[ユーザー] コンテナを右クリックし、[新規作成] をポイントして、[ユーザー] をクリックします。
[名] と [ユーザー ログオン名] に「<ユーザー名>」を入力して、[次へ] をクリックします。
強力なパスワードを入力し、確認のために再入力します。
[ユーザーは次回ログオン時にパスワードの変更が必要] チェック ボックスをオフにして、[次へ] をクリックします。
アカウントの情報が正しいことを確認して、[完了] をクリックします。
詳細ペインで <ユーザー名> を右クリックし、[プロパティ] をクリックします。
[所属するグループ] タブをクリックし、[追加] をクリックして「administrators」と入力し、[名前の確認] をクリックして、[OK] をクリックします。
再度 [OK] をクリックして、[プロパティ] ページを閉じます。
ビルトイン Administrator アカウントを無効にするには
作成した代わりの管理者アカウントでログオンし、[Active Directory ユーザーとコンピュータ] を開きます。
[Users] コンテナをクリックし、ビルトイン Administrator アカウントの名前を右クリックして、[プロパティ] をクリックします。
[アカウント] タブをクリックします。
[アカウント オプション] で下にスクロールし、[アカウントは無効] チェック ボックスをオンにします。
[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、ƒ、? |