基于RESTful和SNMP的安全设备联动研究与应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于RESTful和SNMP的安全设备联动研究与应用
作者:廖莹璐李琼玲
来源:《经营管理者·下旬刊》2016年第12期
摘要:原有安全架构采用安全设备分离的方式,安全设备之间缺少联动机制。

采用in-line 方式部署时,带宽和转发瓶颈较为突出,只能保障关键区域的安全。

相反,采用旁路的方式部署时,发现威胁和攻击无法阻断流量。

因此建立一个安全联动平台联动平台非常有意义。

例如,安全联动平台在不增加设备投资和故障点的情况下,使IPS在旁挂模式下发现威胁并通过控制路由器、交换机和防火墙,实现动态阻断的目的。

关键词:安全设备联动 RESTful SNMP
一、引言
随着云南电网信息化建设的不断深入,IT集约化建设管控的不断加强,云计算、物联网、智能电网、大数据、商业智能等先进技术发展及日趋广泛应用,公司信息化日趋向集中化、網络化、社会化发展,公司数据在当前及未来呈现出爆炸式增长势头。

在原有的安全架构将无法满足未来的发展,具体体现在:原有安全架构采用安全设备分离的方式,安全设备之间缺少联动机制;原有部署方式采用in-line方式部署时,带宽和转发瓶颈较为突出,同时无法大量部署,只能保障关键区域的安全;原有旁路的方式缺点是在发现威胁和攻击时无法实现流量阻断的目的,并不能满足安全和自动化的要求。

因此,有必要从前瞻性、科学性、合理性的角度提出理论指导或分析研究,探讨和实践安全设备联动的机制,为我公司建立统一的安全指挥信息平台做铺垫。

二、安全联动系统框架
本文研究的目的就是建立一个安全联动平台,作为安全分析设备IPS和流量路径设备(路由器、交换机和防火墙)的控制平台,实现旁路方式的IPS设备动态控制和阻断流量的目的,在不增加设备投资和故障点的情况下,将威胁分析服务深入到网络中的各节点,发现威胁时动态阻断的目的。

通过SNMP收集网络设备的配置,由配置可以得到网络的拓扑图及所有设备的网段位置信,然后通过TAP端口镜像的方式将需要分析的流量发送给分析设备,如IPS,IPS分析后如果存在威胁和病毒,则基于自身的MIB库信息生成SNMP告警信息,并发送给安全联动指挥平台。

当平台收到告警后,将各种告警整理成统一的格式,调用策略模板,通过SHELL脚本或通过REST API使用JSON、XML等方式发送到网络设备,对流量进行阻断。

三、关键技术研究
1.基于ACL的访问控制。

ACL技术在路由器中被广泛采用,它是一种基于包过滤的流控制技术。

控制列表通过把源地址、目的地址及端口号作为数据包检查的基本元素,并规定符合条件的数据包是否允许通过。

ACL技术可以有效的在三层上控制网络用户对网络资源的访问,为网络应用提供了一个有效的安全手段。

访问控制列表有以下几种常见形式如下:(1)标准IP访问控制(2)扩展IP访问控制(3)命名的IP访问控制(4)标准IPX访问控制(5)扩展IPX访问控制。

2.基于SNMP的告警与配置采集。

SNMP是一个管理信息和操作设备的协议。

SNMP的管理实体支持产生命令和接收通知,代理实体支持对命令进行响应或发起通知。

SNMP 的网络管理模型主要包含四个关键元素:管理工作站、管理代理、管理信息库、简单网络管理协议。

3.策略优化。

在平台运行一段时间后容易出现策略冗余或过长,影响设备性能。

通过策略优化可以减少设备上的策略数量,从而达到优化策略,减轻设备负担的作用。

联动平台产生的策略大部分是禁止访问,deny条目相对较多,同时平台会定时从网络设备及防火墙收集配置,当资料层收集到配置信息后,可单独提取出平需要的信息(如IP、控制列表等),当发现策略条目过多就可以针对策略进行及时的优化处理。

策略优化的方式较多,优化思路有:1)针对单次部署的策略,IP地址段存在整合的可能,当内部程序发现IP地址可以进行合并时,自动整合为新的子网,并删除之前策略,达到优化目的。

