こんにちは!今回はとても困った状況に陥ったのでこんなケースもあるよ!といった意味で事例の紹介をしたいと思います。
Windowsで共有サーバ等にアクセスしに行くとき、パスワードが設定されていることはよくありますね。
その際に、毎回パスワード入力するのは手間です。
そのため、資格情報を記憶させて入力を省略させる等を使うことが日常的に行われていると思います。
しかし、ある条件下でこれを実行すると、再起動を行ってしまうとこの資格情報が消えてしまうという現象が起こりました。これを解決してほしいという相談がありました。結構残念な結果ではあるのですが、調査結果を紹介してみようと思います。
発生条件
まずは資格情報マネージャーを起動し、一度保存した資格情報を確認してみます。
「Windows資格情報」をクリックし、該当する資格情報の右端にはるボタンをクリックします。
すると、下記のように「常設」の項目が「ログオンセッション」になってしまうことがあります。
この状態で再起動を行うと、ログインした際に資格情報が消えてしまいます。
原因
なぜこのようなことが起こってしまうかというと、その資格情報と「同じ名前のアカウント」が共有サーバ上にも存在するためです。※とても簡単に表現しています。
回避方法
正しく資格情報が保存されている場合、「常設」の項目は下記のように「ローカルコンピューター」か「エンタープライズ」になっていないといけません。
上記のようにするには、「共有サーバーのアカウント」であることがしっかり明記される必要があります。例えば共有サーバー名が「Server」、ユーザー名が「User」だったとすると下記のように「共有サーバー名\ユーザー名」の形式で入力して保存すれば回避できます。
Server\User
※環境によって\は¥に置き換えてください
別のパターン(ドメイン環境下において実際あったケース)
上記のパターンは共有サーバとのユーザー名判別で起こったユーザー判別のプロセスにおける問題でしたが、ドメイン環境下においても同様のシチュエーションは考えられます。
例えば、ドメインに参加している共有サーバーにドメインユーザー名で共有がかかったフォルダが存在するとします。
そのフォルダに、同じドメインに参加しているクライアント端末からアクセスする際に、同ネットワーク内にある別のドメインを指定して資格情報を記憶させたケースです。
本来ドメインに参加しているドメインを「DomainA」とし、同ネットワーク内の別のドメインを「DomainB」とします。どちらにも同名のユーザーが存在しています。
その状態で、クライアント端末が共有サーバにアクセスする際「DomainB\ドメインユーザー名」とわざわざ指定してWindows資格情報を保存することで「常設:ログオン セッション」の状態を作り出すことができました。
この場合は「DomainA\ドメインユーザー名」として正しく指定してあげるか、そもそもドメイン環境下ですので、「ドメインユーザー名」だけで指定するべきだったかと思います。
これは相当大規模な企業でないと起こりえない事象かと思いますが、ドメインが新環境に引っ越しになったなどのケースの場合、ユーザーが古いドメインを指定してしまい、「資格情報が消えてしまう」といったクレームにつながってしまうことも考えられるかと思います。
マイクロソフトの見解
この事象はユーザー名が同じ環境の中で重複しているしていることが原因となります。
この動作はマイクロソフトとしても仕様であるとの記事が掲載されていました。
当然のことながら、セキュリティ的にも問題になりえますので個人的にはありがたい動きかと思いますが、なぜログオンセッションで一回保存できるように見えているのは正直懐疑的です。ちょっと警告をだして「保存できません」と言ってくれると問題として表面化されずに済んだように思いました。
あとがき
今回は資格情報が消えてしまう件について、原因と回避方法について紹介させていただきました。
ユーザー名が重複する環境は歴史の浅いネットワークでは起こりにくい事かと思います。
しかし、現代の日本ではWindowsとそのネットワークを非常に長く運用している企業様も多く存在していると認識しています。そのため、こういった名前の重複はユーザーだけでなく、コンピュータ名なども一意に定まらない状態に陥っている可能性は十分にあると思います。
Windowsを扱うエンジニアは、最新のOSの知識だけでなく、そういった歴史を持つ環境への対応を見越した推理力がより重要になってくるのではないかと思います。
何かのお役に立てれば幸いです。
コメント