web-dev-qa-db-ja.com

MMCユーザーレベルのストアでの証明書スナップインには、システムレベルのストアの内容も含まれていますか?

自宅で管理するコンピューターがいくつかあります。それらのほとんどはWindows7を実行しており、私たちはそれらの間のピアツーピア共有に依存しています。すべてのアカウントは、すべてのシステムで一致するパスワードで存在します(ホームグループは使用しません)。

これまで、Administratorsグループのメンバーであるアカウントを使用していましたが、セキュリティ上の理由から、これから離れたいので、アカウントが(実験的に)Administratorsグループにないシステムが1つあります。

証明書(コード署名ソフトウェア、特に私が作成したExcelマクロの場合)との最近の馬上槍試合の一致を完了し、MMC証明書スナップインについていくつかの観察を行いました)通常、私はMMCを実行し、昇格を要求します。スナップインを2回追加します。1回はアカウントの証明書用、もう1回はシステム証明書用です。

かなり前に気付いた最初の観察は、システムストア内の証明書は、ユーザーの対応するストアにも表示されるということです。より良い用語がないため、この効果を投影と呼びます。少なくともTrustedPublishersストアとTrustedRoot Certification Authorityストアで発生しているようですが、Personalストアでは発生していないようです。私の知る限り、スナップインによって表示される証明書が実際にユーザーストアにあるのか、システムストアから投影されているのかを判断する方法はありません。

2番目の観察結果は、管理者以外のアカウントから、MMCはUACプロンプトなしで始まり、Ionly自分の証明書のスナップインを追加します。投影されたシステムレベルの証明書は引き続きリストに表示されますが、削除アクションは使用できません(コンテキストメニューにも表示されません)。この種の意味があり、それが本当に自分の証明書の1つなのか、それともシステム証明書の単なる投影なのかを判断するためのバックハンドの方法を提供します。

ただし、MMCが管理者アカウントから実行されている場合、これは発生しません。代わりに、UACプロンプトが表示され、アカウント、システムアカウント、のいずれかを選択してスナップインを追加できます。またはサービスアカウント。この場合、ユーザーレベルのストアにあるように見えるすべての証明書に対して削除アクションを使用できます。証明書が実際にシステムストアにある場合でも、削除は機能します。これは通常、重要なものを誤って削除するこの機能を回避するために、管理者アカウントから非管理者モードでMMCを実行するのは簡単ではないようです。

だから私の質問は:

  1. MMCが管理者として実行されているときに、ユーザーレベルのストアに表示される証明書が実際にそこに保存されているかどうかを判断し、システムレベルのストアに証明書を投影する方法はありませんか?
  2. 管理者アカウントにログインしたときに、MMCとその証明書スナップインを非管理者として実行して、システムレベルの証明書を誤って削除しないようにする方法はありますか?これを行うにはやや厄介な方法があることがわかります: このメソッドはコンテキストメニューに新しい動詞を追加します 、一時的にCMDウィンドウを表示しないより良い方法があるかもしれません。

ここで調査を続けます。

これまでのところ、MMCスナップインとcert: PowerShellのドライブコンテナオブジェクトは、投影された証明書を表示します。 certutil -storeおよびcertutil -viewstore投影された証明書を表示しません(実際、システムのTrusted Publishersストアに表示される証明書は1つ少なく、このストアに投影される別のストアが関係していることを意味します)

これはすべてどこかに文書化されているかもしれませんが、私はまだそれを見つけていません...

1
Kevin Martin

Certificates - Current Userノードを右クリックすると(おそらくそれが選択されている間?)、[表示]-> [オプション]を開き、[物理証明書ストア]をチェックできます。

MMC Certificate Options Dialog

次に、ユーザーレベル(レジストリ)の証明書と、ルート(信頼されたルート証明機関)ストアなどのストアのリンクされたストア(ローカルコンピューター)から継承された証明書の違いを確認できます。

MMC Certificates Snap-In with Physical Stores Enabled

MMCのデフォルトモードは、すべてのストアの和集合を示します。これは、信頼の決定を行うためにストアが内部的に表示される方法だからです。

1
bartonjs