(国网杭州市余杭区供电公司浙江杭州311100)
摘要:论文首先深入研究电力企业在信息网络端口管理方面所存在的风险,并将目前存在的端口风险进行分类,剖析目前网络安全端口监测技术的弊病,提出一套完整的网络监测技术需求,制定详细的工具研发方案,展示该工具功能实现流程步骤,为杭州供电公司网络端口风险管控提出一个全面的管理解决方案。通过一个比较完善的可推广的网络端口监测风险管控技术,来保证供电企业信息系统安全、高效和稳定持续地运行,从而充分发挥信息系统在供电行业竞争中的价值。
关键词:信息安全;网络端口;供电企业;端口监测
0引言
随着互联网技术不断发展,网络安全形势日益严峻,攻击手段的多样化和攻击成本的不断降低给系统安全带来了极大的挑战,2014年以来,利用信息系统或终端设备端口漏洞成为网络攻击的主要方式。2017年5月爆发的大规模比特币勒索病毒就是利用系统445等端口进行攻击的,影响范围十分广泛。2018年8月,某知名安全团队发现首个针对Docker开源应用容器引擎的批量攻击与利用实例,该引擎默认开放remoteapi服务与2375端口,攻击者可通过脚本文件对开放的2375端口进行批量攻击,在被入侵的主机中植入恶意软件,并进行一系列恶意行为。
由此可见,端口治理有利于提高公司信息系统现有安全管理与防护水平,极大提升网络安全性,有利于端口“统一管理、统一防护、统一监测”,符合公司三集五大战略及公司信息化发展趋势。
1端口风险分析
1.1端口风险分类
一般来说,在网络中暴露的资产越多,面临的攻击风险就越大,在搭设服务器、开通应用、安装一些不安全的程序时,都会涉及到主机IP开放端口的变化。监测全公司IP地址的端口变化,可以从一个侧面反映系统或终端设备的安全情况。通过对公司信息内网安全设备日志的初步估算,发现存在大量有风险的开放端口记录,一是开放了部分高危的服务默认端口,二是存在已知木马病毒及恶意软件使用的端口,三是占用大量网络资源的应用端口。
1.2现有管控技术
我们发现,想要实施精确地扫描、梳理以及监控公司端口不仅工作量巨大、耗时过长,而且利用现有的端口扫描工具进行端口扫描监控存在功能盲点,如缺乏报表可视化展现与输出、需手工定期开启扫描任务、无数据对比与监控告警功能等等,扫描效率太低。
小组使用3种常见的端口扫描工具进行了端口检测实验,其中检测用时最优的在10分钟左右,监测的准确率最优的在94%左右。平均水平为检测用时18分钟左右,监测准确率80.7%左右。3种工具性能数据对比如下所示:
表1扫描时间统计表
2自动化端口监测技术的实现
2.1提出改进需求
经过效率、代码量、操作性、可行性和可视化效果等多方面分析后,确定开发一整套端口动态监测工具以实现端口监测及结果比较的功能,解决常见工具的弊端。
选择开发语言:1)主流的开发语言;2)开发难度适中;3)安全性高。
软件开发方式:1)能否与现有系统兼容;2)非专业人员也可操作。
选择告警方式:1)提醒及时;2)可弹窗提示;3)可远程提示。
安全要求:1)不影响其他程序;2)占系统内存低;3)无恶意代码。
2.1.1架构方式
采用B/S架构模式,采用三层架构的方式,分为:探测层、控制层和展现层。
1)探测层:系统中内置了端口扫描引擎,允许用户自定义进行全网段的端口扫描工作,通过数据接口导入系统数据库。
2)控制层:通过控制层用户可以根据需求定制扫描探测策略、定时任务等,当系统扫描探测完毕自动计算扫描结果,对比历史数据等。
3)展现层:用户可通过WEB的方式访问系统,编辑、查看、下载扫描探测数据。
2.1.2开发方法
基于现有的开源工具进行二次开发虽然具有开发量上的优势,但是二次开发软件运行效率比独立软件要差2到3倍,全公司网络端口扫描时间会大于1天,这与我们目前一天之内完成全公司端口扫描轮询的要求不符,运行速度是该软件开发的必要条件,所以独立开发软件。
2.1.3开发语言
JAVA是一种面向对象的程序设计语言,它可以用于撰写跨平台应用软件,最大特点是程序的可移植性。它适合BS系统,在WEB项目中优势明显,界面应用程序开发可操作性强。具体语言可以根据自身语言的熟悉程度决定。
2.1.4告警方式
以弹窗提醒和短信提醒相结合的形式,进行端口变动告警。体现以下优势:机动性好,监测连续性强。可靠性强,可重复发送直到监测人员发现并处理。可查阅历史记录,防止遗漏。
2.2主要实施步骤
实施一:软件需求分析
软件需求分析是开发软件的第一步,在这个步骤中,根据软件开发的目标,结合公司的实际情况,制定出以下需求:1)友好的工具管理界面;2)可自定义扫描参数;3)各种浏览器兼容性好;4)发生告警时弹窗并发短信。
效果检查:软件需求符合项目目标,且易于用程序实现
实施二:软件流程确定
通过之前的需求分析,结合网络扫描开展的标准流程,提出了软件运行的总体流程和告警模块流程,为下一步的开发做好准备工作,具体流程见下图。
图1任务设计流程图
效果检查:每个功能具备一个明确的软件流程。
流程适用于脚本书写。
实施三:编写监测任务程序
1.定制操作界面
1.1新建监测任务
输入任务所需地址范围,选择执行时间,如果选择“立即扫描”,当用户建完扫描任务之后,系统将立即进入扫描状态,如果选择定时任务,系统先保存任务信息,当任务时间到了之后再启动扫描。
1.2定义监测参数
点击菜单栏中“HOST编辑”编辑按钮,系统进入HOST编辑界面,界面主要展示扫描任务中,所有扫描数据,包括:IP、端口、协议、服务等扫描信息。同时系统允许用户对该数据进行新建、编辑和删除操作。
效果检查:工具操作界面友好,操作内容简单明确,易上手。监测参数可进行人为自定义。
实施四:编写软件告警模块
为了保证端口变动能够及时发现,因此可以设置端口报警基线,如图所示,如将报警基线指定为高危端口,忽略安全端口及备案端口,避免频繁告警造成工作效率下降。
同时,如下图所示,还能通过设置报警电话号码,在弹窗告警的同时将告警信息以短信形式发送至手机。
效果检查:软件界面友好,方便操作。具有告警和短信提醒功能。
实施五:软件调试与BUG修复
在开发软件的过程中,出现各种BUG是难以避免的,因此我们在开发出软件的初步文件之后,即进行了软件调试工作。在调试过程中,发现存在几个小问题:1)软件对IE浏览器兼容性不理想。2)发送告警短信时出现乱码。
针对发现的这两个问题,小组成员经过讨论研究后,将其进行了修复,保证软件可以正常运行。
效果检查:各种浏览器均可兼容。
3风险管控研究成果
3.1形成端口治理日常工作流程
目前该工具已投入日常工作使用,通过对端口清单中的端口设置定期全网段扫描,建立风险端口台账,监控风险端口开放新增情况,形成完整闭环的端口治理日常工作流程,如下图所示。
图2日常工作流程图
4结论
综上所述,网络端口监测技术的应用,本身就是为了加强对网络端口的监控。该软件在应用期间的监测正确率达到了97%,降低了人工核对的差错率,比原来减少了至少2人次每天的人力成本开支,超预期完成目标,充分保障了网络端口治理工作的精准性和高效性,为整个公司提供一个安全、稳定的信息网络提供了坚实的保障。