SQLServer网站数据库的常见安全隐患与探析

点赞:9091 浏览:33754 近期更新时间:2024-04-04 作者:网友分享原创网站原创

摘 要 :文章分析了基于SQL Server网站开发过程中常见的安全隐患,并针对性提出预防对策.

关 键 词 : 网站数据库 安全隐患 对策

随着互联网的高速发展,网站受到的骚扰事件时有发生,网站数据库里的重要数据被窃取或被恶意修改等类似的案例比比皆是,特别是对于电子商务网站,网站数据库关系到企业兴衰、成败,比如交易记录、商业秘密和数据等,因此网站数据库的安全问题是目前网站用户关心的热点问题.

一、常见的网站数据库的安全隐患

网站的开发过程中,多数人认为只要把网络和操作系统的安全做好就行,导致网站数据库在网站开发阶段就存在漏洞,以SQL Server数据库为例,下面总结常见的数据库安全隐患.


1.数据库登录方式的隐患

在网站的设计过程中,数据库可以通过两种方式登录,一是Windows验证方式,另一个是数据库访问验证方式,在对数据库中的对象(表、视图、触发器等)进行操作时最好是通过数据库访问的身份认证方式.

数据库存在很多默认的,可支持对数据库资源的各级访问.有一个用户名为Sa的默认,此用户为超级用户,不能更改和删除,所以必须对这个进行最强的保护或者将其禁用.有些开发者为了使用方便,没有设置或者设置较为简单的,在网站发布后没有及时修改或屏弃,这会给网站带来灾难性的后果.

2.数据库结构安全问题

首先是数据库的存放位置.有些设计者爱把数据库放在,Data、My data、Database等目录下,这种做法很容易被别有居心的人猜解到并下载用户数据库,从而使电子商务网站的所有数据被窃取.其次是数据表的命名问题.为了安全需要,不要直接用类似Admin、User、Product等作为表名.可以考虑用字母和数宇组合作为表名的前后缀,以防止SQL注入时被猜解出表名.再者,就是数据字段的命名问题.同样在数据字段命名时.也不要直接用Admin、UserName、用户名、、Password、Pwd、UserPwd等敏感字样作为字段名,可以考虑采用组合命名的方式作为字段名以加强数据的安全性.

3后台管理系统的安全策略设计引起的安全问题

(1)后台管理登录页面是后台安全的一个屏障,后台管理系统操作权限设计的安全问题需要引起重视.有些设计人员只设置一个管理级别,使所有的管理员都拥有最高权限,并使用易猜测的用户名及.如以Admin、Manager、Master等作为用户名,同样,使用123456、11111等简单作为管理员的口令.这些易猜测的用户名及,成为网站开发中影响网站数据库安全的重大隐患.

(2)虽然在后台设计了登录页面,但是在其他的管理页面却没有要求身份验证,这使得有些人通过猜测,得到管理页面的URL地址,从而绕过验证页面进入到后台管理中去.危及网站数据库的安全.

(3)数据库连接的安全问题也是不容忽视的一个常见问题.如下面的连接字符串:

<%Set conn=Server.CreateObject(“ADODB.Connection”) connstr=“driver={SQLServer};server= 212.110.52.64;uid=sa;pwd=sa;database=/data/database.mdb”conn.open connstr%>

其中Server是连接的怎么写作器IP地址,uid是指用户的用户名,pwd是指用户使用数据库的,database是指网站数据库在怎么写作器端的数据库的存放路径及名称.可以从中发现以下两大安全问题:其一,将怎么写作器的地址、数据库用户的用户名及口令、数据库文件名及文件存储路径直接存放在数据库连接文件中,一旦这些连接文件中的内容外泄,网站数据库就会遭受灭顶之灾;其二,在源代码编写时,直接使用数据库管理系统提供的默认Sa,使得攻击者能利用这个漏洞,通过构建特殊的用户权限,直接操纵数据库系统管理软件,危及网站数据库的安全.

SQLServer网站数据库的常见安全隐患与探析参考属性评定
有关论文范文主题研究: 关于网站的论文范文检索 大学生适用: 学位论文、专升本论文
相关参考文献下载数量: 38 写作解决问题: 怎么撰写
毕业论文开题报告: 标准论文格式、论文摘要 职称论文适用: 论文发表、职称评初级
所属大学生专业类别: 怎么撰写 论文题目推荐度: 优质选题

二、网站数据库安全对策

1.管理好数据库系统中特殊的,像Sa既然不能删除也不能修改,可以禁用,然后重新建立一个拥有与该权限相同的超级用户来管理数据库.如果有特殊需要非得使用,则必须给此最强的保护,尽量要复杂些.另外,还要注意及时更新数据库软件的漏洞,不给人可乘之机.

2.尽量避免常规命名,如网站目录名、数据库、数据表及字段等,不要让人能够轻易的猜测到名字.这样,对于一些通过猜测的方式得到数据库相关信息的非法访问就可起到有效的阻止作用.

3.加强后台数据库的管理.①设置管理员的和不宜过于简单或者容易猜测到,而且在代码中最好不要频繁出现.②一定要避免非法用户绕过登录页面,通常我们可以设置一个用户权限标识Session变量来实现,然后在每个页面进行验证.③数据库在连接的时候最好避免使用数据库中的特殊,还要注意连接字符串的保密.

还有一个最重要的不要忽略掉一如何有效防止SQL语句导致的注入漏洞.第一,普通用户与系统管理员用户的权限要有严格的区分.如果在一个普通用户的查询语句中加入了Drop Table语句,这是不符合权限的,在设计时,可以把普通用户的建立和删除权限去掉.这样就可以有效的避免SQL语句里恶意代码的执行,如此可以最大限度地减少注入式攻击对数据库带来的危害.第二,加强对用户输入的验证.可以借助SQL Server数据库里的用户输入内容验证工具来对付SQL注入式攻击.测试字符串变量的内容,拒绝包含二进制数据、转义序列和注释字符的输入内容.测试用户输入内容的大小和数据类型,强制执行适当 的限制与转换.这有助于防止有意造成的缓冲区溢出,对于防治注入式攻击有比较明显的效果.可以考虑使用存储过程来验证用户的输入.利用存储过程测试类型、长度、格式和范围,过滤用户输入的内容,前提是不影响数据库使用,这样即使在 SQL语句里嵌入了恶意代码也将毫无作为.这是防止SQL注入式攻击的常见并且行之有效的措施.

三、结束语

网站数据库作为网站的基本组成要素之一,确保其安全是一项动态的系统工程.总结SQL Server网站数据库存在的常见安全隐患并采取积极的应对策略,有利用减少开发过程给网站数据库带来的安全隐患,将危险降到最低.