Windowsでキャッシュされたログオンを無効にする(暗号化ファイルシステムの運用に注意)Tech TIPS

Windows OSでは「キャッシュされたログオン」機能により、オフラインでも以前のドメインログオン資格情報を使ってコンピュータにログオンできる。このとき、暗号化されたファイルにもアクセス可能なため、セキュリティ的に問題がある。レジストリを変更すれば無効化できるものの、ノートPCではオフライン時にドメインユーザーアカウントでログオンできなくなるデメリットがある。

» 2004年09月18日 05時00分 公開
[打越浩幸デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows 2000/Windows XP/Windows Server 2003



解説

 Windowsのドメイン・ネットワークに参加してドメイン(内のコンピュータ上)のリソースを利用する場合、クライアント・コンピュータはまずドメインにログオンしてからでないと、コンピュータを利用したり、ドメインのリソースにアクセスしたりできないことになっている。だがWindows OSでは、ログオン時にドメイン・コントローラへ接続できなくても、前回のログオンで成功したときのログオン・アカウントやパスワードの情報(資格情報)を利用してコンピュータにログオンする機能を持っている。つまりキャッシュ(一時保存)していたログオン資格情報を使って、コンピュータにログオンするのである。これを「キャッシュされたログオン」とか「キャッシュ・ログオン」などという。

 この機能は、例えば一時的に通信回線が不調な場合や、ダイヤルアップ接続環境などでドメイン・コントローラにすぐにアクセスできないような状況でもクライアント・コンピュータに一時的にログオンして、作業を続けることができるようにするために用意されている。詳しくはサポート技術情報の「[NT] キャッシュされたログオン情報」を参照していただきたい。日本語サポート技術情報ではWindows NT向けとなっているが、後継のOSにも適用できる(英語版サポート技術情報「Cached Logon Information」ではWindows 2000も対象として記述が追加されている)。

 キャッシュされたログオンが有効になっていると、ログオンに成功したときのログオン資格情報が、デフォルトでは最大で10個までキャッシュされる(最大10回ログオンできるということではなく、ログオン資格情報が最大で10個キャッシュされるということ。有効な資格情報があれば、何回でもログオンできる)。10個を超えると、古いものから順に破棄され、新しい方の10個だけが有効となる。

 キャッシュされたログオンが有効になっていると、例えばLANケーブルが外されていたり、無線LANが無効になっていたりしても、コンピュータにログオンすることが可能になる。具体的には次のようなログオンが可能になる。

 ログオン資格情報は、異なるユーザーがログオンに成功するごとに1つずつ作成される。その結果、そのコンピュータを利用した異なる10ユーザー分の資格情報が保存される。例えばuser1からuser10の10ユーザーが(オンライン時に)順番にコンピュータにログオンしていたとすると、それらのユーザーはキャッシュ・ログオン機能によってコンピュータにログオンすることができる。さらに多くのユーザーがログオンしていた場合は、最新の10ユーザー分だけがキャッシュされたログインに成功する。

 この機能は、利用者にとっては便利かもしれないが、場合によっては非常に危険な機能でもある。例えばコンピュータ(ノートPCを含む)そのものが盗難にあった場合、誰でも簡単にそのコンピュータに、ドメイン・ユーザーの権限でログオンできてしまう可能性がある。もちろんパスワードが分からなければ簡単にログオンすることはできないが、絶対不可能というわけではない(何度か試行すればよいから)。さらに自動ログオンを有効にしていたりすれば(関連記事参照。PowerToysに含まれるTweakUIツールを使っても設定することができる)、電源をオンにしただけでコンピュータにログオンした状態になり、簡単にデータにアクセスすることができる。

 たとえコンピュータにログオンできなくても、ハードディスクを別のマシンに装着すれば、(NTFSであっても)中にあるファイルを読み出せるので、盗難された場合の危険性は大して変わらないと思うかもしれない。だが暗号化ファイルを利用してファイルを保護している場合、ログオンできてしまえば暗号化されたファイルも復号することが可能になるので、暗号化した意味がないということになる。つまり安全性を高くするためには、「暗号化ファイルの利用」と「自動ログオンの無効化(これはデフォルト状態)」だけでなく、さらには「キャッシュされたログオンを無効化」することが望ましい。もちろんこの3つの対策をすべて行うだけで絶対安全になるというわけではないが(パスワードや暗号化ファイルなどを解読されればアクセスできるため)、何も対策をしないとか、これらのうちの1つか2つしか利用しないよりは、はるかに状況はよくなる。本TIPSでは、キャッシュされたログオンを無効化する方法について解説する。

操作方法

[注意]

レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリ エディタの操作は慎重に行うとともに、あくまで御自分のリスクで設定を行ってください。何らかの障害が発生した場合でも、本Windows Server Insider編集部では責任を負いかねます。ご了承ください。


 キャッシュされたログオンを無効にするには、次のレジストリの値を変更する。

項目 内容
キー HKEY_LOCAL_MACHINE の
\Software\Microsoft\Windows NT\Current Version\Winlogon
値の名前 CachedLogonsCount
データ・タイプ REG_SZ
0 〜 50(デフォルトは10)。0にするとキャッシュされたログインが無効になる

 CachedLogonsCountがキャッシュされたログオンが利用できる回数の指定である。この値はデフォルトでは10なので、最大10回までキャッシュされたログオンが利用できることになっている。

 キャッシュされたログオン機能を無効にするには、CachedLogonsCountの値を0にする。こうするとネットワークに接続されていない場合はドメインユーザーアカウントではログオンできなくなり(自動ログオンを設定している場合でもログオンしなくなる)、安全性が向上する。GUIベースのツールで設定するには、[管理ツール]の[ローカルセキュリティ ポリシー]で、[セキュリティの設定]−[ローカル ポリシー]−[セキュリティ オプション]にある[対話型ログオン: ドメイン コントローラが利用できない場合に使用する、前回ログオンのキャッシュ数]の値を変更する(Windows 2000の場合は[ドメイン コントローラが利用できない場合に使用する、前回ログオンのキャッシュ数]を変更する)。

 ただしノートPCでこの設定を行うと、オフライン時にはドメインユーザーアカウントではログオンできなくなるので注意が必要である。オフラインで使用する場合は、ローカル・ユーザー・アカウントでログオンして作業するなどの対応が必要である。

■更新履歴

【2004/09/18】当初掲載した記事ではCachedLogonsCountの意味を「ログオン可能な回数」と記述しており、例えば最大10回まではログオンできるが、11回目のログオンは成功しないはず、と記述していました。しかしこれは正しくは「有効なログオン資格情報の個数」であり、ログオン可能な回数とは関係ありませんでしたので、記事を一部修正させていただきました。お詫びして訂正させていただきます。なお【2004/09/13】時点で追加した「お知らせ」の囲みは削除しました。

【2004/09/13】CachedLogonsCountの意味に関する「お知らせ」の囲みを追加しました。

【2004/09/11】初版公開。


「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。