群晖一键部署雷池WAF防火墙,打造企业级网络安全防线!

2024-04-17 15:41:10 29点赞 261收藏 117评论

引言

有nas的相信对公网都不模式,在现在基础上传带宽能有100兆的时代,有公网代表着家里有一个小服务器,像百度网盘,优酷这种在线服务都能部署为私有化服务。但现在运营商几乎不可能提供公网ip,要么自己买个云服务器做内网穿透或者找免费的内网穿透,或者就是使用ddns把每次更改的ip解析到域名。但把服务放在公网上,最大的缺点就是不够安全,谁也不知道自己部署的服务安全性怎么样,会不会随便一个sql注入,一个java注入就给黑客入侵了。因此在这里教大家部署一个性能强占用资源小的WAF——雷池WAF。

据官方文档介绍最小配置1c1g就足够了,实测下来占用确实不多!

部署过程

我以群晖举例

1.先创建文件夹

创建文件夹创建文件夹

右键属性后复制位置的地址,一会有用!!!

查看目录地址查看目录地址

2.大家注意这一步!!!使用群晖的千万别使用官方提供的一键脚本,bug很多,我在这里修复了一下。

用finalshell或者别的ssh工具进入群晖系统,输入sudo -i 进入root权限后输入

bash -c "$(curl -fsSLk https://cdn.jsdelivr.net/gh/wintsa123/SafeLine/setup.sh)"群晖一键部署雷池WAF防火墙,打造企业级网络安全防线!

在这里填入文件夹属性里面的链接后回车即可,然后就是等候就好了,默认使用的是华为云的docker镜像,所有很快就好了。

3.打开雷池面板

地址栏输入群晖ip+9443端口进行访问,账号密码在脚本结束的时候是有提供的,没有也不要急,输入忘记密码提示的这个命令可以重置admin用户。

登录登录

4.登记站点

到了最后一步了,大家先把用群晖或者群晖的上流的软路由之类的把端口全关闭,或者用群晖的防火墙关闭端口,只留一个端口,外网通过访问这个端口进入再通过雷池WAF监听这个端口,根据域名判断进行反向代理即可。另外说一句,对于家庭网络一般都是没有开放80端口的,所以这里设置监听设置80以外的端口不要重复的即可(如果重复他会自动提示的,不需要自己慢慢查)。

如果是公司这种有公网ip的群晖,是需要先进入root权限修改系统原生的nginx监听端口。

设置反代设置反代

设置完后尝试多访问几次网站,网站访问成功后,查看雷池WAF的请求次数有没有增长,如果有变化就是部署成功了。

再来科普一下雷池WAF的原理,雷池WAF就是基于nginx开发的,有这nginx一样的功能, 在客户端访问网页的时候,作为一个中转反代的时候进行了语义化的判断,自动检测类似SQL注入等等的请求。

原理原理

这里测试一下简单的sql注入会发生什么,可以看到直接被ban了

群晖一键部署雷池WAF防火墙,打造企业级网络安全防线!

5.关于资源占用

雷池WAF一共部署了8个docker,有数据库,后端服务,前端服务,nginx服务,网桥服务...

我是直接部署在公司电脑,目前日访问是4w请求,cpu占用平时不超过5%,内存一共占用1.4g。

我个人觉得这个占用是可以接受的,毕竟我的群晖是自组的,内存我只分配了9g也完全够用。

6.额外的功能

防止高频访问,人机验证,也就是防爬虫用的,有一些照片的服务或者自建图床不想被第三方调用的就可以通过这个进行限制了~

群晖一键部署雷池WAF防火墙,打造企业级网络安全防线!

