Suricata规则配置

Suricata 规则配置



IDS/IPS/WAF



IPS、IDS和WAF分别是入侵防御系统和入侵检测系统以及WEB应用防火墙的简称,很多人说这些玩意不就是盒子吗已经过时了,其实不是,SIEM其实是有效的正规的打法,对于内网安全监控室非常必要的东西。之前大家的方式都是摒弃盒子思维,觉得盒子不靠谱防御不了真正的攻击行为。这样的理解难说不是国内众多盒子厂商(本人待过很多)走低价竞争路线的一个恶性的结果。其实在数据驱动安全的几天,盒子的作用绝不是简单的匹配规则阻断攻击这么简单的了,而是成为内网信息收集的一个Agent节点,作为云化的安全能力中心节点的触角存在,这都是非常有意义而且有必要的。

当然,我们还需要其他的更多的日志,不仅是网络层面的,需要主机层的日志信息、服务应用的日志信息等等。

规则和验证脚本



那么作为云的触角和云的核心节点(安全能力节点)有两种能力是必须具备的。第一脆弱性的发现能力(POC、EXP);第二就是威胁的监控能力,就是匹配规则。二者都来源于对攻击的理解。POC和EXP是模仿攻击的操作。规则是攻击行为的特征,是检测威胁的有效手段。废话不多说了,今天我们来学习Suricata规则。

Suricata规则范式


  alert tcp any any -> any any (msg:"";content:"";sid:1;rev:1;)

其实格式就是:

动作 协议 源地址 源端口 方向 目的地址 目的端口 (规则内容)

备注1:规则内容前面称为规则头部分

备注2:规则内容用分号分割,每一项都是一个key-value的键值对 ,如上图示例

Suricata 规则头


  • 动作:

    • alert 告警
    • log 记录
    • pass 通过
    • drop 丢弃
  • 协议:
    • TCP
    • UDP
    • ICMP
    • IP
    • Any
  • 源和目的IP:
    • IP地址 举例 10.1.1.1 或者 ! 10.1.1.1 或则[1.1.1.1 , 1.1.1.2] 或者! [1.1.1.1 , 1.1.1.2]
    • IP地址段(CIDR)[10.0.0.0/24]
    • Any
  • 元和目的端口:
    • 端口 80 或者 [80,443] 当然 ! 80 或者 ! [80,443] 再有 [1:80,[2,3]] [80:82]
    • Any
  • 方向:
    • 单项 ->
    • 双向 <>

Suricata 规则内容


Meta-settings

  • msg:"description"; 描述字段,报警的时候的一些描述信息,比如某某某攻击等的
  • sid: 1; 签名ID编号 1-
  • rev: 3; 修订版本 1-
  • gid: 2; 组ID
  • classtype:trojan-activity; 查看classification.config文件中的配置,后面有优先级。
  • reference: bugtraq, 123; http://www.securityfocus.com/bid 或者 reference: url, www.info.nl
  • priority:1; 优先级1-255 1-4常用 优先级越小越优先
  • target:[src_ip|dest_ip] 报警时候回上报这个格式的,含义是[攻击源|攻击目标]

Header-Keyword

  • ttl:10 数据包中的ttl
  • ipopts:
  • sameip;当数据报文的源和目的IP相同时候
  • ip_proto:
  • id:1 每一个IP报文发送后id+1,一个IP报文的多个分片ID一致
  • geoip
    • geoip: src, RU;
    • geoip: both, CN, RU;
    • geoip: dst, CN, RU, IR;
    • geoip: both, US, CA, UK;
    • geoip: any, CN, IR;
  • TCP关键字:
    • ack:0;
    • seq:0;
    • window:55808;
    • 等等...
  • ICMP关键字:
    • itype:8;
    • itype:>10;
    • icode 和itype类似
    • icmp_id 和 icmp_seq
  • fragbits和fragoffset

prefilter 预过滤

prefilter之前的规则属于预过滤规则

payload 关键字

  • content: ”............” ->

  • pcre:"
  • nocase; 忽略大小写
  • depth:3 payload出现的具体位置
  • offset:4 便宜量
  • distance:2
  • within:4 判断 payload -> "abcxxxdefxxxddsew" content:"abc";content:"def";within:3 -> 第二个匹配段的结尾与第一个匹配段的结尾的距离在within的的数值之内。
    • content:"abc";content:"def";distance:4;within:9 -> abcxxxxdef 匹配成功 xxxx 距离4 f到从的距离是xxxx+payload2的长度 = 3+4 = 7
  • isdataat:8 看看content结尾字符后面第isdataat位置是否还有数据
  • dsize:345; payload长度,也可以是>或者<
  • rpc 和RPC相关
    • rpc:100009,*,*;
  • replace:"asd"; content:"abvd";replace:"abcd" 替换,只能用于IPS之中
  • fast_pattern 略

HTTP 关键字

请求字段

Keyword Sticky or Modifier Direction
http_uri Modifier Request
http_raw_uri Modifier Request
http_method Modifier Request
http_request_line Sticky Buffer Request
http_client_body Modifier Request
http_header Modifier Both
http_raw_header Modifier Both
http_cookie Modifier Both
http_user_agent Modifier Request
http_host Modifier Request
http_raw_host Modifier Request
http_accept Sticky Buffer Request
http_accept_lang Sticky Buffer Request
http_accept_enc Sticky Buffer Request
http_referer Sticky Buffer Request
http_connection Sticky Buffer Request
http_content_type Sticky Buffer Both
http_content_len Sticky Buffer Both
http_start Sticky Buffer Both
http_protocol Sticky Buffer Both
http_header_names Sticky Buffer Both

