天天看點

MsSQL使用加密連接配接SSL/TLS MsSQL使用加密連接配接SSL/TLS

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>