写在前面
作者浅言
做了多年安全运维的我一直想出点干货,经常看众大神分享经验,仰望的同时总是想有一天自己也能贡献点什么。在宜信的这些年工作了许久,经验也积攒了一些,不敢说干货多硬,只能算是近几年工作经验的沉淀,希望能给阅读者带来启示和帮助。更欢迎同行各位大佬给予斧正,共同交流经验和从业心得体会,在此谢过。
本文简介
文章分为2个部分——正文篇1.0 & 正文篇2.0,1.0篇编写于2017年,2.0篇编写于2018年,是对1.0版本的升级与优化,通过标题标注以示区分。
正文篇1.0
互联网金融行业快速发展,覆盖范围广, 行业规范监管要求等特点,宜信作为互联网金融企业,传统运维模式已问题凸显。
异构网络架构下多品牌防火墙并存,各大厂商产品从配置管理角度也不尽相同,包含GUI、CLI、WEB等多种方式,了解防火墙安全策略的使用状况,及时发现安全隐患,详细记录防火墙安全策略的变更,帮助管理员配置出正确的安全策略,确保防火墙的配置符合外部以及内部的安全规范等问题,运维工作急迫一套集中管理平台完成这些内容。
更好的安全来源于更好的管理,我们要解决什么问题?
策略自主查询:提供用户自助查询功能,解决用户疑惑如A到B的访问是否默认已经开通?
策略申请:平台填写申请安全策略五元组及日期,事由等相关信息,平台利用预制规则对申请进行预判断,是否为合理需求?是否无需开通? 从需求提出阶段减少人工成本和快速预响应。
策略审核变更:管理员得到相应申请通知邮件后通过平台进行策略评估后,进行同意变更下发策略或打回动作。
审计:平台记录所有用户申请,管理员的操作记录,方便后期查询并满足如等保及其他合规要求。
报表:可看到各部门当前使用了哪些安全规则。
配置管理:通过平台对设备配置进行备份,方便进行配置比对和配置恢复工作。
平台开发过程中两个核心问题需要解决:
1:如何判断一个主机访问另外主机经过哪些网络设备?
2:如何将各个厂商防火墙策略导出并离线合并生成统一数据库作为平台基础。
综合考虑对比各种方案,如携程网运维平台路由计算方法,Firemon的配置抓取生成拓扑等,我们最终采用使用Python的三方库Networkx做拓扑计算和生成,将各区域网段定义为点对象,按照生产拓扑连接情况进行边连接,最终利用最短路径和权重特性完成主机通讯路径判断,并定位到经过哪些防火墙。
Nexworkx使用举例~
对于如Paloalto这种提供Rest XML API的防火墙直接利用其接口进行配置提取,Checkpoint因为宜信暂未用到其最新有API的R80版本,只能通过厂商工具WebVisualization Tool 命令行将策略导出为XML格式做处理,平台底层使用自动化脚本定时登陆Smartcenter系统进行策略抓取,对于其他如使用命令行方式为主配置的防火墙,如山石/思科等通过命令完成策略相关导出和配置,最终完成策略库生成(在此呼吁各大厂商开放自动化API,大势所趋呀!!!)
Paloalto API举例
Checkpoint自动登陆并导出
统一策略库平台申请审批流程
审计&报告
平台其他功能:
安全策略使用状况分析:如策略命中数,策略可合并梳理,实现策略优化及设备性能提升。
防火墙配置安全规范审计:完善宜信自身的安全规范,并根据此规范审计系统内所有防火墙设备上的安全策略配置,是否存在允许该危险端口的安全策略,并做出相应的修改。
平台当前开发完善功能:
自动化防护建立:完善利用防火墙与其他安全设备或威胁情报系统集成通过攻击态势感知,自动创建针对攻击流量的安全策略防护。
正文篇2.0
功能更新
0x01日志联动
通过利用安全日志平台集成其他安全设备,如WAF/IDS/主机等类型日志,对攻击者Ip通过规则进行分析和后续操作。
0x02自动化拦截
默认的防火墙策略依赖静态策略,例如基本都会放行互联网到一个Web系统的80、443端口,但是通过自动化拦截功能实现在防火墙上对风险级别较高来源ip的动态阻拦,即使访问的是正常的端口或者应用。
0x03攻击可视化
通过日志平台对常规的入侵行为和拦截情况进行分类实时展示,并可生成报告,对重点关注对象做告警操作。
0x04回溯分析
对攻击类型或业务的关注级别较高的对象进行自动抓包,解决常规IPS/IDS海量日志分析困难的难题。
0x05威胁情报对接
结合外部第三方威胁情报库自动化防御。
自动化拦截
日志平台通过如WAF日志进行分析,通过制定规则,比如某些IP采用多种攻击手法XSS+SQL组合对业务进行了攻击,会统计产出恶意IP更新至IP_list(攻击者ip清单),并执行⾃动拦截脚本通知防⽕墙运维平台,防火墙运维平台使用防火墙RESTful API接⼝去更新动态拦截策略的地址库对象,对恶意IP进⾏拦截。到达指定拦截时长后,同样方式进行释放操作。
(防火墙动态阻止列表功能)
通过日志平台对拦截情况进行实时监控。
项目收益:
设备性能提升,将风险较高IP直接在外层防火墙上拒绝,减少内部 Waf/负载均衡 /服务器资源占用,物尽所用。
IP信誉库积累。
内部安全日志和外部威胁情报的充分利用
单个区域发现的攻击IP可直接在多个数据中心出口同时拦截,提升整体安全性。
IDS自动抓包告警功能
目前大多数的IPS/IDS还是基于各自特征库对数据包进行入侵防御识别,如果判断为攻击通常会直接拦截或低级事件采取记录日志动作,对于甲方安全人员能看到的只是某个地址到我们的应用有命中IPS规则,给个CVE编号和攻击基本解释就结束了,想要复现基本很难。通常我们的需求需要知道到底数据包是什么内容,包含什么字段,为什么会命中IPS规则,这样也好给到开发人员进行代码修改,所以我们对内网IDS工作流程进行了优化,实现对关注的攻击进行数据包保存溯源,针对特定攻击和事件也进行高级告警。
流程
1:IDS接收内网所有需要关注的流量。
2:管理员对IDS规则进行调优,将需要关注的事件log发送到日志平台,并指定自动抓包动作(IDS上针对某些攻击的动作指定为自动抓包),如针对各种应用层攻击,内网扫描事件等。
3:日志平台根据搜索语句定时进行搜索,如果搜索到攻击事件日志,将日志的时间戳和自动抓包生成的Pcap ID发送到防火墙运维平台接口。
4-5:防火墙运维平台通过防火墙API接口,利用时间戳和Pcap ID字段登陆设备进行数据包下载到本地, 并执行提取X-forward For字段和三层IP地址。
6:防火墙运维平台将提取出的X-forward For和IP地址信息字段和pcap文件下载url发送给日志平台,
7:日志平台进行白名单筛选,排除白名单后,日志平台进行邮件告警
告警内容:攻击源地址 目的地址 攻击类型 原始数据包下载链接 ,如图
项目收益
内网安全关注的攻击类型和业务攻击事件发现时间大大缩短,从海量日志中准确提取了我们需要关注的信息,减少人工参与工作量。
原始包的留存对我们的安全研究和系统代码修改都提供了很好的材料。
写在最后
第一次发布文章,心情还是有点小激动,如有错误,欢迎斧正。
都说生命在于折腾,2018年我们的目标是能折腾出点大事,欢迎所有热爱折腾的朋友加入我们。
*本文作者:宜信安全应急响应中心,转载请注明来自FreeBuf.COM