不管建网站还是做小程序,都离不开云服务器或者VPS,而现在的服务器最常用的就是Linux系统,由于Linux系统的操作都是用命令进行维护和管理,对于大多数人来说门槛稍微有点高,所以可视化的服务器管理面板也就应运而生了,其中比较受国人青睐的就是宝塔管理面板,本站在以前的文章中也曾经介绍过的。不过今天的文章不是介绍管理面板,而是要给大家分享一下如何开启宝塔面板自带免费防火墙 提高Linux服务器安全性。
宝塔面板在早期的版本中自带了 Nginx 防火墙功能,不过后来有了收费版的防火墙插件,就把这个免费的防火墙给隐藏了。但是很多人可能觉得收费的防火墙有点贵,所以还是想用免费防火墙,其实作为Linux来说,行业内也有几款口碑不错的免费防火墙,但是安装和使用都需要一点技术基础,如果我们能把宝塔面板的免费防火墙重新开启,对于一般的服务器安全防护也足够了。
开启宝塔面板免费防火墙:
1、打开宝塔面板,软件商店-Nginx-设置-配置修改;
2、找到大约在第17行的 #include luawaf.conf;,去掉前面的 # 符号(“#”代表注释),保存并重启Nginx。
3、成功开启了自带的防火墙!可以试着访问http://你的网址/?id=../etc/passwd,页面会弹出拦截提示,如下图:
设置宝塔自带防火墙的防护规则
其实这个免费的宝塔防火墙就是 ngx_lua_waf 防火墙。(如果你的服务器用的不是宝塔面板也可以自己动手安装,详情请参阅:https://github.com/loveshell/ngx_lua_waf)
言归正传,我们还是回到宝塔面板,找到面板的文件,进入 /www/server/nginx/waf 目录,里面的 config.lua 文件就是防火墙的配置文件。
然后,我们双击编辑:
下面是具体说明,大家可以对照着进行设置:
RulePath = "/www/server/panel/vhost/wafconf/" --waf 是防火墙详细规则存放目录(一般无需修改)
attacklog = "on" --是否开启攻击日志记录 (on 代表开启,off 代表关闭)
logdir = "/www/wwwlogs/waf/" --攻击日志文件存放目录(一般无需修改)
UrlDeny="on" --是否开启恶意 url 拦截
Redirect="on" --拦截后是否重定向
CookieMatch="off" --是否开启恶意 Cookie 拦截
postMatch="off" --是否开启 POST 攻击拦截
whiteModule="on" --是否开启 url 白名单
black_fileExt={"php","jsp"} --文件后缀名上传黑名单,如有多个则用英文逗号分隔。如:{"后缀名1","后缀名2"}
ipWhitelist={"127.0.0.1"} --白名单 IP,如有多个则用英文逗号分隔。如:{"127.0.0.1","127.0.0.2","127.0.0.3"……} 下同
ipBlocklist={"1.0.0.1"} --黑名单 IP
CCDeny="off" --是否开启 CC 攻击拦截
CCrate="300/60" --CC 攻击拦截阈值,单位为秒。"300/60" 代表 60 秒内如果同一个 IP 访问了 300 次则拉黑
记得:将自己本地IP加到白名单里,不然会无法上传图片和修改CSS等;如:ipWhitelist={"127.0.0.1","127.0.0.2"}
以上的功能根据自己的需求设置是否开启即可,这样我们的云服务器或者VPS主机就有免费防火墙了,可以大大提高网站或者小程序的安全性。