Microsoft Windows NT 4.0 を強化する
第 4 章 : Microsoft Windows NT 4.0 の強化
公開日: 2004年11月17日
Microsoft® Windows NT® 4.0 には、それ以降のバージョンの Microsoft Windows® オペレーティング システムに組み込まれている拡張セキュリティ機能の一部が備わっていません。 それでも、システムのセキュリティを大幅に向上させる、非常に便利な機能や技術が用意されています。 この章では、これらのトピックについて詳しく取り上げ、これらの機能を使用してワークステーションまたはサーバーの Windows NT 4.0 システムを強化する方法について説明します。
この章のトピックでは、次のことを行う方法の詳細が記載されています。
初期オペレーティング システムおよび更新プログラムのベースラインのインストール
起動シーケンスの強化
ディレクトリ サービス クライアント アドインのインストール
システム ポリシーおよびセキュリティ構成マネージャの使用
Windows NT LAN Manager (NTLM) の認証レベルの選択
効果的なパスワード ポリシーの定義
アカウントおよびパスワードのロックアウトの使用
ファイル システムの強化
サービスの強化
その他の強化対策の実行
トピック
Windows NT ホストのセキュリティ設計
実装
ソリューションをテストする
要約
Windows NT ホストのセキュリティ設計
Windows NT 4.0 オペレーティング システムを強化するには、複数のトピックについて検討し、理解する必要があります。
初期オペレーティング システムおよび更新プログラムのベースラインをインストールする
Windows NT ベースのシステムを強化する最初の重要なステップとして、基本オペレーティング システムに最新のセキュリティ更新プログラムをインストールする必要があります。 この処理は、「第 6 章 : パッチ管理」に記載されているように、日常のパッチ管理プロセスの一部として実行するのが理想的です。このプロセスは、完全なインベントリ処理を行って各コンピュータのリビジョン レベルを特定することから開始します。 Microsoft Baseline Security Analyzer (MBSA) または Microsoft Systems Management Server (SMS) を使用すると、Windows NT 4.0 システムをローカルまたはリモートでスキャンできます。 インベントリの処理が完了したら、その結果を調査して、各 Windows NT システムに必要なベースライン更新がインストールされていることを確認します。 必要な更新には次のものがあります。
Windows NT 4.0 Service Pack 6a (SP6a)。Windows NT 4.0 用の最新サービス パックです。ユニットとしてインストールされるように設計された、回帰テスト済みの完全な修正プログラム セットが含まれています。
Windows NT 4.0 Service Pack 6a 以後のセキュリティ ロールアップ パッケージ (SRP)。 SRP には、オリジナルの SP6a のリリース後にリリースされた複数の更新プログラムが組み込まれており、Windows Update で提供される追加の更新プログラムに必要不可欠なパッケージです。
セキュリティ更新プログラムの最新セット。 マイクロソフトでは、SRP をリリースしたあと、Windows NT 4.0 用の SRP または Service Pack のリリースを行っていませんが、オペレーティング システムの一部などの個々のコンポーネント、Microsoft Internet Explorer、ルーティングとリモート アクセス サービス (RRAS) やインターネット インフォメーション サービス (IIS) などのアドオン ユーティリティは更新しています。 セキュリティ更新プログラムの最新の一覧は、Microsoft TechNet から入手できます。また、Windows Update から入手できるセキュリティ更新プログラムの一覧を手動で確認することもできます。
Internet Explorer の最新バージョン。 最新バージョンは、Internet Explorer 6.0 Service Pack 1 (SP1) です。このバージョンでは、Windows NT に付属して提供されたバージョンの Internet Explorer 以降にリリースされた、数百種類のセキュリティ関連の修正および改良が組み込まれています。 それぞれの環境に応じて、マイクロソフト Web サイトから Internet Explorer を直接ダウンロードすることも、CD-ROM 版を注文することも、または Internet Explorer 管理者キットを使用して複数のコンピュータにインストールすることもできます。
起動シーケンスを強化する
必須のセキュリティ更新プログラム セットを適切かつ完全にインストールできたら、次に、起動時にシステムで利用できる保護レペルを上げる必要があります。 この保護を行うには 2 つの手順を実行します。1 つは、起動メニューのタイムアウトをゼロにして、攻撃者が別のオペレーティング システムで起動するのを難しくします。もう 1 つは、組み込まれている Syskey ユーティリティを使用して、セキュリティ アカウント マネージャ (SAM) データベースに格納されている情報を暗号化します。
Windows NT サーバーでは、ユーザー アカウントのパスワードから派生した情報などのユーザー アカウント情報は、アクセス制御および難読化機能で保護されたレジストリの安全な部分に格納されます。 レジストリ内のアカウント情報にアクセスできるのは、Administrators グループのメンバのみです。 Windows NT サーバーでは、他のオペレーティング システムと同様に、管理者がシステム内の全リソースにアクセスできます。 セキュリティ機能の強化を望むインストール環境に、アカウント パスワードの派生情報を強固に暗号化する機能を採用すると、セキュリティ レベルが上がり、管理者はレジストリ プログラミング インターフェイスを使用してパスワードの派生情報に意図的または偶発的にアクセスできなくなります。 Syskey も、別のオペレーティング システムで起動して SAM ファイルにアクセスすることで、仕掛けられたさまざまな種類のオフライン攻撃から SAM データを保護します。
Syskey は、SAM データの暗号化に使用するランダムな暗号化キーを生成します。 SAM データが暗号化されると、キーが起動時に必ず読み込まれ、メモリ内にある SAM データのコピーの暗号化解除に使用されます。 図 4.1 を見るとわかるように、Syskey を機能させる場合、3 種類のモードがあります。。
モード 1 ([ローカルにスタートアップ キーを保存する]) では、暗号化キーは強固に暗号化され、ローカル コンピュータに保存されます。 起動時にキーの暗号化が解除されて読み込まれ、そのコンピュータは管理者が操作しなくても再起動できるようになります。
モード 2 ([パスワード スタートアップ]、および関連するテキスト フィールド) では、暗号化キーは、管理者が指定したパスワードで強固に暗号化されます。 起動処理を完了するには、起動時に管理者がコンソールにパスワードを入力する必要があります。 システムはパスワードが入力されるまで起動しません。
モード 3 ([フロッピー ディスクにスタートアップ キーを保存する]) では、ランダムな Syskey キーがフロッピー ディスクに保存されます。起動処理中に画面の指示に従って、このフロッピー ディスクを挿入する必要があります。 このフロッピー ディスクは、安全な場所に保管しておいてください。
図 4.1 Syskey のモード選択ダイアログ ボックス
Trey は、Windows NT を実行しているすべてのコンピュータに Syskey 保護機能を実装することにしました (Windows 2000、Microsoft Windows Server™ 2003、および Windows XP では、Syskey が既定で有効になっています)。 Trey のほとんどのサーバー、およびすべてのワークステーションは、Syskey をモード 1 で使用するように設定されました。Trey が広範囲にわたってこのモードを選択したのは、これにより安全性と利便性がバランスよく実現されるためです。 高付加価値サーバーについては、モード 2 が設定されています。再起動するたびに管理者がコンピュータにアクセスしてパスワードを入力する必要があります。 モード 3 は、保護対象のコンピュータごとに起動用のフロッピー ディスクを安全に保管する必要があるため、Trey ではこのモードをどのシステムにも設定しませんでした。
ディレクトリ サービス クライアント アドインをインストールする
Windows NT 4.0 システムが完全に参加できるのは Windows NT ドメインのみです。Microsoft Active Directory® ディレクトリ サービス ドメインがある場合、Windows 98 および Windows NT は、ネットワーク基本入出力システム (NetBIOS) インターフェイスを介してのみ、そのドメインにネイティブに参加することができます。 Windows 2000 および Windows Server 2003 では、Windows NT のプライマリ ドメイン コントローラ (PDC) をエミュレートすることで、NetBIOS との互換性を実現しています。 Active Directory では双方向に推移する信頼関係を確立できますが、Windows NT 4.0 システムでは、Active Directory ドメイン コントローラまたは Windows NT BDC を使用している場合でも、明示的な一方向の信頼関係しか利用できません。
Windows NT 形式のドメインを維持しなくても、ディレクトリ サービス クライアント (DSClient) アドインを追加すれば、Windows NT および Windows 98 を実行しているコンピュータでも Active Directory のドメインに参加できます。 DSClient には、システムを Active Directory ドメインに参加させる機能が備わっています。 このソフトウェアを追加すると、フォレスト内で推移可能な信頼関係を利用する機能など、Active Directory の多数の機能をシステムで使用できるようになります。 推移可能な信頼関係により、承認されたユーザーはフォレスト内のドメインにある適切なリソースにアクセスすることができます。 DSClient 2003 の更新プログラムは、Windows NT 4.0 SP6a および Internet Explorer 6 SP1 がインストールされている環境で機能します。Windows 2000 に付属の DSClient にも SP6 は必要ですが、Internet Explorer は 4.01 以降を使用できます (Windows 98 で DSClient を使用するための要件については、「第 5 章 : Microsoft Windows 98 の強化」を参照してください)。
DSClient をインストールしても、Active Directory のすべての機能がサポートされるわけではありません。特に、Kerberos 認証、グループ ポリシーの適用、認証用のサービスまたはユーザー プリンシパル名 (UPN) の使用はサポートされません。 サポートされる Active Directory の機能は次のとおりです。
Active Directory Service Interfaces (ADSI)。 ADSI は、Active Director にアクセスするスクリプトおよびプログラムを作成するための一般的なプログラミング API です。 ADSI を使用すると、Windows NT ではスクリプト化できなかった膨大な量のディレクトリ操作をスクリプト化することができます。
Distributed File System (DFS) フォールト トレランス クライアント。 DFS フォールト トレラントおよびフェールオーバー ファイル共有により、Active Directory で統合され分散されたファイル共有のリソースが提供されます。
Active Directory の Windows アドレス帳 (WAB) プロパティ ページ。 [検索] メニューからアクセスするユーザー オブジェクト ページには、承認されたユーザーがユーザー オブジェクトのプロパティ (住所や電話番号など) を更新できる機能があります。
NTLM バージョン 2 認証。 NTLM に備わる強化された認証機能により、Kerbero よりも高いレベルの認証セキュリティを使用できます。
サイトの認知。 DSClient を使用しているシステムでは、Active Directory のサイトが認知されると、ローカル サイトでドメイン コントローラが使用されます。ドメイン ネーム システム (DNS) が正しく設定され、サイトが Active Directory に正しく登録されている場合は、パスワード変更操作にもドメイン コントローラを使用できます。 DSClient がログオンおよびパスワード変更動作に与える影響については、マイクロソフト サポート技術情報 (KB) 249841「Windows 95 および Windows 98 ディレクトリ サービス クライアントが AD サイト情報を使用する方法」 https://support.microsoft.com/kb/249841 を参照してください。
Active Directory 内のオブジェクトの検索。 ユーザーは、[検索] メニューを使用して Active Directory 内のプリンタとユーザーを検索できます。
PDC への依存の低減。 パスワード変更作業のために、クライアントからドメイン内のあらゆるドメイン コントローラに接続できます。
システム ポリシーおよびセキュリティ構成マネージャを使用する
システム ポリシーとは、マイクロソフトが Windows 95 および Windows NT 4.0 で初めて採用した特殊な構成管理手段です。 システム ポリシー自体がシステムの安全性を高めることはありませんが、他のセキュリティ対策を強化して、指定したリソースへのアクセスを制限することができます。これにより、ユーザーが意図的または偶発的にポリシーおよび制限を回避できなくなる可能性が高まります。 システム ポリシーが正しく設計されて適用された場合、古いシステムの完全性を保証する重要な要素となります。 実際、この機能はとても有用なため、マイクロソフトではこれをグループ ポリシー オブジェクト (GPO) 機能に拡張して Windows 2000 以降のシステムに搭載しました。
システム ポリシーは、HKEY_CURRENT_USER レジストリ ハイプおよび HKEY_LOCAL_MACHINE レジストリ ハイブに適用される 1 つ以上の制限の集まりです。 ユーザーがコンピュータにログオンすると、一連のポリシーが、ユーザー名、ドメイン内のグローバル グループ メンバシップ、およびコンピュータ固有のポリシーに基づいて次々とチェックされ、検出された場合は適用されます。 システム ポリシーは、Windows NT ドメインの実装で使用するためのもので、ユーザー プロファイルなどの他のドメイン認知機能を補完します。
システム ポリシーとユーザー プロファイルの違いを理解することは重要です。 ユーザー プロファイルとは、ユーザー固有の構成ディレクトリ、ファイル、ショートカット、および HKEY_CURRENT_USER に読み込まれるレジストリ ハイプの集まりであり (Windows NT では Ntuser.dat、Windows 98 では User.dat)、デスクトップの外観、ブラウザのお気に入りやブックマークなど、オペレーティング システムおよびアプリケーション双方のユーザー設定オプションを制御します。 システム ポリシーとは、アクティブ ユーザーのプロファイルが検出されて読み込まれたあとコンピュータに適用されるレジストリ エントリの追加セットであり、現在のユーザーが使用することを許可されないオペレーティング システムの特定機能を指定します。
システム ポリシーを使用する
マイクロソフトでは、ユーザー プロファイルとシステム ポリシーの概要、それぞれの使用方法、およびこれらを併用する方法について詳しく説明したホワイトペーパー「Guide to Microsoft Windows NT 4.0 Profiles and Policies」を用意しています (ホワイトペーパーの入手先については、「詳細情報」の項を参照してください)。
システム ポリシーを利用すると、以前のバージョンのデスクトップおよびユーザー インターフェイスを制御する多数の機能を利用できるようになります。 Windows 2000 のグループ ポリシーについてすでに精通している場合は、システム ポリシーの基本機能についてもすぐに理解できます。 通常は、次のことを実行できます。
ユーザーのログオンが許可される前に表示されるバナーまたは免責事項 (法規上適用される利用規定の通知など) を指定する。
ログオン ダイアログ ボックスに、前回利用したユーザーの名前などセキュリティ関連情報やシャットダウン ボタンを表示しないようにする。
ログオン スクリプト、キャッシュした移動プロファイル、低速回線接続の検出、スタート バナー、開始画面のヒントなどの動作を指定する。
[スタート] メニューのさまざまな共有フォルダ (スタートアップ フォルダなど) の場所を指定して、特定のアプリケーションがログオン時に必ず起動するようにする。
デスクトップの外観 (背景、アイコン、色、[スタート] メニューで使用可能なコマンド) を制限する。
シェル拡張、読み取り専用ファイルのアクセス日時の更新、ログオン ファイル名など、さまざまなファイル システム関連機能の動作を指定する。
ネットワーク リソースへのアクセス、使用可能なドライブ文字、およびエクスプローラのドライブ マップ機能を制限する。 詳細については、サポート技術情報 156698「システム ポリシー を使用しているネットワーク リソースへのアクセスを無効にします」 https://support.microsoft.com/kb/156698、および 220955「特定のドライブ文字を非表示をするために、システム ポリシーを使用します」 https://support.microsoft.com/kb/220955 を参照してください。
非表示のファイル共有の作成を制限する。
プリンタ、簡易ネットワーク管理プロトコル (SNMP)、および RRAS の設定を指定して制限する。
特定の実行可能ファイルを起動するシェルの機能を制限する。
レジストリ エディタとコマンド プロンプトの起動機能を制限する。
システム ポリシーは、グループ ポリシーと多くの点で類似していますが、気をつける必要のある制限や相違点がいくつか存在します。
システム ポリシーは階層構成ではありません。 Windows NT ドメイン モデルのフラットな構造を受け継いでいるため、Active Directory のグループ ポリシーのような、重なり合う優れたシステム ポリシーを定義できる柔軟性は備えていません。 ポリシーは、個々のユーザー、既定のユーザー、グループ、個々のコンピュータ、および既定のコンピュータに対して定義できます。 ポリシーの適用方法については、この章の後半で説明します。
システム ポリシーの変更は、該当するレジストリ ハイブに直接反映されます。 別のポリシーなどが原因で変更が加えられない限り、機能はそのままです。 Active Directory のグループ ポリシーでは、変更はレジストリの特定の部分に反映され、次に Windows により、これが通常のレジストリ エントリに上書きされます。 レジストリを直接書き換えるこのシステム ポリシーの機能は、"レジストリへの刺青" と呼ばれています。すなわち、システム ポリシーでは、管理されている設定の状態がまったく考慮されないということです。
システム ポリシーを作成するには、システム ポリシー エディタ (SPE) ユーティリティと管理用テンプレート ファイル (.adm) を使用します。 このテンプレート ファイルには、SPE のカテゴリとサブカテゴリ、特定の設定を制御するレジストリ キーと値、オプション、制限、適用可能な既定値が用意されています。 独自のテンプレート ファイルを作成して、SPE に付属の既定テンプレートに備わっていない特定のレジストリ設定を追加することもできます。
SPE を実行して設定グループを作成し、特定のユーザー、グループ、コンピュータ、あるいは既定のユーザーまたはコンピュータに関連付けると、Ntconfig.pol というポリシー ファイルが作成されます。 既定では、Windows NT を実行しているコンピュータは、ドメイン コントローラの NETLOGON 共有から適切なポリシー ファイルをダウンロードするように設定されています。 したがって、ポリシー ファイルを PDC のこの共有に配置する必要があります。この共有の内容は、ディレクトリ レプリケータ サービスを経由して BDC に複製されます。 Windows NT を実行しているコンピュータでは、ログオンに使用する有効なポリシーをすべて、ドメイン コントローラからダウンロードできます。 この動作は、ドメイン コントローラが Windows NT であっても、Windows 2000 または Windows Server 2003 であっても変わりません。これは、Windows 2000、Windows XP、および Windows Server 2003 のクライアントが、Active Directory に統合された GPO を優先し、NETLOGON 共有のポリシー ファイルを無視するためです。
システム ポリシーは、次のような手順で Windows NT で読み込まれ、適用されます。
ユーザー固有のポリシーがある場合は、そのポリシーが読み込まれ、レジストリが変更されます。このあと、ポリシーの処理は手順 4 に進みます。
既定のユーザー ポリシーがある場合は、そのポリシーが読み込まれて適用されます。
グループ ポリシーがある場合は、そのポリシーが読み込まれ、優先順位の高いものから順に適用されます。 グループ ポリシーが既定のユーザー ポリシーと矛盾する場合は、グループ ポリシーの設定が "無視" でない限り、こちらが優先されます。
コンピュータ固有のポリシーがある場合は、そのポリシーが読み込まれ、レジストリが変更されます。このあと、ポリシーの処理は手順 6 に進みます。
既定のコンピュータ ポリシーがある場合は、そのポリシーが読み込まれ、レジストリが変更されます。
ポリシーの適用が完了します。
既定では、Windows NT は、システム ポリシーをダウンロードして適用するように設定されています。 この動作は、サポート技術情報 168231「システム ポリシーは Windows NT で適用されていません」 https://support.microsoft.com/default.aspx?scid=kb;ja;168231 に記載されており、次のレジストリ値で制御されます。
HKEY_LOCAL_MACHINE\System\CurrentControlSet \Control\Update\UpdateMode (REG_DWORD)
値が 0 の場合、システム ポリシーの適用が無効になります。
既定値の 1 の場合、自動モードが有効になります。 既述のとおり、認証ドメイン コントローラ上で Ntconfig.pol システム ポリシー ファイルの検索が行われます。
値が 2 の場合、手動モードが有効になります。 同じキー内にある NetworkPath (REG_SZ) 値が参照され、そこにあるポリシー ファイルの検索が試行されます。
システム ポリシーの正しい機能を確認することは重要です。 サポート技術情報 154120「Debugging User Profiles and System Policies in Windows NT 4.0」 https://support.microsoft.com/default.aspx?scid=kb;ja;154120 (英語) に、userenv.dll をチェック ビルド バージョンと置き換える手順が記載されています。この手順に従うと、ポリシー アプリケーションのデバッグに使用できるログ ファイルを作成できます。 この手順は、Terminal Server Edition を含む、Windows NT 4.0 の全バージョンおよび Service Pack レベルで利用できます。
既定のシステム ポリシーの動作は、Windows NT ドメイン インフラストラクチャの機能によって異なりますが、システム ポリシーの効果は、Windows 2000 を実行しているコンピュータおよび Windows NT を実行しているスタンドアロン コンピュータで活用でき、ローカル アカウント データベースのユーザーもこれを利用できます。 サポート技術情報 168579「[NT] システム ポリシーをローカルにセットアップする方法」 https://support.microsoft.com/default.aspx?scid=kb;ja;168579 に、ローカル アカウント データベースのユーザーがシステム ポリシーを利用できるようになる、Windows NT システムの設定方法が 2 とおり説明されています。 Windows NT ドメインで Windows 2000、Windows XP、または Windows Server 2003 を実行しているコンピュータを使用している場合は、サポート技術情報 274478「NT 4.0 ドメイン/ワークグループ内の Professional クライアントへのグループ ポリシー」 https://support.microsoft.com/default.aspx?scid=kb;ja;274478 に、Windows NT ドメイン コントローラで Windows 2000 互換ポリシーを配布するために必要な手順が記載されています。
システム ポリシーの展開を計画する際の考慮事項
ポリシーを作成して展開する場合には、最高レベルの安全性を確保するために、システム ポリシーで発生する可能性のある複雑な問題について注意してください。
Windows NT 4.0 に実装するシステム ポリシーにはさまざまなバグが存在するため、必ず SP3 以降のバージョンをインストールして、システム ポリシーに関連する重要な更新プログラムをすべてシステムに適用してください。 通常は、他のセキュリティ要件で事実上 Windows NT SP6a が必要となるため、特殊な要件のアプリケーションをサポートする必要がない限り、これは問題になりません。
システム ポリシーを確実に検出してダウンロードし、適用するには、ログオンとログオフを最大 2 回ずつ行う必要があります。
ポリシーがコンピュータから自動的に削除されることはないため、Administrator アカウント用にグループ固有のポリシーを作成する必要があります。 このポリシーは、少なくとも、管理者に必要な制限を削除し、必要な機能へのアクセス権限を管理者が自分で再付与できるように設定する必要があります。一般的な Administrator グループ ポリシーは、制限された全機能を単に復元するためのものです。
ポリシーの各設定を慎重に調べ、二重否定となる可能性のあるものがすべて正しく解析されることを確認してください。 一部の設定では、特定の動作を停止させるために二重否定が必要になります。
システム ポリシー ファイルの格納場所を再確認してください。 ファイルは、NETLOGON 共有に格納される必要があります。NETLOGON 共有の場所は、プライマリ ドメイン コントローラが Windows NT 4.0、Windows 2000、または Windows Server 2003 のいずれを実行しているかによって異なります。
重要な確認事項として、ディレクトリ レプリケーション サービスが正しく機能し、PDC の NETLOGON 共有の内容がすべての BDC に正しくコピーされることを確認してください。
ポリシー ファイルの変更日時が、ポリシー ファイルを変更するたびに、または新しいポリシーを展開するたびに、更新されることを確認してください。 以前の Service Pack がインストールされている一部のクライアントでは、ポリシー ファイルがキャッシュされ、その変更日時はファイルの更新指標として使用されます。 可能であれば、Windows NT を実行しているすべてのコンピュータに SP3 以降がインストールされていることを確認してください。推奨は SP6a です。
Windows NT 4.0 と、Windows 2000 または Windows Server 2003 ドメイン コントローラが混在している環境では、Windows NT のディレクトリ レプリケーション サービスと Windows 2000 のファイル レプリケーション サービスの間のブリッジを提供するレプリケーション プロセスを確立することができます。
Windows NT 4.0 Terminal Server Edition の場合は、システム ポリシーの使用に関して、他にはない複雑な問題があります。 詳細については、サポート技術情報 192794「How to apply System Policy settings to Terminal Server」 https://support.microsoft.com/default.aspx?scid=kb;ja;192794 (英語) を参照してください。
繰り返しますが、システム ポリシーを使用しても、レジストリおよびファイル システム アクセス制御リスト (ACL) を正しく適用する作業の代わりにはなりません。また、他のシステム強化対策を用いずにすむわけでもありません。 一例として、Microsoft Office アプリケーション バイナリの実行しかユーザーに許可しないシステム ポリシーを適用したシステムを想定します。 ユーザーは、Office の標準的な [ファイル] メニューを使用して、新規フォルダを作成し、cmd.exe などの実行可能ファイルやレジストリ エディタを書き込み可能な場所にコピーして、その名前をシステム ポリシーで許可されている実行可能ファイル名に変更することができます。このような手順でポリシーは回避できます。
システム ポリシーを展開する場合、次のような具体的な弱点がいくつかあるため、これらの弱点を検討して別のセキュリティ対策で補完する必要があります。
システム ポリシーで実行可能ファイルを制限する場合、完全なパス名で指定する必要があり、既定の検索パスに依存することはできません。
エクスプローラの [ツール] メニューと [表示] メニューの使用の制限については、検討する必要があります。 これらのメニューには、使用するとポリシーの制限を打破できるオプションが多数含まれています。
レジストリ ファイル (.reg) は、RegEdt32 や RegEdit へのアクセス権限が削除されている場合でも、既定でファイル名の拡張子の関連付けが設定されているため、通常は実行可能です。
一時ディレクトリやプロファイル ディレクトリなど、ユーザーが書き込み可能なディレクトリは、既定の検索パスに含まれません。
レジストリの World というセキュリティ ID (SID) には、必要以上のアクセス権限が与えられています。 この ID には、クエリ/列挙/読み取り権限のみを許可することをお勧めします。ただし、この ID は古いアプリケーションを破壊する可能性があるため、機能の維持に必要な権限を特定する広範なテストを実施する必要があります。
システム ディレクトリ内のすべての実行可能ファイルを、よく調査する必要があります。 これらのファイルから 実行権限を削除しても、ユーザーに読み取り権限がある場合、書き込み可能な場所にファイルをコピーして、そこから実行することができます。
セキュリティ構成マネージャ
セキュリティ構成マネージャ (SCM) は、当初 Windows 2000 用に設計されたものですが、Windows NT 4.0 SP4 以降でも使用できるようになりました。 SCM は、SP6a 用 CD-ROM から、またはマイクロソフトの FTP サイトからダウンロードして入手できます。 SCM の主なツールはセキュリティ構成エディタ (SCE) で、これを使用してセキュリティ テンプレートやシステム ポリシーを作成および管理することができます。
SCE を使用すると、役に立つさまざまなタスクを実行できます。 以下にその例を紹介します。
Windows NT を実行しているコンピュータの監査、ユーザー権限、およびセキュリティ設定を指定するセキュリティ テンプレートを作成する。
ドメイン内にある 1 台以上のコンピュータにテンプレートを自動的に適用する。
1 台以上のコンピュータをスキャンして、特定のテンプレートとの適合レベルを判定する。
SCE をインストールした場合、一組のテンプレートが既定で %winnt%\security\templates フォルダに追加されます。 各テンプレートは、特定のセキュリティ環境およびコンピュータを対象に設計されています。
基本テンプレート (Basic*4.inf) は、対象となるコンピュータに標準レベルのセキュリティを適用します。これには、6 週間のパスワード有効期限設定や、レジストリ キー、ファイル システム、ユーザー権限の基本セットが含まれます。
互換テンプレート (Comp*4.inf) は、基本テンプレートよりも強力なセキュリティを適用します。 ただし、古いクライアントやアプリケーションと競合する可能性のあるセキュリティ設定は無効になっています。このテンプレートの目的は、アプリケーションの互換性に関する問題の発生を防ぎ、安全性を高めることにあります。
高セキュリティ テンプレート (HiSec*.inf) は、いくつかの追加セキュリティ ポリシーを適用します。これには、パスワードの最低文字数の 7 文字から 8 文字への増加、制限が強化されたファイル システムおよびレジストリのアクセス許可セットの使用が含まれます。 ファイル システムやレジストリのアクセス許可、またはユーザー権限の割り当てによっては、このテンプレートが原因で古いアプリケーションに問題が発生することがあります。
セキュリティ テンプレート (Secur*.inf) は、最も安全性の高い標準テンプレートですが、保護されたコンピュータと、同様の設定が行われていない Windows 95/98 クライアントの間の相互運用性を制限する、サーバー メッセージ ブロック (SMB) 署名などの機能を有効にします。
表 4.1: Windows NT SCE ツールセットに同梱されている定義済みテンプレート
目的 | セキュリティ対象 | 使用ファイル |
---|---|---|
基本的なセキュリティ | プライマリ/バックアップ ドメイン コントローラ | BasicDC4.inf |
メンバ サーバー | BasicSv4.inf | |
ワークステーション | BasicWk4.inf | |
セキュリティの向上とアプリケーションの完全な互換性 | プライマリ/バックアップ ドメイン コントローラ | CompDC4.inf |
メンバ サーバー | CompDC4.inf | |
ワークステーション | CompWS4.inf | |
高いセキュリティとアプリケーションの互換性の縮小 | メンバ サーバーまたはドメイン コントローラ | HiSecDC4.inf |
ワークステーション | HiSecWS4.inf | |
高いセキュリティと Windows 98 との互換性の縮小 | メンバ サーバーまたはドメイン コントローラ | SecurDC4.inf |
```
attrib –s –h –r boot.ini
```
メモ帳などのテキスト エディタを使用して Boot.ini ファイルを開きます。
「timeout=30」と記述された行を見つけ、timeout 値を「0」に変更します。
ファイルを保存して、テキスト エディタを終了します。
attrib コマンドを使用して、Boot.ini ファイルの読み取り専用設定、非表示設定、および各システム属性を復元します。
attrib +s +h +r boot.ini
SCM をインストールする
ここでは、SCM ツールのインストール方法について説明します。 Windows NT 4.0 SP4 以降を実行しているコンピュータであれば、Server Edition でも Workstation Edition でも、SCM を実行できます。 Trey の IT スタッフは利便性を考慮し、パーソナル ワークステーションに SCM をインストールして、ドメイン内の Windows NT 4.0 を実行しているすべてのコンピュータに対して SCM を実行できるようにしました。
SCM をインストールするには
Administrator としてログオンし、エクスプローラを開きます。
c:\temp ディレクトリがない場合は、作成します。
SCM のインストーラを https://support.microsoft.com/kb/245216/en (英語) からダウンロードして、そのファイルを C:\Temp に保存します。
C:\Temp を開いて、Scesp4i.exe アプリケーションをダブルクリックします。
インストール ユーティリティの指示に従い、サポート ファイルの解凍先となる一時ファイルのパスとして「C:\Temp\scminstall」を指定します。次に [OK] をクリックします。
エクスプローラを使用して C:\Temp\scminstall を開きます。
Mssce ユーティリティをダブルクリックして、SCE、および、GUI バージョンの SCE に必要な Microsoft 管理コンソール (MMC) ツールをインストールします。 インストーラによって、コンピュータ内の適切な場所に SCM コンポーネントが自動的に配置されます。
SCM スナップインを読み込む
ワークステーションまたはサーバーに SCM をインストールしたら、SCM を実行できます。 次の手順では、MMC に SCM スナップインを読み込みます。
SCM スナップインを読み込むには
SCM をインストールしたコンピュータに Administrator としてログオンします。
MMC を起動します。
[Console] を選択して [Add/Remove Snap-In] をクリックします。
[Add] をクリックします。
[Security Configuration Manager] を選択します。
[OK] をクリックし、もう一度 [OK] をクリックします。
Trey ポリシー テンプレートを適用する
ここでは、SCE GUI およびコマンド ライン インターフェイス (CLI) ツールを使用して Trey ポリシー テンプレートを適用する方法を説明します。 Trey では、下位互換性とセキュリティのバランスが最適な Comp* テンプレートを使用することにしました。
SCE GUI でポリシー テンプレートをカスタマイズするには
テスト用の Windows NT 4.0 ワークステーションにログオンします。
%systemroot%\security\templates\compws4.inf および %systemroot%\security\templates\compdc4.inf のバックアップを作成します。
メモ帳を使用して %systemroot%\security\templates\compws4.inf を開きます。
「MACHINE\System\CurrentControlSet\Services\Rdr\Parameters
\EnableSecuritySignature」が含まれている行を探します。この行を編集して、「EnableSecuritySignature 」の値が「1」になるようにします。
ファイルを保存して、メモ帳を閉じます。
メモ帳を使用して %systemroot%\security\templates\compdc4.inf を開きます。
開いたファイルで、手順 4 ~ 6 を繰り返します。
SCE GUI でポリシー テンプレートを適用するには
Administrator としてセキュリティ構成マネージャを起動します。
[Security Configuration Manager] ノードを選択します。
[Configurations] ノードを選択します。
構成ファイルの既定ディレクトリ (%systemroot%\security\templates) を選択して、構成テンプレートを表示します。
適切な構成ファイル (compws4.inf または compdc4.inf) を選択します。
ポリシー テンプレート内にある各種のオブジェクトや設定について確認します。
[Security Configuration Manager] ノードを選択します。
[Database] ノードを右クリックして、[Import Configuration] をクリックします。
該当するポリシー テンプレートを選択して、[OK] をクリックします。
[Database] ノードを右クリックして、[Configure System Now] をクリックします。
[OK] をクリックして、既定のログ ファイルのパスを受け入れます。
ポリシーが適用されるまで待ち、ログ ファイルで結果を確認します。
ログ ファイルを閉じます。
MMC を閉じます。
コマンド ラインでポリシー テンプレートを適用するには
対象のコンピュータにログオンします。
コマンド プロンプトを開きます。
次のコマンドを実行します。
secedit /configure /cfg c:\winnt\security\templates\treysec.inf /overwrite
結果を確認します。
コマンド プロンプトを閉じます。
LM パスワード ハッシュの格納を回避する
ここでは、LM パスワード ハッシュの格納を回避するために、ポリシーを使用するかまたはレジストリを直接編集して、ドメイン コントローラを構成する方法を説明します。
Windows 2000 SP2 以降、Windows XP、または Windows Server 2003 のグループ ポリシーまたはローカル ポリシーを使用して LM ハッシュの格納を回避するには
グループ ポリシー エディタを開きます。
[コンピュータの構成]、[Windows の設定]、[セキュリティの設定]、[ローカル ポリシー] の順に展開し、[セキュリティ オプション] をクリックします。
使用可能なポリシーの一覧で、[ネットワーク セキュリティ: 次のパスワードの変更で LAN Manager のハッシュの値を保存しない] をダブルクリックします。
[有効] をクリックし、次に [OK] をクリックします。
コンピュータを再起動して、パスワードを変更します。
NTLM 認証レベルを設定する
ここでは、ドメイン コントローラで使用する NTLM 認証のレベルの設定方法について説明します。
Windows 2000、Windows XP、または Windows Server 2003 のグループ ポリシーを使用して、NTLM レベルを設定するには
ドメイン コントローラに Administrator としてログオンします。
[Active Directory ユーザーとコンピュータ] を起動します。
グループ ポリシー エディタを開きます。
NTLM 認証レベル設定の適用先となるドメインを右クリックして、[プロパティ] を選択します。
[プロパティ] ダイアログ ボックスの [グループ ポリシー] タブをクリックします。
[新規] ボタンをクリックして、新しいグループ ポリシー オブジェクト (GPO) を作成します。
「NTLM 認証レベル」と入力して Enter キーを押します。
[編集] ボタンをクリックします。
[コンピュータの構成]、[Windows の設定]、[セキュリティの設定]、[ローカル ポリシー] の順に展開し、[セキュリティ オプション] をクリックします。
使用可能なポリシーの一覧で、[ネットワーク セキュリティ: LAN Manager 認証レベル] をダブルクリックします。
[NTLMv2 応答のみ送信 (LM を拒否する)] を選択します。これで、Windows 98 と Windows NT のコンピュータが混在しているネットワークに、セキュリティと互換性のバランスが最適な認証レベルが設定されます。
[OK] をクリックします。
グループ ポリシー エディタを閉じます。
[ドメインのプロパティ] ダイアログ ボックスで NTLM 認証レベル GPO を右クリックし、[上書き禁止] をクリックします。
[閉じる] をクリックします。
Windows NT 4.0 SP3 以降のコンピュータで、レジストリ エントリを使用して NTLM レベルを設定するには
レジストリ エディタ (Regedt32.exe) を起動します。
次のキーを探してクリックします。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Control\Lsa[編集] メニューの [値の追加] をクリックします。
[データ型] で [DWORD 値] を選択します。
[値の名前] に「LMCompatibilityLevel」と入力し、[OK] をクリックします。
[データ] に「3」(または必要なレベル) を入力し、[10 進] 値として設定します。
レジストリ エディタを終了します。
コンピュータを再起動します。
Windows 98 のコンピュータで、レジストリ エントリを使用して NTLM レベルを設定するには
レジストリ エディタ (Regedt32.exe) を起動します。
レジストリで次のサブキーを探して選択します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Control[編集] メニューの [新規] をポイントして、[キー] をクリックします。
「Lsa」と入力して Enter キーを押します。
[編集] メニューの [新規] をポイントして、[DWORD 値] をクリックします。
「LMCompatibilityLevel」と入力して Enter キーを押します。
[編集] メニューの [値の追加] をクリックして、次のレジストリ値を追加します。
[値の名前]: LMCompatibility
[データ型]: REG_DWORD
[データ]: 3
レジストリ エディタを終了します。
コンピュータを再起動します。
ボリュームを NTFS に変換する
ここでは、FAT ボリュームを NTFS に変換する方法について説明します。
FAT ボリュームを NTFS に変換するには
Administrator としてログオンし、コマンド プロンプトを表示します。
convert コマンドを使用して、変換対象のドライブを指定します。
convert d: /fs:ntfs
メッセージが表示されたら再起動します。これで、選択したドライブへの排他アクセス権が変換ユーティリティに与えられます。
システム パーティションを変換する場合、コマンド インタープリタ用の現在の作業ディレクトリが含まれたボリュームを変換する場合、または、ファイルを開いたままのアプリケーションがあるボリュームを変換する場合は、再起動が必要です。
注 : サポート技術情報 214579「Convert.exeを使用してパーティションをNTFSに変換する方法」 https://support.microsoft.com/default.aspx?scid=kb;ja;214579 に、convert コマンドとその操作方法の詳細が記載されています。
その他の強化対策を実行する
ここからは、その他の強化対策を実装するために必要な手順について説明します。
8.3 形式のファイル名の自動生成を無効にする
この手順を実行すると、16 ビット アプリケーション用の 8.3 形式ファイル名の自動生成が無効になります。
8.3 形式のファイル名の生成を無効にするには
レジストリ エディタ (Regedt32.exe) を起動します。
次のキーを探してクリックします。HKEY_LOCAL_MACHINE\System\CurrentControlSet
\Control\FileSystemNtfsDisable8dot3NameCreation 値が存在しない場合は、[編集] メニューの [値の追加] をクリックし、「NtfsDisable8dot3NameCreation」と入力して REG_DWORD 型であることを確認します。 Enter キーを押します。
NtfsDisable8dot3NameCreation 値を選択します。
[編集] メニューの [修正] をクリックします。
「1」(または必要なレベル) を入力して [OK] をクリックします。
レジストリ エディタを終了します。
注 : Trey には、正常に機能させる必要がある 16 ビット アプリケーションが数多くありますが、 これらのアプリケーションは、ドメイン内のコンピュータのサブセットで実行されます。 この変更は、すべてのファイル サーバーおよびプリント サーバーに適用されました。メンバ サーバーおよびワークステーションの場合は、16 ビット アプリケーションを実行していないものが選択されて適用されました。
自動実行を無効にする
この手順を実行すると、CD-ROM ドライブの自動実行機能が無効になります。
自動実行を無効にするには
レジストリ エディタ (Regedt32.exe) を起動します。
次のキーを探してクリックします。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Services\CDROM[編集] メニューの [値の追加] をクリックします。
「Autorun」と入力して、REG_DWORD 型であることを確認します。 Enter キーを押します。
[編集] メニューの [修正] をクリックします。
「0」(または必要なレベル) を入力して [OK] をクリックします。
レジストリ エディタを終了します。
OS/2 および POSIX サブシステムを削除する
この手順を実行すると、OS/2 および POSIX と互換性のあるサブシステムが無効になります。
OS/2 および POSIX を無効にするには
レジストリ エディタ (Regedt32.exe) を起動します。
次のキーを探して削除します。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Control\SessionManager\Environment\OS2LibPathHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Control\Session Manager\Subsystems キーがある場合は、その OS/2 サブキーと POSIX サブキーを探して削除します。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Control\Session Manager\Environment\Subsystems キーがある場合は、その POSIX サブキーと OS/2 サブキーを探し、見つかった場合は削除します。次のキーを捜して削除します。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
\OS/2 Subsystem for NTレジストリ エディタを終了します。
エクスプローラを開きます。
\winnt\system32\os2 ディレクトリとそのサブディレクトリをすべて削除します。
コンピュータを再起動します。
オブジェクトの保護レベルを上げる
この手順を実行すると、カーネル オブジェクトの保護レベルが上がります。
オブジェクトの保護レベルを上げるには
レジストリ エディタ (Regedt32.exe) を起動します。
次のキーを探してクリックします。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Control\Session Manager[編集] メニューの [値の追加] をクリックします。
「EnhancedSecurityLevel」と入力して、REG_DWORD 型であることを確認します。 Enter キーを押します。
[編集] メニューの [修正] をクリックします。
「1」(または必要なレベル) を入力して [OK] をクリックします。
レジストリ エディタを終了します。
ユーザーがプリンタ ドライバを追加できないようにする
この手順を実行すると、通常のユーザーはプリンタ ドライバを追加できなくなります。
通常ユーザーによるプリンタ ドライバの追加を無効にするには
レジストリ エディタ (Regedt32.exe) を起動します。
次のキーを探してクリックします。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers\LanMan Print Services\Servers
[編集] メニューの [値の追加] をクリックします。
「AddPrinterDrivers」と入力して、REG_DWORD 型であることを確認します。 Enter キーを押します。
[編集] メニューの [修正] をクリックします。
「1」(または必要なレベル) を入力して [OK] をクリックします。
レジストリ エディタを終了します。
Administrator の自動ログオンが無効であることを確認する
この手順を実行すると、Administrator アカウントの自動ログオンが無効になります。
Administrator の自動ログオンを無効にするには (既定では無効)
レジストリ エディタ (Regedt32.exe) を起動します。
次のキーを探してクリックします。HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon
AutoAdminLogon 値を探して、ある場合はクリックします。
[編集] メニューの [修正] をクリックします。
「0」(または必要なレベル) を入力して [OK] をクリックします。
DefaultPassword 値がある場合は削除します。
レジストリ エディタを終了します。
Novell クライアントへの通知を無効にする
この手順を実行すると、Novell ネットワーク クライアントへのパスワード変更の自動通知が無効になります。
Novell クライアントへの既定のパスワード変更通知を無効にするには
レジストリ エディタ (Regedt32.exe) を起動します。
次のキーを探してクリックします。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Notification Packages 値を探してクリックします。
[編集] メニューの [修正] をクリックします。
FPNWCLNT 値が表示されないことを確認して、[OK] をクリックします。
レジストリ エディタを終了します。
ソリューションをテストする
Trey シナリオの実装が完了したら、実装を検証して要件を満たしていることを確認します。
検証
次の表に記載されている情報を使用して、Trey シナリオをテストし、このガイダンスの実装を検証することができます。
表 4.2: 検証テスト
内容 | テスト手順 | 予想される結果 |
---|---|---|
Internet Explorer 6 SP1 のインストールの検証 | Internet Explorer を起動し、 [ヘルプ] メニューの [バージョン情報] をクリックします。 | バージョン情報に "6.0.2800.xxxx" と表示されます。 |
Windows NT 4.0 (SP6a) のインストールの検証 | [管理ツール] の [Windows NT 診断プログラム] アプレットを実行して、[バージョン] タブをクリックします。 | バージョン情報に "SP6a" と表示されます。 |
起動シーケンスの検証 | モード 1 の場合 (Trey のほとんどのサーバーおよびそのワークステーションすべてで、[ローカルにスタートアップ キーを保存する] を選択) 起動時にキーの暗号化が解除されて読み込まれ、そのコンピュータは管理者が操作しなくても再起動できるようになります。 モード 2 の場合 (高付加価値サーバーで、[パスワード スタートアップ]、および関連するテキスト フィールドを使用) 起動処理を完了するには、起動時に管理者がコンソールにパスワードを入力する必要があります。 | クライアントが正常にログオンできます。 |
DSClient が正常にインストールされていることの検証 | [スタート] メニューの [検索] をクリックして、[人] をクリックします。 | Active Directory を検索する機能があれば、DSClient は正常にインストールされています。 |
システム ポリシーの検証 | システム ポリシーで制限されているリソースにアクセスしてみます。 システム ポリシーの場所を再確認してください。通常は、C:\Winnt\system32\repl\import\scripts フォルダです。 | 禁止されているリソースにアクセスできません。 システム ポリシーが、所定の場所で使用可能になっています。 |
NTLMv2 認証の検証 | NTLMv2 認証が要求されるようにドメイン コントローラを設定します。 | クライアントが正常にログオンできます。 |
セキュリティ構成マネージャの検証 | セキュリティ テンプレートを構築して、ドメイン内の 1 台以上のコンピュータに自動的に適用されるようにします。 %winnt%\security\templates フォルダにあるテンプレートのセットを確認します。 | メンバ サーバーおよびワークステーションをセキュリティ保護できます。 テンプレートは、所定の場所で使用可能になっています。 |
長いファイル名の作成確認 | 8.3 形式よりも長い名前を持つ新しいファイルを作成します。 | 8.3 形式の名前のファイルにはアクセスできません。 |
自動実行機能の検証 | コンピュータのドライブに自動実行可能なディスクを挿入します。 | コンピュータのドライブに自動実行可能なディスクが挿入されても、自動実行が動作しません。 |
OS/2 サブシステムまたは POSIX サブシステムが動作しないことの検証 | ユーザーがプロセスを開始してログオフし、その次にシステムにログオンしたユーザーが、前のユーザーのプロセスにアクセスすることができます。 | OS/2 サブシステムまたは POSIX サブシステムに依存するアプリケーションが使用できません。 |
オブジェクトの保護レベルの検証 | さまざまな状況下で、悪意のあるユーザーがカーネル オブジェクトの属性を変更しようとします。 | 悪意のある呼び出し元が自分の権限を格上げすることをシステムが許可しません。 |
ユーザーによるプリンタ ドライバの追加の防止 | 悪意のあるユーザーが、プリンタ ドライバを追加して権限を格上げしようとします。 | Printer Operators グループおよび Administrator グループのメンバが、新しいプリンタ ドライバを追加できます。 |
Administrator の自動ログオンが無効であることの検証 | コンピュータの再起動時に、Administrator として自動ログオンしてみます。 | Administrator の自動ログオンが無効になっています。 |
起動時のタイムアウトの検証 | 再起動して、起動時のタイムアウトを確認します。 | 起動時のタイムアウトは、30 から 0 に変更されています。 |
SCM のインストールの検証 | クライアントで、[スタート] メニューの [ファイル名を指定して実行] をクリックし、「mmc」と入力して Enter キーを押します。 | SCM の Microsoft 管理コンソールが使用可能になっています。 |