个人网站安全 从数据库合理管理开始

数据库,网站运营的基础,网站生存的要素,不管是个人用户还是企业用户都非常依赖网站数据库的支持,然而很多别有用心的攻击者也同样非常“看重”网站数据库。

数据库,网站运营的基础,网站生存的要素,不管是个人用户还是企业用户都非常依赖网站数据库的支持,然而很多别有用心的攻击者也同样非常“看重”网站数据库。

对于个人网站来说,受到建站条件的制约,Access数据库成了广大个人网站站长的首选。然而,Access数据库本身存在很多安全隐患,攻击者一旦找到数据库文件的存储路径和文件名,后缀名为“.mdb”的Access数据库文件就会被下载,网站中的许多重要信息会被一览无余,非常可怕。当然,大家采用了各种措施来加强Access数据库文件的安全,但真的有效吗?

存在漏洞的保护措施

流传最为广泛的一种Access数据库文件保护措施,是将Access数据库文件的后缀名由“.mdb”改为“.asp”,接着再修改数据库连接文件(如conn.asp)中的数据库地址内容,这样一来即使别人知道数据库文件的文件名和存储位置,也无法进行下载。

1.貌似安全的原理

这是网上最流行的一种增强Access数据库安全的方法,而且还有强大的“理论基础”。

因为“.mdb”文件不会被IIS服务器处理,而是直接将内容输出到Web浏览器,而“.asp”文件则要经过IIS服务器处理,Web浏览器显示的是处理结果,并不是ASP文件的内容。

但大家忽略了一个很重要的问题,这就是IIS服务器到底处理了ASP文档中的哪些内容。这里笔者提醒大家,只有ASP文件中“<%”和“%>”标志符间的内容才会被IIS服务器处理,而其他内容则直接输出到用户的Web浏览器。你的数据库文件中包含这些特殊标志符吗?即使有,Access也可能会对文档中的“<%”和“%>”标志符进行特殊处理,使之无效。因此后缀为“.asp”的数据库文件同样是不安全的,还是会被恶意下载。

2.披着“安全外衣”的漏洞

面对蛊惑人心的理论,以及众人的附和,笔者也开始相信此方法的有效性。但事实胜于雄辩,一次无意间的试验,让笔者彻底揭穿了这个谣言。

笔者首先将一个名为“cpcw.mdb”的数据库文件改名为“cpcw.asp”,然后上传到网站服务器中。

运行FlashGet(图1),进入“添加新的下载任务”对话框,在“网址”栏中输入“cpcw.asp”文件的存储路径,然后在“重命名”栏中输入“cpcw.mdb”。进行下载后,笔者发现可以很顺利地打开“cpcw.mdb”,而且它所存储的信息也被一览无余。这就充分说明了单纯地将数据库文件名的后缀“.mdb”改为“.asp”,还是存在安全隐患。

没有最“安全”,只有更“安全”

任何事情都不是绝对的,因此增强Access数据库文件的安全也只是相对的。毕竟Access只能用于小型数据库的解决方案,它存在很多先天不足,特别是在安全方面。

我们所采用的各种方法,也只是相对来说增强了Access数据库文件的安全,并不能实现绝对的安全,毕竟先天不足的问题是无法解决的。下面笔者为大家介绍一些方法,虽然不能完全防止别人下载Access数据库文件,但只要你善用它们,Access数据库文件就会更安全。

方法一:数据库文件名应复杂

要下载Access数据库文件,首先必须知道该数据库文件的存储路径和文件名。如果你将原本非常简单的数据库文件名修改得更加复杂,这样那些“不怀好意”者就要花费更多的时间去猜测数据库文件名,无形中增强了Access数据库的安全性。

很多ASP程序为方便用户使用,它的数据库文件通常都被命名为“data.mdb”,这大大方便了有经验的攻击者。如果我们将数据库文件名修改得复杂一些,他人就不易猜到,如将“data.mdb”修改为“1rtj0ma27xi.mdb”,然后修改数据库连接文件中的相应信息。这样Access数据库就相对安全一些。此方法适合于那些租用Web空间的用户使用。

不足之处:一旦查看到数据库连接文件(如conn.asp)中的内容,再复杂的文件名也无济于事。

方法二:利用ODBC数据源

