web-dev-qa-db-ja.com

SYSTEMアカウントにEFS暗号化を使用させるにはどうすればよいですか?

ローカルシステムとして実行されているWindowsサービスで使用されるいくつかのファイルを暗号化したい(つまり、NT AUTHORITY\SYSTEMアカウント)。 BitLockerはソフトウェアRAIDでは機能しないようです なので、EFSが最適な方法のようです。しかしながら、 cipher /adduser SYSTEMでの使用が気に入らない:

cipher /adduser /user:SYSTEM filename.ext

Active Directoryドメインサービスでのユーザー証明書の検索エラー:指定されたドメインが存在しないか、接続できませんでした。

私はWindows8.1を使用しています。

また、SYSTEMにアクセスを許可する必要がある暗号化されたファイルもいくつかあります。私に何ができる?

7
Ben N

これは、7以降(およびおそらくそれ以前)のWindowsのすべての化身、およびサーバーバージョンでも機能します。

SYSTEMアカウントは実際にEFSを使用できますが、デフォルトではEFS証明書がありません。 SYSTEMの証明書を登録できるのはSYSTEMだけなので、 PsExec を取得する必要があります。 psexec.exeにアクセス可能な管理コマンドプロンプトから、psexec /s /i cmd.exeを実行して、SYSTEMとして実行されるコマンドプロンプトを生成します。

始める前に

暗号化されたファイルへのSYSTEMアクセスを許可するということは、マシンに物理的にアクセスできる人なら誰でもそのファイルを復号化できることを意味することに注意してください。通常、EFS証明書はユーザーパスワードで保護されていますが、誰もパスワードを入力しないため、SYSTEMのパスワードをディスクに保存する必要があります。したがって、これらの手順は、マシンキーにアクセスできないオフサイトバックアップのセキュリティが心配な場合にのみお勧めします。

SYSTEMのみにファイルへのアクセスを許可する場合

システムプロンプトを使用してファイルを暗号化します。これは、Windowsに付属のcipherユーティリティを使用して実行できます。 cipher /eの後にファイル名が続くと、そのファイルが暗号化され、SYSTEMのみがアクセスできるようになります。ディレクトリを暗号化するためのコマンドはcipher /e /s:で、ターゲットディレクトリ名はそのコロンのすぐ上でスマッシュされます。

すでに暗号化されているファイルへのアクセスをSYSTEMに許可する場合

ファイルが(どのアカウントでも)初めて暗号化されると、EFS証明書/キーが発行されます。スクラッチファイルを作成するには、システムプロンプトでecho. > scratch.txtを実行します。そのファイルをcipher /e scratch.txtで暗号化します。必要に応じて、その余分なファイルをトーチすることができます。証明書はすべて準備ができています。 EFS証明書は、証明書MMCスナップインで管理できます。ユーザーではなくコンピューターのスナップインを開くか、certlm.mscを実行する必要があります。関心のある証明書は、信頼できる人の下にあります。

ここで、暗号化されたファイル/ディレクトリへのシステムアクセスを許可する場合は、ファイルの所有者としてコマンドプロンプトを開きます。 cipher /adduser /certhash:を実行し、ターゲットユーザーのEFS拇印をスペースなしでコロンに押し付けます。 ([証明書MMC]ウィンドウのエントリをダブルクリックし、[詳細]タブに切り替えて、拇印を表示します。)ターゲットファイル名は追加のパラメーターであり、/s:<dir>は引き続き機能します。 'これをフォルダに適用しています。

コマンドの例

ファイルの暗号化:cipher /e filename.ext
フォルダの暗号化:cipher /e /s:Important
ユーザーをファイルに追加する:cipher /adduser /certhash:6cc1ce89aac7b6f794733e1b6b54a564a9bed9de filename.ext

さらに読む: "ITの仕組み:ファイルシステムの暗号化"cipher.exe TechNetでの参照

8
Ben N