2014年3月21日星期五

个人网站服务器防火墙软件评测

  个人站长是一个非常特别的群体,通常就是一个人对着一台电脑,做一个站运营,网站的搭建、技术、内容、推广、广告、安全等全是一个人负责,可以说是样样会,但未必样样都精通,其中最令人头痛的一个问题可能是网站的安全问题。

  如果做网站从没碰到过网络攻击,那就根本不叫站长,中国的个人站长普遍都十分低调,这并非是站长们的传统美德,而是被逼成这样的,网站挂马、盗域名、CC攻击、DDOS攻击等等,哪个站长摊上这事情,基本上都是仰天长叹自认倒霉,在专业的黑客面前,个人网站往往显得不堪一击。很多站长都面临这样一个困惑,做为一个非安全专业的站长,如何对付各种各样的CC、DDOS等网络攻击和网站挂木马病毒?最简单的方法是安装一个网站服务器防火墙软件。

  关于服务器防火墙软件,目前市场上并不多,可以说只有非常有限的几款,我自己的服务器往常也经常被攻击,因此我就试用了“安全狗”这个软件来看看其防护效果。

  “安全狗”这个软件有“服务器安全狗”和“网站安全狗”两个版本,分别接管服务器的安全以及WEB网站的安全。

  服务器安全狗

  “服务器安全狗”安装完成后,感觉界面和360安全卫士非常像,操作风格也很像,用过各类“安全卫士”的用户都很容易入手,和桌面电脑一样,服务器安全管理也都集成到“体检”这个向导功能里,通过一键扫描服务器的种种安全漏洞,快速地进行优化设置。

  点击服务器体检,就可以全面检测服务器的安全状况,给出服务器的评分,在体检结果里,选择一键修复,就可以快速修复安全漏洞,不过,服务器的安全设置比桌面电脑要复杂的多,通常一键修复并不能像桌面电脑那样自动修复所有问题,大部分问题还需要手动修复。

图1:服务器体检

图1:服务器体检

  我这里测试看到,大部分操作系统补丁可以自动修复,一些端口的安全策略和服务的安全配置都需要手动修复,其实这些修复原本我也整理过,我曾经也写过一个长长的教程来说明服务器配置的过程,通常就是修改注册表、配置某些系统参数等等,没有说明文档根本记不下来,而服务器安全狗这个软件将众多配置过程都集中在一个软件设置中,使得配置修改变得容易多了。

  在网络防火墙选项中,可以开启DDOS、ARP、CC等防火墙,早期国内机房大多管理混乱,机房内各种ARP攻击层出不穷,现在机房内的ARP倒是很鲜见了,外部的DDOS和CC却越来越多了,相信众多站长都受过这方面的苦。

  我以前防止CC攻击的主要方法是通过程序来过滤CC攻击者的IP,然后禁用,这个方法要有一定的编程技术,而且不能实时预防,有较大的缺陷,为了测试这个软件的防CC攻击,我自己部署了一套CC攻击系统,通过微软的压力测试工具Microsoft Web Application Stress Tool来模拟大量连接攻击我的网站,我设置了10个线程共100个连接来大量攻击某个网址,开始攻击不到一分钟,我发现无法访问我网站了,PING也不通,远程也连接不上,莫非我网站宕机?换了一个IP访问,发现可以正常访问,原来网站上的防火墙已经实时将我这个攻击IP给屏蔽了,10分钟内这个IP对网站所有端口的访问都无效。

  换了一个IP,远程登录服务器查看防火墙的“防护日志”,发现攻击开始不就后防火墙就将诊断出DDOS和CC攻击,并进行了拦截。

  不过,CC攻击的拦截又是会将短时间内大量访问的IP视为攻击,我查看日志发现很多访问HTML文件的IP被拦截为CC攻击,而根据一般常识,攻击者通常不会以HTML文件为CC攻击对象,因此我怀疑可能是有人大量采集我网站内容,短时间内大量访问,被防火墙标记为CC攻击从而拦截,不过这种误判也不算坏事。

  对于启用CDN的网站来说,需要将CDN的IP加入白名单,并且不要要CDN缓存动态页面,否则的话后果会很严重。

  网站安全狗

  网站安全狗是针对IIS或Apache等网站服务的防火墙,其界面也和360安全卫士类似,一进来是网马查杀的功能,我对我的网站扫描了一遍,发现误判情况比较严重,扫描出900多个网页挂马的情况,而我打开所谓“挂马”的页面看,实际上只是有一些网页部件脚本而已,看来这种扫描方式不太靠谱。

图2:网马扫描