响应字段

Keyword Sticky or Modifier Direction
http_stat_msg Modifier Response
http_stat_code Modifier Response
http_response_line Sticky Buffer Response
http_header Modifier Both
http_raw_header Modifier Both
http_cookie Modifier Both
http_server_body Modifier Response
file_data Sticky Buffer Response
http_content_type Sticky Buffer Both
http_content_len Sticky Buffer Both
http_start Sticky Buffer Both
http_protocol Sticky Buffer Both
http_header_names Sticky Buffer Both

以上用法

content:"xxxxxx";http_xxxx;

特例:

  • uricontent:"xxxx";
  • urilen:10 > <也可以
  • http_header 不包含URI部分

流信息关键字

  • flow:to_client 关键字:

    • to_client
    • to_server
    • from_client
    • from_server
    • established
    • not_established
    • stateless
    • only_stream
    • no_stream
    • only_frag
    • no_frag
  • stream_size
    • >
    • <
    • =
    • !=
    • >=
    • <=

文件关键字

  • filename:"a.php";
  • fileext:"jpg";
  • filemagic:"";
  • filestore:[request|response],[file|tx|ssn]
  • filenmd5:[!]filename; filenmd5:md5-blacklist;
  • filesize:5 > < 也可以

阈值

  • threshold: type
  • detection_filter: track

DNS关键字

dns_query;content:"域名"

原文地址:https://www.cnblogs.com/KevinGeorge/p/8810354.html

时间: 2024-11-10 08:13:43

Suricata规则配置的相关文章

Exchange与ADFS单点登录 PART 6:Exchange声明规则配置

在上一篇中,我们已经完成了在ADFS中添加Exchange的信赖方信任,这一篇我们将接着来分享一下Exchange的声明规则配置. 首先,我们打开ADFS管理单元,然后展开ADFS-信任关系-信赖方信任,选中我们之前创建好的OWA的信赖方信任,然后单击右侧的编辑声明规则. 在颁发转换规则中单击添加规则. 在选择规则模板页,选择使用自定义规则发送声明. 然后在配置规则页,按照以下设置: 声明名称: ActiveDirectoryUserSID 自定义规则: c:[Type == "http://s

Cloud Foundry中warden的网络设计实现——iptable规则配置

在Cloud Foundry v2版本中,该平台使用warden技术来实现用户应用实例运行的资源控制与隔离. 简要的介绍下warden,就是dea_ng如果需要运行用户应用实例(本文暂不考虑warden container提供staging打包环境),则发送相应请求给warden server,由warden server来创建warden container,并在warden container内部运行应用实例,而warden container的具体实现中使用cgroups等内核虚拟化技术,

codeigniter nginx rewrite规则配置【转】

转自:http://www.nginx.cn/1134.html nginx如何配置才能支持codeigniter ? 1. codeigniter的url美化去掉index.php 1 2 3 4 5 location / { root   html/gxtp; index  index.php; try_files $uri $uri/ /index.php?$uri&$args; } 2.与thinkphp一样codeigniter的url rewrite也是使用pathinfo来实现的,

iptables规则配置

iptables常用的表有filter,nat,mangle表 对于filter来讲一般只能做在3个链上:INPUT ,FORWARD ,OUTPUT 对于nat来讲一般也只能做在3个链上:PREROUTING ,OUTPUT ,POSTROUTING mangle则是5个链都可以做:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING 配置iptables表的默认规则 iptables -P INPUT DROP iptables -P OUTPUT DROP

linux audit审计(5)--audit规则配置

audit可以配置规则,这个规则主要是给内核模块下发的,内核audit模块会按照这个规则获取审计信息,发送给auditd来记录日志. 规则类型可分为: 1.控制规则:控制audit系统的规则: 2.文件系统规则:也可以认为是文件监控,可以监控一个特定文件或者一个路径. 3.系统调用规则:可以记录特定程序的系统调用. audit规则可以通过auditctl,在命令行里输入,这些设置的规则为临时的,当系统重启后就不存在了.可以通过配置/etc/audit/audit.rules文件,当每次audit

在Linux 5/6上使用UDEV SCSI规则配置ASM DISK

识别磁盘(/sbin/scsi_id)  Oracle Linux 5用如下脚本: #!/bin/sh for i in b c d e f g do echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s /block/\$name\", RESULT==\"`/sbin/scsi_id /block/sd$i`\", NAME

IIS URL Rewrite Module防盗链规则配置方法

IIS版本:IIS 7.5 URL Rewrite组件:IIS URL Rewrite Module(http://www.iis.net/downloads/microsoft/url-rewrite) 规则定义截图:Web.config中的规则定义: .代码如下: 意思是 如果来源的地址 不匹配正则表达式 就转向到 指定图片 <rewrite> <rules> <rule name="pingbi" stopProcessing="true&

创建流量入口或者说添加路由规则/配置插件

暴露出一个微服务 echo " apiVersion: extensions/v1beta1 kind: Ingress metadata: name: demo spec: rules: - http: paths: - path: /foo backend: serviceName: httpbin servicePort: 80 - path: /bar backend: serviceName: echo servicePort: 80 " | kubectl apply -f

Spring Mvc Web 配置拦截规则与访问静态资源 (三)

拦截规则配置 1. *.do <!-- Processes application requests --> <servlet> <servlet-name>appServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name