演示:思科IPS在线模式下Inline Interface Mode的响应行为(区别各个防御行为)
演示:思科IPS在线模式下Inline Interface Mode的响应行为
演示目标:科IPS在线模式下InlineInterface Mode的响应行为。
演示环境:仍然使用图5.16所示的网络环境。
演示背景:在VLAN3的主机192.168.4.2上发起对主机192.168.4.1的漏洞扫描进行,确定该主机的安全漏洞,为***行为做准备,但是现在主机192.168.4.2对主机192.168.4.1的扫描流量要经过在线模式的IPS才能到达目标主机,此时IPS就能检测到扫描流量,但是默认情况下IPS对只对该进行进行报警,并不执行其它的其它行为,此时,需要调整相关的signature,使用阻止并过滤扫描进行为,然而思科的IPS可以提供的防御行为有很多种,那么在这个案例中,会帮助大家去理解每一种防御行为,然后测试典型的防御行为。
演示工具:X-Scan扫描器,思科的IPS系统。
演示步骤:
第一步:在192.168.4.2上使用X-scan对192.168.4.1进行漏洞扫描,图5.33所示为指定需要扫描的主机的IP地址范围,在这里是主机192.168.4.1,然后开始执行扫描如下图5.34所示,可以扫描出192.168.4.1开放的端口和漏洞。
第二步:现在到思科IPS系统上查看事件,如下图5.35所示,IPS报告了一个TCP端口扫描的事件,安全等级是Low(低),事实上也是,扫描是为***或者***做准备的***行为,也是一个非法行为的开始。但是这并不意味着真正的***或者***开始了,所以它的安全报警级别是低,就即便是这样,我们也不能让客户如愿以偿的进行“快乐扫描”,所以现在我们要分析TCP端口扫描事件的详细内容,请选中该事件,然后点击Details按钮。
得到如下图5.36所示的详细信息,可以看到触发该报警的SigID是3002,它指示着一个基于TCP SYN的扫描,并显示了***者和目标的IP地址,以及触发了目标那些端口。
第三步:现在开始做防御工作,因为触发SigID3002(TCP SYN扫描)默认的行为是报警,而此时,管理员认为这种单纯的报警行为是不足以达到阻止***扫描的目标,所以需要修改SigID3002的Actions选项,使其阻止***的扫描行为,首先如图5.37所示,通过SigID找到3002的signature的位置,然后单击Actions出现如图5.38所示的对话框,请选择Deny attacker Inline,该选项的意义是:触发signature的源主机的所有流量将被deny,不管是它访问别人或者别人访问该主机的流量都全部deny。然后点击OK,最后将配置应用,如下图5.39所示。
注意:如图5.38所示的Actions选项中有很多种防御行为的选择,这将在演示过程的最后环节来详细描述每一种行为的作用和意义!
第四步:现在主机192.168.4.2 ping一次192.168.4.1,如图5.40所示,能成功ping通,因为现在主机192.168.4.2并没有做出违规事件,此时在主机192.168.4.2上再次使用X-scan扫描主机192.168.4.1,结果如图5.41所示,什么内容也扫描不出来,因为主机192.168.4.2到192.168.4.1的所有扫描流量都被处于在线模式下的IPS拒绝了,此时,除了扫描流量被拒绝以外,主机192.168.4.2到任何主机的任何流量都会被拒绝,可以在主机192.168.4.2上再ping一次192.168.4.1结果如下图5.42所示,通信失败。
此时,可以通地monitoring\DeniedAttackers,可以看到如图5.43所示的黑名单,明显可看出主机192.168.4.2被放入的黑名单中,所以它不能与任何主机通信。如果要让主机192.168.4.2恢复通信能力,必须点击Clear list将其从被拒绝名单中清除,现在将其清除,让主机恢复通信能力,当完成清除后,再到主机192.168.4.2上ping 192.168.4.1,如图5.44所示,恢复通信能力。
当触发signature时,在Actions中有很多的防御行为,如下图5.45所示,现在我们逐个来分析这些不同防御行为的功能与差异,具体如下所述:
üDeny attacker inline:触发signature的源主机的所有流量将被deny,不管是它访问别人或者别人访问该主机的流量都通通deny。
üDeny attacker service pair inline: 触发signature的源主机去往目标特点端口号的流量全部被deny,匹配相同的源和目标的端口号。比如有一个attacker在telnet交换机S1时,执行了恶意代码,触发了signature的Deny attacker service pair inline,那么此时,这个attacker再去往telnet S2、S3、或者Rx都会被拒绝,因为你在执telnet行为时违规,那么就在所有目标端口是23的流量中拒绝你。但是attacker可以与该或者其它主机进行非23号端口的通信,比如ping等。
üDeny attacker Victim Pair inline:触发Signature的源主机(attacker)和目标主机Victim(受害者)之间的流量被deny,但是与其它通信点之间的流量可以正常进行。
üDeny connection inline:只针对TCP会话生效,触发Signature的源主机(attacker)的当前会话被deny,如果attacker重新发起连接,只要新的连接不再触发signature(不违规),那么新连接将被接受。
üDeny packet inline:只要是当前触发signature的包都会被拒绝。比如:有一台主机A去ping另一台主机B,此时你为signature2000和2004配置了action为Deny packet inline,那么,此时所有的ICMP包将被deny,而且是来一个就deny一个,但是主机A可以正常的访问主机B或者其它目标主机的其它服务。
üLog Attacker packet:只要是当前触发signature的源主机(attacker)的包全部被记录下来,可以在IP logging里面去查看并下载分析。
üLog Pair packet:只要是当前触发signature的源主机(attacker)和目标主机Victim(受害者)之间的包全部被记录下来,可以在IPlogging里面去查看并下载分析。
üLog Victim packet:只要是当前触发signature的Victim(受害者)的包全部被记录下来,可以在IP logging里面去查看并下载分析。
üProduce Alert: 产生报警,这是默认选项。
üProduce Verbose Alert:产生冗余报警,它包括触发signature的捕获分析。
üRequest Block connection:该选项在IPS与其它设备做联动时有效,比如:在某台路由器或者防火墙上完成Blocking时会使用到,Block connection指示添加扩展访问控制列表。
üRequest Block Host:该选项在IPS与其它设备做联动时有效,比如:在某台路由器或者防火墙上完成Blocking时会使用到,Block host指示添加标准访问控制列表。
üRequest SNMP Trap:向SNMP网管中心发送报警。
üReset TCP connection:针对TCP生效,将当前触发signature的TCP会话reset。
第五步:现在来模拟一个针对微软IIS的Unicode***,然后当***流量被IPS检测后,偿试使用Deny attackerservice pair inline的方式来进行***防御,并区别它去上一步中使用Deny attacker inline进行防御的差异。首先需要建设模拟Unicode***的环境,在VLAN3的服务器192.168.4.1上配置DNS、Web服务,关于这二项服务的部署由于不属于本课程的讨论范围,所以在这里不作过多描述,如果学生建设上述二项服务有困难,那么请教师部署上面描述的二项服务,并确保Vlan3的客户机192.168.4.2可以成功的DNS、Web服务,为后面安全违规***检测与防御做好准备工作。
第六步:如下图5.46所示,在Web客户机的IE中输入http://www.jinpei.com/..%c0%af..这样一个URL。其中“..%c0%af..”就是针对微软IIS的Unicode***的特征码。
注意:在此处只是直接通过在IE中输入“..%c0%af..”特征码来模拟针对微软IIS的Unicode***,当然也可以使用“%c1%1c”来模拟,关于Unicode***的原理不是本课程描述的重点,所以大家可以去查看更新的资料,而在这里不作过多描述。
第七步:此时回到IDM主机上来查看IPS检测Unicode***的效果,如下图5.47所示,显示了一个等级为高危的Unicode***的报警,可以选中该报警,点击Details..查详细信息如下图5.48所示,在详细信息中明确指示出了***的源主机和被***的主机,以及触发的SigID为5114,触发特征“..%c0%af..”等信息。
此时,在如下图5.49所示的环境中定位SigID5114,触发该SigID的行为只是报警,可以通过单击Actions按钮出现如下图5.50所示改变行为是Deny attacker service pair inline。然后再到Web客户机的IE中输入一次http://www.jinpei.com/..%c0%af..使其违规流量再次触发SigID5114。此时,***主机发起的会话被列入拒绝名单,如下图5.51所示。然后在IP Logging会记录下这个会话,以及会话开始的时间,如下图5.52所示。
提问:当完成上述行为后,此时到Web客户机的IE中输入一次http://www.jinpei.com进行正常的访问,或者访问别的目标Web服务器,能成功吗?但进行其它非Web流量类的通信可以吗,比如ICMP通信?
回答:不能成功进行任何Web访问,如下图5.53所示;但是可以进行其它非Web流量的通信,比如ICMP,如下图5.54所示,因为Deny attacker service pair inline的行为是触发signature的源主机去往目标特点端口号的流量全部被deny,匹配相同的源和目标的端口号。
相关文章:
【笔记】重学前端-winter
本文为:winter 发布在极客时间 【重学前端】系列课程的的笔记和总结支持正版哦: https://time.geekbang.org/col... 导语 如果深入进去了解,你会发现,表面上看他们可能是一时忘记了,或者之前没注意但实际上是他们对于前端的知识体…

如何用知识图谱挖掘商业数据背后的宝藏?
这是一个商业时代,一个数据为王的时代,也是一个 AI 迎来黄金发展期的时代。据史料记载,商业在商朝已初具规模。斗转星移,时光流转,到 2019 年,商业形式已发生翻天覆地的变化,但是商业的本质——…
通过define _CRTDBG_MAP_ALLOC宏来检测windows上的code是否有内存泄露
VS中自带了内存泄露检测工具,若要启用内存泄露检测,则在程序中包括以下语句: #define _CRTDBG_MAP_ALLOC #include <crtdbg.h> 它们的先后顺序不能改变。通过包括 crtdbg.h,将malloc和free函数映射到其”Debug”版本_malloc…

java.sql.SQLException: Data truncation: Truncated incorrect DOUBLE value
mysql 报这个异常:java.sql.SQLException: Data truncation: Truncated incorrect DOUBLE value update 表名 set col1 ? and col2 ? where id ? 改为: update 表名 set col1 ? , col2 ? where id ? 用逗号隔开
在Ubuntu14.04 64位上编译CMake源码操作步骤
在Ubuntu上通过apt-get install安装CMake并不是最新版的,这里记录下在Ubuntu上通过源码安装CMake的操作步骤:1. 卸载旧版CMake,执行以下命令:apt-get autoremove cmake如果卸载不掉,则通过执行以下命令删除&…

