SQL Server 高级技术(二)—— 安全

时间:2022-08-19 00:42:29

SQL Server 高级技术(二)—— 安全

一、服务器安全

1、Windows 身份验证模式:用户连接SQL Server 数据库时,使用 Windows 操作系统中的账号名和密码进行验证。
2、SQL Server 验证:使用 SQL Server 中的账号和密码来登录数据库服务器。

SQL Server 服务器角色 权限和说明
bulkadmin(Bulk Insert Administartors) 可执行 Bulk Insert 语句。Bulk INSERT 语句是以用户指定格式将数据文件加载到数据表或试图中
decreator(Database Administrators) 可以创建、更改和还原任何数据库
processadmin(Process Administrators) 可以终止在数据库引擎实例中运行的进程
securityadmin(Administrators) 可以管理登录名及其属性
serveradmin(Server Administrators) 可以更改服务器范围的配置选项和关闭服务器
setupadmin(Setup Administrators) 可以添加和删除链接服务器,并可以执行某些系统存储过程
sysadmin(System Administrators) 可以在数据库引擎中执行任何活动
SQL Server 数据库角色 权限和说明
db_accessadmin 可为登录账户添加或删除权限
db_backupoperator 可备份该数据库
db_datawriter 可在所有表中添加、更改或删除数据
db_ddladmin 可在数据库中运行 DDL 命令
db_denydatareader 不能读取数据库内用户表的任何数据
db_denydatawriter 不能添加、更改或删除用户表中的数据
db_owner 可执行数据库中所有配置和维护活动
db_securityadmin 可以修改角色成员的身份和权限
确保数据库服务器安全的要点:

  1、及时安装补丁和更新;
  2、关闭不使用的SQL Server服务如 Integration Services 和 SQL Server Reporting Services 等;
  3、关闭 Microsoft DTC(分布式事务) Distributed Transaction Coordinator 服务;
  4、配置 SQL Server 所使用的协议,最好只使用 TCP/IP ,其他禁止;
  5、妥善设置账户,启用Windows 保护服务器的各项措施,SQL 账户设置强密码,删除 SQL 来宾账户和 BULTIN\Administrators 服务器登录,不为公共角色授予权限;
  6、限制cmdexec 对 sysadmin 角色的访问权限
  7、注意文件和目录的安全,防止everyone 组队 SQL 文件和目录的有访问权限;
  8、取消和限制共享;
  9、修改SQL Server侦听端口(默认 1433);
  10、审核与日志,启用SQL Server 登录审核。

二、数据安全

  使用主键、外键、约束、唯一键、视图、存储过程、用户函数等可以维护SQL Server的数据安全,使用数据库的备份可以维护数据库的文件安全