快速上手ShareWAF:ShareWAF部署、调试关键步骤及常见问题


一、部署
1、获取ShareWAF压缩包;
2、解压到部署目录;
3、安装Nodejs
(ShareWAF基于Nodejs开发,在Nodejs环境中运行。Nodejs是跨平台应用,可安装于任意操作系统)
可使用apt-get或从官网下载的方式安装nodejs。
4、安装好nodejs后,打开nodejs命令行,来到sharewaf目录,
执行:npm install,安装必备的三方组件;
注意:
如在安装过程中Express报错,运行:npm config set strict-ssl false
如在安装过程中Sqlite3报错,运行:npm install sqlite3 --unsafe-perm
可尝试重复执行npm install sqlite3
如sqllite3依然安装,如果使用的nodejs是最新版,请安装为nodejs稳定版,或更低版本。
如仍有错误提示,请百度查找错误提示相关问题;
(以上,多为系统和Nodejs兼容性引起的问题。)
5、nodejs及三方模块安装好之后,参考sharewaf目录下的setup.txt,进行必要设置,
如:打开admin目录下的config.js文件,修改ip为本机IP(如进行公网访问,设置公网IP);


二、使用
6、启动ShareWAF,
命令:node sharewaf
如在终端环境下使用,
请先安装forever或类似工具,以实现后台持续运行:npm install forever -g,然后用以下方式启动:
forever start sharwaf
(等部署配置最终完成,可使用node daemon.js甚至forever start daemon.js,以守护进程启动,以提高Sharewaf稳定性,但在调试阶段,请勿使用,不方便测试)
7、访问sharewaf后台
通过http://ip:8080/可访问到sharewaf用户后台,在这里,可自主注册帐号,注册并登录后,可进行功能配置、查看统计数据、查看实时访问及攻击状态。
通过http://ip:8080/admin.html可访问到sharewaf管理员后台(默认帐号密码是admin、admin)。在管理员后台,可以添加和管理帐号。
在此环节,如注册、登录时无反映或提示错误,通常是由于socket.io组件引起,请参考此文章解决:http://www.sharewaf.com/sharewaf_zhu_ce.html
更多ShareWAF使用及问题解决办法,请参考:http://www.sharewaf.com/article_list.html
注:
假如要保护的网站是http://www.abc.com/,其原本网站ip是:http://12.34.56.78/
那么,注册保护目标时,保护域名需填为:www.abc.com(不带http://),目标ip,设置为http://12.34.56.78/(带http://)
如何访问被保护目标、查看保护效果呢?
调试阶段,需要通过修改hosts查看效果,假如sharewaf部署的机器IP是9.9.9.9,这时,在hosts中添加:www.abc.com 9.9.9.9,即可。
这之后,如何确认网站已经在保护之下了?
最直观的方法是打开目标网站,在网页最下方查看是否有sharewaf水印(未进行sharewaf正版授权之前,会在网站最方面添水印信息)
或者,右键查看网页源码是否加密(前题是开启了网页源码加密功能);
或者,F12打开浏览器调试信息,在网络选择卡中,选择一个网页,查看服务器返回信息(response)中的Server信息是否是Sharewaf。

三、调试
(接入WAF后,都有一个调试环节,以使WAF适应生产环境)
8、配置与调试
在ShareWAF后台,可以设定各种功能的启用状态、及进行各种设置。
初次使用时,请向ShareWAF客服获取攻击特征库并正确配置到后台。
使用保护后,一般都需经过简单的配置,比如对网站使用的三方JS库(通常经过了压缩或混淆)进行排除;
如果用sharewaf保护后,网站某些功能出现异常(一般是js和ajax通信相关),同样F12(或手动)打开浏览器控制台,将提示错误的文件加入到排除清单:
假如是js文件提示错误,就在sharewaf后台将js文件名加入到js保护的排除清单中,
假如是ajax、xhr通信相关文件提示错误,就在sharewaf后台将文件名或url路径关键字加入到网页源码加密排除清单、和JS保护排除添单。(原因分析:异步后台通信,经常返回的内容是js字符串或json数据,
sharewaf保护功能的js保护会将js代码混淆加密、会将json数据加密,因而造成返回数据无法正确解析,从而引起报错)
如发生拦截误报(很少情况会发生),需进行调试:
在sharewaf目录中的config.js文件中,有一个debug的值,将其设为1,即进入调试模式,调试模式下,当访问到来,sharewaf会输出各种信息,其中包含拦截信息,根据输出内容,可快速定位误报原因。此方式也
可用于其它问题分析(如果发生的话)
9、到此,你已基本掌握了ShareWAF的部署、调试和使用。
想要了解更多的ShareWAF功能使用、或进行防护功能测试,请学习ShareWAF产品文档(ShareWAF官网可下载)。