) K' A! I! j( h7 G) R9 r1 s( A8 p
宝塔面板在8月份发生了一起严重的PMA数据库泄露事件,现在想起来,这个漏洞的严重性还是很大的,宝塔官方也在事件发生后,连夜紧急应急处理,紧接着对事件过程进行了全面的梳理和跟踪,并对外发布了一篇公开信,公布了对应的应对措施,避免类似情况的再次发生。 , g" a( D+ |6 A2 ~: Y( z
官方对待问题的态度还是很迅速的,当然,我们在平时的使用过程中,也不能忽视安全问题,基本的waf防护是必须要有的通过对市面一些waf防护的产品对比来看,公有云的费用还是很高的,起步就是上千块钱一个月的价格。 1 P7 s6 F. _; R5 B% P! {
可能大部分小站长的服务器一年都不到一千块钱,这样的防护价格是很难接受的宝塔面板官方也提供waf安全防护插件,如果不差钱的话,这个还是不错的选择,门槛低,上手快如果口袋紧张的话,宝塔还有一个隐藏的选择,就是手动打开ngx_lua_waf防护功能,一样可以达到防护作用,具体操作流程如下:。
" [1 r) h$ e: U 1、进入宝塔面板,打开 软件管理 > Nginx > 设置 > 配置修改;2、找到大约在第 13 行的 #include luawaf.conf;,去掉前面的 # 符号(“#”代表注释),保存并重启 Nginx。 3 m, X% q9 m1 t! f: g) L$ W% s
3、恭喜你,已经成功开启了防火墙!这时候,我们来拼接一个可疑的参数,访问看看效果: , C8 {6 |. A7 S4 z/ t% _
如果出现上图提示,说明已经正确设置!默认的配置效果已经能满足基础的防护功能了,无需做更多配置了,如果要查看拦截记录,可访问:/www/wwwlogs/waf目录查看即可如果你想做其他更高级的配置,可参见:/www/server/nginx/waf 目录,里面的 config.lua 文件就是防火墙的配置文件。
- N& ~) K% J- D8 q 每一项的具体含义如下所示:RulePath = "/www/server/panel/vhost/wafconf/" --waf 详细规则存放目录(一般无需修改)
- {( u- i; l9 D1 V) ` attacklog = "on" --是否开启攻击日志记录(
# j; p7 y* ^4 { on 代表开启,off 代表关闭下同)
) B. R y4 Y9 N8 G' O; i logdir = "/www/wwwlogs/waf/" --攻击日志文件存放目录(一般无需修改)) ]. s+ H$ X, L( {% X
UrlDeny="on"。
( \7 h& `% i7 X" u' s; S" I) g2 x --是否开启恶意 url 拦截4 |% f' S2 Z K8 A3 u! t2 P b# y
Redirect="on" --拦截后是否重定向
4 T9 v+ }1 `# Y8 s
+ C6 P% O6 b! Y CookieMatch="off" --是否开启恶意 Cookie 拦截
* x/ Y* F0 X1 ^% Y+ g3 ` I( a postMatch="off" --是否开启 POST 攻击拦截3 J+ a% d0 Q$ [7 k0 D) h8 z9 N( Z) W7 d
6 @4 ^! W; K' X# ?& _9 u% ]# f whiteModule="on" --是否开启 url 白名单1 x( [7 y) v% j
black_fileExt={"php","jsp"} --文件后缀名上传黑名单,如有多个则用英文逗号分隔。 3 Y; e: o& b" H0 T* p3 z
如:{"后缀名1","后缀名2","后缀名3"……}
9 [2 |( R+ O D, H ipWhitelist={"127.0.0.1"} --白名单 IP,如有多个则用英文逗号分隔如:{"127.0.0.1" : Z3 f# }0 V# b
,"127.0.0.2","127.0.0.3"……} 下同/ b: e! T! ~9 t/ T
ipBlocklist={"1.0.0.1"} --黑名单 IP+ V3 ]' R w" G4 X8 u L
CCDeny="off" --是否开启 CC 攻击拦截
1 q" k/ U$ W% r ( S9 W' G% A1 z9 N' U, R
CCrate="300/60" --CC 攻击拦截阈值,单位为秒"300/60" 代表 60 秒内如果同一个 IP 访问了 300 次则拉黑。 * b7 T* l' J- w- q2 l! Z
postMatch开关打开后,有可能出现文章发布等功能被拦截的情况
6 i& A: L1 s* L# @: r; s( U, i8 {; T; J% v
4 X! Z9 \% i( T* _0 F4 y
2 U/ I1 S% k; Q& H7 }
9 p. r! S+ |2 `, a% w: _ |