美文网首页开源入侵检测系统之Suricata
Suricata规则编写3-IP头关键字

Suricata规则编写3-IP头关键字

作者: 明翼 | 来源:发表于2017-11-14 21:57 被阅读0次

IP报文头基本信息

中文版本:


image.png

英文版本:


image.png

IP关键字

1.TTL

ttl关键字用于检查包头中特定的IP生存时间值。 格式是:
ttl:<number>
举个例子:
ttl:10;
在ttl关键字的末尾,您可以输入您想要匹配的值。 生存时间(Time-to-live)值决定了数据包在互联网系统中的最长时间。 如果该字段设置为0,则数据包必须被销毁。 生存时间基于跳数。 数据包通过的每一跳/路由器减去数据包TTL计数器中的一个。 这种机制的目的是限制数据包的存在,使数据包不能以无限的路由循环结束。
实际例子:

image.png

2. Ipopts

使用ipopts关键字,您可以检查是否设置了特定的ip可选选项。 在规则开始时必须使用Ipopts。 每个规则只能匹配一个选项。
有几个选项可以匹配。 这些是:


image.png

ipopts关键字的格式:
ipopts:<name>
举个例子:
ipopts: lsrr;
规则例子:

image.png

3.sameip

每个数据包都有一个源IP地址和一个目的IP地址。 可能是源IP与目标IP相同。 使用sameip关键字,您可以检查源的IP地址是否与目的地的IP地址相同。 sameip关键字的格式是:
sameip;
例子如下:

image.png

4. ip_proto

使用ip_proto关键字,您可以在数据包标头中的IP协议上进行匹配。 您可以使用协议的名称或编号。 您可以在以下协议上进行匹配:

 1     ICMP        Internet Control Message
 6     TCP         Transmission Control Protocol
17     UDP         User Datagram
47     GRE         General Routing Encapsulation
50     ESP         Encap Security Payload for IPv6
51     AH          Authentication Header for Ipv6
58     IPv6-ICMP   ICMP for Ipv6

有关协议及其编号的完整列表,请参阅http://en.wikipedia.org/wiki/List_of_IP_protocol_numbers

规则中的ip_proto示例:

image.png
注意:奇怪此处怎么没有;号。
ip_proto:PIM

5. ID

使用id关键字,您可以匹配特定的IP ID值。 该ID标识由主机发送的每个分组,并且每个分组通常随着每个正在发送的分组而递增。 IP ID被用作片段识别号码。 每个数据包都有一个IP ID,当数据包变成碎片时,这个数据包的所有片段都有相同的ID。 这样,数据包的接收者知道哪些片段属于同一个数据包。 (IP ID不处理顺序,在这种情况下,使用偏移量,它明确了片段的顺序。)
id格式:
id:<number>;
在规则中的例子:

image.png

6.Geoip

geoip关键字使您(您)能够匹配网络流量的源地址,目标地址或源地址和目标IP地址,并查看其属于哪个国家/地区。 为了做到这一点,Suricata使用Maxmind的GeoIP API。
geoip 的语法:

geoip: src, RU;
geoip: both, CN, RU;
geoip: dst, CN, RU, IR;
geoip: both, US, CA, UK;
geoip: any, CN, IR;

所以,你可以看到你可以使用以下来清楚你想匹配的方向:

both: both directions have to match with the given geoip (geopip’s)
any: one of the directions have to match with the given geoip (’s).
dest: if the destination matches with the given geoip.
src: the source matches with the given geoip.

关键字只支持IPv4。 由于它使用Maxmind的GeoIP API,libgeoip必须被编译进来。

7.Fragments

7.1 Fragbits

使用fragbits关键字,可以检查IP报头中是否设置了分片和保留位。 fragbits关键字应放置在规则的开头。 Fragbits用于修改碎片机制。 在将消息从一个互联网模块路由到另一个互联网模块的过程中,可能发生一个数据包大于网络可以处理的最大数据包大小。 在这种情况下,一个数据包可以分段发送。 数据包大小的这个最大值被称为最大传输单位(MTU)。

相关文章

  • Suricata规则编写3-IP头关键字

    IP报文头基本信息 中文版本: 英文版本: IP关键字 1.TTL ttl关键字用于检查包头中特定的IP生存时间值...

  • Suricata规则编写-HTTP关键字[转]

    转自:http://blog.csdn.net/wuyangbotianshi/article/details/4...

  • SSH 关键字

    Suricata附带了几个规则关键字以匹配SSH连接。 1.ssh_proto 匹配使用的SSH协议版本。 示例(...

  • suricata 规则管理

    1.Suricata-Update 1.1.使用Suricata-Update进行规则管理 suricata-up...

  • Suricata规则编写4-flowbits

    采用工具翻译自:官方文档 1.flowbits Flowbits由两部分组成。 第一部分描述要执行的操作,第二部分...

  • 2018-06-28

    suricata规则帮助文档

  • SSL/TLS 关键字

    Suricata附带了几个规则关键字,以匹配TLS / SSL握手的各种属性。匹配是字符串包含匹配。 1.tls_...

  • File 关键字

    Suricata附带了几个规则关键字,以匹配各种文件属性。它们依赖于正确配置的文件提取。 1.filename 匹...

  • suricata 规则及部分关键字

    规则格式 特征/签名在suricata中起着非常重要的作用。在大多数情况下,人们使用现有的规则集。 Suricat...

  • suricata-update规则管理

    虽然可以手动下载和安装规则,但建议使用管理工具。Suricata-Update是更新和管理Suricata规则的官...

网友评论

    本文标题:Suricata规则编写3-IP头关键字

    本文链接:https://www.haomeiwen.com/subject/dbyfvxtx.html