6

サイトの1つをASP.Netに移行しています。Windowsアカウントを使用してSQLサーバーに接続する統合セキュリティは使用したくありません(理由については説明しませんが、問題外です)。SQL Serverに接続するためのユーザー名とパスワードを作成し、そのユーザー名とパスワードを使用したいのですが、他の開発者にこの情報を見せたくありません(web.configから簡単に読み取れます)...私は知っています暗号化することもできますが、開発者が簡単に復号化することもできます。さらに、暗号化によってパフォーマンスが低下します。

この問題の解決策はありますか?

4

5 に答える 5

2

これは、ASP.NET2.0アプリケーションでの構成情報の暗号化に関する優れたチュートリアルです。

他の開発者に鍵を与えないでください

または、インストールされた証明書を介してSQLの認証をロックダウンすることもできます。このようにして、ユーザーではなくクライアントに基づいてセキュリティを設定します。 http://msdn.microsoft.com/en-us/library/ff649255.aspx

私たちの標準的な方法は、アクセスが制限され、本番ボックスのユーザー名/パスワードが異なる開発データベースで1つの「開発者ログイン」を使用することです。開発者は本番ボックスにアクセスできず、リード開発者のみにアクセスできます。その後、本番web.configがデプロイメントスクリプトを介してコピーされます。

于 2010-06-01T21:10:24.970 に答える
0

開発者はweb.configファイルにアクセスする必要がありますか?もしそうなら、私はあなたが運が悪いかもしれないと思います。そうでない場合、つまり、web.configファイルを変更する必要がない場合は、管理者とasp.netプロセスのみがファイルを読み取ることができるようにファイルのアクセス許可を変更します。

于 2010-06-01T21:11:35.047 に答える
0

開発者からパスワードを保護することはできません。できることは、開発者がアクセスできる開発サーバーと、開発者がアクセスできない本番環境を別々に持つことです。

開発者がデータベースに直接ログオンしてテストなどを実行する必要はありませんか? そうである場合、アプリケーションで使用されているのと同じアカウントを使用してテストを実行するのが理にかなっています。そうしないと、テスト結果が現実を反映していない可能性があります。

于 2010-06-02T07:48:16.527 に答える
0

prompt for the password、初めて接続し、セッションでパスワードを追跡するとき。これで、どこからでもデータベースに接続できるようになります。それらすべてをアプリケーション利用不可ページにリダイレクトし、パスワードを持っていない残りのユーザーにリダイレクトします。

于 2010-06-02T07:54:19.027 に答える
0

私の経験では、そのようなことを社内の開発者から隠すのは難しい傾向があります。開発者がコードをステップ実行した場合でも、webconfig で構成インフラストラクチャを暗号化しても表示されます...

これを行う必要がある場合は、DB 文字列のコードでプライベート定数文字列を作成し、コンパイルされたアプリケーションで Dotfuscator などを使用できると思います。明らかに、ソース コード自体も暗号化するか、開発者がアクセスできないようにする必要があります。

于 2010-06-01T21:13:59.947 に答える