很多网站Web程序,将Access数据库文件的存储路径和文件名存放在数据库连接文件中。一旦这些连接文件中的内容外泄,那么不管数据库文件名多么复杂,都会暴露出踪迹。

这时就可以使用ODBC数据源方法,即使连接文件的内容外泄,他人也只能知道网站程序所使用的ODBC数据源名称,而数据库文件的存储路径和文件名却无法找到。

手工修改数据库连接文件(如conn.asp)中的内容,以及创建ODBC数据源。下面以笔者的论坛程序为例,首先将conn.asp文档中的

DBPath = Server.MapPath("./data/1rtj0ma27xi.mdb")

conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath

修改为:conn.open "rtjmaxi",其中“rtjmaxi”是指ODBC数据源名称。

接着在IIS服务器中新建名为“rtjmaxi”的ODBC数据源(图2),并在其中指定“1rtj0ma27xi.mdb”数据库文件的位置即可,最后点击“确定”按钮完成配置。

不足之处:此方法不适合于租用Web空间的用户使用,要想使用ODBC数据源方法,必须要有管理和维护IIS服务器的权限。

方法三:改变存储位置

一般情况下,Access数据库文件存放在相应的Web目录中,很多黑客就是利用这种规律来查找并下载数据库文件。

因此可以采用改变数据库文件存储位置的方法,将数据库文件存放在Web目录以外的某个文件夹中,让黑客难以猜测存储位置。

接着修改好数据库连接文件(如conn.asp)中的数据库文件相应信息,这样Access数据库文件就安全多了。即使攻击者通过连接文件找到数据库文件的存储路径,由于数据库文件存放在Web目录以外的地方,攻击者就无法通过HTTP方式下载数据库文件。

例如,IIS网站的Web目录位于“D:\wwwroot”下,在该Web目录下的“DATA”文件夹中存放着“1rtj0ma27xi.mdb”,现在笔者将该数据库文件转移到Web目录以外的“D:\CPCW”文件夹下。然后修改数据库连接文件,将“DBPath=Server.MapPath("./data/1rtj0ma27xi.mdb")”修改为“DBPath=Server.MapPath("../cpcw/1rtj0ma27xi.mdb")”,这样Access数据库文件就安全多了。虽然数据库文件没有存放在Web目录中,但并不影响ASP程序访问数据库。

不足之处:此方法不适合于租用Web空间的用户使用,因为将Access数据库文件移至Web目录之外,一般需要很大的权限。

以上方法,在不同程度上增强了Access数据库文件的安全性,但大家不能将它们当成“仙丹妙药”,毕竟网络环境是复杂的,黑客的破坏手段也在不断增强,大家可以根据自己的需要,选择其中的多种方法配合使用,效果才理想,Access数据库文件才会更安全。

时间: 2024-11-10 00:41:37

个人网站安全 从数据库合理管理开始的相关文章

Linux VPS主机定时自动备份网站及MYSQL数据库的脚本

从我们开始学习建站开始,不论我们是用免费的虚拟主机,还是省吃俭用购买的付费主机,以及我们在更大的项目需要转向VPS或者服务器存储:不论我们是不是技术科班出身,还是跟老左一样,看到网友们都有自己的网站于是热情澎湃的也搭建一个玩玩:不论我们的网站是大还是小,有盈利还是没有盈利,都要学会基本的自我维护,尤其是网站数据的备份.   我们不要过分的依赖和信任主机商给我们提供的备份,即便我们购买的很牛.很贵的服务商的产品,他们也可能会由于各种的可能性导致数据丢失或者奔溃的情况,我们可以选择定期手工备份或者用

东莞SEO 网站维护篇:站长管理网站5大禁忌

网站维护篇:站长管理网站5大禁忌 网站的SEO工作,离不开对网站的管理和维护,做任何事,想要做好,都要讲求一定的技巧,也要做一定的努力,要清楚什么事不能做,不该做,规避一些禁忌,不做不能做的工作,才可以把做得更好.做网站优化工作也是这样的.以下五大禁忌就是做网站优化时,对网站进行日常维护和管理应规避的一些细节问题. 站长管理网站禁忌一.忌网站内容采集 很多站长.网络公司手里面有大量的网站但管理人员很难对网站做到专人管理,大量采集别人网站的内容,直接用工具替换个文字.调换个段落句子的顺序然后就直接

SYBASE数据库用户管理基本概念(howto)

