CN116996205A - 一种防止网页被篡改的监控方法、系统、设备及存储介质 - Google Patents

一种防止网页被篡改的监控方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN116996205A
CN116996205A CN202310953804.2A CN202310953804A CN116996205A CN 116996205 A CN116996205 A CN 116996205A CN 202310953804 A CN202310953804 A CN 202310953804A CN 116996205 A CN116996205 A CN 116996205A
Authority
CN
China
Prior art keywords
value
monitoring
information
page
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310953804.2A
Other languages
English (en)
Inventor
李常乐
田骏
胡小伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Zhongbang Bank Co Ltd
Original Assignee
Wuhan Zhongbang Bank Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Zhongbang Bank Co Ltd filed Critical Wuhan Zhongbang Bank Co Ltd
Priority to CN202310953804.2A priority Critical patent/CN116996205A/zh
Publication of CN116996205A publication Critical patent/CN116996205A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种防止网页被篡改的监控方法、系统、设备及存储介质,涉及信息监控技术领域,其技术要点在于:所述监控方法包括以下步骤:S1:定时获取网页的访问情况以及前端的html作为信息值,通过网站的信息值获取md5,并将获取的md5值与原始页面md5值进行比对,将系统简称、请求耗时、发送地址以及当前md5值、md5值比对结果,上送日志分析系统;S2:通过定时任务,定时扫描预设时间的日志索引,经过比对判断当前md5值与原始页面的MD5值是否相同,如果值相同页面则正常,值不同则页面被篡改,则立即通过监控平台出现监控告警,并通知相关的运维人员及时解决。本发明通过监控脚本的定时执行获取实时网页MD5值,避免网站被篡改的风险。

Description

