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