MsSQL使用加密連接配接SSL/TLS
說明
應用程式通過未加密的通道與資料庫伺服器通信, 這可能會造成重大的安全風險。在這種情況下, 攻擊者可以修改使用者輸入的資料, 甚至對資料庫伺服器執行任意 SQL 指令。
例如,當您使用以下連接配接字元串時,就可能存在這種風險:
<connectionStrings>
<add name="Test" connectionString="Data Source=210.10.20.10,1433; Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;" providerName="System.Data.SqlClient" />
</connectionStrings>
啟用SSL/TLS加密連接配接
大部分資料庫伺服器都提供支援使用SSL/TLS來加密傳輸所有資料,您應當盡可能的使用它。在您的連接配接字元串上加上
Encrypt=True
即可。如果您的開發環境沒有可信證書,加上
TrustServerCertificate=True
來取消驗證證書是否受信。
<connectionStrings>
<add name="Test" connectionString="Data Source=210.10.20.10,1433; Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;Encrypt=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
相關連結:https://docs.microsoft.com/en-us/sql/connect/jdbc/connecting-with-ssl-encryption
<connectionStrings>
<add name="Test" connectionString="Data Source=210.10.20.10,1433; Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;" providerName="System.Data.SqlClient" />
</connectionStrings>
Encrypt=True
TrustServerCertificate=True
<connectionStrings>
<add name="Test" connectionString="Data Source=210.10.20.10,1433; Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;Encrypt=True;" providerName="System.Data.SqlClient" />
</connectionStrings>