一种防止网页被篡改的监控方法、系统、设备及存储介质
技术领域
本发明涉及信息监控技术领域,更具体地,涉及一种防止网页被篡改的监控方法、系统、设备及存储介质。
背景技术
随着互联网银行技术的普及,用户对互联网银行渠道功能的依赖性越来越高,互联网银行官网相当于网上窗口,因此网络安全至关重要。现如今网上黑客日益猖獗,官网非常容易受到黑客攻击,修改官网内容,将会对银行声誉造成重大影响。出于网络安全以及系统业务连续性考虑,银行需要能第一时间感知官网异常情况,以便能及时做出有效的应急处置。
为了应对以上问题,银行科技运维团队自行研发了一套官网页面防篡改监控方案,定时获取官网页面内容,通过官网页面内容MD5值比对的方式,检测网页内容是否发生篡改,并同时将信息上送行内日志分析系统。日志分析系统定时扫描上送日志状态,一旦发现MD5值发生改变,第一时间通过监控平台发出告警,通知运维人员进行应急处置。
发明内容
本发明针对现有技术中存在的技术问题,提供一种基于防止网页被篡改的监控方法、系统、设备及存储介质,通过监控脚本的定时执行获取实时网页MD5值,避免网站被篡改的风险,解决银行的一些核心网站的安全问题并实现管控。
根据本发明的第一方面,提供了一种防止网页被篡改的监控方法,包括以下步骤:
S1:定时获取网页的访问情况以及前端的html作为信息值,通过网站的信息值获取md5,并将获取的md5值与原始页面md5值进行比对,将系统简称、请求耗时、发送地址以及当前md5值、md5值比对结果,上送日志分析系统;
S2:通过定时任务,定时扫描预设时间的日志索引,经过比对判断当前md5值与原始页面的MD5值是否相同,如果值相同页面则正常,值不同则页面被篡改,则立即通过监控平台出现监控告警,并通知相关的运维人员及时解决。
在上述技术方案的基础上,本发明还可以作出如下改进。
可选的,所述定时获取网页的访问情况以及前端的html作为信息值,通过网站返回的信息值获取MD5包括:
步骤1.1:将系统简称和需要调用的网站地址输出到文本文件中,并用‘|’分隔开,脚本中打开该文件,逐行读取,获取系统简称和网站的信息;
步骤1.2:请求网站,判断是否返回200的状态码,当为返回200的状态码后获取返回的前端信息以及请求耗时;
步骤1.3:获取网站返回的md5值。
可选的,所述将获取的md5值与原始页面md5值进行比对,将系统简称、请求耗时、发送地址以及当前md5值、md5值比对结果,上送日志分析系统包括以下步骤:
步骤1.4:将md5值,系统简称,请求耗时上送自主定义的函数方法,用来将生成的json信息上传到splunk平台;
步骤1.5:接收md5值,系统简称,请求耗时參数后,将新md5值和原始页面md5值进行比对,如果比对结果一致,md5脚本变量置为正确,否则为错误,将系统简称,请求耗时,发送地址,当前md5值,md5比对结果md5脚本变量添加到词典里;
步骤1.6:将之前输出的词典作为json参数,同时json中必须带上"数据的来源类型"的键值对,整理成脚本中自定义的json变量;
步骤1.7:上传脚本中自定义的json变量信息到splunk数据中。
可选的,在步骤1.7中,若返回的报文是json类型,如果报文中的状态为成功,返回码是0,则上传监控信息到splunk成功,否则上传失败;
如果上传失败,抛出异常,让程序能继续进行而不会导致中止。
可选的,所述通过定时任务,定时扫描预设时间的日志索引,经过比对判断当前md5值与原始页面的MD5值是否相同,如果值相同页面则正常,值不同则页面被篡改,则立即通过监控平台出现监控告警,并通知相关的运维人员及时解决包括:
步骤2.1:在监控平台中配置定时任务;
步骤2.2:获取splunk连接对象;
步骤2.3:拼装查询splunk平台索引的日志信息,提取状态字段,查询条件为md5脚本等于错误,并自动进行统计;
步骤2.4:使用splunk连接对象调用搜索方法,方法中传入SPL语句,获取查询记录集;
步骤2.5:轮询记录集搜索结果,获取md5脚本=错误的拨测交易笔数的日志总数;
步骤2.6:如果日志总数大于0,则发送告警信息到运维人员进行应急处置。
可选的,所述经过比对判断当前md5值与原始页面的MD5值是否相同,如果值相同页面则正常,值不同则页面被篡改,则立即通过监控平台出现监控告警还包括:
3.1.请求网址返回的状态码以及生成的MD5值整理成json格式的文本,并添加一个网页是否被篡改的键值;
3.2.将生成的json发送到splunk里,通过索引查找到json信息,如果索引和其他日志信息公用,需添加搜索条件语句,查找指定的系统名称;
3.3.在监控平台中添加调度任务,编写python3脚本调用splunk的信息,使用splunk查询日志信息语句查询出监控信息,判断json信息中的是否被篡改键值,如果是成功则网页正常,如果是失败则网页被篡改,系统将发出告警到监控平台并通知相关的运维进行处理。
可选的,所述获取网页的访问情况以及前端的html使用python中的请求接口调用;所述监控告警使用到splunk技术,将查询的数据通过python的逻辑语句和格式化转换输出成用于监控的字符串信息,达到了监控告警的效果。
根据本发明的第二方面,提供一种防止网页被篡改的监控系统,包括:
拨测调用模块,用于定时获取网页的访问情况以及前端的html作为信息值,通过网站的信息值获取md5,并将获取的md5值与原始页面md5值进行比对,将系统简称、请求耗时、发送地址以及当前md5值、md5值比对结果,上送日志分析系统;
日志监控模块,用于通过定时任务,定时扫描预设时间的日志索引,经过比对判断当前md5值与原始页面的MD5值是否相同,如果值相同页面则正常,值不同则页面被篡改,则立即通过监控平台出现监控告警,并通知相关的运维人员及时解决。
根据本发明的第三方面,提供了一种电子设备,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机程序时实现上述所述的一种防止网页被篡改的监控方法的步骤。
根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机管理类程序被处理器执行时实现上述所述的一种防止网页被篡改的监控方法的步骤。
本发明的技术效果和优点:
本发明提出了一种基于防止网页被篡改的监控方法、系统、设备及存储介质,通过监控脚本的定时执行获取实时网页MD5值,避免网站被篡改的风险。此需求目的在于能定时获取网页的访问情况以及前端的html,通过网站返回的content获取MD5,并和初始的页面MD5值进行对比,以此来判断网页是否被篡改,解决银行的一些核心网站的安全问题并实现管控。该方法需要编写自动化工具请求网页,获取返回的html页面,并添加上定时任务来定时获取监控信息。主要的方案包括python请求指定的网页地址,返回的监控信息生成json格式进行输出,在splunk新建好索引并获取到对应的token信息,将监控脚本生产的json数据定时上传到splunk上,后续可直接在splunk上获取监控信息,最后在监控平台中里配置定时任务,判断每次监控信息请求过来时,页面的MD5值是否相同,如果MD5不同则出现监控告警,并通知相关的运维人员及时解决。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。
附图说明
图1为本发明实施例提供的一种防止网页被篡改的监控方法流程图;
图2为本发明实施例提供的监控网站是否被篡改的脚本方法以及技术层面的示意图;
图3为本发明实施例提供的监控网页是否被篡改的脚本语法以及技术层面的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要进行说明的是,html用于构建网页,显示页面架构的前端信息,与CSS和JavaScript技术一起使用,实现网页效果和交互功能。在本章中用于获取请求页面的前端文件;
md5为一种哈希算法,在本次的监控方案中通过命令md5sum{html文件}的方式获取,用来判断网页是否被篡改,通过比较请求获取的html文件的MD5值是否与原始的MD5值相同。
在本实施例中,splunk语法解释为:
Index:限定搜索的索引,后面接上索引的字符串;
Search:搜索语句,类似于sql语句里的where条件查询;
Spath:从xml或json格式的数据中提取字段。
Stats:执行统计操作,类似sql语句里的group分组查询。
Count:一般和stats一起使用,stats count用来计算匹配事件的数量。
`sum`,`avg`,`min`,`max`等:执行数值型字段的聚合操作。
Sort:按字段升序或降序排序结果。
可以理解的是,基于背景技术中的缺陷,根据本发明的第一方面,本发明实施例提出了一种基于防止网页被篡改的监控方法,具体如图1所示,所述监控方法包括以下步骤:
步骤1.定时获取网页的访问情况以及前端的html作为信息值,通过网站的信息值获取md5,并将获取的md5值与原始页面md5值进行比对,将系统简称、请求耗时、发送地址以及当前md5值、md5值比对结果,上送日志分析系统;
在本实施例中,本发明实施例所述的监控方法包括拨测调用和日志监控过程;
其中,所述定时获取网页的访问情况以及前端的html作为信息值,通过网站的信息值获取md5,并将md5值与原始页面md5值进行比对,最后将系统简称,请求耗时,发送地址以及当前md5值,md5值比对结果,上送日志分析系统包括以下步骤:
步骤1.1:将系统简称和需要调用的网站地址输出到txt文件中,并用‘|’分隔开,脚本中使用open的方法打开该文件,使用readlines方法逐行读取,通过split方法获取系统简称和网站url的信息;
需要进行说明的是,open属于os文件管理模块的语法,用来对文件进行读取或修改,语法为:open(‘文件’,‘r’)或者with open(‘文件’,‘r’)as file。本次专案中主要用于打开txt文件获取系统检查以及请求的url;
readlines一般和open语法公用,通过open打开文件后,使用file.readlines的语法对文件进行逐行读取,返回值为列表;
split为python中字符串分割的函数,此次专案中用来拆分txt文件中的系统简称和请求url,以列表形式返回。
步骤1.2:使用requests模块通过GET请求网站url,判断是否返回200的状态码,返回200后可获取返回的context前端信息以及请求耗时;
需要进行说明的是,requests模块为python中第三方用于发送http请求的模块,此次监控脚本中,用于抓取请求页面中的前端html信息;
GET为requests请求页面时的请求类型,请求类型分为GET,POST,PUT,DELETE,正常获取前端页面的请求为GET,POST,对后端进行修改,新增操作通常为PUT,删除后端信息的请求为DELETE;
Context为requests请求url返回前端html信息的方法,监控脚本中通过response.context()写法获取前端信息。
步骤1.3:调用from hashlib import md5的模块hexdigest方法获取网站返回的context的md5值;
需要进行说明的是,from hashlib import md5的模块为为python中获取MD5值的模块,因为MD5值是哈希函数,所以需要调用hashlib库;
hexdigest方法为hashlib中对MD5进行加密的函数,在通过hashlib创建好md5对象后,需要用hexdigest的方法加密来获取最终的md5值。
步骤1.4:将md5值,系统简称,请求耗时上送sendSplunk子方法;
需要进行说明的是,上送sendSplunk子方法为自主定义的函数方法,用来将生成的json信息上传到splunk平台。
步骤1.5:sendSplunk子方法接收md5值,系统简称,请求耗时參数后,将新md5值和原始页面md5值进行比对,如果比对结果一致,md5_status置为true,否则为false,将系统简称,请求耗时,发送地址,当前md5值,md5比对结果md5_status添加到dict里;
需要进行说明的是,md5_status为脚本中自己定义的变量,用来显示网页是否被篡改的状态,未篡改该值为success,已篡改为fail;
Dict为python中的字典类型的变量。
步骤1.6:将之前输出的dict作为json参数,同时json中必须带上"sourcetype":"manual"的键值对,整理成jsonData;
需要进行说明的是,"sourcetype":"manual"表示为数据的来源类型,本次脚本中生成json格式里的key:value,写法是固定的;
jsonData为本次脚本中自定义的json变量,用来上传到splunk的数据。
步骤1.7:通过request模块的POST方式请求splunk地址来上传jsonData信息到splunk。
需要进行说明的是,本实施例中,POST与GET一样,属于一种http类型的请求,更多适用于提交数据,提交表单,本次该请求用于提交json数据到splunk平台。
综上所述,本发明实施例主要的技术层面使用python中的requests接口调用,效果如下:
总体来说对本次的功能起到了请求验证,前端文本获取,能正确的获取文件md5值,并与原始页面md5值进行比对,并及时将相关信息上送splunk日志分析系统。
进一步地,所述定时获取网页的访问情况以及前端的html作为信息值,通过网站返回的信息值获取MD5具体包括:
调用网址的url并成功请求,通过requests模块获取到指定的context的前端页面。
更进一步地,监控网站是否被篡改的脚本方法以及技术层面,具体如图2所示,包括以下步骤:
步骤1.1.1:给脚本打印出日志,通过logging模块输出打印日期,日志级别,日志信息,print全部换成logging.info,logging.error,logging.warning的代码;
需要进行说明的是,logging模块为python中日志打印模块,通过logging.basicConfig定义日志输出格式,logging.info(),logging.error(),logging.warning()打印指定级别的日志。
步骤1.1.2:将sys_name和需要调用的网站地址输出到txt文件中,并用‘|’分隔开,脚本中使用open的方法打开该文件,split进行分割字符串返回给列表,即可获取sys_name和网站url的信息。后续如果有其他的地址也可直接添加到该txt文件中;
步骤1.1.3:使用requests模块通过GET请求网站url,判断是否返回200的状态码,返回200后可获取返回的context前端信息;
步骤1.1.4:调用from hashlib import md5的模块获取网站返回的context的MD5值;
步骤1.1.5:需要将返回值整理成json格式的文本信息,通过if对比正确的md5值来判断页面是否被篡改,如果未被篡改则输出一个dict,对应的key:value为:msg:SUCCESS,code:000000。如果MD5不一致,则输出的dict为:msg:FAIL,code:999999。同时将当前日期时间,sys_name,发送地址以及当前MD5值添加到dict里;
步骤1.1.6:获取splunk中的索引的token,作为requests请求中的header调用splunk;
步骤1.1.7:调用splunk的地址,并将之前输出的dict作为json参数,json中必须带上"sourcetype":"manual"的键值对;
步骤1.1.8:通过POST方式请求splunk地址来上传json信息到splunk,最终获取返回的报文信息。返回的报文是json类型,如果报文中的状态为success,返回码是0,则上传监控信息到splunk成功,否则上传失败;
步骤1.1.9:如果上传失败,使用try:.....execpt......finally的方式抛出异常,以便让程序能继续进行而不会导致中止。
需要进行说的是,json为一种结构化数据,由键值对组成,在本次专案中将输出的状态,返回码,日期等数据转换成key:value的格式输出到splunk平台;try:.....execpt......finally为python中对某条语句进行判断,如报错则抛出异常,try后面跟上需要判断的语法,except接异常类型,如果出现该异常,则打印异常信息或者中止程序等操作,finally接该异常以外的输出信息或其他操作。
本发明实施例主要的技术层面使用python中的requests接口调用,效果如下:
requests库具有简洁易用的API。使用requests库发送HTTP请求只需要几行代码,无需关心底层的细节。它提供了一系列的方法,如GET、POST、PUT、DELETE等,可以轻松地发送不同类型的请求。
支持多种认证方式。它可以处理基本的HTTP身份验证、摘要身份验证和OAuth等各种认证方式,使得与需要认证的API进行交互变得简单。
此外,requests库还具有强大的响应处理功能。它可以自动解析响应的内容,并根据响应的类型返回相应的对象,如文本、JSON、图片等。此外,它还支持流式传输响应内容,可以有效地处理大型响应。
总体来说对本次的功能起到了请求验证,前端文本获取,能正确的获取文件MD5值,并及时进行比对的效果。
步骤2.通过定时任务,定时扫描预设时间的日志索引,经过比对判断当前md5值与原始页面的MD5值是否相同,如果值相同页面则正常,值不同则页面被篡改,则立即通过监控平台出现监控告警,并通知相关的运维人员及时解决。
所述通过定时任务,定时扫描预设时间的日志索引,经过比对判断当前md5值与原始页面的MD5值是否相同,如果值相同页面则正常,值不同则页面被篡改,则立即通过监控平台出现监控告警,并通知相关的运维人员及时解决包括以下步骤:
步骤2.1:在监控平台中配置定时任务;在本实施例中,定时任务设为每5分钟启动一次;
步骤2.2:调用方法splunktool.splunkTool()获取splunk连接对象;
需要进行说明的是,splunktool.splunkTool()表示为调用splunk平台日志信息的接口,通过spl语句,查询出指定的日志信息。
步骤2.3:使用SPL语言拼装查询语句”search index=srv_chk|spath status|search md5_status=fail|stats count by send_adr,sysname”;
需要进行说明的是,search index=srv_chk|spath status|search md5_status=fail|stats count by send_adr,sysname”表示为查询splunk平台索引为srv_chk的日志信息,提取status字段,查询条件为md5_status等于fail,并根据send_adr和sysname自动进行统计。
步骤2.4:使用splunk连接对象调用search方法,方法中传入SPL语句,获取查询记录集,search_result=splunktool_.search(spl语句,起始时间,结束时间);
需要进行说明的是,search_result=splunktool_.search表示为使用splunktool定义一个对象后,通过search的方法来获取spl语句的查询结果。
步骤2.5:轮询记录集search_result,获取md5_stutas=false的拨测交易笔数totalnum;
需要进行说明的是,totalnum表示为splunk中指定索引的日志总数。
步骤2.6:如果totalnum大于0,则发送告警信息到运维人员进行应急处置。
综上所述,本发明实施例所述的监控方法摆脱传统的人为监控,无需人员守在监控平台上或者服务器上24小时去查看监控报错信息,只需要通过监控脚本设置好定时执行的任务自动监控即可。及时响应警报:如果监控脚本触发了警报,及时采取措施进行调查和修复。快速响应可以最大程度地减少损失和恢复网页的完整性。
在本实施例中,获取前端html文件的MD5值,并且与原始的前端页面的MD5值进行对比,如果值相同页面则正常,值不同则页面被篡改具体还包括以下步骤:
3.1.requests请求url返回的状态码以及生成的MD5值整理成json格式的文本,并添加一个网页是否被篡改的key:value;
需要进行说明的是,key:value表示为一种键值对的表示方式,常适用于字典类型的数据结构中,本次专案主要用于生产json数据。
3.2.将生成的json发送到splunk里,可通过index srv_chk的索引查找到json信息,如果索引和其他日志信息公用,需添加search条件语句,查找指定的sys_name;
需要进行说明的是,index srv_chk表示为splunk查询本次监控日志的索引。
3.3.在监控平台中添加调度任务,编写python3脚本调用splunk的信息,使用spl的语句查询出监控信息,判断json信息中的是否被篡改key值,如果是success则网页正常,如果是fail则网页被篡改,系统将发出告警到监控平台并通知相关的运维进行处理。
需要进行说明的是,spl为splunk查询日志信息的语法,类似于数据库sql语句的查询。
在本实施例中,监控网页是否被篡改的脚本语法,具体如图3所示,包括以下步骤:
步骤3.2.1:文本信息的读写操作,with open(‘文件路径’,r)as f,可通过for循环对文件对象进行逐行遍历,因为每一行是字符串类型,所以需要通过split方法str.split(‘|’)分割成列表,并获取到sys_name和url;
步骤3.2.2:使用requests请求分割出来的url,语法如下:r=requests.get("url",timeout=(3,7),stream=True),判断返回码r.status.code是否为200,获取到前端信息r.context();
步骤3.2.3:获取前端的MD5值,导入MD5的模块md5(r.content).hexdigest();
步骤3.2.4:将返回的数据导入到splunk,请求splunk的地址:requests.post(url,json=jsonData,headers=headers,verify=False,timeout=(3,7)),其中headers需要写入index的token。请求结果的code为0则上传splunk成功;
步骤3.2.5:splunk查询语句:index=srv_chk|spath status|search md5_status=fail|stats count by send_adr,sysname;
步骤3.2.6:获取splunk信息,导入splunktool,splunktool_.search(spl语句,起始时间,结束时间);
步骤3.2.7:发送告警信息到服务台和监控平台,导入sendmessage和send_fta模块,sendmessage.send(),send_fta.send();
步骤3.2.8:监控脚本的定时任务设置为每5分钟执行一次,*/5****,分别代表分钟,小时,日,月,星期。
综上所述,本发明实施例所述的监控方法摆脱传统的人为监控,无需人员守在监控平台上或者服务器上24小时去查看监控报错信息,只需要通过监控脚本设置好定时执行的任务自动监控即可。
及时响应警报:如果监控脚本触发了警报,及时采取措施进行调查和修复。快速响应可以最大程度地减少损失和恢复网页的完整性。
此外,获取splunk中监控信息的方法还包括以下步骤:
步骤2.3.1:splunk的信息采集可通过spl语句获取:index=srv_chk|spathstatus|search md5_status=fail|stats count by send_adr,sysname,并对查询的数据进行分组和统计stats count by send_adr,sysname;
步骤2.3.2:监控脚本可以设定每5分钟执行一次,splunk每5分钟获取一次json的监控信息;
步骤三:编写监控平台定时任务调度,任务调度时间设置为每5分钟执行一次,运行模式使用python3脚本编写,
步骤2.3.4:调度脚本中导入splunktool来执行splunk语句,通过splunktool_.search的方法获取spl的执行结果,最终返回的是由多个json组成的列表,通过for循环的方式可以获取到每个json信息。
步骤2.3.5:因为json的格式和dict字典类型是一致的,因此可以获取到每个key:value,获取方式为json[‘key’]=value。
步骤2.3.6:将json中的所有数据重新通过字符串拼接。
步骤2.3.7:判断5分钟内是否存在status为fail的监控信息。如果存在则将拼接的message作为告警信息推送到服务台,告警推送使用推送至服务台和推送至蓝鲸平台。
在本实施例中,在后续日记监控过程中用到splunk技术,具有效果如下:
实时数据分析:Splunk可以实时收集和处理大量的实时数据,包括日志、指标、事件等。它能够快速索引和搜索数据,并以可视化的方式展示分析结果,帮助用户实时监控和分析系统运行状况;
强大的搜索功能:Splunk具有强大的搜索和查询功能(search,index),可以通过关键字、字段、过滤器等多种方式对数据进行搜索和过滤。它支持复杂的查询语言和正则表达式(rex),可以帮助用户快速定位和解决问题;
数据可视化和报表:Splunk可以将数据以图表、报表等形式进行可视化展示,帮助用户更直观地理解数据。用户可以通过自定义仪表板和报表来监控关键指标和趋势,从而更好地了解业务运行情况;
安全和合规性:Splunk提供了多种安全功能,包括数据加密、访问控制、审计日志等,可以帮助企业确保数据的安全性和合规性。它还支持监控和检测异常活动,并提供实时警报和报告,帮助用户及时发现和应对安全威胁。
在本次的功能中用到了,查询和统计数据的功能,并将查询的数据通过python的逻辑语句和格式化转换输出成用于监控的字符串信息。达到了监控告警的效果。
根据本发明的第二方面,本发明实施例提供的一种防止网页被篡改的监控系统,包括:
拨测调用模块,用于定时获取网页的访问情况以及前端的html作为信息值,通过网站的信息值获取md5,并将获取的md5值与原始页面md5值进行比对,将系统简称、请求耗时、发送地址以及当前md5值、md5值比对结果,上送日志分析系统;
日志监控模块,用于通过定时任务,定时扫描预设时间的日志索引,经过比对判断当前md5值与原始页面的MD5值是否相同,若MD5不同,则立即通过监控平台出现监控告警,并通知相关的运维人员及时解决。
可以理解的是,本发明提供的一种防止网页被篡改的监控系统与前述实施例提供的一种防止网页被篡改的监控方法相对应,一种防止网页被篡改的监控系统的相关技术特征可参考一种防止网页被篡改的监控方法的相关技术特征,在此不再赘述。
根据本发明的第三方面,本发明实施例提了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述所述的一种防止网页被篡改的监控方法的步骤。
根据本发明的第四方面,本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述所述的一种防止网页被篡改的监控方法的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种防止网页被篡改的监控方法,其特征在于,所述监控方法包括以下步骤:
S1:定时获取网页的访问情况以及前端的html作为信息值,通过网站的信息值获取md5,并将获取的md5值与原始页面md5值进行比对,将系统简称、请求耗时、发送地址以及当前md5值、md5值比对结果,上送日志分析系统;
S2:通过定时任务,定时扫描预设时间的日志索引,经过比对判断当前md5值与原始页面的MD5值是否相同,如果值相同页面则正常,值不同则页面被篡改,则立即通过监控平台出现监控告警,并通知相关的运维人员及时解决。
2.根据权利要求1所述的一种防止网页被篡改的监控方法,其特征在于,所述定时获取网页的访问情况以及前端的html作为信息值,通过网站返回的信息值获取MD5包括:
步骤1.1:将系统简称和需要调用的网站地址输出到文本文件中,并用‘|’分隔开,脚本中打开该文件,逐行读取,获取系统简称和网站的信息;
步骤1.2:请求网站,判断是否为返回200的状态码,当为返回200的状态码后获取返回的前端信息以及请求耗时;
步骤1.3:获取网站返回的md5值。
3.根据权利要求2所述的一种防止网页被篡改的监控方法,其特征在于,所述将获取的md5值与原始页面md5值进行比对,将系统简称、请求耗时、发送地址以及当前md5值、md5值比对结果,上送日志分析系统包括以下步骤:
步骤1.4:将md5值,系统简称,请求耗时上送自主定义的函数方法,用来将生成的json信息上传到splunk平台;
步骤1.5:接收md5值,系统简称,请求耗时參数后,将新md5值和原始页面md5值进行比对,如果比对结果一致,md5脚本变量置为正确,否则为错误,将系统简称,请求耗时,发送地址,当前md5值,md5比对结果md5脚本变量添加到词典里;
步骤1.6:将之前输出的词典作为json参数,同时json中必须带上"数据的来源类型"的键值对,整理成脚本中自定义的json变量;
步骤1.7:上传脚本中自定义的json变量信息到splunk数据中。
4.根据权利要求3所述的一种防止网页被篡改的监控方法,其特征在于,在步骤1.7中,若返回的报文是json类型,如果报文中的状态为成功,返回码是0,则上传监控信息到splunk成功,否则上传失败;
如果上传失败,抛出异常,让程序能继续进行而不会导致中止。
5.根据权利要求1所述的一种防止网页被篡改的监控方法,其特征在于,所述通过定时任务,定时扫描预设时间的日志索引,经过比对判断当前md5值与原始页面的MD5值是否相同,如果值相同页面则正常,值不同则页面被篡改,则立即通过监控平台出现监控告警,并通知相关的运维人员及时解决包括:
步骤2.1:在监控平台中配置定时任务;
步骤2.2:获取splunk连接对象;
步骤2.3:拼装查询splunk平台索引的日志信息,提取状态字段,查询条件为md5脚本等于错误,并自动进行统计;
步骤2.4:使用splunk连接对象调用搜索方法,获取查询记录集;
步骤2.5:轮询记录集搜索结果,获取md5脚本=错误的拨测交易笔数的日志总数;
步骤2.6:如果日志总数大于0,则发送告警信息到运维人员进行应急处置。
6.根据权利要求1所述的一种防止网页被篡改的监控方法,其特征在于,所述经过比对判断当前md5值与原始页面的MD5值是否相同,如果值相同页面则正常,值不同则页面被篡改,则立即通过监控平台出现监控告警还包括:
3.1.请求网址返回的状态码以及生成的MD5值整理成json格式的文本,并添加一个网页是否被篡改的键值;
3.2.将生成的json发送到splunk里,通过索引查找到json信息,如果索引和其他日志信息公用,需添加搜索条件语句,查找指定的系统名称;
3.3.在监控平台中添加调度任务,编写python脚本调用splunk的信息,使用splunk查询日志信息语句查询出监控信息,判断json信息中的是否被篡改键值,如果是成功则网页正常,如果是失败则网页被篡改,系统将发出告警到监控平台并通知相关的运维进行处理。
7.根据权利要求1所述的一种防止网页被篡改的监控方法,其特征在于,所述获取网页的访问情况以及前端的html使用python中的请求接口调用;所述通过监控平台出现监控告警使用到splunk技术,将查询的数据通过python的逻辑语句和格式化转换输出成用于监控的字符串信息,达到监控告警的效果。
8.一种防止网页被篡改的监控系统,其特征在于,包括:
拨测调用模块,用于定时获取网页的访问情况以及前端的html作为信息值,通过网站的信息值获取md5,并将获取的md5值与原始页面md5值进行比对,将系统简称、请求耗时、发送地址以及当前md5值、md5值比对结果,上送日志分析系统;
日志监控模块,用于通过定时任务,定时扫描预设时间的日志索引,经过比对判断当前md5值与原始页面的MD5值是否相同,如果值相同页面则正常,值不同则页面被篡改,则立即通过监控平台出现监控告警,并通知相关的运维人员及时解决。
9.一种电子设备,其特征在于,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-7任一项所述的一种防止网页被篡改的监控方法的步骤。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的一种防止网页被篡改的监控方法的步骤。
CN202310953804.2A 2023-07-31 2023-07-31 一种防止网页被篡改的监控方法、系统、设备及存储介质 Pending CN116996205A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310953804.2A CN116996205A (zh) 2023-07-31 2023-07-31 一种防止网页被篡改的监控方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310953804.2A CN116996205A (zh) 2023-07-31 2023-07-31 一种防止网页被篡改的监控方法、系统、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116996205A true CN116996205A (zh) 2023-11-03

