家庭网络态势感知,让你的NAS访问更加安全。
导读
简介该文并不适合小白!该文并不适合小白!该文并不适合小白!该文适合有一台小主机,性能还可以,有ipv4/6公网地址,并设置了ddns。相信大家跟我一样有all in one小主机,家里也部署了几套应用(群晖NAS,emby等),害怕哪天被黑客入侵了,丢失了数据,损失了时间。通过市面上的产品摸索,使用长亭WAF和微步的蜜罐可以做到被入侵知道入侵痕迹,可以及时补救,而waf也可以有效的防止web攻击(爆破,爬虫,poc攻击等),因为是免费的产品,肯定就有它的缺陷,它们的缺陷我会在后面说明,下面进入部署阶段。网络拓扑这两套系统我都推荐使用docker部署,并在同一台机器的docker部署,原因我也会在后面说明。下面我将贴出我的网络拓扑,如果有和我的网络拓扑相似或者一致,可以直接抄作业,如果不一样,可以提出来大家互相学习交流,本文需要一定的网络运维知识,有些前置给作我并没有写出来了,所以并不太适合小白,所以大家勿喷。我的all in one的配置是ESXI+OpenWrt+Windows10+Linux,底层使用的ESXI系统作为虚拟机,大家也可以使用PVE,这个是不影响的,也不是本次的重点,重点是Linux,这台Linux安装docker部署我们的两套系统,长亭WAF和微步的蜜罐。部署长亭WAFWAF 是 Web Application Firewall 的缩写,也被称为 Web 应用防火墙。区别于传统防火墙,WAF 工作在应用层,对基于 HTTP/HTTPS 协议的 Web 系统有着更好的防护效果,使其免于受到黑客的攻击。也就是说如果我们的部署了web服务就可以使用WAF来拦截非法请求,保护我们的系统,WAF官网地址是。准备阶段Linux镜像,这里使用的是Debian系统爱折腾的你和你的小手安装Linux系统步骤省略,如有不会的可以自行百度即可,配置这块最好是给2C4G,40G安装好Linux之后,安装docker(自行百度),开始我们本次部署WAF阶段。WAF安装安装命令,需使用root权限安装,这里我的Linux的ip为10.10.10.164,这台机器只是用户演示怎么安装流程,后续会用我已经使用的机器去配置如何设置WAF。bash c "$(curl fsSLk https://wafce.chaitin.cn/release/latest/setup.sh)"当看到这个的时候雷池就部署好了访问https://10.10.10.164:9443端口进行登录访问登录后的页面是这样的,后面我就用我现在使用的雷池,用于配置防护WAF站点防护在配置站点防护前,请大家阅读长亭waf的配置手册,以下是我的配置流程,如果你们的设置和我一样,可以进行抄作业,如果不一样,请大家结合配置手册,进行配置。在没有部署waf之前我们想要通过公网访问我们内网的应用需要做端口映送(转发),其网络拓扑是这样的需要在路由器上配置10.10.10.198的5000端口,进行端口映送(转发),才能访问到我们内网的群晖系统。注:每个家用路由器配置页面都不一样,请根据自己的路由器型号自行配置,其原理都是一致的。现在我们给群晖配置WAF,其工作流程就是先把流量引到WAF上检测,然后WAF再用Nginx将流量转发到群晖上。其网络拓扑如下。开始配置1.了解工作流程后我们来配置WAF ,首先上传我们的SSLzheng shu,zheng shu获取,自行百度。不上传zheng shu也可以正常使用,zheng shu上传不是必须。防护站点zheng shu管理添加zheng shu2.添加我们需要防护的站点,比如添加我们的群晖NAS。防护站点站点管理添加站点上游服务器填作品实群晖NAS的访问地址,格式为http://ip+端口或者https://ip+端口。域名填写你的域名即可,这里的端口我们需要记录下来,因为群晖默认端口是5000,这里我们也使用5000如果勾选SSL的话,就会出现中间下拉框选中zheng shu,选择你上传后的zheng shu即可。这样我们就部署好了一个web应用的waf防护站点。接下来我们还需要设置端口映送(转发)端口转发更换设置端口转发,在上面我们说了,没有配置waf时,我们只需要直接填写NAS的地址+ip就可以直接访问,现在我们部署了waf,需要更改配置。只需要更改内网地址为WAF的地址即可。其中内部端口要和WAF中配置的端口要一致,因为WAF上我们配置时使用的是5000端口,所以这里我们也是要设置5000端口,如果上面设置的是6000端口,这里内部端口就要设置为6000。外部端口可以随便设置,这个端口就是你域名+这个端口,就可以访问到群晖NAS。注:每个家用路由器配置页面都不一样,请根据自己的路由器型号自行配置,其原理都是一致的。WAF防护测试现在我们已经配置好了WAF,我们就去试试有没有效果,在设置之前,我们需要更改一些WAF的配置,推荐配置如下,如果不配置的话,WAF会经常拦截我们正常的应用,导致无法使用。防护配置频率设置访问到这个页面就说明WAF已经部署成功,Ps.在部署的时候勾选了SSLzheng shu,这里我们也是使用https访问的,因为WAF的作用类似Nginx,我们把zheng shu放在Nginx上,流量经过Nginx就会进行SSLzheng shu校验,这样会让我们的NAS更加安全。查看WAF面板,可以看到流量请求。我们测试WAF的拦截效果,我们使用https://xxxxxxx:5000/?id=1 and 1=1 #这个语句进行测试,看到下面这个页面说明WAF进行了拦截。在WAF面板上可以看到攻击状态,因为我在内网进行测试,如果所以攻击ip显示的是我网关的地址。这样我们的WAF部署就结束了,可以开心的玩耍了,再也不用担心应用bei ren gan了还不知道了。WAF总结这个WAF这么强,日志记录的那么详细为什么还要部署微步的蜜罐系统呢?就是因为这个免费的WAF开放的功能仅限于防护功能(waf只能防护HTTP和HTTPS应用),详细的日志功能并没有向用户开放,如果要查看详细信息,需要升级到付费版本,基于能免费绝不付费的原则(有能力的可以升级到付费版本),接下来这个系统将曲线救国似弥补这个功能。为什么部署蜜罐HFish是一款社区型免费蜜罐,侧重企业安全场景,从内网失陷检测、外网威胁感知、威胁情报生产三个场景出发,为用户提供可独立给作且实用的功能,通过安全、敏捷、可靠的中低交互蜜罐增加用户在失陷感知和威胁情报领域的能力。前面我们提到了WAF的日志功能并没有那么强大,比如我只是进行了低频扫描,WAF可能不会进行拦截,也不会进行日志记录,但是低频扫描是黑客的常用手段,这样我们该怎么防护呢。这就可以使用蜜罐进行探测收集扫描的ip。这就是为什么我前面说推荐使用一台docker部署WAF和蜜罐,因为我们WAF的5000端口运行的是群晖NAS系统,如果有人进行5000端口扫描,同个docker部署的蜜罐就会收到信息,并将记录下来。如果用其他机器部署蜜罐则收集不到信息。部署蜜罐在安装之前我们需要配置一下docker跟着下面命令给作即可sudo mkdir p /etc/dockersudo
tee /etc/docker/daemon.json < sudo systemctl daemonreload sudo systemctl restart docker使用docker部署的命令如下docker run itd name hfish v /usr/share/hfish:/usr/share/hfish network host privileged=true hreatbook/hfishserver:latest完成部署后访问https://[server]:4433/web/初始用户名:admin 初始密码:HFish2021配置蜜罐登录系统会让我们选择部署模式,我们这边可以使用sqlite直接部署,后续可以迁移到mysql看到这样的页面就表示部署成功现在我是用我的正式环境的蜜罐给你们看下效果狂拽酷炫D炸天的页面(并没什么用)在扫描感知页面我们可以看到哪些ip访问了我们的NAS,将筛选条件设置一下,被扫描端口=5000,扫描持续时间>1可以看到有很多境外的ip访问我们的NAS,可是我们的WAF并没有告警联合使用当我们查看蜜罐的时候,发现某个ip进行长时间扫描,并判断不是已知行为,这样我们可以在WAF上进行ip拦截,禁止访问我们WAF配置的站点,起到主动防护效果。防护配置添加规则这里添加我们手机的ip进行测试,然后用手机访问NAS地址并发现直接拦截了。 在蜜罐中也可以看到信息总结WAF和蜜罐还有很多其他玩法,由于篇幅问题,需要大家去探索了,总之这么部署之后,可以对自己的内网有一个大概的了解,不至于到时候bei ren gan了,都没办法溯源。最后祝大家发大财,数据不爆炸,生活美满幸福。
