买安全设备来加强整体的防护能力的效果是非常明显的。在人力资源紧张的高校,以资金换编制是一个通常的选择。当然,有些设备买来是会解放你人力的,有些设备买回来是来增加你工作量的,原先你看不到或者控制不了的地方,通过购买设备现在一下子可以看到,你就不能当鸵鸟装作没看见,你必须投入对其进行管理。

安全实际上是ICT解决温饱问题后的更高需求层次,需要有更高的技术能力和成本投入。信息化普及在安全视野下的关系就像专家说方便面是垃圾食品,吃方便面对身体不好,但是我都混到只能吃方便面了,还在乎食品安全么?前几年大家埋头苦干信息化,污染了,现在要开始治理了,出来混总是要还的。

The Hurt Locker (2008) The Hurt Locker (2008)

有人会问,这么多设备我到底应该先买哪些?来一个厂商洗脑,都觉得这个都很有必要,赶紧得买。我也在不停想,买了很多安全设备,依然过不好这一生。昨天看到某乙方到甲方HW后的总结,大公司,安全设备也很多,然后自查后发现问题一大堆,内网防火墙混乱、堡垒机有漏洞、前段时间某VPN有漏洞等等,真是不查几年都没事,一查都是大问题。(最后这篇文章被删除了,应该删除,暴露甲方弱点),所以设备终究只是工具,必须配套管理方法和人力投入,很多设备买了完成建设任务了躺着到报废也有。

我写这一篇不代表我所在的学校已经实践得很完美,有些错误有些需要被醍醐灌顶的,欢迎写信给 haishanzheng AT sina.com。

这里大概排序的是在有限的资源下的选择,如何把资源投入那些最重要、投入产出比最高的地方。买一个设备要测试、要采购、要上线、要交割、要改变管理方法,有限的资源你只能做到“十全九美”,止于至善。这里不涉及到上网行为监控管理系统、终端安全管理、病毒木马墙、数据防护、APT等内容。在高校里,一定要将运营商角色的用户网络和数据中心的网络分开,各个二级学院的服务器应当尽量纳入数据中心管理,否则就以用户网络对待。而对数据的防护,前提也是系统、代码级的安全。

要点

  • 集约化。集中。等保2.0还提出“安全管理中心”的概念,类似CERT,这也将是未来发展的一个重要的方向。
  • 管理精细化。只要你想管,事情只会越来越多。
  • 能力输出。信息中心要做到有能力向二级学院输出各种安全能力,节省采购成本,买了设备不能信息中心自己玩,也玩不过来,而且有些安全能力必须越靠近越好,比如防火墙、WAF、RASP(运行时应用自我保护)等等。

安全设备应当开放

很多安全设备实际上是基于开源软件的,很多人就想,为什么我要花钱去买一个安装在盒子里的开源软件,又丧失了可能的CVE漏洞更新,GUI界面弱智,我自己安装并用程序操作配置文件不是更好?其实我更喜欢厂商在开源软件上做包装,你不可能做得比开源软件好,MIUI,浏览器等等都是不错的案例,只要安全补丁打到位即可。但是确实很多设备基于开源软件包装后丧失了开源软件的精神,不会去向上游贡献代码。认为使用者只会使用GUI操作,为了安全屏蔽了更底层的一些管理功能。买个设备你就从一个programmer变成一个operator,尴尬。

把开源软件包装得易用一点、屏蔽80%使用不到的功能让更多人可以使用是一个好的方法,但是也要照顾部分更高级的用户。否则安全设备买得越多,各个不同设备之间形成壁垒,成为信息化治理类似的烟囱架构。所以你不得不比对主数据中心类似的购买一个通用的态势感知系统。而且安全设备不比信息化系统买全家桶套装是减分不是加分。国内安全设备一般API提供的较少,担心提供API后被弱化,或者提供了,也不会认为他是一个重要的特性。

不提供API、不开放的安全设备都是耍流氓。

网站群等集中应用管理平台

集中应用管理平台包括网站群、个人主页、会议、报名、投票、期刊投稿、流程引擎等等,把大部分散落的自然人开发的系统收割并规范在一起,规避代码、部署层面的问题。系统整合后,对等保测评费用的节省意义也非常大。然而这里有个逃避不过的问题是需求的复杂性,所以只能解决80%的问题,自定义较多的还是得系统自己使用较高的成本去做安全,集中管理平台至少可以做到攻击面减少的目的。