一份贪心算法区间调度问题解法攻略,拿走不谢
作者 | labuladong来源 | labuladong(ID:labuladong)【导读】什么是贪心算法呢?贪心算法可以认为是动态规划算法的一个特例,相比动态规划,使用贪心算法需要满足更多的条件(贪心选择性质)&#x…

css:z-index
针对position: absolute;解决position:relative;z-index固定定位层级显示问题转载于:https://blog.51cto.com/13507333/2352775

折半查找函数(from 《The C Programming Language》)
该函数用于判定已排序的数组array中是否存在某个特定的值value。这里假定数组元素以升序排列,如果数组array中包含value,则函数返回value在array中的位置(介于0~n-1之间的一个整数);否则,该函数返回-1。 在…
C++中的explicit关键字介绍
C中的关键字explicit主要是用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。类构造函数默认情况下声明为隐式的即implicit。隐式转换即是可以由单个实参来调用的构造函数定义了一个从形…

Redis的集群模式
集群 即使使用哨兵,此时的Redis集群的每个数据库依然存有集群中的所有数据,从而导致集群的总数据存储量受限于可用存储内存最小的数据库节点,形成木桶效应。由于Redis中的所有数据都是基于内存存储,这一问题就尤为突出了尤其是当使…

刚上线就报名2000人!8位大牛免费讲座,再不报名就满额了!
今年是CSDN的第20年,我们已经不再满足解决你的技术问题,还要帮你解决人生大事!为了让你飞黄腾达,我们特别邀请到了8位大牛老师进行直播,他们已经实现了成为技术总监、创业、财富自由的梦想,这场直播&#x…

排序算法之插入排序
插入排序一般分为直接插入排序和二分插入排序。一、直接插入排序:直接插入排序又可以分为前插和后插,不过虽然是这样分,只是寻找地点的方向不一样而已。“前插”就是从头开始找合适的位置,“后插”就是从后面开始找合适的位置。直…

C++中#error/assert/static_assert的区别及使用
C 语言支持可帮助您调试应用程序的三个错误处理机制:#error 指令、static_assert 关键字和 assert (CRT) 宏。所有的三种机制都会发出错误消息。#error可看做预编译期断言,甚至都算不上断言,仅仅能在预编译时显示一个错误信息,它能…

读完ACL 2019录取的30篇知识图谱论文,我发现了这5点趋势
作者 | Michael Galkin译者 | Freesia编辑 | 夕颜出品 | AI科技大本营(ID: rgznai100)【导读】近年来,自然语言处理领域中广泛应用的知识图谱(KGs)正在不断地吸引人们的目光,此次 ACL 2019 中的有关于知识图…

力扣(LeetCode)933
题目地址:https://leetcode-cn.com/probl...题目描述:写一个 RecentCounter 类来计算最近的请求。 它只有一个方法:ping(int t),其中 t 代表以毫秒为单位的某个时间。 返回从 3000 毫秒前到现在的 ping 数。 任何处于 [t - 3000, …

2013年10月1日C#随机数
最近开始接触C跟C#,总是有人说女生本来就不适合做程序,就连今天都听到有人这样跟我讲,不过呢没有关系,我相信男生不一定比女生厉害多少,就好像我身边就有一位男生就总是觉得我的程序比他好一点就是理所当然的ÿ…

