X-WAF
X-WAF是一款适用中、小企业的云WAF系统,让中、小企业也可以非常方便地拥有自己的免费WAF。
主要特性
- 支持对常见WEB攻击的防御,如sql注入、xss、路径穿越,阻断扫描器的扫描等
- 对持对CC攻击的防御
- waf为反向模式,后端保护的服务器可直接用内网IP,不需暴露在公网中
- 支持IP、URL、Referer、User-Agent、Get、Post、Cookies参数型的防御策略
- 安装、部署与维护非常简单
- 支持在线管理waf规则
- 支持在线管理后端服务器
- 多台waf的配置可自动同步
- 跨平台,支持在linux、unix、mac和windows操作系统中部署
安装部署
一、下载openresty
测试下载的版本为 openresty-1.21.4.1.tar.gz
执行以下命令:
tar zxf openresty-1.21.4.1.tar.gz
cd openresty-1.21.4.1/
./configure
gmake && gmake install
openresty 将会默认安装到 /usr/local/openresty 路径下
二、下载x-waf
解压后 将 x-waf 目录拷贝到 /usr/local/openresty/nginx/conf 目录下,如图:
并在 /usr/local/openresty/nginx/conf 目录下新增 vhosts目录
mkdir -p /usr/local/openresty/nginx/conf/vhosts
在vhosts目录新增demo.conf配置,配置内容如下:
server {
listen 10180;
server_name 192.168.0.56;
location / {
root html;
index index.html index.htm;
}
}
如图所示:
三、启动openresty服务
#检测配置是否正常
/usr/local/openresty/nginx/sbin/nginx -t
#启动服务
/usr/local/openresty/nginx/sbin/nginx
#重启
/usr/local/openresty/nginx/sbin/nginx -s reload
四、验证配置网站是否能正常打开
浏览器访问:出现Welcome to OpenResty!,说明配置正常。
五、安装x-waf-admin 管理页面
下载x-waf-admin
这边下载的是x-waf-admin0.1-linux-amd64.tar.gz,感兴趣的可以根据文档进行源码编译安装。
解压后上传到服务器
将 server 执行权限更换为可执行
chmod 0777 server
进行conf目录 修改app.ini参数
如图:
确认里面的路径是否正确,配置数据库的账号密码以及访问IP
启动 x-waf-admin
./server
如图:
服务启动成功后,默认会在配置的数据库新增表和默认的账号密码。
默认的账号是:admin
默认的密码是:x@xsec.io
登录进去可以对站点进行管理,以及一些基本的waf规则
六、测试体验
根据上述规则进行测试,如图:
拿一些正式的业务的网站进行测试,大部分的防护基本满足,但相关的防御规则可能存在绕过的方式,懂lua的同学可以对相关规则进行优化,加强防御。