Ingress、Egress与蜜罐

💡
本文的重点真的是讲解ingress和egress在网络安全上的作用。真的和一些奇怪的事情没有任何关系。请勿恶意联想。

最近发现身边一些选手不太清楚蜜罐是什么,也不太清楚为什么要分ingress和egress。所以,我觉得还是可以水一篇。


名词定义

毕竟我菜,我学艺不精,为防止误解,这里先给出我对这三个词的定义。

Ingress和Egress

也就是整个系统的入口与出口。也就是说,整个系统与系统外部的一切交流都是通过这个出入口。

进一步细化,Ingress和Egress在本文中具体指:位于系统边界的甚至可以被视作系统外部的,具有独立的外部IP的,不带有任何业务意义的,一台或若干台机器。

蜜罐

也就是网络蜜罐

网络蜜罐 - MBA智库百科
蜜罐(Honeypot)是一种在互联网上运行的计算机系统。它主要使专门为吸引并诱骗那些试罔非法闯入他人计算机系统的人而设计的,蜜罐系统是一个包含漏洞的骗系统。它通过模拟一个或多个易受攻击的主机,给攻击者提供一个容易攻击的目标。蜜罐并没有向外界提供真正有价值的服务,因此所有对蜜罐尝试邯被视为可疑的。蜜罐的另一个用途是拖延攻击者对真正目标的攻击,让攻击者布蜜罐上浪费时间。简单点说:蜜罐就是诱捕攻击者的一个陷阱。攻击者入侵后,用户就可以知道他是如何得逞的,随时了解对网络信息发出的最新攻击和漏洞,并可针对这些攻击和漏洞予以阻击。

假想的场景

⚠️
请注意,我想到且只想到了这一种需求。因为这一种需求,就确实是我遇到的唯一需求。除了这个场景外,我真的没有遇到任何类似的场景。请勿恶意联想

纯内网的工作环境

在这个场景下,生产环境的服务全部部署在内网,员工只能通过内网修改生产环境。同时,生产环境不提供虚拟网络或者代理供员工访问生产环境。

对公网暴露服务是通过一台堡垒机转发流量到内网。

内网蜜罐

内网设有蜜罐,一旦被访问,则会试图将访问蜜罐的前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秒,他的连接就被断开了。

于是,整个系统就成功的靠着蜜罐完成了反入侵。

反入侵的示意图

以下两图,禁止恶意联想。

1. 黑客访问蜜罐
2. 蜜罐更新规则,禁止黑客访问

道高一尺魔高一丈

这个黑客不仅仅是一个专搞破坏的黑客,其自身也是一个非常好的网络架构师。他是懂ingress、egress的。另外,虽然这个黑客的入侵工具是用别的人,但是监控还是自己的。

流量控制

他通过监控工具,分析了上次的失败日志,发现了访问蜜罐的流量。

于是他直接从工具层面上做了一次筛选。使得:只有自己认为该透过堡垒机发送出去的,才发送。否则就尝试直接访问(不通过堡垒机)。

通过流量控制,这位黑客成功的避免了绝大多数的蜜罐陷阱。

流量控制的限制

但是流量分流依然有很多限制。这里还是为防守方出出主意。
毕竟对流量分流已经是一个非常基本的操作,应该人人都会这么做。(如果你是一名“黑客”,而且竟然没有分流,走的全局。那我建议经快提升吧)

对付分流的方式很多,但说到底就是伪装,而且伪装的手段和入侵的手段其实都差不多:

  1. 默认指向蜜罐。
    也就是说,除非入侵者明确知道内部服务的详细信息,否则对入侵者来说,全是机关。(请勿将此条对号入座到某些假新闻)
  2. 伪装成入侵者感兴趣的目标。
    比如伪装成……你以为你看的是……其实也确实有……但是你已经暴露了
  3. 流量加密,让入侵者无法分辨哪些是他想要的,哪些是他不想要的。

因此,企业是可以通过加强安全措施来阻断这种入侵的。

活用Ingress和Egress

还有一个方式是,把堡垒机当作Ingress,选一台内网的服务器当作Egress。所有的入侵都在Egress上执行。

Egress的那台服务器也会触发蜜罐。但是蜜罐会怎么做呢?蜜罐会尝试阻断Ingress和Egress之间的连接。
但问题在于,Ingress和Egress之间往往并没有firewall。于是连接并不会被阻断。

1. 通过egress访问内网的各种服务
2. 蜜罐发现两台服务器之间的连接无法阻断

Ingress和Egress的限制

解决这种问题很简单:只要企业有本事在内网的两台服务器之间加一道防火墙即可

对于连内网多加一道防火墙都做不到的企业,我只能说抱歉了。


简单结论

企业只要在安全问题上的投入到位,黑客就不会有可乘之机。
反过来,如果企业没有办法投入到位,也还是希望此文能震慑各种黑客,让他们意识到企业不是不能防你,而是暂时还没有防你。
这样长此以往,企业虽然不做防护,但是黑客的门槛就会越来越高。

另外,也是希望能启发各位网络架构师。平时组网的时候,尽量保留Ingress和Egress这两个概念。