在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加密。确保你的证书和密钥文件安全,并且定期更新它们以保持安全性。