Suricata规则编写4-flowbits

作者: 明翼 | 来源:发表于2017-11-17 11:22 被阅读0次

    采用工具翻译自:官方文档

    1.flowbits

    Flowbits由两部分组成。 第一部分描述要执行的操作,第二部分是flowbit的名称。

    有多个数据包属于一个流。 Suricata将这些流量保存在内存中。 欲了解更多信息,请参阅suricata.yaml。
    Flowbits可以确保例如两个不同的数据包匹配时会生成警报。 只有两个数据包匹配时才会生成警报。 所以,当第二个数据包匹配时,Suricata必须知道第一个数据包是否匹配。 如果一个数据包匹配,Flowbits将标记流,Suricata会“知道”它会在第二个数据包匹配时产生警报。

    流程有不同的操作。 这些是:

    flowbits:set,name  将在流程中设置条件/'name',如果存在的话。
    flowbits:isset,name 可以在规则中使用,以确保它生成警报
                                        当规则匹配并且条件在流中被设置时。
    flowbits:toggle,name 颠倒当前设置。 所以例如,如果一个条件设置,
                                        它将被解除,反之亦然。
    flowbits:unset,name 可以用来取消流程中的条件。
    flowbits:isnotset,name 可以在规则中使用,以确保它生成警报
                                        当它匹配并且条件未在流程中设置时。
    flowbits:noalert  此规则不会生成警报
    

    举个例子:


    image.png

    当你看看第一条规则时,你会注意到,如果它匹配的话,会产生一个警告,如果它不是在规则末尾的'flowbits:noalert'。
    此规则的目的是检查“userlogin”上的匹配,并在流程中标记该匹配。 所以,没有必要产生一个警报。
    第二条规则没有第一条规则就没有效果。 如果第一条规则匹配,则流程将该特定条件设置为在流中存在。 现在用第二个规则可以检查前一个分组是否满足第一个条件。 如果第二条规则匹配,则会生成警报。

    有可能在规则中多次使用flowbits并组合不同的功能。

    2.flow

    流关键字可用于匹配流的方向,以便客户端或服务器之间进行匹配。 如果流量建立,它也可以匹配。 flow关键字也可以用来表示签名必须仅在流上匹配(only_stream)或仅在数据包(no_stream)上匹配。

    所以使用flow关键字你可以匹配:

    to_client                       established           only_stream
    from_client                     stateless             no_stream
    to_server                       
    from_server
    

    注意:from_server和to_client是一样的,to_server和from_client也是一样的。 这来自原始的Snort语言,我们支持它的兼容性的原因。

    这些选项可以结合使用。 您最多可以使用三个选项。 例如:

    flow:to_client, established;
    flow:from_client, established, only_stream;
    

    有不同的方式可以检查连接是否建立。 通过tcp-traffic,一个连接以三次握手开始。 在流程中是设置状态的部分。 将检查连接在哪个状态。
    在其他情况下,只会检查来自双方的流量。

    例如:

    image.png image.png

    3.Flowint

    For information, read the information on the

    flowint

    4. stream_size

    流大小选项根据序列号的已注册字节数量匹配流量。
    这个关键字有几个修饰符:

    >      greater than 
    <      less than
    =      equal
    !=     not equal
    >=    greater than or equal
    <=    less than or equal
    

    格式:
    stream_size:<server|client|both|either>, <modifier>, <number>;

    相关文章

      网友评论

        本文标题:Suricata规则编写4-flowbits

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