Windows Server 2008では、コントロールパネルによる追加、削除を全廃して、すべて[サーバーマネージャ]を使用するようにしている。前回の本連載で解説したように、「役割」に分類するものと「機能」に分類するものがあり、このうち「役割」については複数の「役割サービス」というサブコンポーネントで構成する。
サーバOSに限ったことではないが、不要な機能を動作させることは、それが意図的なものでもそうでなくても、攻撃を受ける原因になりやすい。特に、ユーザーが知らないうちに動作していた機能については注意が行き届かない場合が多く、設定が甘くなったり、セキュリティ修正プログラムの適用が後手に回ったりする可能性がある。Code Redワームが流行した一因も、Windows 2000 Serverが既定値でIIS(Internet Information Services)を動作させていた点にある。
そこでWindows Server 2003からは、「セットアップ直後は必要最低限の機能だけにしておき、必要に応じて機能を追加する」という考えを取り入れた。この考え方を、Windows Server 2008では一層深度化させている。こうすることで、ユーザーが明示的に組み込みを指示した機能以外は動作しない、という状況を作り出せるからだ。
Windows Server 2003の場合、主要な機能については[サーバーの役割管理]で追加や削除を行い、それ以外についてはWindows 2000 Serverと同様にコントロールパネルでWindowsのコンポーネントを追加、あるいは削除する形をとっていた。対象によって追加、削除の手順が異なるので、いささか不親切だった感は否めない。
そこでWindows Server 2008では、コントロールパネルによる追加、削除を全廃して、すべて[サーバーマネージャ]を使用するようにしている。前回の本連載で解説したように、「役割」に分類するものと「機能」に分類するものがあり、このうち「役割」については複数の「役割サービス」というサブコンポーネントで構成する。
役割の一覧
Windows Server 2008で設定している役割の一覧を以下に示す。個々の役割の下に複数の役割サービスが存在する場合が多いが、それまですべて示すと数が多くなりすぎるので、ここでは役割一覧にとどめる。
- Active Directory Rights Management Service
- Active Directoryドメインサービス
- Active Directoryフェデレーションサービス
- Active Directoryライトウェイトディレクトリサービス
- Active Directory証明書サービス
- DHCPサーバー
- DNSサーバー
- FAXサーバー
- UDDIサービス
- Webサーバー(IIS)
- Windows展開サービス
- アプリケーションサーバー
- ターミナルサービス
- ネットワークポリシーとアクセスサービス
- ファイルサービス
- 印刷サービス
実際には、これらの役割の多くは複数のサブコンポーネント、つまり役割サービスによって構成しており、こちらについても個別に追加、削除を行えるようになっている。したがって、役割だけでなくその下の役割サービスのレベルで必要な機能、不必要な機能を吟味して、本当に必要なものだけを組み込むことができるようになっている。
特に役割サービスの種類が多いのはIIS(Internet Information Services 7.0)だ。役割や役割サービスによっては相互に依存関係がある場合があるが、その場合には、役割や役割サービスの追加を指示すると、自動的にサーバーマネージャが必要な役割/役割サービスの追加を求めてくるので、トラブルは起こらないようになっている。
機能の一覧
一方、機能の一覧は以下の通りだ。機能は役割と違って、通常はサブコンポーネントを持たない。
- .NET Framework 3.0の機能
- BitLockerドライブ暗号化
- BITSサーバー拡張
- HTTPプロキシを経由したRPC
- LPRポートモニタ
- Peer Name Resolution Protocol
- RDC(Remote Differential Compression)
- SAN用記憶域マネージャ
- Simple TCP/IP Services
- SMTPサーバー
- SNMPサービス
- Telnetクライアント
- Telnetサーバー
- TFTPクライアント
- UNIXベースアプリケーション用サブシステム
- Windows Internal Database
- Windows Powershell
- Windows Serverバックアップの機能
- Windowsシステムリソースマネージャ
- Windowsプロセスアクティブ化サービス
- WINSサーバー
- インターネット印刷クライアント
- インターネット記憶域ネームサーバー
- グループポリシーの管理
- デスクトップエクスペリエンス
- ネットワーク負荷分散
- マルチパスI/O
- メッセージキュー
- リムーバブル記憶域マネージャ
- リモートアシスタンス
- リモートサーバー管理ツール
- ワイヤレスLANサービス
- 高品質なWindowsオーディオビデオエクスペリエンス
- 接続マネージャ管理キット
Server Coreの場合
Windows Server 2008で加わった新機能の1つであるServer Coreインストールでも、不必要な機能を組み込まないという考え方はまったく同一なので、通常インストールの場合と同様に、役割や機能の追加、削除が必要になる。
Server Coreで利用できる役割/機能の一覧は、コマンドプロンプトで「oclist」と入力すると、テキストを使ったツリー表示によって確認できる。役割/役割サービス、機能をすべてまとめてツリー表示するので、「oclist | more」と入力して、一画面ごとに表示を区切るようにフィルタを仕掛ける方が確認しやすいだろう。
Server Coreインストールの場合、役割や機能の操作もコマンドで行う。そのため、個々の役割/役割サービス、機能ごとに英文の名称がつけられており、それを使って追加や削除の指示を行う仕組みになっている。その名称についても、oclistコマンドを実行した際に表示する。
たとえば、役割「Active Directoryドメインサービス」であれば、「DirectoryServices-Domain Controller-ServerFoundation」という英文名称があり、これを使って追加や削除を指示する。注意しなければならないのは、この名称を入力する際には大文字、小文字の区別がある点だ。
Server Coreにおける役割や機能の追加、削除は、ocsetupコマンドを使用する。その際の書式は以下の通りだ。
追加する場合
ocsetup /w <役割や機能の英文名称>
削除する場合
ocsetup /w <役割や機能の英文名称> /uninstall
スイッチ「/w」は、追加や削除の操作が完了するまでプロンプトに戻らないようにするための指示だ。こうすることで、プロンプトに戻ったときには指示した操作が完了している、という保証が得られる。このスイッチを省略しても追加や削除は可能だが、指示通りの操作が完了したかどうかの確認が難しい。
なお、役割サービスについては役割を追加した後で、個別にocsetupコマンドを実行して追加していく必要がある。役割サービスが複数の階層を構成している場合も同様だ。
ところで、ここまで解説してきたServer Coreにおける役割の追加には1つだけ例外があり、それがActive Directoryドメインサービスだ。これに限って通常セットアップ時と同様のdcpromoコマンドを使用するようになっており、それによって役割の追加とドメインコントローラの構成を一気に行う。ただし、ウィザード形式によるActive Directoryの構成は行えず、事前に応答ファイルを用意してから「dcpromo /unattend:<応答ファイルのファイル名>」と入力して、自動的にセットアップしなければならない。