对MSSQL安全设置的步骤和方法的细节

对MSSQL安全设置的步骤和方法的细节
第一步是在SQL服务器上制作最新的安全补丁程序。如果这一步做得不好,那我们就不必继续了。

第二步是修改默认的1433端口和隐藏SQL Server,禁止对试图枚举网络上现有的SQL Server客户端广播的响应。此外,你还需要屏蔽1433端口的TCP / IP过滤和隐藏你的SQL Server数据库尽可能多。这是一个让攻击创建SQL Server帐户,你不能使用查询分析器的下一次攻击使远程登陆。从ASP、PHP等页面构造恶意的陈述,还需要查看问题的返回值,总是不是比直接查询分析器获得。所以我们需要做的第一件事是让别人进入,也不允许攻击者做呢修改后的方法:企业管理器/数据库组>属性> > > - >传统网络配置属性,在这里您将修改默认端口、隐藏和SQL服务器。

第三步是非常重要的一步,和SQL注入是经常网页代码产生的。作为一个系统管理员或数据库管理员,你不能总是看每一段代码,看代码不能保证我们的过失。如何做到这一点,我们应该从数据库角色开始在最低点使数据库用户权限,SQL Server的默认权限是很痛苦的。权利非常高。他们不能做任何特权有限的事。系统管理员和db_owner真是又爱又恨。一旦攻击者确认网站的SQL注入漏洞的存在,必须有一步测试SQL Server用户的权限,通常选择is_srvrolemember帮助('sysadmin),或选择is_member('db_owner),或用户(= 0字符和数字相比,SQL Server会提示一个错误消息的信息你可以知道一些敏感信息)语句测试。路上,我不敢多说。即使是错的,他不敢在联盟的人。目前,如果网站使用SA权限的数据库用户,加上确认的绝对路径,网页,然后宣布在你的website.db_owner也是一样的。如果确认了绝对路径,那么在您的机器中,比如海阳,有50%的机会给您提供特洛伊木马的Web方式。因此,在这里,我们确认我们必须创建自己的权限,以便攻击者无法找到要去的地方。

