原文:How to Keep WordPress Secure

中文:如何确保 WordPress 的安全 by UZIWP

一切防范于未然。我无法再挽回我的错误,但对于博客来说这却是个很好的建议——现在用一点时间去升级,或许可以节省你将来大量的精力。

现在,就有一个蠕虫病毒采用老办法对旧版本的 WordPress 进行攻击。这个蠕虫,与以往其他病毒一样,非常聪明:它注册一个帐户,利用安全上的漏洞(此漏洞在今年早些时候已经修复),使得评估代码可以通过永久链接结果直接执行,将它自己成为管理员,然后在你查看用户页面的时候使用 JS 脚本隐藏它自己,并在清理干净所流痕迹后安静离开,让你几乎无法察觉它插入到你的旧博客文章中的垃圾和恶意软件。

手段新颖,但策略老套。这个蠕虫病毒在“清理”阶段露出了手脚:它并不能将自己隐藏好,博主因此注意到他的链接遭到破坏,于是进一步查看并发现了其他的危害。老的蠕虫病毒可能会做一些孩子气的事情,比如搞坏你的网站外观;新的蠕虫则比较安静,只有当他们搞砸了,或者 Google 提示你的网站含有病毒或者恶意软件的时候,你才会注意到。

我说这些并不是要恐吓你,而是提醒你之前发生的事情,之后还有可能会发生。

一切防范于未然。升级并不麻烦,并且 WordPress 社区已经做到了实现一键升级。相反,修复被黑的网站则非常苦难。升级是给你吃维生素,修复被黑站点是做心脏修复手术。

WordPress 的当前版本,2.8.4,可以免疫于该病毒。(之前的版本也一样)如果你曾考虑过升级但尚未动手,现在正是时候。如果你已经升级到最新版本,请检查一下你的朋友的博客,或者你所阅读的博客,他们是否需要你的帮助。一切防范于未然。

每当蠕虫病毒成灾,每个人都变成了安全专家,并叫卖他们的三种建议:狗皮膏药,俱乐部方案和真正的解决方案。你可能会马上选择狗皮膏药,因为这个办法最简单。这种方案总是说,隐藏你的 WordPress 版本信息就万事大吉。哈哈,病毒的开发者也这么认为。病毒的 1.0 版本或许会检查版本号,2.0 就可以测试版本了,版本号可以去死了。

第二个建议是俱乐部方案:要阐明这个问题,我这里引用 Mark Pilgrims 7年前关于垃圾评论的文章,那时候 WordPress 还没有出现:

真正有趣的是,从博弈论的角度讲,他们都是俱乐部方案,而不是 Lojack 方案(LoJack 是一种著名的汽车防盗系统,参考百度百科:LoJack)。有两种办法可以防止你的汽车被偷:俱乐部(盾牌、车辆报警器、或其他类似的东西),和 LoJack。俱乐部方案并不能防护下决心偷你的汽车的贼(钻锁、取掉方向盘非常容易)。但它可以有效防护想要偷一俩汽车(不一定非偷你的那俩),因为贼在匆忙之间,总是会攻击最弱的目标,摘树上最低的水果。只要不是人人都拥有它,俱乐部方案就有效;但如果人人都拥有,偷车贼偷取任何一辆汽车的难度都相同,他们就会根据其他因素进行考虑,你的汽车被偷的概率就和别人一样了。俱乐部方案并不能震慑盗贼,而只是是他做了偏转。

俱乐部博客解决方案可能会很简单(比如增加一个 .htaccess 文件),也可能会异常复杂(比如双认证),并且能有效工作,尤其是针对已经公开的漏洞。俱乐部方案能有效工作,比如使用健壮或者足够复杂的登陆密码,没有人会反对这些。(另外一个俱乐部方案是使用用户较少的软件,就像软件声称它更加完美、安全。这也是为什么 BeOS 比 Linux 更安全的原因,啊哈。)

在汽车世界中,如果有人能将汽车商店全部整车偷走,那么俱乐部方案就毫无意义了。俱乐部的制造商值得幸庆,这种事情从未发生。然而,在网上和软件行业,这种事情却每日都有。真正有用的,只有一个真正的解决方案。我唯一能够承诺保持你的博客安全性的办法是,在现在和未来不断保持升级。

WordPress 社区每天都有数百人在阅读它的核心代码、审查代码、更新代码,并且关注你的博客安全,因此我们每隔数周发布更新,来保证你的博客远离坏人,尽管这让人看起来似乎我们的软件并不完美。我不是千里眼,我无法预测将来会有什么样的垃圾评论发布者、黑客、骇客、骗子等会拜访你的博客,但我们已经会尽一切努力,让 WordPress 确保安全。我们已经对核心代码和一键升级插件做了升级。如果我们发现被破坏,我们会发布修复。请务必升级,这是我们唯一可以互相帮助的途径。