如果我们有使用搬瓦工VPS的朋友应该知道,默认搬瓦工VPS主机包括其他的服务器商家的产品都不会带有防御的。如果有被攻击且超过一定的压力会导致被服务商自动停止服务器。如果我们的搬瓦工VPS主机有被攻击超过三次暂停可能就导致被封服务器。于是,我们在使用建站服务器的时候要做好WAF防火墙设置。在当前这个文章中,我们准备在当前服务器环境用的LNMP脚本安装包WEB环境安装NGINX WAF模块提高安全。
老杨个人建议,如果我们服务器有攻击,建议更换高防服务器。如博鳌云香港高防服务器,搬瓦工VPS是不抗攻击的,或者我们可以使用Cloudflare。
第一、准备环境
这篇文章是在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
输入版本号,回车,耐心等待编译完成。(Nginx 版本号可在 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 使配置生效。
总结,如果我们有需要的话还可以配置其他参数。设置各自的参数。安装后,我们可以测试效果。
搬瓦工优惠/性价比套餐推荐
搬瓦工优惠码:BWH3HYATVBJW,优惠6.58%,全场可用。下面表格整理了更多的搬瓦工优惠套餐。
方案 | 内存 | CPU | 硬盘 | 流量/月 | 带宽 | 机房 | 价格 | 购买 |
---|---|---|---|---|---|---|---|---|
CN2 (最便宜) |
1GB | 1核 | 20GB | 1TB | 1Gbps | DC3 CN2 DC8 ZNET |
$49.99/年 | 购买 |
CN2 | 2GB | 1核 | 40GB | 2TB | 1Gbps | $52.99/半年 $99.99/年 |
购买 | |
CN2 GIA-E (最推荐) |
1GB | 2核 | 20GB | 1TB | 2.5Gbps | DC6 CN2 GIA-E DC9 CN2 GIA 日本软银 JPOS_1 联通荷兰 EUNL_9 |
$49.99/季度 $169.99/年 |
购买 |
CN2 GIA-E | 2GB | 3核 | 40GB | 2TB | 2.5Gbps | $89.99/季度 $299.99/年 |
购买 | |
HK | 2GB | 2核 | 40GB | 0.5TB | 1Gbps | 香港 CN2 GIA | $89.99/月 $899.99/年 |
购买 |
HK | 4GB | 4核 | 80GB | 1TB | 1Gbps | $155.99/月 $1559.99/年 |
购买 |
选择建议:
- 入门:洛杉矶 CN2 套餐,目前最便宜,可选 CN2 GT 机房,入门之选。
- 推荐:洛杉矶 CN2 GIA-E 套餐,价格适中,速度超快,可选机房多,性价比最高。
- 高端:香港 CN2 GIA 套餐,价格较高,但是无可挑剔。