随着互联网行业的高速发展,暴露在网络上的网站几乎每时每刻都在遭受非法的攻击和入侵,反入侵系统就成为一个能及时发现攻击或入侵行为、并能够向安全管理者提供有价值的安全警报的系统。由于入侵事件的实际危害越来越大,人们对入侵检测系统的关注也越来越多。入侵检测系统便成为网络安全体系结构中的一个重要环节。
58同城作为全球最大的一个分类信息服务平台,每天可能面临高达数百万起的网络探测或者攻击事件。那么我们是如何建立了一套完整反入侵体系呢,请让我为大家介绍一下。
总体结构
下图是天象反入侵体系的整体架构图
图:天象反入侵架构体系
1.最上面是外网环境,每条访问到58平台的流量通过核心交换机转发到集团内网的Nginx集群上。
2.下面是内网环境,流量通过Nginx网关会均衡转发到各个业务服务器的集群上,业务处理完成之后再把响应通过ngixn返回给用户。
3.内网环境的右面就是整个天象反入侵体系,从组成结构上分为三部分,黄色主题是数据采集部分,通过自研的数据传感器采集58机房内的各种网络设备或终端的日志数据;蓝色主题是数据检测部分,负责对收集的数据进行规则检测;红色主题是事件响应部分,负责对检测结果中有攻击行为的事件进行处置。
数据采集:
对于入侵检测系统,一般流量数据的收集会从网络、主机、应用系统三个层面进行采集。天象也在不同的网络设备和环境下部署了多种数据传感器进行流量数据的采集。
网络层,我们主要从集团入口交换机上的网卡镜像流量、nginx转发流量进行数据采集。主机层面,我们通过自研的HIDS主机入侵检测系统从公司各种主机资产(包括物理机、宿主机、虚拟机及容器、办公网服务器等)上进行日志采集。而应用层面,我们目前已经收集了集团一些主要业务数据库的binlog、慢日志等,并结合白盒IAST能力,对集团各业务线上流量日志进行数据采集。
网络层
- 交换机流量镜像
我们在内网机房部署了一组分光服务器,用来转发从公网访问的入口流量镜像,在分光服务器上面我们通过dpdk的数据包传输能力将交换机上每秒数十G的网络流量转发到一组kafka集群上面。
- WAF流量收集
基于交换机流量镜像的日志采集虽然可以收集到整个集团的入口流量(包括4层和7层),但是它有一个非常大的缺陷,就是因为它处于4层交换机上,所以无法解析通过SSL加密的7层https流量,通过我们自研的天网应用防火墙(WAF),可以将经过集团LB层的实时流量进行收集。
如下图所示:
图:天网应用防火墙(WAF)
天网应用防火墙是一个可以提供实时规则检测、实时封禁能力的服务网关。我们通过嵌入式部署方式,将系统集成到集团负载均衡集群上面:首先在集团nginx集群上面部署了一组lua脚本,作为流量转发的数据传感器,流量通过http协议转发到后端的一组服务器上面,这组服务器集群主要为公司整个安全平台提供了三种能力:
1.收集流量:通过收集http和https的请求和响应流量,为入侵检测系统和其他安全能力提供数据服务。
2.WAF检测能力:可以对web流量数据进行实时检测和拦截。由于篇幅所限,这里不做过多介绍