【转】揭秘零信任里的“隐身”黑科技

        一个网络有多少IP和端口向外暴露,就有多少可以被攻击的点。暴露面越小,网络越安全。

零信任里面有一些可以实现“零暴露面”的隐身技术,可以让企业免疫网络攻击。

        本文介绍其中三种。

一、隐身技术:SDP端口隐藏

        SDP技术是用来实现零信任理念的最好的技术框架之一。SDP技术可以把攻击面降低到最小,甚至完全不暴露端口,实现“零”攻击面。

        大家都知道,一个网站需要把端口映射到互联网上,才能被外部用户访问。

        SDP可以做到——让一个网站只对合法用户映射端口,不对非法用户映射端口。

        就像下图这样,只有合法用户能连接到业务系统。非法用户完全“看不到”被保护的业务系统和网络。坏人去尝试进行连接的话,会发现这个IP地址上什么网站都没有。但是同时好人却可以完全正常地使用。

        被保护的网络就像隐身了一样,坏人根本看不到,摸不着。包括下图中列举的各类网络攻击都无从发起。有了SDP就相当于对所有网络攻击都免疫了。

        这么神奇的效果是怎么实现的呢?介绍端口隐身的原理之前,我先科普一下啥是端口,黑客怎么攻击端口。

1、什么是端口

        如果一个服务器是一个大楼的话,端口就像大楼的各个出入口。不同的入口可以进入不同的店铺、不同的区域。对服务器来说,不同的端口对应了不同的服务程序。

        每个服务器程序都是通过“端口”跟外面的用户通信的。例如,我们平时用浏览器打开百度的时候,就是通过百度的443端口跟百度的服务器程序通信的。浏览器地址栏里真实的URL是www.baidu.com:443,你一般看不到443,是因为浏览器把端口隐藏了,没显示出来。不信你在url后面输入:443试试,打开的是同一个界面。

        访问https网站是通过服务器的443端口,访问http网站是通过服务器的80端口,建立SSH连接是通过22端口,发送邮件是通过25端口……

2、黑客怎么攻击端口

        黑客一般会先收集服务器都开了哪些端口,猜测服务器提供什么服务,然后分别制定相应的攻击计划。

        所以,端口是攻防的关键。各类网络攻击基本都是以“端口”为目标的。如果端口没有暴露出来的话,黑客就没有可攻击的目标。

        1)利用漏洞攻击

        黑客用端口扫描工具(例如Nmap)可以从端口的返回信息中了解到很多服务器的信息。例如,服务器的操作系统、中间件、通信协议等等。        

        坏人知道了目标服务器的信息,就可以利用相应的漏洞去攻击。互联网上有很多公开的漏洞库。只要在漏洞库里搜索,就能查到漏洞。

        操作系统、中间件等软件厂家会从漏洞库里查找自己的漏洞,并进行修复升级。但软件出新版了,用户不一定立马跟着升级。大部分用户用的都是带着漏洞的旧版本。

        对黑客来说,这些服务器和用户,都成了靶子。黑客可以随意攻击,让服务器瘫痪、或者窃取机密信息。

        2)DDoS攻击

        除了利用漏洞,黑客还有更简单粗暴的攻击方法。

        如果发现目标服务器某个端口是暴露的,直接利用大批的肉鸡傀儡机进行流量攻击,把服务器的资源占满,直接就能给服务器搞瘫痪。

        3)自动信息收集

        看到这,你可能会想,端口直接暴露在互联网上确实危险,但是哪有那么多人这么无聊,每天在网上扫描漏洞、肆意进攻啊。有的话也轮不到我吧。

        我告诉你,错了!每天有很多爬虫在大规模地自动扫描。

        就像百度会不断地爬全世界的所有网页一样,很多黑客组织会搞一套集群每天去扫全世界所有的服务器。下图就是某个国内的公开的服务器搜索引擎。去搜一个漏洞的名字,马上能把全世界所有有这个漏洞的服务器列出来。

        所以,你可能已经在别人的目标列表里了,只不过还没轮到,或者你还不知道而已。

