◎十一年遭一劫
正值笔者创办的数位之墙迈入第十一个年头,最近一个月却经历了前所未有的浩劫。网站两度停机,累计停机时间达八天。损失广告收入 80美元及数个熬夜的夜晚,以及修复后跌了一半的网站流量。
2008年 4月15日,数位之墙的网站代管厂商来信,说网站消耗系统资源过大。由于此类网站代管都是在同一台服务器上设置多个的网站,因此如果某个网站消耗太多资源,就会影响到其他网站。
这间代管厂商直接封了用户名,停了数位之墙,并在信中说明这个用户名不可能恢复请搬家吧。其实资源消耗问题一直都在,他们之前也持续跟笔者沟通,而笔者也改写了部分程式,但没想到这招来得又快又狠。
笔者没意识到数位之墙本身已经成长到一个程度,这间网站代管商提供每月美金10元的代管方案便宜好用服务态度佳,笔者相当满意的用了五年以上,但是却没提供任何升级方案,搬家已经是势在必行。
搬家到相同等级的代管厂商是没用的,保证会再被踢出来。笔者战战兢兢的选择了使用 VPS(Virtual Private Server)服务,这种网站代管方案每个月成本大约在40到80美金不等。
最大的障碍不是急升的成本,而是 VPS相对要求较高的技术能力。这其中包含了有没有能力判断一家 VPS服务供应商所提供的系统环境是否符合自身所需。
◎升级挑战技术能力
笔者一开始选择的服务供应商,价格相对便宜只要30美金一个月,但随后对方花了三天的时间连个服务器管理介面(业界常用的 Plesk)都启动不起来。笔者实在没有时间跟他折腾了,赶快换了另一家。
系统设定最是头痛,笔者拉了一个精通微软技术的好友帮忙做系统设定,但最后几乎是靠著自己摸索外加服务供应商大量协助在两天时间完成。幸好Plesk 确实好用,也能快速上手。
五天过去,网站重新开张,流量掉了一半。令人惊讶的是,停机期间网站是不能链接的,而却没有任何人来询问笔者。网站恢复后,马上涌入大量的公关公司在数位之墙的《行业动态》张贴新闻稿。
《行业动态》单元是给科技公司发布新闻稿用的,平常每天会有10篇左右的稿量,已成为科技行业重要的发布讯息管道。这些公司五天连不上网站,已经累积大量稿件蓄势待发。笔者感到意外。一个网站消失五天无人闻问,可能表示这个网站消失 50天也可以,换言之可有可无。我以为数位之墙最有价值的地方在于文章,但从反应看,其实是成为科技行业发布讯息的管道最有价值。
正当笔者感叹于自己的渺小,数位之墙网站之可有可无,以及「苛刻的网站代管服务商人比黑客还要狠」的时候,2008年 5月 4号,数字之墙网站遭到黑客入侵。
◎黑客上门来
笔者是因为看到《行业动态》的首页版面有点奇怪,联机到数据库查看时,才发现数据库已经被植入木马。与系统设定无关,对方是利用笔者撰写程式的漏洞,采用了称为 SQL Injection的手法入侵。
SQL Injection 并不是难以防范的入侵方式,但笔者不是专业程式设计人员,撰写程式的基本功夫并不扎实。一个被笔者紧急召唤来帮忙的高手朋友,在看过程式码以后居然挖苦的说:
「你写这样的程式能保持10年不出事,真是不容易」
笔者其实在去年就已经发现数据库里经常会多出一些奇怪的Table ,也知道SQL Injection ,但由于没有造成资料的损坏,所以只是把那些Table 删除了事,得过且过,以至于这次资料完全遭到损毁。
幸好,VPS 厂商有每天备份数据库。笔者调出 5月 3日的资料,先把它恢复了,网站维持停机状态,请朋友开始做程式码修改。这一停机,又是三天的时间过去。
笔者拿到VPS 服务供应商提供的数据库档案时,不免多少感叹。一个经营了11年的网站,最终以及最精华的心血结晶也就是这个大约40MB 的档案而已。一旦被删除,最终还剩甚么?没有了,甚么都没有了。
这个程式架构先天不良的网站何以能在黑客手下安然度过11年还有一个原因。以往的黑客多半只是为了证明自己的技术实力,现在的黑客则是为了赚钱。以前的黑客入侵只是来打个招呼,现在则是植入木马。
◎网络安全的挑战更加严峻
数位之墙11年发展历程中,约略可看出互联网潮流变迁。从1997年开始使用免费个人网页,到1999年正式建立网站仅采用微软Access资料库做资料存储,到最后撑不住流量改用微软SQL Server。
网页编码从最早Big5繁体中文,到为了跟上Web 2.0 全面改写UTF-8 ,为了提供RSS 服务,引入XML 文件格式。还曾经为了要提供Widget 服务去研究AJAX,接下来说不定会接入各式社交网络开放平台服务。
如果有某个公司的网站跟数位之墙一样存在了10年以上,想必也已经修修补补好多次,各种技术杂陈,负责开发网站的人改朝换代交接了不知道多少回。于是最终会遇到的问题是,不知道安全漏洞在哪。
这可能是为何前阵子台湾某信息安全科技大厂被爆出网站出现跨站指令码攻击(Cross-Site Scripting, XSS )安全漏洞的原因:只要没出问题,没人会想翻箱倒柜把以前架构重整,跟笔者心态完全一样。
当笔者发现数据库内容遭全面覆盖时,有种万念俱灰的感觉。遥想当年买下网址开始写程式建站,感觉互联网容易入门,真是小本创业者天堂。11年过去,现在的环境却要求著自行架站者必须懂得更多了。 (文:数位之墙)