2)部分策略只需要维持较短时间,平台通过采集设备日志信息,查看策略匹配数,当发现近段时间内没有检索到匹配数时,可以考虑将该条策略删除,达到优化目的。

4. SHELL。

Linux Shell,即是系统的用户界面,又提供了用户与内核进行交互操作的一种接口。

用于接收用户输入的命令并把它送入内核去执行。

在编写脚本的过程中,针对需要用户手动去交互如passwd、scp自动部署等应用场景,可以使用expect来实现自动化的交互过程。

利用shell expect即可通过运行脚本对路由器及防火墙添加对应的策略信息,实现IPS与防火墙及路由器之间的联动功能。

通过自动登录并实现与IPS告警信息联动的代码示例如下:
#!/usr/bin/expect -f
set ip [lindex $argv 0 ]
set password [lindex $argv 1 ]
set protocol [lindex $argv 2 ]
set source [lindex $argv 3 ]
set destinatian [lindex $argv 4 ]
set port [lindex $argv 5 ]
set timeout 10
spawn ssh -l username $ip
expect "password:"
send "$password\r"
expect "*>*"
send "enable"
expect "*#*"
send "acl access-list ACL-100"
expect "*#*"
send "deny $protocol $source $destinatian eq $port"
send "end"
expect eof
解释以上代码的含义:第一行设定了脚本执行的程序;第二行到第七行设定了6个变量用于调用策略部署的关键信息;第八行设定了本脚本所有的超时时间,如果超时,脚本将继续向下进行;第九行,expect使用spawn命令来启动脚本和命令会话,这里启动的是ssh命令。

下面就是交互的过程:ssh -l 登陆后,等待出现“password:”提示,写入密碼,登陆上系统之后等待出现命令提示符”>”,此时已经登陆到了远端主机的shell,然后利用相同原理进入到enable 模式,出现命令提示”#”,即enable配置模式,之后根据先前定义的变量信息生成对应的策略语句并执行。

完毕后推出远程机器。

最后是等待标示子进程已结束的标示符eof,然后退出。

5.REST。

REST即表述性状态转移。

REST是指一组架构约束条件和原则,满足这些约束条件和原则的应用程序设计就是RESTful。

其五个关键词为:资源、资源的表述、状态转移、统一接口、超文本驱动。

资源是一种看待服务器的方式。

资源的表述是一段对于资源在某个特定时刻的状态的描述。

可以在客户端-服务器端之间转移。

有多种格式,如HTML/文本/图片等等。

状态转移指的是在客户端和服务器端之间转移代表资源状态的表述。

而根据REST要求,必须通过统一的接口来对资源执行各种操作即统一接口。

“超文本驱动”则是将Web应用看作是一个由很多状态组成的有限状态机。

资源之间通过超链接相互关联,超链接既代表资源之间的关系,也代表可执行的状态迁移。

四、联动的仿真实验
1.仿真设计。

本次仿真希望联动平台能够实现以下功能:
1.1从IPS设备收到入侵检测事件;
1.2自动化的控制防火墙设备对事件对应的地址进行阻断。

仿真涉及的产品和软件包括:
防火墙:思科的虚拟化防火墙
IPS:sourefire for vmware
虚拟化平台:vmware vsphere 6.0
交换机:带端口镜像的交换机
相关测试软件:SNMP trap watcher;REST client;
五、结语
本文所论述的技术方法解决了安全设备大规模部署影响应用和网络响应和带宽瓶颈的问题,通过联动平台,使IPS设备在不需要部署到流量路径的情况下,就可以实现流量的阻断。

这样的架构在保证很高的安全监测级别的情况下安全设备本身不会成为瓶颈和故障点。

现有数据防泄漏设备基于市场统一标准投产,并不能完全符合企业业务需求,本文设计思路解决思路,具有一定的参考价值和非常重要的现实意义。

参考文献:
[1]李卫.网络安全管理及安全联动响应的研究,计算机工程与应用,2003年第26期:161-164
[2]武孟军.精通SNMP,人民邮电出版社,2010年7月1日
[3]伦纳德·理查德森(Leonard Richardson),RESTful Web APIs中文版,电子工业出版社;第1版(2014年6月1日)
[4]FireSIGHT 系统用户指南5.3.1,2014年7月17日
[5]About the ASA REST API v1.3.1,2016年3月10日。

相关文档
最新文档