8

私は (.NET 3.5 を使用した C# で) 複数の Windows システムをポーリングしてさまざまなデータを取得する管理アプリケーションを作成しています。多くの場合、WMI を使用しますが、場合によっては、リモート レジストリを読み取ったり、ポーリングされたシステムでコマンドやスクリプトをリモートで実行したりする必要があります。このポーリングは定期的に行われます - 通常は毎晩ですが、より頻繁に (またはより少なく) 行われるように設定できます。したがって、投票は 10 分ごとに行うことも、1 か月に 1 回という頻度で行うこともできます。人間の介入なしに、自動化された方法で行われる必要があります。

これらの機能には、ポーリングされたシステムへの管理者レベルのアクセスが必要です。さて、ほとんどのユースケースではドメインが存在し、ポーリング アプリケーションはドメイン管理者 (または同等の) 権限を持つサービスとして実行できると予想しています。つまり、パスワードの保存について心配する必要はありません。アプリは、標準の Windows メカニズムを介してサービスのユーザー名/パスワードを定義します。

しかし、そこには常に少数の黒い羊がいます。このプログラムは、ドメイン以外の環境で実行される場合や、ポーリングされたシステムがドメインのメンバーではない場合に実行される場合があります。このような場合、ユーザー名とパスワードを定義して安全に保管し、そのシステムをポーリングするときにこのユーザー/パスのペアを呼び出す必要があります。したがって、覚えておいてください - この場合、作成されるプログラムは、認証システムにパスワードを送信するユーザーです。

使用時に平文に復号化する可逆ハッシュを使用する必要があるかどうか、またはハッシュのみを保存して再利用できるWindowsメカニズムがあるかどうかはわかりません。明らかに、2 番目のメカニズムが望ましいです。私は自分のプログラムがパスワードの平文の値を決して知らないか、可能な限り短い時間でそれを知っていることを望んでいます。

これを達成するためのスマートで安全な方法の提案が必要です。

ご覧いただきありがとうございます。

4

2 に答える 2

6

答えはここにあります:

Winformsアプリケーションにパスワードを保存するには?

于 2008-09-06T05:15:23.403 に答える
0

あなたのプログラムは、すでに実行されているコンテキスト以外のユーザーになりすます必要があるようです。かなり自動化されたプロセスのように見えますが、そうでない場合は、この「黒い羊」のコンピューターがポーリングされているときに、管理者にユーザー名とパスワードを入力するように依頼しないでください。

于 2008-09-06T05:46:10.477 に答える