CentOS下SQL Server的安全设置
导读:CentOS下SQL Server安全设置清单 一 身份与访问控制 使用混合身份验证(SQL Server + Windows),为sa设置强密码并妥善保管;仅授予最小权限,避免滥用sysadmin角色。 清理无效账户:删除或禁用过期/测...
CentOS下SQL Server安全设置清单
一 身份与访问控制
- 使用混合身份验证(SQL Server + Windows),为sa设置强密码并妥善保管;仅授予最小权限,避免滥用sysadmin角色。
- 清理无效账户:删除或禁用过期/测试账户;按需禁用或删除guest账户;在域环境优先采用Windows 身份验证以复用域密码策略与组管理。
- 细化权限:以角色为单位分配权限,业务账号仅授予目标库/表的必要权限(如 SELECT/INSERT/UPDATE/EXECUTE),避免对象级过度授权。
- 审计登录:将登录审计设置为失败与成功均记录,便于安全追溯与异常检测。
二 网络与端口加固
- 仅开放必要端口:默认数据库引擎端口为TCP 1433;如启用命名实例或需浏览器服务,再开放UDP/TCP 1434。使用 firewalld 精确放行来源网段:
- 示例:sudo firewall-cmd --permanent --zone=public --add-port=1433/tcp
- 示例:sudo firewall-cmd --permanent --zone=public --add-port=1434/tcp
- 示例:sudo firewall-cmd --reload
- 修改默认端口:将监听端口改为非标准值(如14333),并更新防火墙放行规则,降低自动化扫描命中率。
- 按需启用 SQL Server Browser:仅在需要按名称解析实例时启用;若所有客户端以IP+端口直连,可保持关闭以减少暴露面。
- 监听与协议:仅启用TCP/IP;在 sqlcmd 中关闭动态端口并设置固定端口:
- 示例:EXEC sp_configure ‘show advanced options’, 1; RECONFIGURE;
- 示例:EXEC sp_configure ‘tcp dynamic ports’, ‘’;
- 示例:EXEC sp_configure ‘tcp port’, 14333; RECONFIGURE;
- 重启服务:sudo systemctl restart mssql-server
- 主机与内核:仅在内网接口监听;必要时通过安全组/ACL限制来源 IP;启用SELinux并配置相应策略或布尔值以允许 SQL Server 网络访问(测试环境切勿长期 setenforce 0)。
三 加密与数据保护
- 传输加密:启用TLS/SSL以加密客户端与服务器之间的通信,防止凭据与数据在传输中被窃听。
- 静态加密:对生产库启用透明数据加密(TDE),保护数据文件与备份在磁盘上的机密性。
- 敏感列加密:对高度敏感字段使用Always Encrypted,实现客户端侧加密与密钥分离。
- 备份安全:对备份文件进行加密与访问控制;定期执行恢复演练验证可用性与完整性。
四 补丁更新与监控审计
- 持续更新:定期执行系统与 SQL Server 更新(如yum update),及时应用安全补丁修复已知漏洞。
- 日志与告警:定期审查SQL Server 错误日志与系统日志;结合IDS/IPS与安全信息与事件管理(SIEM)进行异常检测与响应。
- 备份与演练:建立定时备份策略(全量/差异/日志),并定期验证恢复流程,确保在事件发生时可快速恢复业务。
五 Linux系统与文件权限
- 服务账户与目录权限:确保 SQL Server 数据目录(如**/var/opt/mssql/data**)归属mssql:mssql且权限为770,避免因权限不足导致数据库无法写入或启动失败。
- 最小特权运维:日常以非 root运维,通过sudo按需提权;禁用 root 远程登录,强化 SSH 安全(密钥登录、禁用口令)。
- 系统加固:保持系统与安全组件更新;对关键文件与目录设置最小权限与完整性校验;启用日志轮转与集中日志收集。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS下SQL Server的安全设置
本文地址: https://pptw.com/jishu/765986.html
