精华内容
下载资源
问答
  • 因此,制定适当的事件响应策略或计划以应对网络攻击的影响并确保业务的平稳运行和业务数据的安全至关重要。 什么是事件响应策略? IR策略由各种指令和指南组成,可帮助事件处理人员识别,响应,缓解和从网络犯罪事件...

    在这里插入图片描述
    如今,网络犯罪已在世界范围内变得越来越普遍,促使组织提前制定竞争策略来处理网络犯罪事件,减少业务停机风险并降低损失成本。因此,制定适当的事件响应策略或计划以应对网络攻击的影响并确保业务的平稳运行和业务数据的安全至关重要。

    什么是事件响应策略?

    IR策略由各种指令和指南组成,可帮助事件处理人员识别,响应,缓解和从网络犯罪事件中恢复组织的数据。组织必须雇用事件管理人员来处理网络犯罪风险。此外,事件响应计划可以帮助消除网络攻击的影响,并在更短的时间内有效地恢复组织的数据。因此,在开始或扩展在线业务之前,设计具有竞争力的,结构合理的IR计划至关重要。

    为什么要制定事件响应策略?

    在当今时代,任何组织或企业都不会遭受网络攻击。因此,制定能够为您提供更安全的工作环境并帮助减轻安全风险的计划至关重要。因此,如果您是企业主,则应制定事件响应策略,以使企业更安全地实现其目标。

    精心准备的事件响应策略/计划可以使公司免受数据泄露的侵害,还可以降低财务和运营停机的风险。由于网络攻击可能会导致客户流失以及库存贬值,因此企业主必须准备高级的IR计划以消除各种风险。好的IR计划旨在:

    恢复业务数据。
    减少声誉和财务损失。
    快速有效地修复网络攻击。
    加强组织的Web数据以防止将来遭受攻击。
    除此之外,拥有结构合理的投资者关系政策可以为您的公司提供360度的保护,使其免受网络攻击,从而有助于维持组织的成长和水平。

    事件响应的四个阶段是什么?

    结构合理的事件响应计划可以帮助您提前计划竞争策略,这将有助于事件处理人员按照所有必要步骤正确地恢复数据。典型的事件响应阶段包括4个步骤,如下所示:

    事件响应的四个阶段是什么?

    第一阶段–规划/准备
    规划是IR团队的第一步,这使他们可以设置正确的工具和程序来应对未来的网络攻击。此阶段还包括两个步骤:

    识别和保护公司资产。
    过去事件的数据分析。
    每家公司都必须在其武库中制定一个先进且结构合理的IR计划,以防止数据泄露和财务损失。

    阶段2 –检测和分析
    此阶段包括检测和分析初始威胁,以制定应对网络威胁的竞争策略。每个组织都必须投资培训员工,以充分利用其人力。事件响应团队还必须回答多个问题才能有效解决情况,例如:

    该事件何时发生?
    什么是感染区?
    该事件的后果是什么?
    事件的根源是什么?
    牢记所有这些问题将有助于事件处理人员有效应对网络犯罪,并为以后的事件准备更好的计划和工具。

    第3阶段–遏制,根除和恢复
    此阶段可帮助IR团队正确跟踪所有受影响的系统,并收集所需的文档以制定恢复程序以带回所有必要的数据。此外,此阶段还可以帮助组织在在线市场上获得稳定的地位。

    阶段4 –事后活动
    此阶段涉及评估从当前情况中学到的经验教训和行动。此外,此阶段还应牢记所有必要信息,从而帮助网络安全事件响应团队形成良好的竞争策略。

    IR团队的职责是什么?

    网络安全事件响应团队的主要职责如下:

    调查最新的网络安全问题。
    定期进行法医研究,威胁分析并跟踪系统活动。
    适当检查威胁和潜在问题。
    定期对员工进行培训。
    事故评估。
    管理公司的网络防御工作。
    对过去的数据进行评估,以建立一个坚不可摧的安全系统。

    展开全文
  • Reactor响应式编程系列(二)- 背压策略BackPressure

    Reactor响应式编程系列导航

    我在上一篇文章中有涉及到背压策略,有一个案例中,我将消费的代码特意进行睡眠1秒的操作,但是依旧能将所有的数据最后都获取到,这是由于其默认的背压策略是Buffer,也就是将下游来不及消费的数据进行缓存,那么最终下游总是能把所有数据都接收到。 而写的下游向上游的request()操作根本看不出来有什么效果,这时候就会觉得难搞哦~

    在这里插入图片描述
    那么这篇文章就开始讲讲背压策略。那么首先肯定是从概念来讲起。

    一. Reactor中的背压

    我们知道一个前提:即Reactor是响应式编程框架,也就是从项目的角度来出发,后端数据发生变化,发出响应,主动推给前端进行更新。而背压——BackPressure就是为了控制上游向下游推送数据的一个流量,避免上游数据流动太快,导致下游处理不过来的情况发生。

    背压策略的相关定义在类FluxSink中的内部静态枚举类OverflowStrategy中:

    public static enum OverflowStrategy {
        IGNORE,
        ERROR,
        DROP,
        LATEST,
        BUFFER;
    
        private OverflowStrategy() {
        }
    }
    

    详细来说就是:

    • IGNORE:完全忽略下游背压请求。当下游队列充满时会导致IllegalStateException。
    • ERROR:在下游无法跟上时发出错误信号IllegalStateException。
    • DROP:如果下游尚未准备好接收信号,则丢弃该信号。
    • LATEST:让下游只从上游获取最新信号。
    • BUFFER:(默认值)以在下游无法跟上时缓冲所有信号。(这会实现无限缓冲,并可能导致OutOfMemoryError)。

    声明背压策略

    我们知道,有两种生成序列的方法是用于异步的:

    • create()
    • push()

    他们支持背压操作,以create()方法为例,其方法接口如下:

    // 在不带第二个参数的情况下,默认的背压是Buffer策略
    public static <T> Flux<T> create(Consumer<? super FluxSink<T>> emitter) {
        return create(emitter, OverflowStrategy.BUFFER);
    }
    
    public static <T> Flux<T> create(Consumer<? super FluxSink<T>> emitter, OverflowStrategy backpressure) {
        return onAssembly((Flux)(new FluxCreate(emitter, backpressure, CreateMode.PUSH_PULL)));
    }
    

    案例如下(参考 享学IT 的博客):

    public class Test3 {
        private final int EVENT_DURATION = 10;    // 生成的事件间隔时间,单位毫秒
        private final int EVENT_COUNT = 10;    // 生成的事件个数
        private final int PROCESS_DURATION = 30;    // 订阅者处理每个元素的时间,单位毫秒
    
    	// 一个事件源,用于创建多个事件,我们用上面的两个参数控制了事件创建的频率
    	// 通过Flux.create来转换成一个个Flux数据流。
        private Flux<EventSource.Event> fastPublisher;
        // 慢的订阅者,会继承BaseSubscriber,重写对应的方法
        private SlowSubscriber slowSubscriber;
        private EventSource eventSource;
        private CountDownLatch countDownLatch;
    
        private Flux<EventSource.Event> createFlux(FluxSink.OverflowStrategy strategy) {
        	// 事件源注册了一个监听器,负责监听新事件的创建以及事件源的停止
            return Flux.create(sink -> eventSource.register(new MyListener() {
                @Override
                public void newEvent(EventSource.Event event) {
                    System.out.println("上游------>数据源创建了新事件:" + event.getMsg());
                    sink.next(event);
                }
    
                @Override
                public void eventSourceStopped() {
                    sink.complete();
                }
            }), strategy); // 别忘了这里还有个背压策略的参数
        }
    
    	// 用来往数据源中添加事件用的,并通过定义的变量来控制频率,但是依旧发布的很快
        private void generateEvent(int times, int millis) {
            // 循环生成MyEvent,每个MyEvent间隔millis毫秒
            for (int i = 0; i < times; i++) {
                try {
                    TimeUnit.MILLISECONDS.sleep(millis);
                } catch (InterruptedException e) {
                }
                eventSource.newEvent(new EventSource.Event(new Date(), "Event-" + i));
            }
            eventSource.eventStopped();
        }
    
    
    	// 进行一些初始化操作
        @Before
        public void setup() {
            countDownLatch = new CountDownLatch(1);
            slowSubscriber = new SlowSubscriber();
            eventSource = new EventSource();
        }
    
        /**
         * 触发订阅,使用CountDownLatch等待订阅者处理完成。
         */
        @After
        public void subscribe() throws InterruptedException {
        	// 也就是Flux.subscribe(subscriber)
            fastPublisher.subscribe(slowSubscriber);
            // 创建数据源
            generateEvent(EVENT_COUNT, EVENT_DURATION);
            countDownLatch.await(1, TimeUnit.MINUTES);
        }
    
    
        @Test
        public void testCreateBackPressureStratety() {
            fastPublisher =
                    createFlux(FluxSink.OverflowStrategy.DROP)
                    		// 请求发生的时候,打印内容
                            .doOnRequest(n -> System.out.println("下游------>向上游请求" + n + "个数据"))
                            // 将任务运行于一个单线程上,并且指定订阅者每次向上游request的个数。默认是256
                            // 因为一般情况下,create是一个多线程的方法,发布者和订阅者不在同一个线程上
                            .publishOn(Schedulers.newSingle("newSingle"), 1);
        }
    
    
        class SlowSubscriber extends BaseSubscriber<EventSource.Event> {
    
            @Override
            protected void hookOnSubscribe(Subscription subscription) {
                // 订阅时请求1个数据
                request(1);
            }
    
            @Override
            protected void hookOnNext(EventSource.Event event) {
                System.out.println("线程" + Thread.currentThread().getName() + "接收数据:" + event.getMsg());
                try {
                    TimeUnit.MILLISECONDS.sleep(PROCESS_DURATION);
                } catch (InterruptedException e) {
                }
                // 每处理完1个数据,就再请求1个
                request(1);
            }
    
            @Override
            protected void hookOnComplete() {
                countDownLatch.countDown();
            }
        }
    }
    

    运行结果如下:
    在这里插入图片描述
    什么意思呢?就是:

    1. 在上游,也就是发布者,以10ms的频率(代码中定义的)去生成一个事件,并添加到事件源中。
    2. 事件源由于注册了监听器,因此监听到对应的事件,并将每个事件当做Flux序列中的一个元素(sink.next(event))。
    3. 而下游,也就是订阅者,订阅了发布者的数据源,想要去获取他的数据。而处理数据的过程需要耗费30ms(代码中定义的)。
    4. 而我代码用的背压策略是Drop,也就是下游来不及处理的数据会进行丢弃,因此会接收最近刚发布的数据,也就获得了上面的结果。
    5. 而在代码中添加一个CountDownLatch,是为了让事件源创建好指定数量的事件后,关闭sink,也就是需要调用Complete()方法,否则这个代码会一直跑下去。(不信大家可以把代码中最后面的countDownLatch.countDown();这个给注释掉再跑一下)

    其实我一开始并不是很懂这个程序的逻辑,但是我在这篇文章里尽量把注释都写了上去,并且将流程摆了出来,希望大家能够理解。
    同时我还是注明1点:

    • 在代码里用到了doOnRequest()这个方法,这个是干嘛的呢?

    Publisher使用subscribe()方法的时候,Subscriber触发回触发一系列的on方法,如onSubscribe()为了更好的监控以及观测异步序列的传递情况,设置了一系列的doOn方法,在触发on方法的时候作behavior的副作用发生用于监控行为的运行情况。

    不同的背压策略下的结果

    上面的案例使用的是Drop策略,那如果改为Buffer策略,也就是默认的情况下会怎样呢?
    在这里插入图片描述

    • 可以发现一开始下游的处理速度<上游创建事件速度。
    • 但是最后下游还是能够将上游的所有事件全部接收完毕。

    背压策略改为:ERROR
    在这里插入图片描述


    背压策略改为:LATEST
    在这里插入图片描述
    结果类似于DROP,但是却有本质的不同,大家需要仔细观察顺序:

    • DROP策略下,来不及处理的数据全部扔掉了,因此下游获取的数据时候可能会等待,直到上游刚推出一个新的数据。
    • 而LATEST策略下,来不及处理的数据是不会扔的,因此下游获取的数据是目前Flux序列中最新的一个元素。

    所以结果上来看:

    • DROP策略下:肯定是先有上游数据的创建,再有下游数据的接收,即我还需要等待上游发出数据。
    • LATEST策略下:在Flux序列不是空的情况下,输出和上游是否创建数据无关,即我尽管自己输出即可。

    背压策略改为:IGNORE
    在这里插入图片描述
    可见队列满了就直接抛异常了,忽略所谓的背压策略。

    二. request()限制请求

    我觉得有必要让request()这个方法的作用彻底的显现出来,因此又补了这个模块给大家,我相信大家看了这个就更能明白所谓的背压了。
    在这里插入图片描述
    废话不多说,上代码:

    @Test
    public void () {
        Flux<Integer> flux = Flux.range(1, 10).log();
    
        flux.subscribe(new BaseSubscriber<Integer>() {
            private int count = 0;
            private final int requestCount = 4;
    
            @Override
            protected void hookOnSubscribe(Subscription subscription) {
                request(requestCount);
            }
    
            @SneakyThrows
            @Override
            protected void hookOnNext(Integer value) {
                count++;
                // 通过count控制每次request两个元素
                if (count == requestCount) {
                    Thread.sleep(1000);
                    request(requestCount);
                    count = 0;
                }
            }
        });
    }
    

    来看看结果(每个输出停顿1秒,大家可以自己跑下,延长下睡眠的时间):
    在这里插入图片描述
    如果我将变量requestCount改为2,看看结果咋样:结果会是2个2个输出
    在这里插入图片描述

    这样一来是不是觉得对request()这个方法更加清晰了呢?

    接下来准备好好学习下Reactor中的几个Operator操作符,其实操作符很多地方是通用的,比如Stream、Spark、Flink等等,都有这些filter、map啥的API。那我们就在下一篇博客见喽~
    在这里插入图片描述

    展开全文
  • 使用python完成对http请求的响应及一些安全策略 Web主机配置 阿里云1核2G,1Mbps带宽,CentOS 8.2 64位 Apache Web服务器 暂时还未完成域名备案以及SSL证书安装 起源 最近和同学合作一款微信小程序,他负责前端,...

    使用python完成对https请求的响应及一些安全策略

    Web主机配置

    • 阿里云1核2G,1Mbps带宽,CentOS 8.2 64位
    • Apache Web服务器
    • 暂时还未完成域名备案以及SSL证书安装

    起源

    最近和同学合作一款微信小程序,他负责前端,我负责后端。由于python比较容易上手,所以选择python编写后端程序。

    后端完成的功能:

    • 完成对前端请求的响应
    • 防止数据泄露

    我接触后端只有几天,所以可能里面内容都是基础或是基础也算不上。有什么不足和可以改进之处希望可以指出。也希望大神们不要攻击我的服务器。

    安装Web服务器

    我使用的Web服务器为Apache,目前也有很多Nginx。Nginx在网站流量较高的场合更有优势,而在我主机带宽只有1Mbps下,两者似乎差不大多。

    yum install -y httpd	#安装apache
    systemctl start httpd	#启动apache
    chkconfig httpd on		#apache开机自启动
    

    开启端口

    首先在阿里云控制台中配置安全组规则,开放你想要打开的端口。

    安全组在控制台左侧菜单->网络与安全->安全组,点进去,配置规则,开放你想要开放的端口。

    如果你设置了firewall或者iptables,同样也要在其中开放这个端口,或者直接关闭firewall和iptables。这里以打开80端口为例,列出了你可能需要用到的指令。

    #关闭firewall
    service firewalld stop
    #firewall开放80端口
    firewall-cmd --permanent --add-port=80/tcp
    firewall-cmd --reload	#重新载入防火墙设置
    #关闭iptables
    service iptables stop
    #iptable开放80端口
    vim /etc/sysconfig/iptables	#打开iptables配置文件,在其中添加下面这行
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    service iptables restart	#重启iptables
    #或
    iptables -I INPUT -p tcp --dport 80 -j ACCEPT #开放80端口,单单使用这句也可以开放,但是重启iptables后失效
    service iptables save	#将上一条语句写入/etc/sysconfig/iptables中
    

    到此,你的服务器就可以对http请求进行响应了。在/var/www/html/目录下放入随便从哪找来的index.html,再在你电脑的浏览器中输入Web主机的公网ip,浏览器中便能显示刚刚放在Web主机上的网页了。

    编写Python程序

    首先我们需要进入到/var/www/html/目录下,启动Apache后,该目录将会对外公开。在这里我们需要创建一个python文件,用于实现后端功能。

    cd /var/www/html/
    mkdir port90	#创建一个目录,避免和主页文件混在一起
    cd port90
    vim port90.py	#创建py文件
    

    在py文件中写入以下内容:

    from http.server import HTTPServer, BaseHTTPRequestHandler
    import json
    
    class Resquest(BaseHTTPRequestHandler):
        def handler(self):
            print("data:", self.rfile.readline().decode())
            self.wfile.write(self.rfile.readline())
        def do_GET(self):
            if self.path != '/':
                self.send_error(404,'Page Not Find')
                return
            print('\n'+self.command)
            print(self.client_address)
            print(self.requestline)
            req_datas = self.rfile.read(int(self.headers['content-length'])).decode()
            print(req_datas)
            data = {
                'code': '200',
                'message': 'Success',
                'explain': ''
            }
            self.send_response(200)
            self.send_header('Content-type', 'application/json')
            self.end_headers()
            self.wfile.write(json.dumps(data).encode())
            
    if __name__ == '__main__':
        host = ('', 90)
        server = HTTPServer(host, Resquest)
        print("Starting server, listen at: %s:%s" % host)
        server.serve_forever()
    

    到此,你的服务器就可以根据你的需求对http请求进行相应了。do_GET是对http的GET请求进行处理,其他还有POST请求,PUT请求,DELETE请求等等,对应的函数都是同样的命名方式。

    由于我们使用了另一个端口,因此我们需要重复上一步的操作,再打开一个端口。

    本地请求

    为了方便后续调试,建议在本地写一个python程序用于发起请求。程序如下:

    import http.client
    import json
    ip_port = ''	#这里换成自己服务器的域名:port或者ip:port
    conn = http.client.HTTPConnection(ip_port)
    
    data = 'test'
    headers = {"Content-type":"text/html;charset=UTF-8"}
    conn.request('GET', '/', data ,headers)
    response = conn.getresponse()
    content = response.read().decode()
    print(content)
    

    此程序的作用是向服务器分别发起一次GET请求,并打印出响应。服务器端运行python程序,本地再运行python程序便能查看结果。

    让程序与窗口分离

    虽然现在可以正常请求与响应,但是你会发现当你关闭终端时,python程序不再运行了,也就是说,你必须让你的电脑与Web主机保持连接,否则python程序将会终止,服务器不再可以根据你的想法对http进行响应。

    这里我们可以使用tmux,将会话与窗口分离,实现终端窗口关闭而程序仍在会话中继续运行。

    sudo yum install tmux	#安装tmux
    tmux new -s 'port90'	#创建名为port90的会话
    python3 port90.py		#运行程序
    #此时按Ctrl+b,松开后按d可分离会话
    

    现在你就可以关闭ssh连接,本地运行刚刚的python程序,可以正常获取服务器的响应。

    API规范化

    我的主要任务是提供API给前端,让前端可以通过API调用Web主机的资源。响应内容格式的规范化有助于前端调试时更快找到错误原因。一般情况下响应分为这么几个部分:响应行、响应头、响应体。具体可以看这个博客

    API的规范化可以参考这篇文章

    安全策略

    目前服务器尚未投入使用,但是我发现总有很多访问记录,我担心数据泄露以及服务器安全,故增加一些安全措施,尽可能避免这些问题。

    • 设置ip黑名单,

      若一个ip出现异常访问,可能是爬虫也可能是攻击者,不论怎样,列入黑名单,同时使用iptables屏蔽该ip。

      iptables -I INPUT -s 123.44.55.66 -j DROP	#封杀123.44.55.66
      iptables -D INPUT -s 123.44.55.66 -j DROP	#解除封杀123.44.55.66
      service iptables save	#将上一条语句写入/etc/sysconfig/iptables中
      
    • 检查访问路径

      访问我服务器的大多是一些爬虫,它们只会访问固定的几个路径,我们只需判断其访问路径是否合法,不合法则直接发送404响应即可。

    • 限制访问次数

      记录一个ip在同一天内访问的次数,大于次数则直接发送错误响应。

    • 限制请求的字符串长度

      由于我在程序中使用了eval()函数,因此很怕传入的字符串中出现一些python语句,故限制字符串长度。

    • 关键字检查

      理由同上,这里主要检查如os,import等关键词,出现则返回错误响应。

    • 数据中加入token

      关于token可以参考这个博客

    • 数据传输加密

      数据传输加密方式有很多种,我使用的就不公开了。可以参考这个博客

    展开全文
  • 应急响应实施方案

    2021-10-24 21:08:49
    应急响应实施方案 文章目录应急响应实施方案1 准备阶段(Preparation)1.1.1 负责人准备内容1.1.2 技术人员准备内容1.1.3 场人员准备内容2. 检测阶段(Examination) 1 准备阶段(Preparation) 目标:在事件真正...

    应急响应实施方案

    1 准备阶段(Preparation)

    目标:在事件真正发生前为应急响应做好预备性的工作。

    角色:技术人员、市场人员。

    内容:根据不同角色准备不同的内容。

    输出:《准备工具清单》、《事件初步报告表》、《实施人员工作清单》[z1]

    1.1.1 负责人准备内容

    制定工作方案和计划;

    提供人员和物质保证;

    审核并批准经费预算、恢复策略、应急响应计划;

    批准并监督应急响应计划的执行;

    指导应急响应实施小组的应急处置工作;

    启动定期评审、修订应急响应计划以及负责组织的外部协作。

    1.1.2 技术人员准备内容

    服务需求界定

    首先要对服务对象的整个信息系统进行评估,明确服务对象的应急需求,具体包含以下内容:

    1. 应急响应小组应了解应急服务对象的各项业务功能及其之间的相关性,确定支持各种业务功能的相关信息系统资源及其他资源,明确相关信息的保密性、完整性和可用性要求;

    2. 对服务对象的信息系统,包括应用程序,服务器,网络及任何管理和维护这些系统的流程进行评估,确定系统所执行的关键功能,并确定执行这些关键功能所需要的特定系统资源;

    3. 应急响应小组采用定性或定量的方法,对业务中断、系统宕机、网络瘫痪等突发安全事件造成的影响进行评估;

    4. 应急响应小组协助服务对象建立适当的应急响应策略,应提供在业务中断、系统宕机、网络瘫痪等突发安全事件发生后快速有效的恢复信息系统运行的方法;

    5. 应急响应小组为服务对象提供相关的培训服务,以提高服务对象的安全意识,便于相关责任人明确自己的角色和责任,了解常见的安全事件和入侵行为,熟悉应急响应策略。

    主机和网络设备安全初始化快照和备份

    在系统安全策略配置完成后,要对系统做一次初始安全状态快照。这样,如果以后在出现事故后对该服务器做安全检测时,通过将初始化快照做的结果与检测阶段做的快照进行比较,就能够发现系统的改动或异常。

    1. 对主机系统做一个标准的安全初始化的状态快照,包括的主要内容有:
    • 日志及审核策略快照等;

    • 用户账户快照;

    • 进程快照;

    • 服务快照;

    • 自启动快照

    • 关键文件签名快照;

    • 开放端口快照;

    • 系统资源利用率的快照;

    • 注册表快照;

    • 计划任务快照等等;

    1. 对网络设备做一个标准的安全初始化的状态快照,包括的主要内容有:
    • 路由器快照;

    • 防火墙快照;

    • 用户快照;

    • 系统资源利用率等快照。

    1. 信息系统的业务数据及办公数据均十分重要,因此需要进行数据存储及备份。目前,存储备份结构主要有DAS、SAN和NAS,以及通过磁带或光盘对数据进行备份。各服务对象可以根据自身的特点选择不同的存储产品构建自己的数据存储备份系统。

    工具包的准备[z2]

    应急服务提供者应根据应急服务对象的需求准备处置网络安全事件的工具包,包括常用的系统基本命令、其他软件工具等;

    应急服务提供者的工具包中的工具最好是采用绿色免安装的,应保存在安全的移动介质上,如一次性可写光盘、加密的U盘等;

    应急服务提供者的工具包应定期更新、补充;

    必要技术的准备

    上述是针对应急响应的处理涉及到的安全技术工具涵盖应急响应的事件取样、事件分析、事件隔离、系统恢复和攻击追踪等各个方面,构成了网络安全应急响应的技术基础。所以我们的应急响应服务实施成员还应该掌握以下必要的技术手段和规范,具体包括以下内容:

    1. 系统检测技术,包括以下检测技术规范:
    • Windows系统检测技术规范;

    • Unix系统检测技术规范;

    • 网络安全事故检测技术规范;

    • 数据库系统检测技术规范;

    • 常见的应用系统检测技术规范;

    1. 攻击检测技术,包括以下技术:
    • 异常行为分析技术;

    • 入侵检测技术;

    • 安全风险评估技术;

    1. 攻击追踪技术;
    1. 现场取样技术;
    1. 系统安全加固技术;
    1. 攻击隔离技术;
    1. 资产备份恢复技术;

    1.1.3 场人员准备内容

    和服务对象建立长期友好的业务关系;

    和服务对象签订应急服务合同或协议;

    建立预防和预警机制,及时上报。

    1. 预防和预警机制
    • 市场人员要严格按照应急响应负责人的安排和建议,及时提醒服务对象提高防范网络攻击、病毒入侵、网络窃密等的能力,防止有害信息传播,保障服务对象网络的安全畅通。

    • 将协会网络信息中心会发布的病毒预防警报以及更新的防护策略及时有效地告知服务对象,做好防护策略的更新。

    1. 信息系统检测和报告
    • 按照“早发现、早报告、早处置”的原则,市场人员要加强对服务对象信息系统的安全检测结果的通告,收集可能引发信息安全事件的有关信息、进行分析判断。

    • 如服务对象发现有异常情况或有信息安全事件发生时,要立即向协会网络信息中心应急响应负责人报告,并填写事件初步报告表。

    • 要求服务对象持续监测信息系统状况,密切关注应急响应负责人提出初步行动对策和行动方案,听从指令和安排,及时减小损失。

    2. 检测阶段(Examination)

    目标:接到事故报警后在服务对象的配合下对异常的系统进行初步分析,确认其是否真正发生了信息安全事件,制定进一步的响应策略,并保留证据。

    角色:应急服务实施小组成员、应急响应日常运行小组;

    内容:

    (1) 检测范围及对象的确定;

    (2) 检测方案的确定;

    (3) 检测方案的实施;

    (4) 检测结果的处理。

    输出:《检测结果记录》

    2.1 实施小组人员的确定

    应急响应负责人根据《事件初步报告表》的内容,初步分析事故的类型、严重程度等,以此来确定临时应急响应小组的实施人员的名单。

    2.2 检测范围及对象的确定

    应急服务提供者应对发生异常的系统进行初步分析,判断是否正真发生了安全事件;

    应急服务提供者和服务对象共同确定检测对象及范围;

    检测对象及范围应得到服务对象的书面授权。

    2.3 检测方案的确定

    应急服务提供者和服务对象共同确定检测方案;

    应急服务提供者制定的检测方案应明确应急服务提供者所使用的检测规范;

    应急服务提供者制定的检测方案应明确应急服务提供者的检测范围,其检测范围应仅限于服务对象已授权的与安全事件相关的数据,对服务对象的机密性数据信息未经授权的不得访问;

    应急服务提供者制定的检测方案应包含实施方案失败的应变和回退措施;

    应急服务提供者和服务对象充分沟通,并预测应急处理方案可能造成的影响。

    2.4 检测方案的实施

    检测搜集系统信息

    • 记录时使用目录及文件名约定:

    在受入侵的计算机的D盘根目录下(D:\)(如果无D盘则在其他盘根目录下)建立一个qihoo目录,目录中包含以下子目录:

    artifact:用于存放可疑文件样本
    cmdoutput:用于记录命令行输出结果
    screenshot:用于存放屏幕拷贝文件
    log:用于存放各类日志文件

    • 文件格式:

      命令行输出文件缺省仅使用TXT格式。
      日志文件及其他格式尽量使用TXT、CSV和其他不需要特殊工具就可以阅读的格式。
      屏幕拷贝文件应该使用JPG格式。
      可疑文件样本最好加密压缩为zip格式,默认密码为:qihoo360

    • 搜集操作系统基本信息

    1.右键点击“我的电脑>属性” 将“常规”、“自动更新”、“远程”3个选卡各制作一个窗口拷贝(使用Alt+PrtScr)。并保存到qihoo\screenshot目录下,文件名称应该使用:系统常规-01、自动更新-01、远程-01等形式命名。

    2.进入CMD状态,“开始 > 运行 > cmd”,进入D盘根目录下的qihoo目录,执行一下命令:

    netstat -nao > netstat.txt (网络连接信息)

    tasklist > tasklist.txt (当前进程信息)

    ipconfig /all > ipconfig.txt(IP属性)

    ver > ver.txt (操作系统属性)

    • 日志信息

    目标:导出所有日志信息;

    说明:进入管理工具,将“管理工具 > 事件察看器”中,导出所有事件,分别使用一下文件名保存: application.txt、security.txt、system.txt。

    • 帐号信息

    目标:导出所有帐号信息;

    说明:使用net user,net group,net local group命令检查帐号和组的情况,使用计算机管理查看本地用户和组,将导出的信息保存在D:\qihoo\user中

    主机检测

    • 日志检查

    目标:
    1、从日志信息中检测出未授权访问或非法登录事件;

    2、从IIS/FTP日志中检测非正常访问行为或攻击行为;

    说明:
    1、检查事件查看器中的系统和安全日志信息,比如:安全日志中异常登录时间,未知用户名登录;

    2、检查%WinDir%\System32\LogFiles 目录下的WWW日志和FTP日志,

    比如WWW日志中的对shell.asp文件的成功访问。

    • 帐号检查

    目标:检查帐号信息中非正常帐号,隐藏帐号;

    说明:通过询问管理员或负责人,或者和系统的所有的正常帐号列表做对比,判断是否有可疑的陌生的账号出现,利用这些获得的信息和前面准备阶段做的帐号快照工作进行对比。

    • 进程检查

    目标:检查是否存在未被授权的应用程序或服务

    说明:使用任务管理器检查或使用进程查看工具进行查看,利用这些获得的信息和前面准备阶段做的进程快照工作进行对比,判断是否有可疑的进程。

    • 服务检查

    目标:检查系统是否存在非法服务

    说明:使用“管理工具”中的“服务”查看非法服务或使用360安全卫士、Wsystem察看当前服务情况,利用这些获得的信息和准备阶段做的服务快照工作进行对比。

    • 自启动检查

    目标:检查未授权自启动程序

    说明:检查系统各用户“启动”目录下是否存在未授权程序。

    • 网络连接检查

    目标:检查非正常网络连接和开放的端口

    说明:关闭所有的网络通讯程序,以免出现干扰,然后使用ipconfig, netstat –an或其它第三方工具查看所有连接,检查服务端口开放情况和异常数据的信息。

    • 共享检查

    目标:检查非法共享目录。

    说明:使用net share或其他第三方的工具检测当前开放的共享,使用$是隐藏目录共享,通过询问负责人看是否有可疑的共享文件。

    • 文件检查

    目标:检查病毒、木马、蠕虫、后门等可疑文件。

    说明:使用防病毒软件检查文件,扫描硬盘上所有的文件,将可疑文件进行提取加密压缩成.zip,保存到qihoo\artifact目录下的相应子目录中。

    • 查找其他入侵痕迹

    目标:查找其它系统上的入侵痕迹,寻找攻击途径

    说明:其它系统包括:同一IP地址段或同一网段的系统、同一域的其他系统、拥有相同操作系统的其他系统。

    2.5 检测结果的处理

    确定安全事件的类型

    经过检测,判断出信息安全事件类型。信息安全事件可以有以下7个基本分类:

    • 有害程序事件:蓄意制造、传播有害程序,或是因受到有害程序的影响而导致的信息安全事件。

    • 网络攻击事件:通过网络或其他技术手段,利用信息系统的配置缺陷、协议缺陷、程序缺陷或使用暴力攻击对信息系统实施攻击,并造成信息系统异常或对信息系统当前运行造成潜在危害的信息安全事件。

    • 信息破坏事件:通过网络或其他技术手段,造成信息系统中的信息被篡改、假冒、泄漏、窃取等而导致的信息安全事件。

    • 信息内容安全事件:利用信息网络发布、传播危害国家安全、社会稳定和公共利益的内容的安全事件。

    • 设备设施故障:由于信息系统自身故障或外围保障设施故障而导致的信息安全事件,以及人为的使用非技术手段有意或无意的造成信息系统破坏而导致的信息安全事件。

    • 灾害性事件:由于不可抗力对信息系统造成物理破坏而导致的信息安全事件。

    • 其他信息安全事件:不能归为以上6个基本分类的信息安全事件。

    评估突发信息安全事件的影响

    采用定量和/或定性的方法,对业务中断、系统宕机、网络瘫痪数据丢失等突发信息安全事件造成的影响进行评估:

    确定是否存在针对该事件的特定系统预案,如有,则启动相关预案;如果事件涉及多个专项预案,应同时启动所有涉及的专项预案;

    如果没有针对该事件的专项预案,应根据事件具体情况,采取抑制措施,抑制事件进一步扩散。

    3 抑制阶段(Suppresses)

    目标:及时采取行动限制事件扩散和影响的范围,限制潜在的损失与破坏,同时要确保封锁方法对涉及相关业务影响最小。

    角色:应急服务实施小组、应急响应日常运行小组。

    内容:

    (1) 抑制方案的确定;

    (2) 抑制方案的认可;

    (3) 抑制方案的实施;

    (4) 抑制效果的判定;

    输出:《抑制处理记录表》[z3]

    3.1 抑制方案的确定

    应急服务提供者应在检测分析的基础上,初步确定与安全事件相对应的抑制方法,如有多项,可由服务对象考虑后自己选择;

    在确定抑制方法时应该考虑:

    • 全面评估入侵范围、入侵带来的影响和损失;

    • 通过分析得到的其他结论,如入侵者的来源;

    • 服务对象的业务和重点决策过程;

    • 服务对象的业务连续性。

    3.2 抑制方案的认可

    应急服务提供者应告知服务对象所面临的首要问题;

    应急服务提供者所确定的抑制方法和相应的措施应得到服务对象的认可;

    在采取抑制措施之前,应急服务提供者要和服务对象充分沟通,告知可能存在的风险,制定应变和回退措施,并与其达成协议。

    3.3 抑制方案的实施

    应急服务提供者要严格按照相关约定实施抑制,不得随意更改抑制的措施的范围,如有必要更改,需获得服务对象的授权;

    抑制措施包含但不仅限于以下几方面:

    • 确定受害系统的范围后,将被害系统和正常的系统进行隔离,断开或暂时关闭被攻击的系统,使攻击先彻底停止;

    • 持续监视系统和网络活动,记录异常流量的远程IP、域名、端口;

    • 停止或删除系统非正常帐号,隐藏帐号,更改口令,加强口令的安全级别;

    • 挂起或结束未被授权的、可疑的应用程序和进程;

    • 关闭存在的非法服务和不必要的服务;

    • 删除系统各用户“启动”目录下未授权自启动程序;

    • 使用net share或其他第三方的工具停止所有开放的共享;

    • 使用反病毒软件或其他安全工具检查文件,扫描硬盘上所有的文件,隔离或清除病毒、木马、蠕虫、后门等可疑文件;

    • 设置陷阱,如蜜罐系统;或者反击攻击者的系统。

    3.4 抑制效果的判定

    防止事件继续扩散,限制了潜在的损失和破坏,使目前损失最小化;

    对其它相关业务的影响是否控制在最小。

    4 根除阶段(Eradicates)

    目标:对事件进行抑制之后,通过对有关事件或行为的分析结果,找出事件根源,明确相应的补救措施并彻底清除。

    角色:应急服务实施小组、应急响应日常运行小组。

    内容:

    (1) 根除方案的确定;

    (2) 根除方案的认可;

    (3) 根除方案的实施;

    (4) 根除效果的判定;

    输出:《根除处理记录表》

    4.1 根除方案的确定

    应急服务提供者应协助服务对象检查所有受影响的系统,在准确判断安全事件原因的基础上,提出方案建议;

    由于入侵者一般会安装后门或使用其他的方法以便于在将来有机会侵入该被攻陷的系统,因此在确定根除方法时,需要了解攻击者时如何入侵的,以及与这种入侵方法相同和相似的各种方法。

    4.2 根除方案的认可

    应急服务提供者应明确告知服务对象所采取的根除措施可能带来的风险,制定应变和回退措施,并得到服务对象的书面授权;

    应急服务提供者应协助服务对象进行根除方法的实施。

    4.3 根除方案的实施

    应急服务提供者应使用可信的工具进行安全事件的根除处理,不得使用受害系统已有的不可信的文件和工具;

    根除措施易包含但不仅限与以下几个方面:

    • 改变全部可能受到攻击的系统帐号和口令,并增加口令的安全级别;

    • 修补系统、网络和其他软件漏洞;

    • 增强防护功能:复查所有防护措施的配置,安装最新的防火墙和杀毒软件,并及时更新, 对未受保护或者保护不够的系统增加新的防护措施;

    • 提高其监视保护级别,以保证将来对类似的入侵进行检测;

    4.4 根除效果的判定

    找出造成事件的原因,备份与造成事件的相关文件和数据;

    对系统中的文件进行清理,根除;

    使系统能够正常工作。

    5 恢复阶段(Restoration)

    目标:恢复安全事件所涉及到得系统,并还原到正常状态,使业务能够正常进行,恢复工作应避免出现误操作导致数据的丢失。

    角色:应急服务实施小组、应急响应日常运行小组。

    内容:

    (1) 恢复方案的确定;

    (2) 恢复信息系统;

    输出:《恢复处理记录表》

    5.1 恢复方案的确定

    应急服务提供者应告知服务对象一个或多个能从安全事件中恢复系统的方法,及他们可能存在的风险;

    应急服务提供者应和服务对象共同确定系统恢复方案,根据抑制和根除的情况,协助服务对象选择合适的系统恢复的方案,恢复方案涉及到以下几方面:

    • 如何获得访问受损设施或地理区域的授权;

    • 如何通知相关系统的内部和外部业务伙伴;

    • 如何获得安装所需的硬件部件;

    • 如何获得装载备份介质;如何恢复关键操作系统和应用软件;

    • 如何恢复系统数据;

    • 如何成功运行备用设备

    如果涉及到涉密数据,确定恢复方法时应遵循相应的保密要求。

    5.2 恢复信息系统

    应急响应实施小组应按照系统的初始化安全策略恢复系统;

    恢复系统时,应根据系统中个子系统的重要性,确定系统恢复的顺序;

    恢复系统过程宜包含但不限于以下方面:

    • 利用正确的备份恢复用户数据和配置信息;

    • 开启系统和应用服务,将受到入侵或者怀疑存在漏洞而关闭的服务,修改后重新开放;

    • 连接网络,服务重新上线,并持续监控持续汇总分析,了解各网的运行情况;

    对于不能彻底恢复配置和清除系统上的恶意文件,或不能肯定系统在根除处理后是否已恢复正常时,应选择彻底重建系统;

    应急服务实施小组应协助服务对象验证恢复后的系统是否正常运行;

    应急服务实施小组宜帮助服务对象对重建后的系统进行安全加固;

    应急服务实施小组宜帮助服务对象为重建后的系统建立系统快照和备份;

    6 总结阶段(Summary)

    目标:通过以上各个阶段的记录表格,回顾安全事件处理的全过程,整理与事件相关的各种信息,进行总结,并尽可能的把所有信息记录到文档中。

    角色:应急服务实施小组、应急响应日常运行小组。

    内容:

    事故总结:

    应急服务提供者应及时检查安全事件处理记录是否齐全,是否具备可塑性,并对事件处理过程进行总结和分析;

    应急处理总结的具体工作包括但不限于以下几项:

    • 事件发生的现象总结;

    • 事件发生的原因分析;

    • 系统的损害程度评估;

    • 事件损失估计;

    • 采取的主要应对措施;

    相关的工具文档(如专项预案、方案等)归档。

    事故报告:

    • 应急服务提供者应向服务对象提供完备的网络安全事件处理报告;

    • 应急服务提供者应向服务对象提供网络安全方面的措施和建议;

    展开全文
  • http响应头安全策略(nginx版)

    千次阅读 2021-05-06 18:01:15
    响应头文件安全策略 针对当前环境下,对网络安全的要求较高,平台的搭建从各个方面都在增强安全性。以下是从http头文件的方面,利用参数设置开启浏览器的安全策略,来实现相关的安全机制。由于目前的服务环境未nginx...
  • 我创建了旅行服务器.它运行正常,我们可以通过Insomnia发出POST请求但是当我们在前端通过axios发出POST请求时,它会发送一个错误:has been blocked by CORS policy: Response to preflight request doesn’t pass ...
  • 本发明涉及计算机数据安全技术领域,特别是涉及一种智能自动化的内网应用系统应急响应处置的方法。背景技术:随着电网企业信息化建设的快速发展,电网根据业务要求,部署和实施了多套应用系统,同时也需要大量的安全...
  • 响应式编程

    千次阅读 2021-02-27 19:21:34
    响应式编程响应式编程是一种异步编程范式,它关注数据流和变化的传播。这意味着可以通过使用编程语言轻松地表示静态(例如数组)和动态(例如事件发射器)数据流。Reactive Streams为基于JVM的响应库提供了规范,它定义...
  • 服务器响应失败

    2021-08-10 07:16:39
    服务器响应失败 内容精选换一换根据输入条件过滤查询伸缩活动日志,支持查询实例伸缩、ELB迁移、实例备用等类型活动。查询结果分页显示。查询伸缩活动日志V2版本与V1版本区别在于,V2版本展示了更详细的实例伸缩日志...
  • DNS办事器是计较机域名系统(DomainNameService)的缩写,它是由域名解析器和域名办事器构成的。域名办事器是指保留无该收集外所无从机的域名和对当IP地址,并具无将域名转换为IP地址功能的办事器。...
  • 服务器的平均响应时间 内容精选换一换七层负载均衡HTTP和HTTPS可以通过监控指标项可以查看ELB的平均响应时间,同时可以通过日志查看每一次请求的响应时间。登录控制台,并单击需要查询的负载均衡名称。切换到“监控...
  • 远程服务器无响应

    2021-08-10 04:21:43
    远程服务器无响应 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。如果普通远程连接软件(如...
  • 慢调用比例 (SLOW_REQUEST_RATIO):选择以慢调用比例作为阈值,需要设置允许的慢调用 RT(即最大的响应时间),请求的响应时间大于该值则统计为慢调用。当单位统计时长(statIntervalMs)内请求数目大于设置的最小...
  • apache服务器响应时间

    2021-08-11 12:17:06
    apache服务器响应时间 内容精选换一换引言 Tomcat 统计请求响应时间 Nginx 统计请求和后台服务响应时间 AWK 简介 基本概念 使用场景举例 浏览器类型统计 发现系统存在的问题 状态码相关统计 追查谁在盗链网站图片 IP...
  • 有时候可能会遇到win7系统玩dnf经常未响应的问题,如果我们遇到了win7系统玩dnf经常未响应的问题,要怎么处理win7系统玩dnf经常未响应呢?接下来给大家带来win7系统玩dnf经常未响应的详细解决方法:1.在桌面按下“Win...
  • 邮件对方服务器未响应 内容精选换一换MX优先级,用来指定邮件服务器接收邮件的先后顺序,数值越小优先级越高。当DNS服务器的解析记录中只有一条MX记录时,MX优先级没有意义。当DNS服务器的解析记录中存在多条MX记录...
  • 对于win7dnf登录黑屏未响应|win7系统未响应黑屏的解决方法,很多用户都遇到过win7dnf登录黑屏,或者游戏过程中未响应的问题,很多小伙伴们对此都是头疼不已,为了帮助小伙伴们解决这个问题,小编特地带来了相关的win...
  • win10音频服务未响应怎么办?win10音频服务未响应一般来说都是驱动和设置上的问题,当然也有可能是硬件外设没弄好的原因,下面小编介绍win10音频服务未响应的修复方法,具体见下面介绍。win10音频服务未响应怎么办1....
  • 路由器提示远程服务器未响应 内容精选换一换当云服务器网络异常、防火墙未放行本地远程桌面端口、云服务器CPU负载过高等场景均可能导致云服务器无法正常登录。当您的云服务器无法远程登录时,我们建议您首先检查是否...
  • 《操作系统最高响应比优先调度算法实验报告》由会员分享,可在线阅读,更多相关《操作系统最高响应比优先调度算法实验报告(10页珍藏版)》请在人人文库网上搜索。1、进程调度模拟设计最高响应比优先调度算法实验报告...
  • 有许多HTTP响应头可以用来提高web应用程序的安全性。如果有必要,Spring Security也可以配置为提供自定义头。
  • 您可能感兴趣的话题:dns服务器未响应核心提示:平日上网中,很多朋友遇到过dns服务器未响应的问题,本教程为大家介绍出现此故障的原因及采取的措施。相信在平日上网中,很多朋友遇到过dns服务器未响应的问题,那么...
  • 宽带wifi服务器无响应

    2021-08-13 00:49:17
    宽带wifi服务器无响应 内容精选换一换正常返回值说明200 OKGET和PUT操作正常返回。201 CreatedPOST操作正常返回。202 Accepted请求已被接受。204 No Content正常返回。异常返回值说明400 Bad Request服务器未能处理...
  • 响应比最高者优先算法实验题目:响应比最高者优先算法实验目的熟悉操作系统作业管理步骤,用C语言编程模拟实现响应比最高者优先算法。实验环境及仪器设备硬件环境:IBM-PC或兼容机软件环境:C语言编程环境实验算法...
  • 华为网络配置(策略路由)

    千次阅读 多人点赞 2021-12-12 19:47:26
    一、策略路由概述 1、策略路由介绍 2、策略路由优点 3、本地策略路由 4、本地策略路由实现原理 5、接口策略路由 6、接口策略路由实现原理 7、智能策略路由 8、智能策略路由产生背景 9、特性依赖和限制 二...
  • 解决Win7系统本地组策略编辑器无法使用怎么办的步骤如下:1.在win10系统桌面上,空白处。右键,新建-文本文档。2.双击打开新建文本文档。3.把下面代码复制,粘贴上去。Windows Registry Editor Version 5.00[HKEY_...
  • Python3 response响应常用的方法例子一:获取HTTP请求响应码import urllib.requestheader={"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 ...
  • 相信在平日上网中,很多朋友遇到过dns服务器未响应的问题,那么出现此故障是什么原因呢?又该如何解决呢?dns服务器支持多线解析,特别适合有多条出口线路的运营商。dns服务器对于外部DNS服务器对于外部INTERNET访问...
  • 方法一: 1.进入 2....如下图所示 3.在服务窗口中,找到“ 4.... 6....如下图所示 7....如下图所示 方法二: 一般是有...以上就是系统520小编为各位用户带来的音频服务未响应怎么办详细内容了,想看更多相关文章欢迎您关注系统520。
  • 某用户域环境桌面需要配置一些安全策略,经需求分析和技术应用,需要采用计算机策略,但是过程中发现:默认容器Computer中的计算机移动到管理用自定义的OU里时,待用户下次登录桌面后,相应计算机会重新回移到默认...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 372,085
精华内容 148,834
关键字:

响应策略