温馨提示×

Debian环境下SQL Server的安全设置

小樊
35
2025-11-15 00:39:20
栏目: 云计算

Debian环境下SQL Server安全设置

一 基线加固

  • 保持系统与软件为最新:执行sudo apt update && sudo apt upgrade,及时修补漏洞。
  • 强化SA账户与口令:设置强密码定期更换;仅用于紧急恢复,日常以普通登录为主。
  • 清理与收敛账号:删除或锁定过期/不再使用的登录名;禁用或限制 guest账户访问。
  • 最小权限原则:按业务最小集授予权限,避免授予不必要的 dbo/db_owner
  • 启用安全审计与监控:记录登录尝试、关键数据访问与结构变更,定期审查日志。
  • 备份与恢复演练:制定定期备份策略并定期验证可恢复性,确保灾难恢复能力。

二 网络与防火墙

  • 仅开放必要端口:默认使用TCP 1433;如需变更端口,应同步更新防火墙与应用连接串。
  • 使用ufw快速放行:
    • 允许端口:sudo ufw allow 1433/tcp
    • 启用防火墙:sudo ufw enable
    • 状态检查:sudo ufw status
  • 使用iptables精细化控制(示例仅允许内网网段):
    • 放行:sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 1433 -j ACCEPT
    • 保存与重启:按发行版保存规则并重启服务(如使用 iptables-persistent)。
  • 远程访问白名单:仅允许来自受信任IP/网段的连接,减少暴露面。

三 加密与传输安全

  • 启用传输加密:配置SSL/TLS以保护客户端与服务器之间的通信,防止凭据与数据被窃听。
  • 数据静态加密:对敏感数据启用TDE(Transparent Data Encryption),保护数据文件与备份。
  • 证书与校验:使用有效证书,并在客户端正确配置信任链,避免中间人攻击。

四 身份与权限管理

  • 登录与用户:
    • 创建登录名:CREATE LOGIN login_name WITH PASSWORD=‘StrongP@ssw0rd’;
    • 创建数据库用户并映射:CREATE USER user_name FOR LOGIN login_name;
  • 角色与权限:
    • 按职能加入固定数据库角色(如db_datareader/db_datawriter),避免滥用db_owner
    • 细粒度授权示例:GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.YourTable TO user_name;
  • 审计与核查:
    • 核查权限:SELECT * FROM sys.database_permissions WHERE grantee_principal_id = USER_ID(‘user_name’);
    • 启用审计(示例):
      • 服务器审计:CREATE SERVER AUDIT MyAudit TO FILE (FILEPATH = ‘/var/log/sql_audit/’) WITH (ON_FAILURE = CONTINUE); ALTER SERVER AUDIT MyAudit WITH (STATE = ON);
      • 数据库审计规范:CREATE DATABASE AUDIT SPECIFICATION MyDbAudit FOR SERVER AUDIT MyAudit ADD (FAILED_LOGIN_GROUP), ADD (SUCCESSFUL_LOGIN_GROUP) WITH (STATE = ON);
  • 安全配置要点:为SA与高权限账户设置强密码并定期更换禁用或限制 guest账户;遵循最小权限定期审计

五 运维与持续安全

  • 持续更新与补丁:操作系统与SQL Server保持最新安全补丁;变更前在测试环境验证。
  • 定期安全体检:复核用户与权限防火墙规则监听端口加密配置审计策略;开展渗透测试/安全评估
  • 备份与演练:落实定期备份恢复演练,确保RPO/RTO达标;备份文件同样需要访问控制与加密

0