在SYBASE数据库中,用户管理是系统管理的一个重要组成部分,但其重要性却往往被人忽视.许多时候,操作数据库的命令不成功常与用户管理有关,而许多误操作命令的发生也可以通过用户管理来避免.因此,弄清用户管理的一些基本概念,对成功进行数据库系统管理有重要的作用. 下面我们将对SYBASE数据库用户的基本概念加以解释说明. 一.SQL SERVER注册用户和数据库用户 刚接触到这两个概念的时候,我们可能会有所混淆,但只要了解SYBASE SQL SERVER的结构后,就会清楚.SYBASE SQL S

构建高安全电子商务网站:网站文件及数据库自动本地/异地双备份

上一遍文章详细介绍了服务器安全方面,接下来继续介绍Linux服务器文件备份,数据库备份,数据安全 存储相关的电子商务系统架构.针对安全性有多种多样的解决方案,其中数据备份是重中之重的首要工作. 电子商务网站更加注重考虑数据安全,数据备份方案,包括本地备份.异地备份架构.其中Linux服 务器的备份方案非常多,本文介绍一个大众化适用的解决方案,通过编写Shell脚本来完成自动备份.本架构 包括备份网站文件.数据库,自动本地备份并FTP上传备份脚本,完成相应本地备份.异地备份,实现双层备 份解决方案

Oracle数据库安全性管理基本措施简介

数据安全性是指保护数据以防止非法的使用,避免造成数据有意或无意的丢失.泄露或破坏.由于数据库系统中集中存放有大量的数据,这些数据又为众多用户所共享,所以安全约束是一个极为突出的问题. Oracle数据库系统在实现数据库安全性管理方面采取的基本措施有: ◆通过验证用户名称和口令,防止非Oracle用户注册到Oracle数据库,对数据库进行非法存取操作. ◆授予用户一定的权限,例如connect,resource等,限制用户操纵数据库的权力. ◆授予用户对数据库实体(如表.表空间.过程等)的存取执行

神奇的超多功能高科技网站模板,还带有管理后台

神奇的超多功能高科技网站模板,还带有管理后台,免费任你下载! 下载试用地址 http://www.e000.com/http://www.aliyun.com/zixun/aggregation/29798.html">design/site_package.php?cat=xue N多款超漂亮,大气又实用,还有全可视化管理编辑后台,上百种功能管理模块,吐血分享! 免费试用下载地址:http://www.e000.com/design/site_package.php?s=xue

大型电子商务网站怎么实现图片的管理和显示

问题描述 大型电子商务网站怎么实现图片的管理和显示 如题,大型电子商务网站怎么实现图片的管理和显示 我看到比如凡客用另外的域名组成url在网站中显示http://i2.vanclimg.com/users/26/1308/0808/week/right61_130809.jpg 京东用的 http://img11.360buyimg.com/n3/g10/M00/16/02/rBEQWFFuPQYIAAAAAAL9KMXys7wAAET1ABrWh4AAv1A130.jpg 淘宝用的http:/

后台-网站如何链接数据库,操作数据库?

问题描述 网站如何链接数据库,操作数据库? 最近准备做一个b/s架构的小东西,但是初次了解前端和后台有点搞不太明白.1.网页如何跟数据库链接起来?2.比如网页中一个文本框,如何让数据库中某条信息显示到这个文本框中3.比如一个调查问卷一样的表单,如何将用户提交的表单信息写入数据库希望大神可以回答一下,解一下心中困惑,不胜感激 解决方案 参考这个微软的教程,一看就会https://msdn.microsoft.com/zh-cn/data/gg685489 解决方案二: 用Java的可以用jdbc连

oraclo-关于网站与oracle数据库之间的调用

问题描述 关于网站与oracle数据库之间的调用 一个网站与数据库之间是怎样进行数据的传输调用的呢?求大神指点! 解决方案 同一个计算机,一般是通过内存管道,不同的计算机,一般是tcpip协议.不过这些都封装在数据库驱动里了. 解决方案二: 网站是由代码编写的,然后编写网站的编程语言提供了与数据库的连接.操作方法, 你只要使用它给你的方法就可以连接数据库,获取数据库的数据,写入数据到数据库等操作了 解决方案三: 网站请求数据库数据的时候是这样的:假如你点击了一个商品,就会进入商品的详细页面,这时