3、一般的防御手段

        网络攻击很恐怖,那现在一般公司是怎么防御的呢?一般有两种手段。

        一种是允许所有人访问目标网站,但是访问时会进行各种安全过滤。发现恶意代码或者病毒木马,则立即进行阻断。

        这种方法依赖于识别恶意行为的规则库。如果一种新型的攻击刚刚被发明,破解方法还没被发明出来,那么很大可能这种攻击是防御不住的。这就是常说的零日攻击。

        而且,这种防御的思路有一个缺陷,就是只要目标网站是暴露出来的,它就是一个靶子!坏人可以随时去研究它,破解它。

        例如,WAF是专门防御针对web的攻击的设备,网上WAF的绕过教程有都很多。因为WAF是所有人都可以看到的,所有人都可以不断地去研究它,去测试有没有办法绕过它的防御。

        正是因为第一种方法有这种局限,所以很多重要的系统都是不暴露在公网上的。

        如果需要远程访问这种系统的话,企业一般选择通过VPN接入。

        VPN的特点是它可以减小暴露面。外部用户看不到VPN保护的业务系统的端口。

        但是VPN还是存在一个问题,就是VPN本身还是要暴露端口的。例如SSL VPN就要暴露443端口。有端口就有漏洞!例如下图就是我在漏洞库里搜到的各种VPN的漏洞。

        所以VPN也不是一个完美的办法。那么有没有办法一个端口都不暴露呢?有!方法就是——SDP。

4、SDP的隐身原理

        回到最开始的图。SDP设备通常会部署在网络的入口进行防御(下图中“火”左边的圆圈开关)。被保护的网络只有一个出入口。SDP就在这里把守。

1)SDP的组件

        SDP需要两个组件配合,才能实现隐身的效果。这两个组件分别是SDP客户端和SDP网关。

        (a)SDP客户端安装在用户电脑上。

        (b)SDP网关部署在网络入口。

2)默认关闭所有端口

        SDP网关的默认规则是——关闭所有端口,拒绝一切连接。网关防火墙规则只有一条,就是deny all。默认情况下,谁来他都不理。所有人都连不上它的端口。SDP网关就是这么“隐身”的。

3)端口敲门

        这样的话,坏人是连不上了,但是好人怎么连呢?好人要进行一套特殊的流程才能连。这套流程叫做“端口敲门”。

        打个比方,端口敲门的原理就像是,你要进入一个秘密基地,基地的大门平时是紧闭的。里面有个人守着,外面怎么敲门都不给开,除非你敲对了暗号,例如三长两短。敲对了暗号,就给开门了。

        SDP技术要求好人在连接端口之前,也要“敲门”。

        a)SDP客户端在跟SDP网关通信之前,会先发一个“敲门”用的数据包。包中带有用户身份和申请访问的端口。

        b)SDP网关收到敲门包之后进行验证,看看身份合不合法,看看申请的端口有没有授权。

        c)如果都合格了,那么SDP网关会在防火墙中添加一条规则——允许来自这个用户的IP的流量访问某某端口。这就相当于把SDP网关这扇门给“敲”开了。

        d)敲门完成之后,用户再去访问网关的端口就可以访问通了。网关会把用户的流量转发给相应的业务系统。

        注意,这个时候,坏人去访问“同一个端口”还是不能访问。因为网关只对好人的IP做了放行,坏人的IP是没有放行的。所以坏人还是扫不到端口,看不到,摸不着。

        而且目标端口,对好人也只是暂时开放,一旦好人停止操作超过一分钟,端口就自动关了。如果好人一直在操作,那么SDP客户端会定期去敲门,保持端口是开放的。

        你可能会发现,这里面有个问题——如果SDP网关默认所有的端口都是关闭的,那敲门包是怎么接收的呢?

        其实,SDP会留一个端口,处于半开放的状态,只接收,不响应。(例如,随便一个UDP端口)

        a)端口号是网关事先与客户端协商好的,例如60001

        b)客户端把敲门包发送到60001端口上

        c)60001端口接收数据包后不做任何响应

        d)坏人的扫描工具探测60001端口时,会认为这个端口啥反应都没有,肯定是关闭的。

以上就是SDP的端口隐身机制。

5、隐身的效果

        如果拿Nmap去扫描SDP网关的话,结果会发现所有端口都是关闭状态,如下图。但是用SDP客户端可以正常打开网站。

