在Ubuntu系統中配置SQL Server的SSL加密,可以按照以下步驟進行:
首先,確保你已經安裝了SQL Server和相關的軟件包。你可以使用以下命令來安裝:
sudo apt update
sudo apt install mssql-server mssql-tools unixodbc-dev
你需要編輯SQL Server的配置文件來啟用SSL。
打開SQL Server的配置文件 mssql.conf
,通常位于 /etc/mssql/mssql.conf
。
sudo nano /etc/mssql/mssql.conf
在文件中添加或修改以下內容:
[network]
ssl = true
ssl_cert = "/var/opt/mssql/ssl/certs/tls.crt"
ssl_key = "/var/opt/mssql/ssl/private/tls.key"
確保你提供的證書和密鑰路徑是正確的,并且這些文件存在。
如果你沒有現成的證書和密鑰,可以使用OpenSSL創建一個自簽名證書。
sudo openssl req -x509 -newkey rsa:4096 -keyout /var/opt/mssql/ssl/private/tls.key -out /var/opt/mssql/ssl/certs/tls.crt -days 365 -nodes
按照提示輸入相關信息。
確保證書和密鑰文件的權限設置正確,只有root用戶可以讀取它們。
sudo chmod 600 /var/opt/mssql/ssl/private/tls.key
sudo chmod 644 /var/opt/mssql/ssl/certs/tls.crt
保存并關閉配置文件后,重啟SQL Server服務以應用更改。
sudo systemctl restart mssql-server
你可以使用 sqlcmd
工具連接到SQL Server并驗證SSL是否已啟用。
sqlcmd -S localhost -U sa -P YourPassword --encrypt option=required
如果連接成功并且SSL已啟用,你應該會看到類似以下的輸出:
Connected to: localhost (Microsoft SQL Server, SQL Server (version 16.0.0.0))
...
Encryption: Enabled (Required)
...
確保你的防火墻允許SQL Server的端口(默認是1433)通過。
sudo ufw allow 1433/tcp
通過以上步驟,你可以在Ubuntu系統中配置SQL Server的SSL加密。確保你的證書和密鑰文件安全,并且定期更新它們以保持安全性。