创建SQL Server数据库角色(企业管理器)的方法
创建SQL Server数据库角色
1。展开服务器组并展开服务器。
2。展开数据库文件夹,然后展开数据库以创建其中的角色。
三.右击该角色,然后单击新建数据库角色命令
4。在名称框中输入新角色的名称。
5。单击Add将成员添加到标准角色列表中,然后单击要添加的一个或多个用户。
只能将选定数据库中的用户添加到角色中。
对象权限
处理数据或执行过程时需要被称为对象权限的权限类:
选择、插入、更新和删除可以应用于整个表或视图的语句权限。
选择并更新语句权限,可以选择性地应用于表或视图中的单个列。
选择权限,该权限可应用于用户定义的函数
插入和删除语句权限影响整个行,只能应用于表或视图,不能应用于单个列。
执行语句权限,它会影响存储过程和函数。
语句权限
参与创建一个数据库或数据库项目的活动,如表或存储过程,需要另一类称为语句权限的权限。例如,如果用户能够在数据库中创建表,用户应该授予CREATE TABLE语句的权限。语句权限(如创建数据库)适用于语句本身,并不适用于一个特定的对象在数据库中定义。
语句权限有:
备份数据库
备份日志
创建数据库
创建默认的
创建函数
创建程序
创建规则
创建表
创建视图
默示许可
提示访问控制的活动,只能由会员或预定义的对象所有者的数据库系统进行的作用。例如,sysadmin固定服务器角色的成员自动继承所有权限操作或在SQL Server的安装角度。
数据库对象所有者和默认权限可以执行对象的所有活动。例如,具有表的用户可以查看、添加或删除数据、更改表定义,或控制允许其他用户在表上操作的权限。
db_owner在数据库的所有权限。
db_accessadmin可以添加或删除用户ID。
db_securityadmin可以管理所有权限对象的所有权,角色及角色成员。
db_ddladmin发出所有的DDL,但没有批准,撤销,或否认声明发布。
db_backupoperator发出DBCC,检查站,并备份报表。
db_datareader可以选择所有的数据在任何用户表中的所有数据database.db_datawriter可以改变在任何用户数据库中的表。
db_denydatareader不能选择任何用户的任何数据在数据库中的表。
db_denydatawriter不能改变任何数据的任何用户数据库中的表。
在这里,配置新的数据库角色的权限,如表、视图、存储过程,等等。然后取消db_owner和db_securityadmin和db_backupoperator,不给攻击者备份数据库和创建表的机会,但一旦攻击者有这些权限,那么你的网站仍然是一个非常危险状态。也要注意服务器角色不能选择创建一个数据库帐户时,重要的。
第四步是修改SQL Server内置存储procedure.sql服务器安装或其他方面的估计,它有许多危险的存储过程了。你可以读取注册表信息,写入注册表信息,读取磁盘、共享信息等。你可以看到这里,你可能认为我有网站的其他代码,而不是查询分析器,它可以查找并输出结果。给你的权利,你不能这样做,否则你不能看到的信息。如果你这样想是不对的。注意,如果攻击者具有创建表的权限,然后创建一个临时表,然后将信息插入到表中,然后选择,然后与数量相比,让SQL Server错误,那么结果会出来…所以…我们希望提供一个宁可错杀,小姐的态度修复。
首先,列出危险的内置存储过程:
xp_cmdshell
xp_regaddmultistring
xp_regdeletekey
xp_regdeletevalue
xp_regenumkeys
xp_regenumvalues
xp_regread
xp_regremovemultistring
xp_regwrite
自动脚本
sp_oacreate
sp_oadestroy
sp_oamethod
sp_oagetproperty
sp_oasetproperty
sp_oageterrorinfo
sp_oastop
删除带有安全问题的SQL进程。更全面。一切都是为了安全!
删除带有隐藏安全风险的扩展名:
执行sp_dropextendedproc'xp_cmdshell{删除这个扩展后,你将无法远程连接数据库}
执行sp_dropextendedproc'xp_dirtree{删除这个扩展后,你将无法创建一个新的或附加数据库}
执行sp_dropextendedproc'xp_enumgroups
执行sp_dropextendedproc'xp_fixeddrives
执行sp_dropextendedproc'xp_loginconfig
执行sp_dropextendedproc'xp_regaddmultistring
执行sp_dropextendedproc'xp_regdeletekey
执行sp_dropextendedproc'xp_regdeletevalue
执行sp_dropextendedproc'xp_regread
执行sp_dropextendedproc'xp_regremovemultistring
执行sp_dropextendedproc'xp_regwrite
执行sp_dropextendedproc'xp_enumerrorlogs
执行sp_dropextendedproc'xp_getfiledetails
执行sp_dropextendedproc'xp_regenumvalues
恢复扩展
执行sp_addextendedproc'xp_cmdshell ','xplog70 DLL。
执行sp_addextendedproc'xp_dirtree ','xpstar DLL。
执行sp_addextendedproc'xp_enumgroups ','xplog70 DLL。
Exec sp_addextendedproc'xp_fixeddrives','xpstar.dll'
执行sp_addextendedproc'xp_loginconfig ','xplog70 DLL。
执行sp_addextendedproc'xp_regaddmultistring ','xpstar DLL。
执行sp_addextendedproc'xp_regdeletekey ','xpstar DLL。
执行sp_addextendedproc'xp_regdeletevalue ','xpstar DLL。
执行sp_addextendedproc'xp_regread ','xpstar DLL。
执行sp_addextendedproc'xp_regremovemultistring ','xpstar DLL。
执行sp_addextendedproc'xp_regwrite ','xpstar DLL。
执行sp_addextendedproc'xp_enumerrorlogs ','xpstar DLL。
执行sp_addextendedproc'xp_getfiledetails ','xpstar DLL。
执行sp_addextendedproc'xp_regenumvalues ','xpstar DLL。
全部复制到SQL查询分析器
点击菜单查询-执行将删除SQL过程的安全问题(以上是7I24的积极用户的技术支持
更改默认的SA空密码。不要使用SA帐户进行数据库链接。单个数据库有一个使用帐户。只有公开和db_owner权限了。
数据库不应放置在默认位置
不要在程序文件目录下安装SQL。
以上是我们禁止列表,例如,xp_cmdshell屏蔽方式是sp_dropextendedproc'xp_cmdshell ',如果必要的话,那么sp_addextendedproc'xp_cmdshelland'xpsql70。dll'are用来恢复。如果你不知道这xp_cmdshell。DLL文件的使用,你可以使用sp_helpextendedproc xp_cmdshell看哪个动态链接库xp_cmdshell在使用。此外,在屏蔽xp_cmdshell,我们需要重命名xpsql70.dll文件以防止攻击者恢复SA。
我们这样做了,你的SQL服务器基本上是安全的,但是信息还是一样的。毕竟,我们不能取消选择,除非你的网站使用HTML。SQL注入的预防需要我们的程序员来关注它,这是治理的方法。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部