SQLServer数据库基准安全配置标准Word文件下载.docx
《SQLServer数据库基准安全配置标准Word文件下载.docx》由会员分享,可在线阅读,更多相关《SQLServer数据库基准安全配置标准Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
7.2.保证存储过程的安全7
7.3.限制CMDEXEC对SYSADMIN角色的访问权限9
8.审核和日志11
1.将SQLServer身份验证设置为仅限Windows
应当对SQLServer进行配置,使其支持仅限Windows身份验证,因为这种验证方式有诸多优点。
不必在网络上传送凭据;
可避免在数据库连接字符串中嵌入用户名和密码;
更易于进行安全管理,因为只需要与一个Windows安全模块而
不是另外的SQLServer安全模块打交道;
密码到期期间的登录安全性得到提高;
最低限度的长度要求及帐户锁定策略。
2.安装最新的补丁更新程序
包括最新的Windows操作系统以及SQLServer的ServicePack。
3.优化服务
SQL服务安装程序运行期间将安装以下四个Windows服务:
MSSQLSERVER(对于命名实例,则为MSSQL$InstanceNam©
。
此为SQLServer数据库引擎,是唯一的强制安装服务。
SQLSERVERAGENT(对于命名实例,则为SQLAgent$lnstanceName)。
可借助此支持服务制定命令执行计划及在出错时通知操作人员。
MSSQLServerADHelper。
它可提供ActiveDirectory集成服务,包括数据库实例注册。
MicrosoftSearch。
它可提供全文搜索能力。
在任何情况下均须通过本地系统帐户来运行此服务。
只有MSSQLSERVER数据库引擎是必备的。
其余服务提供了附加功能,只在特定情况下才需要使用。
如并非必需,请禁用这些服务。
注意:
不应将SQLServer配置为以本地系统帐户或本地Administrators组的任何成员帐户运行。
4.限制SQLServer只采用TCP/IP
禁用“SQLServer网络实用工具”中除TCP/IP外的所有协议。
SQLServer2000数据库系统本身没有提供网络连接的安全解决办法,但是
Windows2000提供了这样的安全机制。
使用操作系统自己的IPSec可以实现IP数据包的安全性。
请对IP连接进行限制,只保证自己的IP能够访问,也拒绝其他IP进行的端口连接,把来自网络上的安全威胁进行有效的控制。
5.帐户
5.1.使用最低权限帐户运行SQLServer
使用最低权限帐户运行SQLServer服务可将设法从SQLServer执行操作系统命令的攻击者所造成的危害降至最低水平。
不应为SQLServer服务帐户授予诸如Administrators组成员身份等较高特权。
5.2.为SA帐号设置强壮的口令
默认系统管理员(sa)帐户一直是无数攻击的目标。
它是SQLServer管理固定服务器角色sysadmin的默认成员。
请确保对此帐户使用强密码。
应对所有帐户,尤其是特权帐户(如sysadmin和db_owner角色的成员)均使用强密码。
如果使用复制,请给用于与远程分布式服务器建立连接的distributor_admin帐户也使用强密码。
具体实施步骤:
1、打开sqlserver企业管理器
t側自中四凶MPtH
HHmdgroiwI」・峠I旳IWlbE)辱I瞬|j宰丨塾iBkfliBE・
-jsufeifln*
*knri<
j(l逆iciraaITHU
SmSegrSl
竊戸旨||j甦辛%Jhb^QtSo**1"
MnpwHfl...迥总■JJt«
3
2、单击“安全性”的登录
HH1心JW|」4峠|旳[BlX害睜|曹|]宰|塾|・@電[3
1耳at
>
•马4追月
IBL^KK
I叫话茗
IB刚lr村曲仙汨w剛
仟町
C-
fhrww
台|工>
WOi^iMRhn
Vl2-tTtH
3、修改sa用户口令
叫ZTsSSmS日Cy
三甘玛'
SflTEitetb口测柯
jsa*
・_jHfiRnUfiw_im田Off*
_v:
xEJEMI£
^K4^r」]★耐蒼H
;
?
>
tw.Ba・
H4-I*ffl*
专_|PM■匸・■Sen
頭丄*|rIT:
*4
:
■尹0眉|唁5QIStivtRipt—H■…
数据库管理员应该定期查看是否有不符合密码要求的帐号。
比如使用下面的
SQL语句:
Usemaster
Selectname,Passwordfromsysloginswherepasswordisnull
5.3.删除SQL来宾用户帐户
如果启用了Windows2000的来宾帐户,则安装SQLServer时会创建一个来宾用户帐户。
如果登录有对SQLServer的访问权限,但没有通过数据库用户帐户对数据库进行访问的权限,则登录便会具有来宾的身份。
好的做法是禁用Windows的来宾帐户。
此外,还要从所有用户定义数据库中删除来宾帐户。
请注意,无法从master,tempdb、复制及分发数据库中删除来宾帐户。
5.4.删除BUILTIN\Administrators服务器登录
默认情况下,系统会将BUILTIN\Administrators本地Windows组添加到sysadmin固定服务器角色,以对SQLServer进行管理。
这意味着作为BUILTIN\Administrators成员的域管理员可以不受限制地访问SQLServer数据
库。
大多数公司会对域管理员和数据库管理员角色加以区分。
如果要进行这种区分,请删除BUILTIN\AdministratorsSQLServer登录。
5・5・不为公共角色授予权限
所有数据库均包含一个公共数据库角色。
每个其他用户、组和角色都是该公共角色的成员。
您无法删除公共角色的成员,不过,可以不为授予对应用程序的数据库表、存储过程及其他对象访问权限的公共角色授予权限。
否则,便无法利用用户定义的数据库角色获得所需授权,因为公共角色会为数据库中的用户授予默认权限。
6.文件和目录
除利用ACL保证操作系统文件的安全外,还要强化NTFS权限来限制对SQL
Server程序文件、数据文件、日志文件以及系统级工具的访问。
此外,还应只允许SQLServer服务帐户访问其所需的内容。
6.1.验证对SQLServer安装目录的访问权限
根据下表中所列的权限对SQLServer服务所赖以运行的帐户进行验证。
括号中指定的位置为默认安装位置,可能会视安装的具体情况而不同。
位置
SQL服务帐户的NTFS访问权限
安装位置
(\ProgramFiles'
MicrosoftSQL
Server\MSSQL\)
读取并执行列出文件夹内容读取
数据库文件目录(.mdf、.ndf、.Idf文件)
Server\MSSQL\Data)
完全控制
错误日志文件目录
(\ProgramFiles\MicrosoftSQL
Server\MSSQL\LOG)
备份文件目录
Server\MSSQL\Backup)
作业临时文件输出目录
Server\MSSQL\Jobs)
如果使用企业管理器”来设置SQLServer服务帐户,它将为帐户授予对SQL
Server安装目录及所有子文件夹('
ProgramFiles'
MicrosoftSQLServer\MSSQL\*)的完全控制”权限。
取消对该文件夹及其所有子文件夹的写入授权,然后有选择性地授予对数据、错误日志、备份及作业文件目录的完全控制权限,便可使新帐户无法覆盖SQL
Server二进制文件。
6.2.验证Everyone组是否不具有对SQLServer文件的访问权限
不应使Everyone组具有对SQLServer文件位置(默认情况下为\ProgramFiles\MicrosoftSQLServer\MSSQL)的访问权限,这可通过验证Everyone组并未经ACL获得访问权限和只为SQLService帐户、Administrators组及本地系
统帐户提供显式完全控制来实现。
6・3・保证安装日志文件的安全
安装SQLServer2000ServicePack1或2后,系统管理员或服务帐户的密码可能会遗留在SQL安装目录中。
请使用Killpwd.exe实用程序从日志文件中删除密码实例。
7.SQLServer数据库对象
SQLServer提供了两个用于开发和训练的示例数据库以及一系列内置存储过程和扩展存储过程。
不应将示例数据库安装在生产服务器上,并应保证功能强大的存储过程和扩展存储过程的安全。
7.1.删除示例数据库
使用SQLServer企业管理器来删除任何示例数据库。
默认情况下,SQLServer
包含Pubs和Northwind示例数据库。
72保证存储过程的安全
限制对应用程序的存储过程的访问。
请不要为公共角色或来宾用户授予对所创建的任何存储过程的访问权限。
保证存储过程安全的主要防线先是要确保使用强身份验证,然后是提供精确授权,从而实现只允许必要的用户权限来运行存储过程。
建议的做法是:
为应用程序创建一个SQLServer登录,将登录映射到数据库用
户,再将用户添加到用户定义数据库角色,然后为角色授予权限。
打开sql查询分析器,粘贴如下的内容到分析器:
usemaster
execdropextendedproc"
xp_availablemedia"
xp_enumgroups"
xp_enumdsn"
xp_dirtree"
dbo.xp_makecab"
xp_unpackcab"
xp_ntsec_enumdomains"
xp_terminate_process"
execdropextendedp