首页 > 经验技巧 > 警惕开源软件中潜在的安全隐患

警惕开源软件中潜在的安全隐患

2010年11月10日 4,267 浏览数 发表评论 阅读评论

  对于许多网站建设者来讲,使用开源软件项目,可以在很短时间内组建起自己理想中的网站,但是我们在享受便利的同时,一定要不忽略开源软件潜在的安全隐患。

  最近一段时间,我维护的服务器防火墙上,经常能够拦截到非法上传的ASP文件,经查看源代码都是木马程序。黑客们是通过什么途径上传的呢?我从已经上传上来的文件路径进行分析,发现大部分都出自网站中的“/uploadfiles”文件夹下,而此文件夹是网站系统编辑器默认的上传地址。由于该网站系统不是开源项目,所以问题可能就出在开源的编辑器上。该编辑器使用的是“eWebEditor”,曾经在国内红极一时,使用量非常大,但近几年来陆续曝出“默认帐户”及“上传漏洞”,导致许许多多网站被黑。我及时对该编辑器进行修改并监视一段时间,再没有发现非法文件上传的迹象。

  搞过软件工程的人都知道,没有十全十美的软件,绝大部分系统都存在这样或那样的漏洞。我们在使用这些开源软件的同时,也在我们的网站中埋下了一颗“地雷”,总有一天它会爆炸,使我们的数据受损。所以说,软件可以用,但不能用了之后,什么都不过问了。

  如何解决这个问题呢?

  对于一些动手能力比较强的人,可以尝试进行修改,包括:更改默认的提交路径、修改默认的管理帐户和数据库链接、替换上传部分代码等等。

  而对那些不懂编程的人,则可以简单修改一下模板,去掉产品特征或者混淆版本号。

  无论采用什么样的措施,但有一点是必须要做的,那就是不让搜索引擎爬取网站管理系统的目录,这样黑客们就无法通过搜索找到你的站。我们可以在网站根目录下建立“robots.txt”文件,做好设置,让搜索引擎远离我的敏感文件。

附:(以下信息来自:维基百科 http://zh.wikipedia.org/zh/Robots.txt

robots.txt文件的说明

  robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不能被搜索引擎的漫游器获取的,哪些是可以被(漫游器)获取的。 因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据。

  Robots.txt协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。注意Robots.txt是用字符串比较来确定是否获取URL,所以目录末尾有和没有斜杠“/”这两种表示是不同的URL,也不能用”Disallow: *.gif”这样的通配符。

  其他的影响搜索引擎的行为的方法包括使用robots元数据:

  这个协议也不是一个规范,而只是约定俗成的,通常搜索引擎会识别这个元数据,不索引这个页面,以及这个页面的链出页面。

实例:

让所有机器人访问所有文件因为通配符”*”明所有机器人:

User-agent: *
Disallow:

拦截所有的机器人:

User-agent: *
Disallow: /

禁止所有机器人访问特定目录:

User-agent: *
Disallow: /cgi-bin/
Disallow: /images/
Disallow: /tmp/
Disallow: /private/

仅禁止坏爬虫访问特定目录(BadBot用真实的名字代替):

User-agent: BadBot
Disallow: /private/
  

分类: 经验技巧 标签:
  1. 本文目前尚无任何评论.