这两天偶然发现一些网站论坛被攻击,访问时显示“Hacked by ring04h, just for fun!”字样,并且这些论坛使用的都是Discuz!论坛程序。因为是多个论坛出现故障,刚开始以为是Discuz!论坛程序本身出现了什么漏洞,吓了一跳。后来又发觉不像,一是管理员都说网站数据和网站服务器没有什么其它异常,二是访问网站后用户机器也没什么中毒症状。
随之康盛创想就发布了公告,原来是Discuz!论坛程序的补丁服务器域名被劫持了。攻击者将域名指向了一个事先设定了攻击代码的服务器,Discuz!论坛程序后台登录时,会自动访问补丁服务器,然后就执行了攻击代码,将程序初始页面显示弄成了“Hacked by ring04h, just for fun!”字样。
由此看来,此次攻击的基础原因在于域名劫持。域名劫持本身只是非法将域名的指向IP由一台机器转向了另一台机器,但是其结果却是非常严重的,因为任何事情都将有可能发生。上一次印象比较深刻的域名劫持是“艾泽拉斯国家地理”网站事件,域名被非法指向了一个带有病毒的网页。
值得思考的是,两次域名劫持发生的原因并不完全相同,前者是由于域名服务商服务程序的漏洞被攻击者所利用,非法修改了域名的指向;而后者则是由于域名服务商的人工服务流程出现漏洞,攻击者利用假的身份证明相对“合法”的获取了域名的使用权。同时,两次域名劫持之后进行攻击的方式也不尽相同,前者是利用补丁更新功能影响了使用此更新服务的网站论坛,而后者则是通过指向带病毒网页,诱使用户进行访问从而中毒。
域名劫持对于网站来说,不是自身能够完全防范的事情,更多的是域名服务商方面的原因。网站本身能够权衡的,无非就是域名和IP使用的问题了。例如“艾泽拉斯国家地理”网站事件,在被攻击期间它们的魔兽世界精灵插件更新就没有受到影响,因为插件更新使用的是IP访问更新服务器方式,不然由于插件是自动更新和下载,可能造成的后果就更严重了。
但是使用IP虽然可以避免域名劫持,却也别忘了域名本身的意义,为什么会出现域名呢?是因为直接使用IP太不方便了。不但服务器移动位置IP改变时会带来很大麻烦,静态IP的稀缺也使得直接使用IP访问可行性非常低。因此具体实践中还是要看具体情况进行处理,主要可以考虑以下设定:
1,如果服务器IP相对稳定,则重要服务特别是后台重要服务例如补丁更新等,可以使用IP访问;或者使用IP和域名双重设置访问,当IP可用时即用IP,IP不可用时启用域名,然后进行通信握手程序;
2,增加通信握手程序,例如特殊情况下双方通信时,进行一定程度的安全握手认证;
3,域名被劫持之后要快速反应,及时通知用户,启用备用域名,修改系统漏洞,恢复域名指向。




