SDP中的SPA

举报
黄生 发表于 2022/07/03 19:15:46 2022/07/03
【摘要】 SPA是什么?水疗?按摩?不是的。其实游泳也是在做SPA,游泳的过程中水波浪自然的会对全身做按摩,不过人们更喜欢躺着享受别人来给自己按摩,因为,舒服不如躺着。对于做IT的来说,SPA第一种可能是单页WEB应用 Single Page ApplicationSPA的理念十分简单:任何一个web应用的HTML、JavaScript和css(如果有的话)只会被发送一次。一旦浏览器获得了HTML,之...

SPA是什么?水疗?按摩?不是的。其实游泳也是在做SPA,游泳的过程中水波浪自然的会对全身做按摩,不过人们更喜欢躺着享受别人来给自己按摩,因为,舒服不如躺着。
对于做IT的来说,SPA第一种可能是
单页WEB应用 Single Page Application


SPA的理念十分简单:任何一个web应用的HTML、JavaScript和css(如果有的话)只会被发送一次。一旦浏览器获得了HTML,之后对DOM所有的修改都由Javascript来完成,让用户感觉就像导航到了另一个页面。
比方说,当你从主页导航到度假列表页的时候,服务器就不需要再发送不同的HTML了。当然,服务器还会继续参与:它还要负责提供更新的数据,而且在多用户的应用中,它也是“单一的事实来源”。但在SPA的架构中,应用要如何呈现给用户不再是服务器端需要关心的,而是JavaScript和框架要关注的内容。正是框架造就了应用多页面的奇妙错觉。
通常认为,Angu1ar是第一个SPA框架。后来SPA阵营又增加了很多成员,其中最著名是React、Vue和Ember。

第二种可能是
软件定义边界(SDP Software Defined Perimeter)中的单包认证(SPA Single Package Authentication)


软件定义边界SDP是一个网络安全解决方案,也被叫做 零信任网络访问。发展历史就不说了。
为什么要叫零信任?乍一听这个词很不友好。
其实,网络的本质是沟通和共享。所以互联网才发展的这么快,如果网络的发展是安全优先,那么我觉得互联网发展的没有这么快。
就像现实中也存在骗子和坏人一样,网络上的坏人和破坏动作更加的隐秘、猖獗和肆无忌惮。有一句话叫网络不是法外之地,换句话说,在以前网络上似乎就是法外之地,这还就只是就社会管理层面来说。
而从网络的技术结构上来说,最开始对于安全的考虑就不太多,所以在网络上,普遍存在着你看不见的试探、欺骗和破坏操作。
这里贴一张互联网普遍使用的TCP/IP协议概貌,来自《UNIX网络编程》
image.png

协议栈中的每层协议,都存在一些安全缺陷:

  1. ICMP

    • 利用“目的站不可达”报文对攻击目标发起拒绝服务攻击
    • 利用" 改变路由" 报文破坏路由表, 导致网络瘫痪。
    • 木马利用 ICMP 报文进行隐蔽通信
    • 利用" 回送(Echo) 请求或回答“ 报文进行网络扫描或拒绝服务攻击。
  2. UDP 易被利用进行风暴型拒绝服务攻击

  3. TCP

    • 由于一台主机或服务器所允许建立的 TCP 连接数是有限的,因此,攻击者常常用 TCP 全连接(完成三次握手过程)或半连接(只完成二次握手过程)来对目标发起拒绝服务攻击,如SYN Flood攻击、TCP 接耗尽型攻击等。
    • 序号预测。TCP报文段的初始序号(ISN)在TCP连接建立时产生,攻击者向目标主机发送连接请求可得到上次的序号,再通过多次测量来回传输路径得到进攻主机到目标主机间数据包传送的来回时间(RTT)。已知上次连接的序号和RTT,就能预测下次连接的序号。若攻击者预测到序号就能伪造有害数据包并使目标主机接受。
    • 网络扫描。攻击者可以利用TCP连接请求来进行端囗扫描,从而获得目标主机上的网络服务状态,进一步发起有针对性的攻击。
  4. IP

    • IP协议没有认证机制。由于IP没有来源认证,所以IP包中的所有字段几乎都可以伪造。例如,IP中没有相应的控制以防止数据包被篡改,攻击者可以伪造首部检验和字段,或者重新计算校验和以使网络节点不会丢弃数据包;由于IP本身对IP数据包是否来自真正的源地址不提供任何保障,因此攻击者可以进行IP源地址假冒。很多需要重写IP首部的攻击都要用到IP欺骗,主要的攻击包括:拒绝服务攻击、中间人攻击、源路由攻击、客户端攻击和服务器端攻击等。
    • 数据报分片。因为低层协议MTU的限制,IP数据报可能需要分片,到达目的地后再重组。这一机制可以被攻击者利用。例如,用于攻击那些不能正确处理数据报分片异常(如分片重叠)的主机;用于绕过防火墙,或逃避入侵检测系统的检查。
    • 寻址与协议选项。数据报的寻址信息以及协议选项的信息泄露了部分网络拓扑信息。记录路由或时间戳的协议选项可能被攻击者用于网络侦察。
    • 访问控制与带宽控制。IP没有访问控制机制,使得攻击者可以查看上层协议(如TCP、UDP等)的内容,攻击者还可以利用IP没有带宽控制的缺陷,进行包风暴攻击来消耗带宽、系统资源,从而导致拒绝服务攻击。

ARP的安全缺陷就不说了。
而至于应用层面的各种缺陷和漏洞就更多了,这里也难以罗列。

那么SPA单包认证是什么呢?作什么用呢?
由于TCP/IP协议的广泛使用,难以对其安全问题进行直接的改造或替换。所以安全问题的解决,可以通过在目前的协议的基础上,制定安全规则来解决。
也就是说,我的地盘我做主,安全访问由我制定规则,我说了算。
SDP就是一种规则和解决方案,那就是“先验证后连接”,而SPA是实现方法。
假如有一个SDP产品,那么它保护的IT资源都位于它之后,SDP产品挡在最前面。
而SDP产品默认丢弃所有收到的未经验证的TCP/UDP数据包。只有通过SPA认证后,连接才会建立(TCP)。
所以说,SDP产品关闭了所有的入口,而只留了一个入口即SPA,并且要对好暗号才能进入,否则就是默默的拒绝。
SPA一般选择使用UDP通信而不选择TCP,因为UDP传输是无连接的,默认无须响应,这样就有很大优势,可通过drop授权不通过的数据包来隐藏自己;另外从安全角度讲,TCP更容易被攻击。
还有,对于入口如何采取无监听端口的方式来做SPA认证,以及SPA包的自定义协议部分如何保证安全和完整和不可回放,限于能力,这里就不说了。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。