图2:网马扫描

  比较引起我兴趣的是“主动防御”功能,目前黑客对于网站的攻击通常使用漏洞扫描软件批量对各个IP地址段进行扫描,网站安全狗则收集了很多已知的网站漏洞和SQL注入漏洞进行防御,还可以禁用服务器上的危险组件,对于CC攻击也有一定的防御功能,从防火墙的后台日志可以看到,每天都有大量的攻击者提供各个漏洞和SQL注入等方式进行攻击,虽然我网站本身并没有这些漏洞,但是防火墙先将这些攻击拦截,可以做到“双保险”。

  服云

  服云(服务器安全管理云)通过帐号将安装在客户端的“服务器安全狗”和“网站安全狗”进行关联,让站长可以在网站上查看各个服务器的安全状况,并执行某些关键操作,例如重启服务器,关闭或启动IIS服务等。

  如果只有一个网站,我觉得用这个服务的风险可能比收益还大,因为攻击者可以转而攻击服云这个网站,一旦站长服云帐号被攻击者获取,攻击者无需服务器管理帐号,即可远程重启服务器或关闭重要服务,这反而给站长带来另一种风险。

  我觉得服云比较适合大量服务器的管理。一个站长如果拥有大量服务器,那么每天登录服务器管理会耗费大量时间精力,通过这个管理平台,可以批量对服务器进行安全管理,包括服务器体检、远程重启、关键服务重启等操作,告警通知会列出各个服务器出现的异常情况,对于大量服务器的管理十分方便。

  服云可以从网页端、客户端和手机端访问,网页端使用最简单,下面我就着重介绍一下PC客户端和手机端。

  客户端服云

  个人站长的大部分时间都在电脑旁,安装一个客户端软件来随时了解服务器的情况也是最方便的,PC客户端服云就是一个类似QQ的客户端软件。

图3:客户端服云

图3:客户端服云

  安装完成之后,服务器的告警信息都会推送到站长的电脑上。用户可以设置1分钟或5分钟提醒,还可以设置是托盘图标闪烁还是弹窗提醒。通常对于一个流量较大的网站来说,告警信息的数量还是非常大的,每条告警信息都看完是有难度的,建议用户可以按照消息量的大小来选择接收“一般告警”、“紧急告警”和“严重告警”,否则不断的告警信息刷屏还是很烦人的。

图4:客户端服云弹窗报警

图4:客户端服云弹窗报警

  我安装使用后发现,拦阻最多的是大量的“不常见的HTTP请求”,包括使用OPTIONS请求、COOK请求等,另外就是一些黑客利用WEB应用漏洞进行攻击的报警信息,这些信息实际上都不用处理,防火墙已经自动帮忙过滤了,站长只要关注服务器的运行以及资源状况即可,如有异常情况,站长可以通过客户端来远程重启服务器、远程重启WEB服务等。

图5:黑客攻击报警信息

图5:黑客攻击报警信息

  手机端服云

  个人站长也是人,也需要外出旅游放松一下,那么,在外出旅游的过程中,服务器怎么管理?我以前曾经遇到这种情况,就是在九寨沟旅游的时候,机房打电话要求删除服务器上一个文件,害得我在手机上折腾了半天,旅游回来后我还自己写了一个程序来实现远程文件删除功能,以免以后再遇到类似情况。

图6:手机端服云

图6:手机端服云

  当然,手机版服云无法实现远程文件删除,但能实现另外几个有用的功能:远程监控服务器运行状况、远程重启服务器、远程重启WEB服务等,也算有些用处。

图7:手机端远程监控

图7:手机端远程监控

  遗憾的是目前手机端只有Android版,iPhone版和网页触屏版还没有出,因此使用非Android手机的用户还要再等一等。

  云备份

  云备份功能用于将用户网站内容备份到安全狗服务器上,不过免费用户容量只有1G,对于免费用户来说聊胜于无,还不如使用类似Dropbox这样的同步盘应用来备份网站,因为我的网站容量远远大于1G,而且考虑到网站内容外泄带来的风险可能更大,因此这个服务我就没有试用了。

  总结

  总的看来,这是一个专门针对个人网站的防火墙软件,使用这个服务器防火墙的优点是,可以减轻非安全专业人员管理服务器的难度,甚至让一个网络新手可以同时管理几台服务器的安全,对于普通的网站漏洞以及轻量级的CC、DDOS攻击都能进行拦截和防御。但缺点也是非常明显的,攻击者可能转而攻击这个服务器安全防护软件,从这个软件或防火墙网站的漏洞来入侵用户网站,而安全软件本身是否有后门也不得而知,对于几乎接管了整个服务器和网站全部接口的安全软件来说,其是否会未经授权而修改网站或服务器内容也是一大风险。

  服云防火墙帐号和密码也会成为黑客的攻击目标,对于个人站长来说,不要对外公布自己的帐号名,不要使用常用的邮箱注册帐号,密码使用8位以上字幕数字字符混合的强密码,不要和其他网站密码相同,对于软件开发商来说,应该尽快部署“二步验证”登录机制,启用手机一次性密码,这样黑客攻击帐号的难度就加大了很多。