Windows Server 2008 R2テクノロジ入門 (マイクロソフト公式解説書) という書籍を読んでいたら、管理されたサービスアカウントなるものが新機能として追加されたことが書いてありました。これは知らなかったので調べてみました。
Windows Server 2003 よりサービス専用アカウントとして、Local Service、Network Serviceというアカウントが追加されセキュアでローカルなサービスアカウントを使用できるようになりました。
よって、Windows Server 2003では
- Network Service
- Local Service
- 自分で作成したサービスアカウント
- Local System
の順にサービスアカウントを適用して試すことが推奨となっていましたね
Windows Server 2008 R2の新機能として、「管理されたサービス アカウント」と「仮想アカウント」の 2 種類の新しいサービス アカウントを使用できるようになりました。
管理されたサービス アカウント
ここでのポイントは3の自分で作成するサービスアカウントのことを指しています
例えば今までは、ドメインアカウント(もしくはローカルアカウント)を使用してサービスアカウントにしますが、ユーザー権限の割り当てを使用して最低限のセキュリティ設定を行う必要がありました。更に、パスワードの問題がありました。それはサービスアカウントのパスワード変更には多大な労力が発生していたことです。仮にサービスアカウントのパスワードを変更しようと思うと、ADのユーザー設定からパスワードを変更し、サービスの画面からサービスアカウントのパスワードを変更する必要がありました。そのようなことがあるので、多くの場合は無期限パスワードにしていた経緯があります。しかし、これはセキュリティの面から考えると脅威として認識しておく必要がありました。
今回の新機能である、「管理されたサービス アカウント」を使用すると、パスワードは定期的に自動変更されます。このメリットとして、ADのユーザーアカウントとサービスのパスワードの変更が自動的に反映されることになります。さらに対話的なWindows ログオンに使用することができないので、セキュリティ的にも強固になります。
作成方法
ADユーザーとコンピューターを使用して作成することはできません。このアカウントはPowerShellを使用する必要があります。
具体的なコマンドとしては
New-ADServiceAccount <アカウント名>
プロパティを見るには
Get-ADServiceAccount <アカウント名>
オブジェクトはADユーザーとコンピューターのManaged Service Accountコンテナに存在します。
このアカウントをドメインメンバーで使用するためには
Install-ADServiceAccount –Identity ‘<アカウント名>’
を使用してインストールする必要があります。そして、通常のユーザーオブジェクトと同様に設定することができます。その際のパスワードはNull(空欄)にする。
仮想アカウント
参考URLを読むと次のように記載がありました。
以下抜粋
仮想アカウントを使用すると、パスワード管理を行わなくても済み、ドメイン環境内のコンピューターのアカウントの資格情報を使用してサービスがネットワークにアクセスできるようになるため、サービス管理が簡単になります。
ここまで
これって、何を言っているの?ということで、よくわからないのでいろいろ調べてみると・・・・以下のようなことがわかりました。
Windows7とWindows Server 2008 R2では仮想アカウントというアカウントが導入された。
このアカウントは、ビルトインの「Network Service」アカウントを使用するサービスのログを追跡できるようにすることを目的としたものである。
「Network Service」アカウントはW2003で導入された。このアカウントは従来の「LocalSystem」アカウントに代わるものとして使用され、ローカルマシンに対しては完全なローカルシステム権限を持ち、ネットワークアクセスに関してはコンピュータアカウントの資格情報を使用する。
ところで、「Network Service」アカウントを使用するサービスが、数多くマシン上に構成されている場合、各サービスが実際何のリソースにアクセスし、何の操作を実行しているのか追跡することはほぼ無理である。なぜなら、それらすべてのサービスが「Network Service」アカウントを使用しているため、どのサービスのログか区別できないからである。
仮想アカウントは、サービスのインスタンスごとに一意となる「Network Service」アカウントの作成をエミュレートする。つまり、同じサービスであっても別インスタンスであれば、それぞれ別の「Network Service」アカウントとなる形である。これによりサービスごとの監査やログ追跡が容易になる。
ということになりますね。
システム要件
Windows Server 2008 R2 にドメインコントローラーがインストールしてあること。ただし、必ずしも最新のドメイン機能レベルでなくてもよい。ポイントとしてはR2の新機能が使用できるようにスキーマ拡張が行われていればよい。
*例外としてはDCがR2以外で、R2のスキーマ拡張が行われている場合は「管理されたサービスアカウント」を使用することはできるが、定期的なパスワード変更などは行われないので手動で行う必要があるとあるが、これって無理では(DCで変更されたパスワードが判らないと思う)・・・
まとめ
「管理されたサービスアカウント」は、自分で作成するサービスアカウントのセキュリティ機能向上を目的として使用され、「仮想アカウント」はNetwork Serviceアカウントの監査やログ追跡を容易にさせる目的で使用される