エンティティ データ モデル ウィザードには、次のように表示されます。
この接続文字列には、データベースへの接続に必要な機密データ (パスワードなど) が含まれているようです。接続文字列に機密データを格納すると、セキュリティ上のリスクが生じる可能性があります。この機密データを接続文字列に含めますか?
多くのライブ プロジェクトに db パスワードを含めましたが、どれくらい危険ですか?
それはあなたのリスクを最小限に抑えることです。攻撃者がサーバーからコードのコピーを取得する方法を見つけたが、サーバー上でコードを実行する方法を見つけられなかったとします。
リスクはあなただけが評価できるものです。インターネットに接続されていない寝室のテストサーバーですか? あまりリスクはありません。それは実際の機密情報を持たない小規模企業向けの社内サーバーですか? リスクはあまりないのかもしれません。
インターネットに接続されていますか?危険です。インターネットに接続していると常に危険です。なんで?インターネットは安全な場所ではないからです。あなたがどんなに大きくても小さくても、あなたはターゲットです。脆弱なシステムを探してネットを歩き回り、自動的にそれらを乗っ取る自動化されたボットがあります。次に、システムにマルウェアを感染させ、ユーザーに拡散します。または、あなたの資格情報を他のハッカーに販売して、あなたのサーバーをスパム ネットワークのコマンド アンド コントロール センターとして使用できるようにします。または、他の状況の任意の数。
インターネットに接続している場合、危険にさらされます。限目。そのため、常にセキュリティを真剣に考えてください。
aspnet_regiisを使用して接続文字列を暗号化する必要があります。役立つ情報については、このリンク ( web.config を暗号化する方法) も参照してください。
Web アプリケーションのその他の側面に関しては、可能な限り最小限の権限を設定していることを確認し、すべての Web アプリケーションの脆弱性とこれらに対する保護方法を調査する必要があります。
接続文字列のユーザー名とパスワードをIntegrated Securityに置き換えます。接続を使用するプロセスが、そのタスクを実行するための (ちょうど十分な) 特権を持つ SQL サーバーに登録されているユーザーで実行されることを確認してください。これにより、システムが危険にさらされるリスクを最小限に抑えることができます。