Home

Awesome

X-WAF

X-WAF是一款适用中、小企业的云WAF系统,让中、小企业也可以非常方便地拥有自己的免费云WAF。

文档地址:https://waf.xsec.io/

主要特性

架构简介

x-waf由waf自身与Waf管理后台组成:

waf和waf-admin必须同时部署在每一台云WAF服务器中。

下载安装

waf安装

centos平台

openresty官方下载最新版本的源码包。

编译安装openresty:

yum -y install pcre pcre-devel
wget https://openresty.org/download/openresty-1.9.15.1.tar.gz
tar -zxvf openresty-1.9.15.1.tar.gz 
cd openresty-1.9.15.1
./configure 
gmake && gmake install

/usr/local/openresty/nginx/sbin/nginx  -t
nginx: the configuration file /usr/local/openresty/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/openresty/nginx/conf/nginx.conf test is successful
/usr/local/openresty/nginx/sbin/nginx 

ubuntu平台安装

编译安装openresty:

apt-get install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl make build-essential
sudo ln -s /sbin/ldconfig /usr/bin/ldconfig
wget https://openresty.org/download/openresty-1.9.15.1.tar.gz
tar -zxvf openresty-1.9.15.1.tar.gz
cd openresty-1.9.15.1
make && sudo make install

安装waf管理后台x-waf-admin

二进制安装

直接从github中下载对应操作系统的二进制版本,https://github.com/xsec-lab/x-waf-admin/releases

源码安装

go get gopkg.in/macaron.v1
go get gopkg.in/ini.v1
go get github.com/go-sql-driver/mysql
go get github.com/go-xorm/xorm
go get github.com/xsec-lab/x-waf-admin

后端服务器管理

当多台waf做负载均衡时,只需登录其中一台进行管理即可,多台waf的所有的配置信息会自动同步到所有的服务器中。

管理地址为:http://ip:5000/login/

管理后台的默认的账户及口令分别为:admin,x@xsec.io,请管理员部署系统后第一时间修改密码,防止被攻击者使用默认口令登入胡乱改动waf的配置。

新增站点

Site Manager选项中,可以新增一个后端服务器,需要填写以下内容:

1.1.1.1:80
8.8.8.8:80

站点配置同步

新增站点后,需要在后台同步站点信息后方可生效,同步的方式有2种:

  1. 全部同步
  2. 针对某一新增的站点进行同步

waf规则管理

waf Rules选项中,可以修改waf的规则,修改完后可以点击“同步全部策略”按钮,将最新的规则同步到所有的服务器并让openresty重新加载。