其实我一直欠了一篇《一站式服务、流程引擎是否是银弹?》,在我的想法里,传统的基于一站式服务内流程引擎构建的服务,其实都是过渡性的。因为这些服务都是可视化建立的,所以缺少了源码编辑的版本控制,自动化测试等特性。从一站式服务快速开发能力去覆盖大部分流程,并在使用过程中去发现常用流程,再有资源将这些流程做成轻应用,从流程引擎里剥离出来。一站式服务平台类似一个轻应用孵化器,你上他的唯一目的是争取时间,观察,最终将一些共性服务抽象成中台,在中台上构建轻应用,最终下线他。

身份认证系统

统一身份认证系统,是早期各大高校三大平台之一,是安全系统么?最开始统一身份认证系统对外推得理由是使得师生员工无需记忆很多个密码,这点基本上都实现了,现在就要开始突出他的安全属性了,统一身份认证其实也是一个集中的概念,他可以缓解以前密码需要在各个不同应用输入的可能泄露的问题,在一个统一的位置做认证、授权、属性提供、防暴力破解、强密码、多因素认证、日志、风控等等。所以你必须要求所有应用都来对接统一身份认证,并关闭内部登录入口(管理员入口可保留)。然而目前的统一身份认证基本上都没有考虑这些,比如有些统一身份认证系统,本身就存在很多安全问题,你不能要求这种水平的业务开发人员能将统一身份认证提高到一个安全的产品。

如果能结合零信任安全来看,SDP(软件定义边界),人是新的安全边界,一个人、或者设备,通过认证后,才能在应用交付网关看到他所有有权限看到的内容,这才是未来发展的方向。再根据风控动态算出权限,这些已经不能人能算得清楚的,必须得整合组织架构、身份、角色、权限、资源等等。

应用交付

应用交付我说的比较多了。可以翻翻前面的公众号文章,最重要的是,跟身份认证整合。

堡垒机

实施堡垒机后,被管理服务器配置好防火墙后,可以大大提高服务器的安全性,对服务器的管理维护也更加透明,方便审计。当然堡垒机很多人忽略了他的另外一个功能,学习。通过堡垒机你可以做AB角互相学习,学习厂商的操作,评价厂商是否靠谱,而不只是在出问题后去审计。

日志中心

日志也是一个范围非常广的概念,你可以建立一个日志中心接收各个不同业务系统发送过来的所有系统、中间件、业务文本日志,也可以有一个独立的网络流量分析日志,在业务系统外独立的记录日志。总之要做到可回溯,可溯源,未来可分析。日志最好存一份在线和一份离线的,在你还没有能力对其进行分析的时候保存下来。从流量里面可以发现很多好玩的东西。保存本身是个威慑力。哪天我发现了一个新的 pattern,我可以在旧日志上运行找出攻击行为。

怎么样算是一个非常高可用的日志中心呢?很多设备自带的Syslog到远程不是容错的,网络中断或者远程Log服务器死机都会导致Log丢失,所以发送方应当是一个容错的,比如先Syslog写到File,然后通过Filebeat、colletcd类似的发送到远程,远程一个队列Kafka或者Logstash,多台机器,应对后端接收服务器速率匹配、故障或者重启。然后再设定一些监控,通过自学习某台服务器每秒应当大致接收多少日志,如果少于或者超过,需要触发报警,查看是受到攻击还是链路上有什么故障导致日志无法收集。这样子才是一个高可用无人值守装了就不管了我只管用零丢失的日志中心。

VPN

有些学校只给老师提供VPN不给学生提供VPN,他们担心学生使用VPN会恶意下载图书馆资源等等问题。VPN其实他不是一个福利,是你为了安全将网站关在校内的一个让步,你应当是求着学生来用VPN访问你的信息系统。

这里说的VPN是指传统的需要安装客户端的VPN,如果有WebVPN正向代理反向代理或者应用交付,实际上传统的VPN比重会下降,然而传统的VPN也是必须存在的,应当提供包括PPTP、IKEv2、L2TP、SSL等等各种各样不同协议。客户端和免客户端的WebVPN都要买。

