优选主流主机商
任何主机均需规范使用

真实记录搬瓦工服务器LNMP部署Nginx WAF模块防火墙提高安全性

如果我们有使用搬瓦工VPS的朋友应该知道,默认搬瓦工VPS主机包括其他的服务器商家的产品都不会带有防御的。如果有被攻击且超过一定的压力会导致被服务商自动停止服务器。如果我们的搬瓦工VPS主机有被攻击超过三次暂停可能就导致被封服务器。于是,我们在使用建站服务器的时候要做好WAF防火墙设置。在当前这个文章中,我们准备在当前服务器环境用的LNMP脚本安装包WEB环境安装NGINX WAF模块提高安全。

真实记录搬瓦工服务器LNMP部署Nginx WAF模块防火墙提高安全性

笔者个人建议,如果我们服务器有被攻击,建议更换高防服务器。搬瓦工VPS是不抗攻击的,或者我们可以用CF CDN。

第一、准备环境

这篇文章是在LNMP军哥NGINX环境测试的。如果我们有需要可以参考且注意备份数据。

LNMP = v1.7
Nginx version = 1.20.1
gcc version = 4.8.5

第二、安装WAF防火墙

编译安装 LTS 版本的 ngx_waf 模块。

cd /usr/local/src \
  && git clone -b lts https://github.com/ADD-SP/ngx_waf.git \
  && cd ngx_waf \
  && make

cd /usr/local/src \
  && git clone https://github.com/libinjection/libinjection.git lib/libinjection

cd /usr/local/src/ngx_waf \
  && git clone https://github.com/DaveGamble/cJSON.git lib/cjson

cd /usr/local/src/ngx_waf \
  && git clone https://github.com/libinjection/libinjection.git inc/libinjection

cd /usr/local/src \
  && git clone https://github.com/jedisct1/libsodium.git --branch stable libsodium-src \
  && cd libsodium-src \
  && ./configure --prefix=/usr/local/src/libsodium --with-pic \
  && export LIB_SODIUM=/usr/local/src/libsodium \
  && make -j$(nproc) && make check -j $(nproc) && make install

cd /usr/local/src \
  && git clone https://github.com/troydhanson/uthash.git \
  && export LIB_UTHASH=/usr/local/src/uthash

进入 lnmp1.7 所在目录,编辑

~/lnmp1.7/include/upgrade_nginx.sh 这个文件:

vi ~/lnmp1.7/include/upgrade_nginx.sh

找到 else 后面的 ./configure 这行(大概第 62 行),在这串编译参数末端追加 –add-module=/usr/local/src/ngx_waf –with-cc-opt=’-std=gnu99’。

编译:

cd ~/lnmp1.7
./upgrade.sh nginx

输入版本号,回车,耐心等待编译完成。(Ng­inx 版本号可在 nginx 下载页 找到预升级的版本号进行输入并按下回车键)。

第三、配置 waf 防火墙

在主机配置文件例如
/usr/local/nginx/conf/vhost/www.cnbanwagong.com.conf 文件 server 块内加入以下代码:

# 启用模块
waf on;
# 指定规则文件所在目录
waf_rule_path /usr/local/src/ngx_waf/assets/rules/;
# 指定防火墙的工作模式
waf_mode DYNAMIC;
# 指定请求频率上限为每分钟1000次,超过请求拉黑60分钟
waf_cc_deny rate=1000r/m duration=60m;
# 最多缓存 50 个检测目标的检测结果
waf_cache capacity=50;
# 被攻击时降低带宽占用
waf_http_status cc_deny=444;

修改完成后,重启 nginx 使配置生效。

总结,如果我们有需要的话还可以配置其他参数。设置各自的参数。安装后,我们可以测试效果。

 

未经允许不得转载:搬瓦工中文网 » 真实记录搬瓦工服务器LNMP部署Nginx WAF模块防火墙提高安全性