第一层是安全域划分,这个安全域是对业务的抽象,并不是对物理服务器的划分,在大规模分布式架构中,同一个安全域的机器可能并不一定位于同一个物理机房,但是它们对应相同的安全等级,共享一组相同的访问控制策略,只对其他安全域或 Iinternet 暴露有限的协议和接口。即使攻击者渗透了其他相邻的服务器,也只能扫描和访问这个安全域内有限的几个端口,没办法自由渗透,这个方案主要解决Plan-B曲线救国时被人侵者“误伤”,即被无意识的扫描行为以很低的成本获取新的站点和权限,以及获得单点root后进步渗透的扩散,希望能把安全事件爆发的最大范围抑制在一个安全域中,而不是直接扩散到全网。

第二层是基于数据链路层的隔离,只有第二层隔离了才能算真正隔离,否则只在第3层以上做ACL效果会差一些,仍然会遭受ARP攻击。第二层使用VPC、 Vxlan、VLan等方法相当于在安全域的基础上对一组服务器以更细的粒度再画一道防线,进一步抑制单点沦陷后受害源扩大的问题。在不是特别大的网络中可以直接跳过安全域到这一步。当然安全域的概念在任何时候都是存在的,我们在这里仅仅是在做划分的事情。

第二层之上就是端口状态协议过滤,这是绝大多数“防火墙”应用的场景。解决的还是对黑客暴露的攻击面的问题,即使我的加固做得不到位,不必要的服务没有清理干净,开放了有问题的端口,甚至有些端口上跑着的服务还有漏洞,但是因为被防火墙过滤了,路由不可达,所以攻击者利用不了,他只能在对外或对信任域暴露的端口上去想办法。本质上,就是给攻击者提供“窄带”,有限的访问通道。不过在有复杂嵌套引用关系的大规模生产网络中,出于运维成本的考虑,有时候访问控制策略不会做得很细粒度,因为那样的话,如果有台机器挂了,换个P都麻烦,这也是安全向业务的妥协。

再往上一层是现在讨论最多的APP安全,其实从图中也可以看出你平日的工作都是聚焦于哪层。这一层单独拆开都可以再建一个纵深防御的子体系。应用层通常是暴露在Internet上的攻击面,这一层主要是解决认证鉴权、注入跨站上传之类的应用层漏洞,尽可能把入侵者堵在信息和资源的唯一入口。如果你在开发WAF,那你对应的也是这一层的工作。

应用层上方是容器、运行时环境。这里的目标是假设服务器上的应用程序有漏洞,且攻击者找到了漏洞,我不希望这个漏洞能被成功利用,直接跳转到系统权限,而是希望能在这一步阻止攻击者,办法就是通过容器加固。比如阻止一些危险函数的运行,比如上传了 webshell 但是不被解析执行,比如你想执行eval()并用种种方法变形编码字符串拼接逃过了应用层的检测,但是到了运行时其实是相同的底层指令,那么无论攻击者在上层多么努力地变形,我都有可能在更底层把攻击者揪出来,哪怕不直接阻断,我也至少报个警。在绝大多数入侵活动中,上传或生成 webshell 是从应用权限向系统权限转化的关键一步,所以这一层的防御也是比较重要的。后面会有单独篇幅讲如何对抗webshell。

如果不幸之前的步骤都没阻止攻击者,对方已经得到了普通用户的shel"$",那么我肯定不希望你继续得到 rootshell,对抗的办法就是大家常见的那些系统加固项。有很多文章洋洋酒洒写了一大堆主要就是用在这个场景的,不过最主要的还是对抗本地提权以及内核提权,攻击免疫或称攻击缓解机制如SMEP、SMAP、DEP、各种ASLR、 stack- canay、read-only、PLT、GOT等都是在这里“埋点”,其他的诸如 umask=022等也是在这里埋点。似乎看上去这些不太需要安全团队的介入,好像都是OS默认的机制?其实不然,安全做到偏执的程度后还是有自己出手的地方, Android出手比标准的 Linux更快一点,也许以后就真的没太多需要自己出手的地方了。不过,当下各种基于LXC的容器,越来越多的多租户的云环境,隔离的机制完全依赖于内核的健壮性,这些场景下对抗这一层的攻击都显得尤为重要。

如果被拿走了root自然是很令人不爽的事,但还不是最令人不爽的。如果有一天当你的1万台服务器中有500台被攻击了,而且还不能推断是不是装了 kernel rootkit I的情况下,这种感觉是最要命的。就如同你生了个肿瘤手术摘掉也就算了,如果手术完都不确定摘了没有,可就麻烦了,这时即便500台服务器备份数据、重装系统都不能彻底解决问题,而且近似于你某个子业务要处于离线状态,对于这种极其影响可用性的事情,业务部门会把你通疯掉。所以不是特别需求要干掉LKM、/dev/kmem并限制/dev/mem的全地址空间读写,另外 kernel MAC内核强制访问控制也能限制rot只能做有限的事情,尽管理论上内核提权还是能控制一切,不过要在没有开发环境的服务器上实现完整的 kernel rootkit功能并保证不在用户态留下蛛丝马迹的概率还是比较低。这样做还有一个好处,把入侵检测聚焦于用户态,不要动不动就去装一堆内核级别的重量级玩意儿,大规模高并发的生产环境伤不起。