在高校内部VPN的场景如下:

  • 师生访问图书馆资源
  • 师生在校外访问被限制只能在校内访问的网站
  • 教师、系统管理员在校外访问实验室机器
  • 所有人要进入数据中心管理服务器
  • 厂商要进入数据中心

通过组合各种不同产品,剥离使用场景,制定各种安全策略来分别满足这些需求。比如运维,先拨VPN,再走堡垒机。SSH、RDP可以走H5 Sockets,其他诸如别的网上邻居,端到端加密要求高的SSH、RDP(用户不想连接工作电脑被信息中心审计)等等就传统VPN解决了。

为了统计师生访问图书馆资源的使用情况,为数据库采购做决策,以往是可以直接分析流量,随着HTTPS的盛行,开始用正向代理在统一的一个中心做频率管控和访问分析。现在北大在推中国教育科研网统一认证和资源共享基础设施(CARSI, CERNET Authentication and Resource Sharing Infrastructure),未来再发展数据库厂商只认账号,认证日志保留,访问流量将被OTT,这块分析的执念只能丢弃了。

其他必备和标配

数据库审计、备份、监控、网络流量分析相关类。

WAF、防火墙

防火墙听说是个接入工具?不过现在的下一代防火墙也开始很多事情都做了。

这2个是很类似的东西,其实都是墙。2者都是越靠近用户越好,如果用户能自己做好服务器防火墙,系统内WAF,其实也没边界墙什么事了,所以边界墙只是粗粒度的防护,太细了调整规则累死,但是要有,这样子在某个CVE漏洞出来可以先抵挡一会儿。

Gartner 在2014年提出了RASP(运行时应用自我保护)技术的概念,即 对应用服务的保护,不应该依赖于外部系统;应用应该具备自我保护的能力。它改变了防火墙依赖请求特征来拦截攻击的模式。对于注入类的漏洞,可以识别用户输入的部分,并检查程序逻辑是否被修改。由于不依赖请求特征,我们每条报警都是成功的攻击。

RASP这里解决的其实是扫描太多的问题,比如我一个.NET写的程序,你用PHP的漏洞来扫,产生的拦截日志会对WAF管理员造成干扰,这种情况就直接放过,让应用自己保护。

最好的WAF是可以虚拟化给用户自己来控制规则的。现在部署一个业务系统动不动就十几台服务器,如果数据中心支持业务系统内部自组网,使用192.168等私有IP,再通过自己的应用交付交付出去,那是非常安全的。当然也会造成藏得太深,对堡垒机,漏扫等设备不友好。

漏扫

漏扫能做的非常有限,漏扫类的可以通过购买安全服务来做。包括代码审计、漏扫、基线检查、渗透测试、上线前安全检查、移动客户端扫描、重保、培训、威胁情报、云监控等等。

买了服务也可以再买一台设备,或者服务内送一台设备,可以将漏扫能力提供给二级学院,否则漏洞扫描和修复验证等等的交互会占用较多时间,而且有些资产扫不到。

软件正版化

软件正版化是提高师生员工的知识产权意识么?

正版软件可以防止破解嵌入木马等安全问题,而且采购实施能见度高,效益立马可见,所以也成为各信息中心开始大力推广的业务。正版软件他没有信息化系统那样多的定制,都是通用软件,做好荐购、需求、询价、采购、部署、建立专题网站、推广、培训、监控和统计即可。

资产梳理

比如大连理工和西安交大在探索基于安全视角下的信息系统的全生命周期管理,他们需要一个信息系统来管理所有的信息系统。从立项、批复、采购、部署、定级、系统上线前检查、测评、定期扫描、下线等等过程,在系统部署过程中还涉及到虚拟机提供、数据库提供、VPN提供、堡垒机账户、监控、维保、软件授权等等,在系统内管理漏洞,安全事件。这块确实基本上目前属于手工管理的阶段,如果能有一个好用的统一的系统支撑也是不错的选择。

IPS、IDS、抗DoS

等保合规需要,在某个重要保障期间,攻击数报的很高,实际上都是安全厂商扫描。由于干扰项太多,所以真正发挥的意义不是很大。

防篡改

意义不大。以前说过。