Family

ID=88533323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310953804.2A Pending CN116996205A (zh) 2023-07-31 2023-07-31 一种防止网页被篡改的监控方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116996205A (zh)

Similar Documents

Publication Publication Date Title
CN111522922B (zh) 日志信息查询方法、装置、存储介质及计算机设备
US10769228B2 (en) Systems and methods for web analytics testing and web development
US9633106B1 (en) Log data analysis
CN110855676B (zh) 网络攻击的处理方法、装置及存储介质
US9606971B2 (en) Rule-based validation of websites
US10885185B2 (en) Graph model for alert interpretation in enterprise security system
CN108628748B (zh) 自动化测试管理方法和自动化测试管理系统
US20120290544A1 (en) Data compliance management
US11362912B2 (en) Support ticket platform for improving network infrastructures
CN111064725A (zh) 一种代码零入侵接口校验方法和校验装置
US11297091B2 (en) HTTP log integration to web application testing
CN109359251A (zh) 应用系统使用情况的审计预警方法、装置和终端设备
CN116112194A (zh) 用户行为分析方法、装置、电子设备及计算机存储介质
Qu Research on password detection technology of iot equipment based on wide area network
CN114969450B (zh) 一种用户行为分析方法、装置、设备及存储介质
CN116248393A (zh) 一种内网数据传输漏洞扫描装置及系统
CN116996205A (zh) 一种防止网页被篡改的监控方法、系统、设备及存储介质
US20120173495A1 (en) Computer Readable Medium, Systems, and Methods of Detecting a Discrepancy in a Chain-of-title of an Asset
CN115168297A (zh) 绕行日志审计方法及装置
CN111353116A (zh) 内容检测方法、系统及设备、客户端设备和存储介质
CN116756113A (zh) 日志记录方法、装置、电子设备及存储介质
CN117539739A (zh) 基于双特征的用户连续行为异常监测方法
CN116028451A (zh) 日志分析方法及相关设备
CN117520027A (zh) 一种基于观测云进行根因分析的结果输出方法及系统
CN117472684A (zh) 故障处理方法、装置、终端设备以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination