安全建设第三篇 一个极简的纵深防御实践
2020-1-22 14:13:12 Author: mp.weixin.qq.com(查看原文) 阅读量:1 收藏

在上一篇文章中,我们提到了通过纵深防御解决攻防不对等的问题。虽然以钓鱼邮件为例,让大家有了一个基础的感知,但可能很多人还是没法获得一个较为全面的视角。这篇文章,我们会提供一个极简的纵深防御实践。目前业内无论是一流的互联网公司,还是五百强传统企业,很多公司的安全体系都是在这个极简的纵深防御实践中演化深耕而来的。唯一不同的可能是,一流的互联网公司使用更多的是自研的产品,而其他公司更多的使用第三方提供的安全产品来实现。

假设场景

某家企业目前有生产网,办公网两个环境。公司有一个网站对外,公司员工有个邮件系统。暂不区分员工。(员工如果区分的话,需要根据员工划分网段,并设置隔离策略,类似于某家五百强企业)

下面我们要根据这家公司的情况,设计一个极简的纵深防御系统。先把上节提到的图放出来。

防御

我们在上一篇文章里说到,我们要解决一个知己的问题。如果都不知道自己有哪些攻击面,容易被攻击的地方有哪些,我们是没法做到有效防御的。连要防哪些地方都不知道,最终就是搞出来一个马奇诺防线。

这家公司有邮箱对外,所以我们要设计纵深的钓鱼邮件防御方案。这家公司有网站对外,那么问题来了,这家公司到底有多少个网站?有多少个接口对外?有多少个IP对外?有多少个端口对外?

这个问题表面上好像IT可以回答,但IT回答的只是一个理论上的情况,真实情况是怎样的,这个是需要不断的检查 探测 发现的。在我们历史上遇到的入侵case里面,很多都是IT自己也不知道有这么一个服务器对外。

这里就引入了我们的第一个要建设的系统:一个资产管理系统。这个资产管理指的并不仅仅是某个IP某个mac,还包括我们用了啥应用系统,是weblogic还是struts。我们用的啥数据库,是oracle还是mysql。

极简资产管理系统

这里我们先设计一个最简单的资产管理系统。后面我会专门写一篇文章,阐述怎么建立一个更完整的资产管理系统。

一个最简单的资产管理系统,最起码要讲清楚两件事,一个是边界资产是啥样的,一个是我们的常规IT环境是怎样的(包括生产网环境+办公网环境)

边界资产收集

对我们外网的所有IP,进行常规例行扫描。使用nmap就可以。nmap会自动收集网段里面所有开放的端口和服务。

扫出来的服务我们怎么审核呢?怎么确定合不合法呢?

一般情况下,我们应该只允许对外开放80 443端口,不应该有数据库服务,远程登录服务,暴露在公网。如果有,要整改或者备案。备案后要对该服务进行常规的弱口令扫描,发现是否存在弱口令。并且要关注对应的漏洞。

常规IT环境资产收集

办公网的资产可以通过域控下发脚本进行采集。生产网的资产一般情况下,我们会在机器镜像中打入一个标准的资产采集脚本。

常规IT环境的资产要采集以下信息:IP,mac,进程,端口,软件版本等信息。这也就要求采集脚本需要是一个定时任务,定期执行。

解决完资产的问题,我们要解决另一个问题,我们的这些资产有没有漏洞?

极简漏洞检测

对互联网公司而言,由于产品上线非常频繁,需要单独的产品安全团队来支撑漏洞发现和消除的工作,会建设单独的SDL(Security  Development Lifecycle)团队。SDL团队的任务就是在产品开发的流程中减少漏洞,包括从产品设计阶段到产品开发阶段、产品测试阶段最终到产品部署上线阶段,以期最终消灭漏洞。

对很多公司而言,可能很难支撑这样高成本的团队建设,我们怎么做到极简的漏洞检测呢?

Web漏洞扫描

购买通用的Web漏洞扫描对线上的网站进行漏洞扫描发现。常见的有IBM AppScan,Acunetix Web Vulnerability Scanner,安赛的AIScanner,百度云、阿云、腾讯云的扫描器等

主机漏洞扫描

购买常用的主机漏洞扫描来检测漏洞,常见的有 Tenable Nessus,绿盟极光扫描器等

注意,这两种漏洞扫描器的侧重点是不一样的,需要购买两种来解决漏洞问题。

当我们把资产梳理清楚,并对资产进行了扫描,识别到相应的漏洞后,我们对漏洞进行修复。这样,我们就完成了防御的第一步,加固,接下来,我们要进行第二步,攻击阻断。

极简攻击阻断系统

这里我们有两个攻击面,一个是钓鱼邮件,一个是Web攻击。钓鱼邮件一方面要在邮件网关处进行阻断,一方面附件到电脑上运行要进行阻断。所以我们至少需要三个阻断系统。

钓鱼邮件阻断系统——钓鱼邮件防火墙

这个地方又有很多人叫APT检测系统。常见的有国外的PaloAlto,国内的奇安信、神州网云等

病毒木马阻断系统——杀毒软件

这里注意要购买企业版杀毒软件。国内例如360等。

Web攻击阻断系统——Web应用防火墙

Web应用防火墙国外的有Impreva,国内有各个云厂商的自研WAF,往往只需要配置下DNS指向就行了。包括百度云、阿里云、腾讯云等。

我们只能对准确率非常高,没啥误报的攻击进行阻断。在黑客的持续绕过下,我们还得建设攻击检测系统。阻断和检测的区别在于一个需要高准确率一个不需要

检测

这里往往是各家发力的重点。因为随着攻击的越来越复杂,我们需要更多的数据来进行综合判断。国内所谓的态势感知也就是在这一层做的。

检测从逻辑架构上来说分为两部分,一个是采集器,Sensor。一个是决策中心,Brain。

一般情况下,我们需要对包括网络日志、主机日志进行采集,传输到统一的日志中心,在日志中心进行分析

极简采集架构

可以使用开源工具直接搭建一个极简的采集架构,常见的就是ELK(ElasticSearch + Logstash + Kibana)。这方面网上文章很多,我就不赘述了。

极简采集器

极简主机Sensor

Windows日志sensor:在没有部署EDR的环境里面,可以通过采集Windows主机日志来进行检测分析。包括Windows Security日志,Windows Application日志等。好像安骑士也有windows版了,这块也可以看下。

Linux日志sensor:国内可以采用阿里云的安骑士。

极简网络Sensor

DNS日志Sensor:将DNS服务器上的日志,通过syslog打到日志中心。进行统一分析。

网络连接Sensor:将防火墙的日志,通过syslog打到日志中心。进行统一分析。

极简决策中心

决策策略1:对凡是连接国外IP,且不属于可信IP范围进行分析

决策策略2:对凡是访问可疑DNS的,进行分析

响应

极简止血流程

防火墙封禁和商业版杀毒封禁Hash

至于溯源流程,没法做到极简。这个地方一方面需要检测阶段的持久的日志存储,另一方面需要足够的安全经验。

预测

购买威胁情报,国内有天际友盟和微步。

通过以上的建设,我们可以实践一个简略的纵深防御架构。这个简略架构足够应对国内绝大部分中小型公司的需求。


文章来源: https://mp.weixin.qq.com/s?__biz=MzI1MjQwMTAyOQ==&mid=2247483667&idx=1&sn=76640ed059a0c918b857d563e02498b6&chksm=e9e505f9de928cefaa266c50c107ee3f46444f2aa7f9b28554c2b7503cc8ab9058a51313d175&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh