非交互Web数据平台本质安全改造技术研究
2021-06-16张佳伟
张佳伟
(新疆师范高等专科学校现代教育技术中心 新疆维吾尔自治区乌鲁木齐市 830043)
国内绝大多数 Web 数据平台运行在 X86 体系架构+Win/Linux 操作系统之上,无法直接运行在自主可控的纯国产计算环境中。故本研究实现一种轻量级平滑迁移技术,而无需改动原有 Web 数据平台。研究基于银河麒麟操作系统+飞腾处理器的自主可控软硬件,开展针对静态与动态的非交互 Web 数据平台抓取技术研究。主要涉及目标 URL 页面的读取与下载、页面过滤、结构解析与数据获取、页面视频转码;解析器的框架设计、测试、特征定义等,实现灵活定制正则表达式来筛选目标数据,以及数据存储设计与展示等。本研究的轻量级迁移方法,避免了重新对原有系统迁移和重构的高昂投入,降低 Web 系统迁移到自主可控平台的开发周期和资金,为系统自主可控迁移提供一种新思路。本研究成果形成的示范工程,对现有的信息系统进行自主可控改造工作,提供实践参考,对信息系统安全具有良好的促进作用。
1 Web数据抓取技术路线
运行在X86 体系架构+Win/Linux 操作系统的静态与动态的非交互 Web 数据平台,通过抓取功能按照如图3 数据抓取功能及业务流程图所示的流程图处理,整个数据抓取过程分为目标内容分析、数据抓取、抓取数据分析、URL 识别、URL 去重收集、URL 分配、数据存储、数据显示等流程步骤,完成静态与动态的非交互 Web 数据平台数据进行抓取,如图1 所示。
2 自主可控改造系统关键技术研究
运行在X86 体系架构+Win/Linux 操作系统的静态与动态的非交互 Web 数据平台,一般有静态网站、动态的非交互web 数据平台、音视频资源平台等,同时动态的非交互数据平台需要使用数据平台支撑,目前大部分的党政机关、企事业单位的门户网站均属于这种模式。
自主可控改造系统分为页面抓取、页面内容存储、视频资源转换、安全审计、系统配置等功能。页面抓取是从目标网站抓取页面,获得网页Html document 文档,并对页面内容进行解析。页面内容存储对抓取分析完的数据内部链接进行修改重写,页面的附件进行存储。视频资源转换,需要对视频资源进行上传、转码、输出、发布。安全审计主要是内页面内容审计,主要是通过内外链检测、关键词安全审计等,进一步加固信息安全。系统配置主要是系统页面抓取参数配置、视频转换配置等。自主可控改造系统功能结构图如图2 所示。
2.1 页面抓取功能
页面抓取处理过程,从系统配置中读取出当前要改造的系统地址、抓取层级等。从现有信息系统抓取数据,需要目标信息系统网站,获取document 文件,再对document 文件内容进行解析、URL 采集、URL 去重等工作。Python 具有丰富的第三库,其中requests 库是一个常用的用于http 请求的模块,可以方便的对网页内容进行抓取。Requests 库基于urllib 编写的,采用的是Apache2 Licensed 开源协议的HTTP 库,比urllib 更加方便使用。Requests 库常用的页面请求处理方法有:
图1:数据抓取功能及业务流程图
图2:自主可控改造系统功能结构图
图3:自主可控改造前系统访问流程图
(1)requests.get()方法获取html 内容;
(2)requests.head()方法获取html 头部信息;
(3)requests.post()方法向html 网页提交post;
(4)requests.head()方法获取html 头部信息。
抓取的document 数据,都是符合HTML/XML 标准数据。Python 库中有丰富的HTML/XML 解析器,常用的有BeautifulSoup和lxml,或者结合着使用,具有较高的文档容错能力。Beautiful Soup 自动将输入文档转换为Unicode 编码,输出文档转换为utf-8编码。
页面内容解析的核心代码:
2.2 页面内容存储
页面内容存储主要完成抓取页面内容处理完保存、页面图片资源保存、页面CSS 文件资源保存、页面JavaScript 页面保存、页面附件资源保存等核心功能。附件内容保存通过自定义函数save_attachments(url)完成,处理流程同文件内容保存,只是文件保存时使用urlretrieve()方法。
2.3 页面内容安全审计
页面内容安全审计主要是页面内外链接审计和页面文本内容审计。页面文本内容审计主要是通过关键词检索所有对文本,与不合规文本库比对,判断是否有不合规的文本内容。页面内外连接审计,通过对页面所有链接审计,判断网站是否存在非法拦截,尤其钓鱼网址、恶意链接、暗链、盗链等。
网站文本内容审计核心代码
soup = BeautifulSoup(content, "lxml")
获取页面全部文本
循环关键词列表:
if 当前页面中存在关键词:
添加该页面Url 到审计链接集
2.4 系统功能配置
系统配置主要是对网站抓取的配置文件和视频转换参数存储于数据库,实现配置文件的动态管理。本研究使用国产达梦数据库,进行数据配置文件存储。使用前预先安装达梦数据库python 语言支持包dmPython。
数据库使用核心代码
3 自主可控改造系统验证
3.1 自主可控改造前系统访问流程
当用户访问现有静态网站类的资源时,用户打开浏览器,访问静态网站等资源平台时,由资源平台的Web 服务器与用户进行数据交互。当用户访问动态的非交互 Web 数据平台的资源时,用户打开浏览器,访问动态的非交互Web 数据平台,由数据平台的Web服务器与用户进行数据交互,Web 服务器与ASP.NET、JAVA、PHP 等动态语言结合构成动态网站页面,动态网站数据使用数据库平台提供。自主可控改造前系统访问流程图如图3 所示。
3.2 自主可控改造后系统访问流程
本研究提出的针对非交互Web 数据平台的自主可控改造,是在现有的信息系统前放置基于银河麒麟操作系统和飞腾处理器的自主可控硬件平台实现的自主可控改造系统来承载原来的网络访问流量,屏蔽后端现有信息系统存在的部分软硬件安全性问题,来提高信息系统安全性,保护现有的信息系统数据安全。部署完自主可控改造系统硬件平台,完成目标改造平台的系统配置,变更现有的信息的系统域名映射地址到自主可控改造系统。用户访问原有的信息系统数据平台,首先访问自主可控改造系统,由自主可控系统定期去和原有信息系统抓取数据,保证自主可控改造系统的数据的更新。用户访问改造前和改造后系统访问流程感觉不到差异,只是系统内部数据处理流程发生变化。自主可控改造后系统访问流程图如图4所示。
3.3 系统结果
当完成自主可控改造系统硬件部署后,增加相应的目标系统配置,用户就可以直接访问改造后的网站。以动态网站改造为例,自主可控增加原网站域名、网站地址、当前网站域名、数据抓取最大层级数、安全策略等相关信息。
4 结论
本研究针对静态与动态的非交互 Web 数据平台,提出一种轻量级的自主可控改造方法,以解决运行在 X86 体系架构+Win/Linux 操作系统之上的数据平台与基于ARM 和MIPS 的自主可控软硬件系统结构的差异问题。主要通过移植、优化等方法完善自主可控软硬件基础支撑环境,设计实现Web 数据抓取功能,涉及目标 URL 页面的读取与下载、页面过滤、结构解析与数据获取,实现目标分析、数据抓取、数据显示等功能。本研究的轻量级国产化迁移方法,避免了重新对原有系统迁移和重构的高昂投入,降低Web 系统迁移到自主可控平台的开发周期和资金。我国正面临错综复杂的国际政治环境,国家信息安全时刻受到威胁,实现信息系统国产安全可控已刻不容缓,本研究为系统安全自主可控迁移提供一种新思路。另外结合研究成果和实际需求,将单位网站进行国产化迁移,形成研究成果示范,并申请软件著作权,同时通过信息系统等级保护测评。本研究成果对现有的信息系统安全加固工作,具有良好的促进作用。