以上便是本期的全部内容了,如果你觉得还算有趣或者对你有所帮助,不妨点赞收藏,最后也希望能得到你的关注,哥们下期见!

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
117评论

  • 精彩
  • 最新
  • 置顶 看完了还是有点摸不着头脑。所以这个东西是类似防火墙?那么它的这些功能,nas自带的几款安全软件都无法实现吗?

    校验提示文案

    提交
    这里解释一下,这个和nas自带的安全防护是两个概念。nas自带的只会针对自己的服务,而你布置的其他服务nas是不会防护的,而且nas的防护原理和这个不同。
    这里解释一下,任何流量进去你服务都要走端口,而雷池就相当于在门口加了个保安,保安会对所有进去的请求做语义化的检查。比如说sql注入等等渗透行为都需要发起请求加渗透的语句。而雷池就会检查语句是否有风险,有风险的请求会进行拦截,并且上报该ip

    校验提示文案

    提交
    有点专业,但大概了解了,多谢科普。

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 置顶 下个文章发布群晖在waf上的详细设置 [吐舌]

    校验提示文案

    提交
    软件部署是不是只能用代理方式接入呀?

    校验提示文案

    提交
    听不懂你的意思。。。这个本来就是基于nginx开发的。

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 我没有这样弄,我是弄的官方离线安装方式,
    手动新建文件夹,
    cat >> .env 里面的内容一项修改:
    SUBNET_PREFIX= 169.254.222
    因为这个 ip 的原因,我弄了很久才弄明白, [倒地]

    这几天弄雷池waf,折腾了debian,光出错。又弄ubuntu server,这个也容易出错:paython 3,重装ubuntu server 。

    最后还是回到只弄群晖,多个系统多个负担,CPU遭不住啊。 [吐血]

    校验提示文案

    提交
    看着你这个,你的群晖应该不是7的版本吧?

    校验提示文案

    提交
    群晖7.2 updata5

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • WAF是不是只防护web应用阿?跟Linux防火墙有什么区别吗

    校验提示文案

    提交
    linux防火墙只是开关端口,waf是针对通过端口的流量进行排查

    校验提示文案

    提交
    收起所有回复
  • 你好,请问一下,我用coplar做内网穿透,穿透了两个端口,怎么部署雷池啊?

    校验提示文案

    提交
  • 大佬大佬。。。我卡在如下地方了,能否给指点一二。

    Waiting for safeline-pg to be healthy
    Container safeline-pg is healthy
    Waiting for safeline-mgt to be healthy
    Container safeline-mgt is healthy
    panic: failed to connect to `host=safeline-pg user=safeline-ce database=safeline-ce`: dial error (dial tcp 172.22.222.2:5432: connect: connection refused)

    goroutine 1 [running]:
    main.main()
    /work/cmd/cli/main.go:43 +0xf93

    校验提示文案

    提交
    看着像pg的问题,可以去看看pg的配置文件有没有开放访问权限

    校验提示文案

    提交
    收起所有回复
  • 我看了一下docker里面的safeline-pg,日志显示:
    postgres: could not access the server configuration file "/var/lib/postgresql/data/postgresql.conf": No such file or directory

    校验提示文案

    提交
    提前没这个文件。。。。要么你去这个目录下创建一个这个文件就行。不过你真的是dsm吗,为啥我们都正常。。。

    校验提示文案

    提交
    收起所有回复
  • Error response from daemon: driver failed programming external connectivity on endpoint safeline-mgt (956ef44fa795837837a57947fd4dd5c7d1b22ba19feac5d60da8d2c850872096): Bind for 0.0.0.0:9443 failed: port is already allocated
    请老大指教,谢谢

    校验提示文案

    提交
    检查9443端口,端口被占用了

    校验提示文案

    提交
    收起所有回复
  • 终于有人出群晖教程了 [观察] 之前试着用官方脚本部署,结果一直没弄成 [哭泣]

    校验提示文案

    提交
    用了我的脚本就要关注点赞哦 [龇牙]

    校验提示文案

    提交
    收起所有回复
  • 可以,我是在群晖上起 vm 来部署的 [邪恶] ,我看看把雷池丢群晖去,这样感觉会好很多

    校验提示文案

    提交
    没试过群晖上加vm,性能损耗怎么样。我是pve装的群晖

    校验提示文案

    提交
    我看损耗不大,CPU没什么波动。你PVE装群辉的话,干嘛不PVE上起VM,然后再装雷池呀,毕竟不把pve和群辉映射出去,只映射雷池的VM出去还是安全一点的

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 亲们,个人认为防火墙应该部署在路由器前吧,可是NAS部署在路由后呀

    校验提示文案

    提交
    部署在哪都行,得看你入口在哪。比如我的环境群晖分配了独立的ipv6,而不是nat获取的ipv6。然后我的ddns是在群晖上做的,而非路由,域名指向的就是群晖。

    校验提示文案

    提交
    收起所有回复
  • 社区版吗?

    校验提示文案

    提交
    社区版。专业版得加钱。

    校验提示文案

    提交
    收起所有回复
  • 脚本跑不通,要把safeline文件夹里面的compose.yaml改成docker-compose.yaml

    校验提示文案

    提交
    ?你确定是按我脚本跑的吗,我两台群晖7.2都是可以直接跑通的

    校验提示文案

    提交
    我是群晖6.2 可能docker版本原因

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 大佬,我按照你步骤部署完了,但是发现waf的nginx功能都正常了(通过监听的端口能正常访问到后端的页面了),但是貌似waf的功能都不正常(不会记录访问数量,不会阻断攻击),大佬有遇到么

    校验提示文案

    提交
    通过域名和访问的监听端口能正常访问吗。不会记录的话应该是不正常的。

    校验提示文案

    提交
    去检查下docker pg文件夹的下的hba.config的文件,确定下数据库的这个配置文件正常?

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 试着部署了一下,群晖7.2,有个mario的容器一直重启,后台一直报错,而且获取不到密码,用指令重新获取了也不行 [喜极而泣] [喜极而泣]

    校验提示文案

    提交
    能给我看看报错日记吗。我昨天才重装过黑裙,用的同一个脚本一件安装了啊

    校验提示文案

    提交
    我是群晖7.2.1,你用的是我文章里面的脚本吗

    校验提示文案

    提交
    还有11条回复
    收起所有回复
  • 大佬这个有没有compose 安装方式啊,这样一下装了好多容器看起来好乱,想搞成一个项目管理

    校验提示文案

    提交
    运行一下更新教程,新版6.x的版本,已经合并成一个容器了

    校验提示文案

    提交
    7.x的群晖能吗

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 咨询一下作者,斐讯N1上刷了istoreos以后,跑了几个docker,有没有好的解决方案?fscan扫了一下,好几个端口都对互联网打开,感觉不放心

    校验提示文案

    提交
    emmm在防火墙关一下就行

    校验提示文案

    提交
    如果关了,那就没办法远程了啊。

    校验提示文案

    提交
    还有11条回复
    收起所有回复
  • 请问下,我是群晖7.0.1,跑到这步报错,应该咋整 [惊喜]

    校验提示文案

    提交
    docker版本不同,我这个教程7.2才支持这个 [傻笑]
    你看看评论区,有些大佬已经可以自己做到兼容6.x了,你用6.x的做法就可以装

    校验提示文案

    提交
    dsm6.x以及7.0.1的脚本跑不通,要把safeline文件夹里面的compose.yaml改成docker-compose.yaml

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 老哥方便吗?我这边 chaos 和 tengine 一直启动不了。方便交流一下吗

    校验提示文案

    提交
    log丢上来,看看

    校验提示文案

    提交
    问题解决了,我在目录下新建同名文件夹就可以了。现在遇到新的问题,配置好站点,但是没有访问数据。(上游正常)

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 雷池 SafeLine 6.6版本 群辉重启了启动不了

    校验提示文案

    提交
    有没有日记 [尴尬] 我自己还没更新6.6

    校验提示文案

    提交
    2024/08/18 02:00:10 stderr 2024-08-18 02:00:10.728 CST [1] LOG: database system is shut down
    2024/08/18 02:00:10 stderr 2024-08-18 02:00:10.725 CST [1] FATAL: could not load pg_hba.conf

    校验提示文案

    提交
    还有2条回复
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
261
扫一下,分享更方便,购买更轻松