1

エンティティ データ モデル ウィザードには、次のように表示されます。

この接続文字列には、データベースへの接続に必要な機密データ (パスワードなど) が含まれているようです。接続文字列に機密データを格納すると、セキュリティ上のリスクが生じる可能性があります。この機密データを接続文字列に含めますか?

多くのライブ プロジェクトに db パスワードを含めましたが、どれくらい危険ですか?

4

5 に答える 5

3

それはあなたのリスクを最小限に抑えることです。攻撃者がサーバーからコードのコピーを取得する方法を見つけたが、サーバー上でコードを実行する方法を見つけられなかったとします。

  • ユーザー名とパスワードをコードに保存した場合、攻撃者はコードと同じ権限でデータベースに直接アクセスできます。
  • 統合認証を使用した場合でも、攻撃者はユーザーになりすまして統合認証を実行することができないため、データベースからデータを取得する方法はありません。
  • 適切なIIS暗号化を使用する場合、ユーザー名とパスワードを取得するには、サーバー自体でコードを実行できる必要があります (暗号化キーはコードではなくサーバーに関連付けられています)。したがって、攻撃者は依然としてデータベースにアクセスできません。
于 2013-08-02T16:40:43.467 に答える
3

リスクはあなただけが評価できるものです。インターネットに接続されていない寝室のテストサーバーですか? あまりリスクはありません。それは実際の機密情報を持たない小規模企業向けの社内サーバーですか? リスクはあまりないのかもしれません。

インターネットに接続されていますか?危険です。インターネットに接続していると常に危険です。なんで?インターネットは安全な場所ではないからです。あなたがどんなに大きくても小さくても、あなたはターゲットです。脆弱なシステムを探してネットを歩き回り、自動的にそれらを乗っ取る自動化されたボットがあります。次に、システムにマルウェアを感染させ、ユーザーに拡散します。または、あなたの資格情報を他のハッカーに販売して、あなたのサーバーをスパム ネットワークのコマンド アンド コントロール センターとして使用できるようにします。または、他の状況の任意の数。

インターネットに接続している場合、危険にさらされます。限目。そのため、常にセキュリティを真剣に考えてください。

于 2013-08-02T16:54:38.433 に答える
2

aspnet_regiisを使用して接続文字列を暗号化する必要があります。役立つ情報については、このリンク ( web.config を暗号化する方法) も参照してください。

Web アプリケーションのその他の側面に関しては、可能な限り最小限の権限を設定していることを確認し、すべての Web アプリケーションの脆弱性とこれらに対する保護方法を調査する必要があります。

于 2013-08-02T16:38:54.283 に答える
2

接続文字列のユーザー名とパスワードをIntegrated Securityに置き換えます。接続を使用するプロセスが、そのタスクを実行するための (ちょうど十分な) 特権を持つ SQL サーバーに登録されているユーザーで実行されることを確認してください。これにより、システムが危険にさらされるリスクを最小限に抑えることができます。

于 2013-08-02T18:17:41.453 に答える