1、背景
随着各种法律法规和行业标准的出台和更新,企业或组织需要遵守各种安全合规性要求。网络安全策略管理需要符合这些要求,从而保障企业或组织的安全和合规性。网络安全策略管理需要涵盖企业或组织的整个网络生命周期,包括网络规划、设计、部署、运营和维护等各个环节。企业或组织需要采取全面的安全管理措施,从而保障网络安全的全方位防护和管理。
信也网络运维团队制定和执行全面、科学的网络安全策略管理机制,从而保障网络安全和业务稳定。下文介绍了网络自动化平台中安全策略管理的优化实践,涵盖了企业内部访问外网、内网互访网络安全需求。
安全策略管理特点
- 综合性:覆盖企业的各个方面,包括网络和系统设备、应用程序、数据等。
- 动态性:不断地根据企业或组织的安全需求和网络环境变化来调整和优化。
- 策略性:制定合理的安全策略,包括网络边界的防护、主机防护、应用程序安全、数据安全等方面的策略。
- 可操作性:安全策略管理需要具备可操作性,即安全策略需要能够被实际操作和执行。
2、网络五元组介绍
网络安全五元组是指网络通信中用于标识网络数据流的五个重要参数,通常包括源IP地址、目的IP地址、源端口号、目的端口号和协议类型。这些参数可用于网络安全监控和控制,也是网络攻击和安全防护的重要依据。
- 源IP地址:源IP地址是指数据流的发送方IP地址,用于标识数据流的来源。
- 目的IP地址:目的IP地址是指数据流的接收方IP地址,用于标识数据流的目的地。
- 源端口号:源端口号是指数据流的发送方端口号,用于标识数据流的发送方应用程序。
- 目的端口号:目的端口号是指数据流的接收方端口号,用于标识数据流的目的应用程序。
- 协议类型:协议类型是指数据流所使用的通信协议类型,如TCP、UDP、ICMP等。
3、鲲鹏网络运维平台
3.1 功能介绍
鲲鹏网络运维平台是受到DevOps启发的网络自动化助力网络运维方式转型,提高业务敏捷性。基于防火墙安全策略为基础来开发。主要功能是集成各家安全厂商的防火墙策略,统一在鲲鹏网络运维平台开发《安全策略查询》、《安全策略开通》功能,实现查询和开通一体化,并提供相应数据对接各类其他应用平台。目前适用在OA、白鲸自动化运维平台、CMDB等平台。
3.2 安全策略自助查询
为满足信也科技现有架构,适配现有策略需求,在安全策略查询方面,可以用五元组和应用域名查询,嵌套、轮询等方式进行全网防火墙策略查询,由单点查询,汇总到一个窗口进行查询整合。策略查询结果是基于策略分析实现的,策略分析的核心就是对于策略的匹配解析,如下正则表达式几乎涵盖了所有的思科防火墙策略命令,能够快速的得到防火墙策略关键的五元组信息。
PROTOCOL_METHOD = "tcp|udp|ip|icmp" rf'access-list (.*) extended permit ([\s\S]*) any any', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) object-group ([\S]*)(<None>)? object-group ([\S]*) (<None>)?eq ([\S]*)$(<None>)?', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) object-group ([\S]*)(<None>)? object-group ([\S]*)(<None>)?(<None>)?(<None>)?$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) object-group ([\S]*)(<None>)? object-group ([\S]*)(<None>)?(<None>)? object-group ([\S]*)$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) object-group ([\S]*)(<None>)?(<None>)? host ([\S]*) object-group (<None>)?([\S]*)$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) object-group ([\S]*)(<None>)?(<None>)? ({NETMASK}) object-group (<None>)?([\S]*)$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) object-group ([\S]*)(<None>)?(<None>)? (any) eq ([\S]*)(<None>)?$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) object-group ([\S]*)(<None>)?(<None>)? ({NETMASK}) eq ([\S]*)(<None>)?$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) object-group ([\S]*)(<None>)?(<None>)? host ([\S]*) eq ([\S]*)(<None>)?$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) object-group ([\S]*)(<None>)?(<None>)? ({NETMASK})(<None>)?(<None>)?$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) object-group ([\S]*)(<None>)?(<None>)? host ([\S]*)(<None>)?(<None>)?$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) object-group ([\S]*)(<None>)?(<None>)? (any)(<None>)?(<None>)?$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) (<None>)?host ([\S]*)(<None>)? (any)(<None>)?(<None>)?$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) (<None>)?host ([\S]*)(<None>)? host ([\S]*)(<None>)?(<None>)?$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) (<None>)?({NETMASK})(<None>)? host ([\S]*)(<None>)?(<None>)?$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) (<None>)?host ([\S]*)(<None>)? ({NETMASK})(<None>)?(<None>)?$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) (<None>)?(any)(<None>)? host ([\S]*)(<None>)?(<None>)?$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) (<None>)?({NETMASK})(<None>)? host ([\S]*) eq ([\S]*)(<None>)?$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) (<None>)?host ([\S]*)(<None>)? host ([\S]*) range (.*)(<None>)?$', rf'access-list (.*) extended permit ({PROTOCOL_METHOD}) (<None>)?host ([\S]*)(<None>)? host ([\S]*) eq ([\S]*)(<None>)?$',
基于鲲鹏平台自助查询
基于CMDB自助查询
基于白鲸自动化运维平台自助查询
3.3 安全策略自助开通
为满足公司各应用在线上环境网络访问控制申请的合理需求,使公司资源与访问权限分配合理有效,特制定网络权限申请。安全策略开通基于五元组中的源地址、目的地址和目的端口进行网络安全策略的开通功能。防火墙自动开通的核心是一套防火墙网络路由配置以及相应路径搜索,根据源区域和目的区域两个字段可以搜索到两个目标间需要开通的所有防火墙,然后进行后续的命令下发。
// 防火墙匹配var firewallnames = make([]string, 0) for _, r := range config.Config().Routes { rs, rd := r.SrcRegion, r.DstRegion if (strings.Contains(rs, srcRegion) && strings.Contains(rd, dstRegion)) || (r.Reversible && (strings.Contains(rs, dstRegion) && strings.Contains(rd, srcRegion))) { firewallnames = append(firewallnames, r.Firewalls...) } }
4.使用情况
目前白鲸运维自动化平台、CMDB等平台已全面接入鲲鹏相关平台,可以实时查询历史数据。
下图为平台上线后的使用开通次数。如人工开通,4000次每次需要5分钟,总计需要20000分钟(333.33小时)。平台上线后,4000次每次需要5秒钟,只需要20000秒完成(5.55小时)
5.后续规划
持续优化网络策略,让业务无感变更做到快速响应。根据实际情况,确定查询和下发的频率。并通过邮件、即时通讯等方式进行通知。建立查询和下发的反馈机制,以便收集用户的反馈意见,并及时调整网络安全策略。需要定期进行评估和调整,以保证网络安全策略的有效性和实用性。
6.总结
网络安全策略查询和下发需要有具体的规划和执行计划,并且需要定期进行评估和调整,以保证网络安全策略的有效性和实用性。