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分钟)的周期性计划,备份文件存储在异地的安全位置(如云存储、离线磁带)。