最近发现身边一些选手不太清楚蜜罐是什么,也不太清楚为什么要分ingress和egress。所以,我觉得还是可以水一篇。
名词定义
毕竟我菜,我学艺不精,为防止误解,这里先给出我对这三个词的定义。
Ingress和Egress
也就是整个系统的入口与出口。也就是说,整个系统与系统外部的一切交流都是通过这个出入口。
进一步细化,Ingress和Egress在本文中具体指:位于系统边界的甚至可以被视作系统外部的,具有独立的外部IP的,不带有任何业务意义的,一台或若干台机器。
蜜罐
也就是网络蜜罐
假想的场景
纯内网的工作环境
在这个场景下,生产环境的服务全部部署在内网,员工只能通过内网修改生产环境。同时,生产环境不提供虚拟网络或者代理供员工访问生产环境。
对公网暴露服务是通过一台堡垒机转发流量到内网。
内网蜜罐
内网设有蜜罐,一旦被访问,则会试图将访问蜜罐的前2跳IP放入黑名单。
比如服务A的IP是1.1.1.1,服务B的IP是2.2.2.2,服务C的IP是3.3.3.3,服务A调用服务B后,服务B调用服务C,最终服务C由于某些原因访问了蜜罐。则蜜罐会顺着调用链尝试阻断服务B访问其他服务,也就是将2.2.2.2加入黑名单。
别给我说合理不合理,就是这个场景了。商业项目,有点离谱的技术操作怎么了?
年轻的黑客
我遇到的这个黑客非常年轻,工具是另外一个红客给他的,而不是自己的。于是有个问题就是这个工具其实本身就已经被黑了。
所以这个黑客在渗透我们内网的同时,他自己是不知道自己的工具其实会主动尝试触发蜜罐。
场景示意图
图中:
绿色表示:正常用户和正常流量
黑色表示:入侵者和入侵流量
蓝色表示:内部服务、人员和流量
红色表示:蜜罐
紫色表示:堡垒机
反入侵的效果
黑客的困境
显然,根据上面的场景。黑客在入侵了堡垒机之后,由于其工具的背叛,工具主动的触发了蜜罐。
进一步蜜罐自然就找到堡垒机的前一条IP,于是黑客用于访问堡垒机的IP暴露,并被加入黑名单。
于是黑客很快发现,他黑入的堡垒机后10秒,他的连接就被断开了。
于是,整个系统就成功的靠着蜜罐完成了反入侵。
反入侵的示意图
以下两图,禁止恶意联想。
道高一尺魔高一丈
这个黑客不仅仅是一个专搞破坏的黑客,其自身也是一个非常好的网络架构师。他是懂ingress、egress的。另外,虽然这个黑客的入侵工具是用别的人,但是监控还是自己的。
流量控制
他通过监控工具,分析了上次的失败日志,发现了访问蜜罐的流量。
于是他直接从工具层面上做了一次筛选。使得:只有自己认为该透过堡垒机发送出去的,才发送。否则就尝试直接访问(不通过堡垒机)。
通过流量控制,这位黑客成功的避免了绝大多数的蜜罐陷阱。
流量控制的限制
但是流量分流依然有很多限制。这里还是为防守方出出主意。
毕竟对流量分流已经是一个非常基本的操作,应该人人都会这么做。(如果你是一名“黑客”,而且竟然没有分流,走的全局。那我建议经快提升吧)
对付分流的方式很多,但说到底就是伪装,而且伪装的手段和入侵的手段其实都差不多:
- 默认指向蜜罐。
也就是说,除非入侵者明确知道内部服务的详细信息,否则对入侵者来说,全是机关。(请勿将此条对号入座到某些假新闻) - 伪装成入侵者感兴趣的目标。
比如伪装成……你以为你看的是……其实也确实有……但是你已经暴露了 - 流量加密,让入侵者无法分辨哪些是他想要的,哪些是他不想要的。
因此,企业是可以通过加强安全措施来阻断这种入侵的。
活用Ingress和Egress
还有一个方式是,把堡垒机当作Ingress,选一台内网的服务器当作Egress。所有的入侵都在Egress上执行。
Egress的那台服务器也会触发蜜罐。但是蜜罐会怎么做呢?蜜罐会尝试阻断Ingress和Egress之间的连接。
但问题在于,Ingress和Egress之间往往并没有firewall。于是连接并不会被阻断。
Ingress和Egress的限制
解决这种问题很简单:只要企业有本事在内网的两台服务器之间加一道防火墙即可。
对于连内网多加一道防火墙都做不到的企业,我只能说抱歉了。
简单结论
企业只要在安全问题上的投入到位,黑客就不会有可乘之机。
反过来,如果企业没有办法投入到位,也还是希望此文能震慑各种黑客,让他们意识到企业不是不能防你,而是暂时还没有防你。
这样长此以往,企业虽然不做防护,但是黑客的门槛就会越来越高。
另外,也是希望能启发各位网络架构师。平时组网的时候,尽量保留Ingress和Egress这两个概念。