在云计算环境中,上面那步可能还不算是单点渗透的终结,更底层还有 hypervisor。如果攻击者逃逸出VM那就比较狼狈了,每个厂商都需要考虑一下VMM的保护方案,现在hypervisor这一层很薄,不会做得很重,似乎还没有特别成熟和通用的方案,不过肯定会发展起来,会有更多类似于XSM这样的方案。

在一个真正建立纵深防御的系统中,人侵者一般到不了root这一步就会被揪出来,只不过完整的纵深防御分散在全书后续的篇幅里,这里只是选取了其中一个维度来试图解读这个概念。另一方面,完整的纵深防御体系只有大型互联网公司才可能全覆盖,因为跟安全建设成本有关,这个问题之前提到过:不同规模企业的安全需求和同一公司在不同安全建设阶段的需求是不一样的。

网络安全纵深防御体系相关推荐

  1. 干货来了丨四大板块构建纵深防御体系,保障工业网络安全

    随着企业数字化转型的加速与工业4.0物联网的兴起,以往封闭在厂房.车间的OT设备更多的与IT网络.互联网和云连接,在提高了生产效率的同时,也为互联网的威胁进入并攻击OT网域提供了通道.近十年间,工业 ...

  2. 中小商业银行主动安全纵深防御体系解决方案

    [摘要]传统银行的信息安全建设常根据自身情况结合业务需求,构建静态.刚性的安全防御能力,但在目前日益严峻的安全环境下,无法应对未知的,高级的攻击行为.本文分享了如何建设动态.柔性的安全防御能力,构建主 ...

  3. 你知道SDN网络抗DDoS动态纵深防御体系设计是怎样的吗

    现在如今网络安全问题一直是大家非常关注的,防御手段也有很多种,今天要说的SDN网络,SDN网络抗DDoS动态纵深防御体系设计是怎样的?一起来了解一下吧. SDN技术 由于其开放性.转发与控制分离.可编 ...

  4. 甲方纵深防御体系范畴和落地实践

    纵深防御模型作为经典的安全模型经常会被甲方.乙方拿来讨论和分析,也是甲方企业安全建设中最重要的参考模型,在实际的攻防对抗中起到非常高的价值.今天就跟大家交流下我所理解的纵深防御体系以及在企业落地实践的 ...

  5. 纵深防御体系_纵深防守

    纵深防御体系 Defending anything isn't easy. From geopolitical borders to closely-held opinions, humans wil ...

  6. 纵深防御体系建设-终端防护之EDR

    网络安全建设本着体系化建设.纵深防御体系搭建的原则,在每个环节.纵身节点需要各式各样的安全防护措施,终端层面无疑是核心,在安全界流传着一句话,安全的市场是得终端者的天下.随着流量加密的普及,终端承受的 ...

  7. 网络安全纵深防御简析:目的、要素与实践

    纵深防御一词本身源自军事领域,意指战争过程中利用地理优势来设多道军事防线防御.一般多用于能力较弱的一方战略性撤退,以空间换取时间.然而,这并不是网络安全纵深防御(defense in depth)的理 ...

  8. 完善面向实战的纵深防御体系

    建立实战化的安全体系 安全的本质是对抗.对抗是攻防双方能力的较量,是一个动态的 过程.业务在发展,网络在变化,技术在变化,人员在变化,攻击手 段也在不断变化.网络安全没有"一招鲜" ...

  9. 创宇蜜罐入驻华为严选商城,与华为云共同构建积极纵深防御体系

    蜜罐作为伴随网络安全攻防演练及网络安全高对抗性转变而生的代表性产品,目前已经广泛应用于政府.运营商.军工.企业.教育及金融等行业.创宇蜜罐着力打造威胁处置便捷的蜜罐产品,采用欺骗防御技术紧贴客户网络安 ...

最新文章

  1. 如何在微信中增加附件?
  2. 魔方机器人需要特制魔方吗_解魔方的机器人攻略18 – 魔方快速算法
  3. 【整理】SAP PM工厂维护模块初识
  4. 数据结构导论初步理解
  5. HCL V2.1.1如何修改CLI字体大小及背景颜色
  6. Mask rcnn介绍
  7. 一条SQL语句查询出成绩名次 排名 (转)
  8. mysql 8.0.3 rc_MySQL 8.0.3 RC 版即将发布,看看有哪些变化
  9. [Matlab科学计算] 粒子群优化算法原理和简单应用
  10. 子div在父div垂直居中的最好方法
  11. nlp-形式语言与自动机-ch03
  12. QString 中文编码转换
  13. 10个 安卓应用商店开发者公司账号注册(2022最新最全)
  14. android+仿ios画廊,安卓仿ios14主题app
  15. python电影评分数据分析
  16. 呕心沥血梳理C++新标准超好用的新特性(实战必备)
  17. java编程必用软件(有下载路径)
  18. 传漾科技:大数据营销具有“木桶效应”
  19. S32K148 CAN_PAL SDK_RTM300 PE配置
  20. 帝国理工大学计算机本科学费,帝国理工学院本科学费、生活费大概多少?

热门文章

  1. 笔记整理--Http-Cookie
  2. 程序员平常加班严重,如何有效率的提升自己?
  3. 2022-09-15 Chrome Edge浏览器开启超线程下载
  4. 感受一下卸载“腾讯电脑管家”的痛
  5. 什么是线程?什么是进程?为什么要有线程?有什么关系与区别?
  6. C语言学生管理系统增删改查
  7. 使用lm-sensors和Net-SNMP监控计算机硬件
  8. YTU.3179: 小黄车ofo
  9. 深入理解Spanner事务
  10. lerna: 最佳实践