C/C++中inline/static inline/extern inline的区别及使用
引入内联函数的目的是为了解决程序中函数调用的效率问题,也是用内联函数取代带参宏定义(函数传参比宏更加方便易用)inline关键字用来定义一个类的内联函数。在类体中和类体外定义成员函数是有区别的:在类体中定义的成员函数为内联…

RISC-V架构上的Debian和Fedora现状
RISC-V仍然是开源/Linux用户非常感兴趣的,因为它是免版税且完全开放的CPU架构。部分原因是由于缺乏经济实惠的RISC-V硬件,限制了开发人员在这种架构上的更多工作,Linux发行版支持的RISC-V状态各不相同,但近年来至少有所改善。在上…

字节跳动李航:自学机器学习,研究AI三十载,他说AI发展或进入平缓期
作者 | 夕颜出品 | AI科技大本营(ID:rgznai100)【导读】一阵凉风吹过人工智能,让这个曾是燥热的领域逐渐冷却下来,留下的是扎实地在做研究的人、机构、企业。先后在 NEC 公司中央研究所、微软亚洲研究院、华为诺亚方舟实验室从事和…

PC上安装MAC X Lion
PC上安装MACXLion网上关于如何在PC下安装MAC的文章已近不少了,但对于一些初学者在实践当中会遇到各种问题,以下视频资料为大家展示两种虚拟机安装MacOS。1.VmwareWorkstation在虚拟机中安装首先将插件装好(在远景上下载)ÿ…

C++中static_cast/const_cast/dynamic_cast/reinterpret_cast的区别和使用
C风格的强制转换较简单,如将float a转换为int b,则可以这样:b (int)a,或者bint(a)。 C类型转换分为隐式类型转换和显示类型转换。 隐式类型转换又称为标准转换,包括以下几种情况: (1)、算术转换&#x…

行为型模式:命令模式
LieBrother原文: 行为型模式:命令模式 十一大行为型模式之三:命令模式。 简介 姓名 :命令模式 英文名 :Command Pattern 价值观 :军令如山 个人介绍 : Encapsulate a request as an object,ther…

与旷视、商汤等上百家企业同台竞技?AI Top 30+案例评选等你来秀!
人工智能历经百年发展,如今迎来发展的黄金时期。目前,AI 技术已涵盖自然语言处理、模式识别、图像识别、数据挖掘、机器学习等领域的研究,在汽车、金融、教育、医疗、安防、零售、家居、文娱、工业等行业获得了令人印象深刻的成果。在各行业宣…

在CSS中定义a:link、a:visited、a:hover、a:active顺序
摘自:http://www.qianyunlai.com/post-2.html以前用CSS一直没有遇到过这个问题,在最近给一个本科同学做的项目里面。出现一些问题,搜索引擎查了一些网站和资料,发现很多人问到这个问题,给出的结果我试了试,…
C++中istream的使用
在项目中会经常用到读取一些配置数据,这些数据根据实际需要有可能会调整,如果将这些数据直接嵌入进代码中会非常不便,需要经常调整代码。将这些数据写入配置文件中然后在读入,如果需要调整,只需修改配置文件࿰…

手把手教你用Python模拟登录淘宝
作者 | 猪哥66来源 | 裸睡的猪(ID:IT--Pig)最近想爬取淘宝的一些商品,但是发现如果要使用搜索等一些功能时基本都需要登录,所以就想出一篇模拟登录淘宝的文章!看了下网上有很多关于模拟登录淘宝,但是基本都…

Python之机器学习K-means算法实现
一、前言: 今天在宿舍弄了一个下午的代码,总算还好,把这个东西算是熟悉了,还不算是力竭,只算是知道了怎么回事。今天就给大家分享一下我的代码。代码可以运行,运行的Python环境是Python3.6以上的版本&#…

C++中模板的使用
模板(Template)指C程序设计语言中的函数模板与类模板,是一种参数化类型机制。模板是C泛型编程中不可缺少的一部分。C templates enable you to define a family of functions or classes that can operate on different types of information.模板就是实现代码重用机…
php面试问答
结合实际PHP面试,汇总自己遇到的问题,以及网上其他人遇到的问题,尝试提供简洁准确的答案包含MySQL、Redis、Web、安全、网络协议、PHP、服务器、业务设计、线上故障、个人简历、自我介绍、离职原因、职业规划、准备问题等部分 GitHub: https:…

图解LSTM与GRU单元的各个公式和区别
作者 | Che_Hongshu来源 | AI蜗牛车 (ID: AI_For_Car)因为自己LSTM和GRU学的时间相隔很远,并且当时学的也有点小小的蒙圈,也因为最近一直在用lstm,gru等等,所以今天没事好好缕了一下,接下来跟着我一起区分并…