首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    基于Snort的***检测系统 3

    三章使用Snort规则 如同病毒,大多数***行为都具有某种特征,Snort的规则就是用这些特征的有关信息构建的。在第1章中我们提到,你可以用蜜罐来取得***者所用的工具和技术的信息,以及他们都做了什么。此外,还有***者会利用的已知的系统弱点数据库,如果***者试图利用这些弱点来实施***,也可以作为一些特征。这些特征可能出现在包的头部,也可能在数据载荷中。Snort的检测系统是基于规则的,而规则是基于***特征的。Snort规则可以用来检测数据包的不同部分。Snort 1.x可以分析第3层和第4层的信息,但是不能分析应用层协议。Snort v 2.x增加了对应用层头部分析的支持。所有的数据包根据类型的不同按顺序与规则比对。 规则可以用来产生告警信息、记录日志,或使包通过(pass):对Snort来说,也就是悄悄丢弃(drop),通过在这里的意义与防火墙或路由器上的意义是不同的,在防火墙和路由其中,通过和丢弃是两个相反的概念。Snort规则用简明易懂的语法书写,大多数规则写在一个单行中。当然你也可以行末用反斜线将一条规则划分为多个行。规则文件通常放在配置文件snort.conf文件中,你也可以用其他规则文件,然后用主配置文件引用它们。 本章将提供给你不同类型规则的信息以及规则的基本结构。在本章的最后,你可以找到一些用来检测***活动的规则的例子。读完本章以及后面两章后,你所获得的信息就可以使你建立一个基本的Snort***检测系统了。 3.1 TCP/IP 网络分层 在你开始书写规则之前,我们先来简要讨论一下TCP/IP的网络层次结构nort规则是常重要的,因为Snort规则依赖于这些层中的协议。 TCP/IP协议族分为5层,这些层之间相互作用来完成通讯处理工作,它们是: 1、物理层 2、数据链路层,某些文章中也把它们叫做网络接口层。物理层和数据链路层由物理介质、网络接口适配器和网络适配器驱动所构成。以太网地址在数据链路层定义。 3、网络层,也就是IP层。这一层负责点到点的数据通信并提供数据完整性。在这一层,所有的主机以IP地址来区分彼此。除了IP协议之外,这一层的主要协议还有ICMP。关于IP协议的更多信息参见RFC791,关于ICMP协议的更多信息查看RFC792。 4、传输层,也就是TCP/UDP层。TCP(传输控制协议)用来建立从源到目的的可靠的、面向连接的数据传输。而UDP(用户数据报协议)提供无连接的数据传输,UDP在进行数据传输的时候,并不提供数据送达的保证,常用在可以容忍数据丢失的情况下。参见RFC 768获取UDP的更多信息。参见RFC 793来获得更多的关于TCP的信息。 5、应用层,包含提供用户与网络接口的应用程序,例如Telnet、Web浏览器、ftp客户端等。这些应用程序常有自己用来进行数据通信的应用层协议。 Snort规则可以在网络层和传输层进行操作,另外也有一些方法来探测数据链路层和应用层的异常。Snort规则的第二个部分显示了对应的协议,你很快将了解如何书写这些规则。 3.2 第一个不可用的规则 这里有个非常不好用的规则,事实上,也许是最差的规则,但是它可以很好的检测Snort是否正常工作,并可以产生告警: alert ip any any -> any any (msg: "IP Packet detected";) 你可以在你第一次安装Snort的时候在snort.conf的末尾加上这条规则,这个规则可以使每当捕获一个IP包都产生告警信息,如果你就这样离开的话,你的硬盘空间很快就会被填满。这个规则之所以不可用,是因为它不信任任何信息。难道你用一个永久规则的目的就是为了检测Snort是否在工作吗?它应该是用来在你安装完Snort后做测试,以确定其工作正常,然后就去掉这条规则。下面的部分你可以了解Snort规则的不同部分,但为完整性起见,下面将简要解释一下刚才的那条规则所用的语句: l        “alert”表示如果包与条件匹配,就产生一个告警信息。条件由下面的语句定义。 l        “ip”表示规则将被用在所有的IP包上。 l        第一个“any”是对IP包源地址部分的条件定义,表示来自任何一个IP地址的IP包都符合条件,任何IP包都符合本条件。 l        第二个“any”用来定义端口号,因为端口号与IP层无关,任何IP包都符合条件。 l        “->”符号表示数据包传送的方向。 l        第3个“any”用来定义目的地址的条件,any表示这条规则并不关心所有包的目的地址。 l        第4个“any”用来定义目的端口条件,再说明一次,因为IP层与端口无关。 l        最后一部分是规则的选项,,并包含一条将被纪录的告警消息。 下一条规则不想前面那个那么糟糕,它将对所有捕获的IC

    01

    Appium+python自动化(三十三)- 本地调试测试代码,远程控制测试环境-Remote(超详解)

    在前边所有涉及启动app的时候有这样一行代码driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps),很多小伙伴们和同学们不知道这个ip和端口哪里来的,我觉得有必要给小伙伴解释一下,于是宏哥决定写一篇关于这个appium的服务器ip文章! 来给大家答答疑,解解惑!这样就不会问一些比较幼稚的问题,让别人看了笑话,笑掉大牙了。eg:宏哥,宏哥,宏哥,那个我在测试服务器搭建测试环境,我是不是就只能在测试服务器上调试代码,然后进行测试了。那这样我还的搭建一套别写脚本的环境。。。。等等的傻白寡的问题,Remote 我们先给他相一相面,就知道它的意思是:远程。那么我们是不是把那个IP地址修改成测试服务器的IP,一切问题是不是就迎刃而解了。

    03
    领券