构建安全的e-commerce服务器(1)
一.Background
基于Internet的网络经济一直吸引着人们的眼球,随着门户网站的局势已定,现在又涌现出一批以“电子商务”命名的网络公司。相比之下,他们比较冷静和谨慎。在企业级应用上,他们不仅仅满足于协助中小企业上网,更多的是想提供一些电子商务的主打产品:CRM、ERP、SCM等,或者提供从IDC到ASP一条龙服务。
但是,就我所经历的情况来看,真正能埋头做产品的公司微乎其微。一是因为投入太大,二是因为很难找到合适的市场定位。做方案和集成,无非是东拼西凑,糊弄初级客户,完全没有自己的东西。那么,目前电子商务公司除了做一些网站建设和应用项目,还有哪些盈利点?依我所见,由于国内的电子商务环境还不成熟,没有完整的信用体制和支付手段,在这个基础上,许多电子商务活动都是很难开展的。客户的顾虑也很多,仅从安全性上考虑,比如你做ASP(应用服务提供商),客户很难接受与其他人共享一块硬盘,把数据交给你维护更是忧心忡忡;辛辛苦苦开发出一套系统,放到网上,很轻易的被黑客窃取了源代码,让人心痛;架在一个不堪一击系统上的应用,黑客篡改了页面和数据,都很难向客户交待,影响了自己的声誉和进一步的业务合作。
这就体现出了安全的重要性。是的,安全和黑客技术是比较偏,有些搞软件开发的人甚至对此嗤之以鼻,但是我们不能否认安全在电子商务中的基石作用,不考虑安全和不懂安全的系统分析员来设计开发电子商务系统,最后注定会失败的很惨。
安全是一个很复杂的系统工程,从最初的制度策略的制定,到最后整个系统的implement,有很多环节。本文仅仅介绍构造一个e-commerce服务器,来说明在Internet上放置一个可以安全运行的电子商务WEB服务器也不是那么的简单。
二.Apache
为什么要选择Apache?中小企业比较乐于接受较低的系统报价,UNIX的网管们也可以从技术上替我解释这个问题。是的,相比于漏洞层出不迭的IIS来说,Apache在安全界享有良好的声誉,但是一个默认安装的Apache还是不够。
1) 操作系统
Apache尽管发布了Windows、Linux、BSD家族和其他操作系统的版本,但毫无疑问的是,UNIX是最好的选择。首先是远程管理上的方便,同时SSH提供了远程管理维护的加密通道。在系统性能上,UNIX类系统更加易于优化配置。
2) 自身的漏洞
尽管Apache的内核没有太大的buffer overflows和exploits,但是在1.3.19以前的版本有一个mod_rewrite漏洞。建议安装最新的版本1.3.20。
3) 外来的隐患
现在的电子商务网站内容都不是静态,而是动态生成的,所以需要额外的一些模块,如Java(Jserv)、Perl(mod_perl)、PHP(mod_php)。这些模块给Apache引入了安全隐患。如Windows平台上的Apache+PHP存在目录遍历漏洞,UNIX平台上,某些版本的Tomcat引擎(Java Servlets和JSP)也存在目录遍历、甚至泄露.jsp源代码的漏洞。
Apache和其它软件产品一样,多多少少存在安全问题。我们不要在嘲笑IIS满身窟窿同时,对Apache抱着100%的放心。一般情况下,有两个因素导致软件的不安全性:技术上和配置。如果网管们都能很好的配置服务器,相比之下,软件中的一些BUG是很容易解决的。
- 最新评论