6、SDP和VPN的对比

        Gartner预言SDP会替代VPN技术,主要就是因为SDP的隐身能力。VPN至少还是要暴露一个端口的(例如ssl vpn的443端口)。为什么总是听到vpn爆出漏洞的新闻呢,就是因为vpn始终暴露端口,坏人可以随时去尝试攻击,去研究你有没有漏洞。

        所以从这点来说,SDP的安全性确实更高。

二、隐身技术:基于云的IP隐身

        SDP可以做到端口隐藏,但IP还是需要对外映射的。不然好人也访问不到了。

        有没有不用映射IP就能实现远程访问的技术呢?有!很多基于云的零信任产品会带有这种技术。

1、云隐身的原理

        这种技术的架构如图,包括三个部分:客户端、云端、连接器。

        (1)连接器先主动跟云端建立隧道

        (2)客户端的流量先发到云端,再沿隧道的回路,转发到连接器

        (3)最后连接器再把流量转发给内网服务器

        云端相当于SDP的网关。连接器起到连接内网和云端的作用。

        这种架构下,企业不用给连接器映射IP和端口。连接器能上网就行。企业内网只有向外的连接,没有向内的连接。这样,坏人就彻底进不来了。

        为什么连接器不需要对外映射IP和端口呢?

        因为连接器是主动向外建立隧道,连接器本身不对外提供服务。云端跟连接器通信,是沿着隧道的回路来进行通信的。

        如果想不明白的话,可以想想我们平时在家上网的场景。家里电脑是不对外映射IP和端口的,网站怎么把信息发给电脑呢?电脑主动向网站发起连接,网站是顺着连接的回路把网页发下来的。

2、云隐身的好处

        企业不用暴露IP和端口有很多好处。

        (1)首先就是不用备案了。

        (2)而且,各种DDoS攻击和漏洞扫描都不可能了。扫描工具里要填写目标IP。企业什么IP都不暴露的话,坏人别说扫端口了,IP都不知道怎么填。

        这样,企业网络就相当于彻底隐身了,耶!

3、云隐身的缺陷

        这种模式又省心又安全,看似完美。但其实是有个风险点的。风险点就是云端自身的安全。云端还是要对外映射IP的。

        这种模式本质上是把风险转嫁了,转嫁给云端了。

4、云+SDP的结合

        如果要保护云端的话,可以考虑把SDP融入进来。云端装一个SDP的网关。云还是暴露IP,但是不暴露端口。

        这样,总共两层防护,第一层是SDP隐藏端口,第二层是连接器不暴露IP。整体的安全性就比较完美了。

三、隐身技术:无端模式

        SDP+连接器的方式在安全性上是很好的,但是在便捷性上有一个缺点——需要用户安装一个客户端。因为敲门是一个特殊的流程,有客户端才能执行。电脑上默认浏览器没法执行。

        有端的话就难推广。一般终端的产品是比较难运维的,用户很排斥往自己的电脑上装各种乱七八糟的东西。

        能不能没有端?能。

        我看到过一个国外网友给自己公司DIY了一套无端的隐身方案。

1、无端模式的架构

(1)用户先登录SSO(单点登录)系统

(2)SSO通知防火墙添加一条规则——允许来自用户IP的流量(规则标签里加上创建时间)

(3)后台有一个回收程序,定期去检查所有防火墙规则,对比创建时间,发现已经过了10分钟,就立即清除该规则。

2、无端模式的优缺点

        这种方案也能实现隐身的效果。用户登录SSO之前,防火墙是关闭的。业务系统在互联网完全扫不到。

        这种方案相当于把敲门的逻辑放到SSO系统里去执行了。好处是用户不用安装客户端,但是代价是企业的SSO系统是暴露在外的。

        所以,从这个角度看,体验上来了,但是安全性下去了。

总结

        上面介绍了三种隐身技术,各有利弊,各有适合的场景。三种技术还可以两两组合,产生更佳效果。

        隐身技术企业带来的价值也非常大。有隐身之后可以避免掉绝大多数的网络攻击、渗透测试。尤其是比较大的公司,内部几百个系统,一个一个搞安全建设太累了,不如在统一入口上直接隐身,简单有效。

原文地址:揭秘零信任里的“隐身”黑科技 - 安全内参 | 决策者的网络安全知识库 (secrss.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值