* y! t( z/ P3 U3 J0 p 宝塔面板在8月份发生了一起严重的PMA数据库泄露事件,现在想起来,这个漏洞的严重性还是很大的,宝塔官方也在事件发生后,连夜紧急应急处理,紧接着对事件过程进行了全面的梳理和跟踪,并对外发布了一篇公开信,公布了对应的应对措施,避免类似情况的再次发生。
/ ^# b5 O- q% r y 官方对待问题的态度还是很迅速的,当然,我们在平时的使用过程中,也不能忽视安全问题,基本的waf防护是必须要有的通过对市面一些waf防护的产品对比来看,公有云的费用还是很高的,起步就是上千块钱一个月的价格。
1 ?* |1 v" a/ C, j, c2 y6 v/ d 可能大部分小站长的服务器一年都不到一千块钱,这样的防护价格是很难接受的宝塔面板官方也提供waf安全防护插件,如果不差钱的话,这个还是不错的选择,门槛低,上手快如果口袋紧张的话,宝塔还有一个隐藏的选择,就是手动打开ngx_lua_waf防护功能,一样可以达到防护作用,具体操作流程如下:。
- q0 x1 P" w9 D4 Z+ n 1、进入宝塔面板,打开 软件管理 > Nginx > 设置 > 配置修改;2、找到大约在第 13 行的 #include luawaf.conf;,去掉前面的 # 符号(“#”代表注释),保存并重启 Nginx。
; m* y3 m1 |! o# N0 V+ W 3、恭喜你,已经成功开启了防火墙!这时候,我们来拼接一个可疑的参数,访问看看效果:
. {/ C* Q" p5 V& r9 q2 s3 o4 z 如果出现上图提示,说明已经正确设置!默认的配置效果已经能满足基础的防护功能了,无需做更多配置了,如果要查看拦截记录,可访问:/www/wwwlogs/waf目录查看即可如果你想做其他更高级的配置,可参见:/www/server/nginx/waf 目录,里面的 config.lua 文件就是防火墙的配置文件。 0 ?# D5 ^+ c6 R$ A; l% a
每一项的具体含义如下所示:RulePath = "/www/server/panel/vhost/wafconf/" --waf 详细规则存放目录(一般无需修改)
/ h6 c5 @4 Z8 |& F( O attacklog = "on" --是否开启攻击日志记录( / q) g8 T" e. ]$ ?% h! }. D, q
on 代表开启,off 代表关闭下同)
* _# { F$ ~* _ logdir = "/www/wwwlogs/waf/" --攻击日志文件存放目录(一般无需修改)1 r( e# ]1 f, z8 b2 s$ ^
UrlDeny="on"。
0 w" a2 N* @$ j7 F; H1 i: f' ? --是否开启恶意 url 拦截, o) B; q8 U7 e% R+ t
Redirect="on" --拦截后是否重定向4 |0 G" }9 @& _
) p, s5 P0 Y0 X6 F5 W
CookieMatch="off" --是否开启恶意 Cookie 拦截
/ Y# v( Q; @! G. Z4 q4 A, S- @ postMatch="off" --是否开启 POST 攻击拦截# D$ ]6 T! D$ F8 ~+ I. G3 ]! T+ V& D
" H) n$ y. ~; N whiteModule="on" --是否开启 url 白名单
+ D; @+ b8 G5 ]. ~; J+ g) ] black_fileExt={"php","jsp"} --文件后缀名上传黑名单,如有多个则用英文逗号分隔。 ( q. {) ^; x) j7 X& s
如:{"后缀名1","后缀名2","后缀名3"……}
: r. F" o3 R9 E7 g4 y" V6 |; S ipWhitelist={"127.0.0.1"} --白名单 IP,如有多个则用英文逗号分隔如:{"127.0.0.1"
8 B& x; R# c7 o6 x/ k) m& { ,"127.0.0.2","127.0.0.3"……} 下同
0 e8 Q4 X- l* h2 K" @ ipBlocklist={"1.0.0.1"} --黑名单 IP
6 d i. q& _2 _) ]4 J( c$ Z CCDeny="off" --是否开启 CC 攻击拦截# u* Z+ Z/ ]4 J" J- u& q
2 z" {/ ~3 P& J( o1 x' O
CCrate="300/60" --CC 攻击拦截阈值,单位为秒"300/60" 代表 60 秒内如果同一个 IP 访问了 300 次则拉黑。
! t' c8 R) e V: r2 m6 @: R! Y postMatch开关打开后,有可能出现文章发布等功能被拦截的情况 # P' g6 |0 j e3 F
& `" _$ I. ~* f$ i8 s% b
( u% Y! T4 n, g! ]& P- B/ m4 _+ n, A7 c
' g2 j( I) \& ~. K3 s5 | |