网络安全处理过程?

网络安全处理过程?,第1张

网络安全应急响应是十分重要的,在网络安全事件层出不穷、事件危害损失巨大的时代,应对短时间内冒出的网络安全事件,根据应急响应组织事先对各自可能情况的准备演练,在网络安全事件发生后,尽可能快速、高效的跟踪、处置与防范,确保网络信息安全。就目前的网络安全应急监测体系来说,其应急处理工作可分为以下几个流程:

1、准备工作

此阶段以预防为主,在事件真正发生前为应急响应做好准备。主要包括以下几项内容:制定用于应急响应工作流程的文档计划,并建立一组基于威胁态势的合理防御措施;制定预警与报警的方式流程,建立一组尽可能高效的事件处理程序;建立备份的体系和流程,按照相关网络安全政策配置安全设备和软件;建立一个支持事件响应活动的基础设施,获得处理问题必备的资源和人员,进行相关的安全培训,可以进行应急响应事件处理的预演方案。

2、事件监测

识别和发现各种网络安全紧急事件。一旦被入侵检测机制或另外可信的站点警告已经检测到了入侵,需要确定系统和数据被入侵到了什么程度。入侵响应需要管理层批准,需要决定是否关闭被破坏的系统及是否继续业务,是否继续收集入侵者活动数据(包括保护这些活动的相关证据)。通报信息的数据和类型,通知什么人。主要包括以下几种处理方法:

布局入侵检测设备、全局预警系统,确定网络异常情况;

预估事件的范围和影响的严重程度,来决定启动相应的应急响应的方案;

事件的风险危害有多大,涉及到多少网络,影响了多少主机,情况危急程度;

确定事件责任人人选,即指定一个责任人全权处理此事件并给予必要资源;

攻击者利用的漏洞传播的范围有多大,通过汇总,确定是否发生了全网的大规模入侵事件;

3、抑制处置

在入侵检测系统检测到有安全事件发生之后,抑制的目的在于限制攻击范围,限制潜在的损失与破坏,在事件被抑制以后,应该找出事件根源并彻底根除;然后就该着手系统恢复,把所有受侵害的系统、应用、数据库等恢复到它们正常的任务状态。

收集入侵相关的所有资料,收集并保护证据,保证安全地获取并且保存证据;

确定使系统恢复正常的需求和时间表、从可信的备份介质中恢复用户数据和应用服务;

通过对有关恶意代码或行为的分析结果,找出事件根源明确相应的补救措施并彻底清除,并对攻击源进行准确定位并采取措施将其中断;

清理系统、恢复数据、程序、服务,把所有被攻破的系统和网络设备彻底还原到正常的任务状态。

4、应急场景

网络攻击事件:

安全扫描攻击:黑客利用扫描器对目标进行漏洞探测,并在发现漏洞后进一步利用漏洞进行攻击;

暴力破解攻击:对目标系统账号密码进行暴力破解,获取后台管理员权限;

系统漏洞攻击:利用操作系统、应用系统中存在漏洞进行攻击;

WEB漏洞攻击:通过SQL注入漏洞、上传漏洞、XSS漏洞、授权绕过等各种WEB漏洞进行攻击;

拒绝服务攻击:通过大流量DDOS或者CC攻击目标,使目标服务器无法提供正常服务;

信息破坏事件:

系统配置遭篡改:系统中出现异常的服务、进程、启动项、账号等等;

数据库内容篡改:业务数据遭到恶意篡改,引起业务异常和损失;

网站内容篡改事件:网站页面内容被黑客恶意篡改;

信息数据泄露事件:服务器数据、会员账号遭到窃取并泄露.

Redis作为一个基于内存的缓存系统,一直以高性能著称,

在单线程处理情况下,读速度可达到11万次/s,写速度达到8.1万次/s。

官方曾做过类似问题的回复:使用Redis时,几乎不存在CPU成为瓶颈的情况, Redis主要受限于内存和网络。

但是,单线程的设计也给Redis带来一些问题:

针对上面问题,Redis在4.0版本以及6.0版本分别引入了Lazy Free以及多线程IO,逐步向多线程过渡。

 

Redis服务器是一个事件驱动程序,服务器需要处理以下两类事件:

Redis服务器通过套接字与客户端(或者其他Redis服务器)进行连接。

文件事件就是服务器对套接字操作的抽象

服务器与客户端的通信会产生相应的文件事件,而服务器则通过监听并处理这些事件来完成一系列网络通信操作。

(eg: 连接accept,read,write,close等)

Redis服务器中的一些操作(eg: serverCron函数)需要在给定的时间点执行。

时间事件就是服务器对这类定时操作的抽象

(eg: 过期键清理,服务状态统计等)

Redis将文件事件和时间事件进行抽象,时间轮询器会监听I/O事件表:

一旦有文件事件就绪,Redis就会优先处理文件事件,

接着处理时间事件。

在上述所有事件处理上,Redis都是以单线程形式处理,所以说Redis是单线程的。

处理过程见下图

Redis基于Reactor模式开发了自己的I/O事件处理器,也就是文件事件处理器。

Redis在I/O事件处理上,采用了I/O多路复用技术,同时监听多个套接字,

并为套接字关联不同的事件处理函数,通过一个线程实现了多客户端并发处理。

处理过程见下图

上述的设计,在数据处理上避免了加锁操作,既使得实现上足够简洁,也保证了其高性能。

当然, Redis单线程只是指其在事件处理上 ,实际上,Redis也并不是单线程的,比如生成RDB文件,就会fork一个子进程来实现。

 

背景:

客户端向Redis发送一条耗时较长的命令,比如删除一个含有上百万对象的Set键,或者执行flushdb,flushall操作,

Redis服务器需要回收大量的内存空间,导致服务器卡住好几秒,对负载较高的缓存系统而言将会是个灾难。

为了解决这个问题,在Redis 4.0版本引入了Lazy Free, 将慢操作异步化 ,这也是在事件处理上向多线程迈进了一步。

将大键的删除操作异步化,采用非阻塞删除(对应命令UNLINK)。

大键的空间回收交由单独线程实现,主线程只做关系解除,可以快速返回,继续处理其他事件,避免服务器长时间阻塞。

意义:

Redis在4.0版本引入了Lazy Free,自此Redis有了一个 Lazy Free线程专门用于大键的回收

同时,也去掉了聚合类型的共享对象,这为多线程带来可能。

这为Redis在6.0版本实现了多线程I/O打下了基础。

 

Redis 6.0的多线程并未将事件处理改成多线程,而是在I/O上。

因为,如果把事件处理改成多线程,不但会导致锁竞争,而且会有频繁的上下文切换,

即使用分段锁来减少竞争,对Redis内核也会有较大改动,性能也不一定有明显提升。

流程简述如下:

见下图

 

Redis6.0的多线程默认是禁用的,只使用主线程。

如需开启需要修改redis.conf配置文件:

开启多线程后,还需要设置线程数,否则是不生效的。

同样修改redis.conf配置文件:

可以通过以下五步,解决ESXi/vCenter Server提示SSH事件:

1、vSphere Client连接到VC或者ESXi服务器;

2、在Home ->Inventory ->Hosts and Clusters里展开选中你的ESX服务器;

3、右边选择Configuration,然后点击Software栏目里的Advanced Settings;

4、在Advanced Settings里选择左边列表中的UserVars;

5、选中左边列表中的UserVars后,在右边拖到最下面,将UserVars.SuppressShellWarning的值改为1即可,不需要重启。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/738044.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-13
下一篇2023-08-13

发表评论

登录后才能评论

评论列表(0条)

    保存