CentOS下SQL Server安全性保障體系構建
sysadmin
等高權限角色;通過創建數據庫角色(如db_datareader
、db_datawriter
)封裝權限,減少直接授權風險。guest
賬戶、匿名登錄賬戶)。ALTER DATABASE [數據庫名] SET ENCRYPTION ON;
命令開啟,對數據庫文件(.mdf、.ldf、.bak)實時加密,無需修改應用程序代碼,防止數據泄露時被直接讀取。sp_configure 'force encryption', 1;
開啟),加密客戶端與服務端之間的數據傳輸,防止中間人攻擊。firewalld
或iptables
限制SQL Server端口(默認1433)的訪問,僅允許信任IP地址(如運維人員IP、應用服務器IP)訪問;示例命令:firewall-cmd --zone=public --add-port=1433/tcp --permanent
+ firewall-cmd --reload
。sqlcmd
修改SQL Server監聽端口(如改為27777),減少自動化工具掃描到的概率;命令示例:sp_configure 'show advanced options', 1; RECONFIGURE; sp_configure 'tcp port', 27777; RECONFIGURE;
+ 重啟服務。root
以外的超級用戶,刪除不必要的系統賬號和組;設置所有用戶強密碼,定期更新;使用chmod
、chown
限制敏感文件(如/var/opt/mssql
目錄)的訪問權限(僅mssql
用戶可讀寫)。root
直接登錄(修改/etc/ssh/sshd_config
中PermitRootLogin no
),啟用密鑰認證(替代密碼認證),降低SSH暴力破解風險。yum update
定期更新CentOS系統和SQL Server軟件,及時安裝官方發布的安全補丁,修復已知漏洞(如CVE-2025-XXXX系列漏洞)。審核級別
設置為“失敗和成功的登錄”),記錄登錄嘗試、權限變更、數據修改等操作;使用rsyslog
或systemd-journald
收集系統日志,配置日志輪換(如保留30天),防止日志文件過大占用磁盤空間。sqlcmd
制定全量備份(每日)、差異備份(每小時)、事務日志備份(每15分鐘)的周期性計劃,備份文件存儲在異地的安全位置(如云存儲、離線磁帶)。