suricata-update规则管理

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

Suricata-update与Suricata4.1及更高版本捆绑在一起,通常与它一起安装。它也可以与旧版本一起使用。在这种情况下,必须单独安装。

1.安装suricat-update

Suricata-Update是一个用Python编写的工具,最好与pip安装Python包的工具一起安装。可以使用pip全局安装Suricata-Update供所有用户使用,也可以安装到你指定的目录供用户使用。

(1.1)全局安装

pip  install  --upgrade  suricata-update

(1.2)安装到您自己的主目录

pip  install  --user  --upgrade  suricata-update

安装到主目录时, suricata-update程序将安装到$ HOME / .local / bin,因此请确保此目录位于您的路径中:export PATH=$HOME/.local/bin:$PATH

2.规则管理

2.1 目录和权限

为了suricata-update正常工作,需要以下权限:

目录/etc/suricata:读访问权限

目录/var/lib/suricata/rules:读/写访问

目录/var/lib/suricata/update:读/写访问

为了获得上述权限,简单的方式是使用root用户,或者执行sudo。建议创建一个suricata组并使用该suricata组的设置上述目录权限,然后将用户添加到该suricata 组。

2.2 更新规则

(2.2.1)suricata-update

该命令将执行以下操作:

a.查找suricata路径上的程序以确定其版本。

b.查找/etc/suricata/enable.conf,/​​etc/suricata/disable.conf,/​​etc/suricata/drop.conf和/etc/suricata/modify.conf以查找要应用于下载规则的过滤器。这些文件是可选的,不需要存在。

c.下载适用于您的Suricata版本的Emerging Threats Open规则集,如果找不到则默认为4.0.0。

d.应用上面加载的启用,禁用,删除和修改过滤器。

e.写出规则/var/lib/suricata/rules/suricata.rules。

f.在测试模式下运行Suricata /var/lib/suricata/rules/suricata.rules。

(2.2.2)suricata-update [OPTIONS]

-h, --help:

显示帮助信息

-D <directory>, --data-dir <directory>: 

 设置备用数据目录。默认值:/var/lib/suricata

-c <filename>, --config <filename> : 

 suricata-update配置文件的路径。默认值:/etc/suricata/update.yaml

-q, --quiet:

 安静地跑。仅显示警告和错误消息。

-v, --verbose:

提供更详细的输出

--suricata-conf :

suricata配置文件的路径。默认值:/etc/suricata/suricata.yaml

--suricata <path>:

 Suricata程序的路径。如果没有提供, suricata-update将尝试在您的路径上找到Suricata。Suricata程序用于确定Suricata的版本以及提供有关Suricata配置的信息。

--suricata-version <version>: 

将Suricata版本设置为特定版本,而不是检查路径上的Suricata版本。

--user-agent <string>:

为HTTP请求设置自定义用户代理字符串。

-o, --output:

要将规则输出到的目录。默认值:/var/lib/suricata/rules

--force:

强制远程规则文件下载(如果它们不是刚刚下载),或者远程校验和与缓存副本匹配。

--merged=<filename>:

 写一个包含所有规则的文件。这可以作为补充--output或替代使用--output。

--no-merge:

不要将规则合并到单个规则文件中。警告:如果2个输入规则文件具有相同名称,则不会尝试解决冲突。

--yaml-fragment=<filename.yaml>: 

输出包含规则文件部分的YAML片段将列出所有下载的规则文件以包含在 suricata.yaml中

--url=<url>:

从中下载规则的URL。此选项可以多次使用

--local=<filename or directory>

要包含的本地规则文件的文件名或目录的路径。如果路径是目录,则将加载以.rules结尾的所有文件。接受通配符但是为了避免shell扩展,必须引用参数.如:--local '/etc/suricata/custom-*.rules'

--sid-msg-map=<filename>

输出v1样式的sid-msg.map文件。

--sid-msg-map-2=<filename>

输出v2样式的sid-msg.map文件。

--disable-conf=<disable.conf>

指定禁用过滤器的配置文件。

--enable-conf=<enable.conf>

指定启用规则的配置文件。

--modify-conf=<modify.conf>

指定规则修改过滤器的配置文件。

--drop-conf=<drop.conf>

指定丢弃过滤器的配置文件。

--ignore=<pattern>

要忽略的文件名。这是一个与规则文件的基名匹配的模式。可以多次指定此参数。默认值:* deleted.rules。如:--ignore  dnp3-events.rules  --ignore deleted.rules  --ignore  "modbus*"

--no-ignore

禁用-ignore选项。最有用的是禁用默认忽略模式而不添加其他模式。

--etopen

下载ET / Open规则集。这是默认操作,不用--url提供任何选项或未配置任何源。除了命令行上提供的任何URL或配置中提供的源之外,还可以使用此选项启用ET / Open规则集

--dump-sample-configs

输出示例配置文件为--disable, --enable,--modify和--threshold-in命令。

--threshold-in=<threshold.conf.in>

指定threshold.conf输入模板

--threshold-out=<threshold.conf>

指定要输出的已处理threshold.conf的名称

-T <command>, --test-command <command>

指定自定义测试命令以在重新加载Suricata之前测试规则。这将覆盖默认命令,也可以在配置文件中指定test-command。

--no-test

禁用测试命令并继续进行,就像它已经通过一样。

--reload-command=<command>

更新规则后运行的命令; 如果未对输出文件进行任何更改,则不会运行。例如:--reload-command='sudo kill -USR2 $(cat /var/run/suricata.pid)'将告诉Suricata重新加载其规则。

--no-reload

禁用Suricata规则重新加载。

-V, --version

显示suricata-update的版本。

(2.3) 规则匹配

可以使用以下方法执行禁用,启用,转换为删除或修改的匹配规则:

(2.3.1)签名ID匹配

签名ID只能通过其签名ID进行匹配,例如:1034 。生成器ID还可用于与其他工具兼容,如:1:1034

(2.3.2)正则表达式匹配

正则表达式匹配将匹配完整规则上的正则表达式。例:

re:heartbleed

re:MS(0[7-9]|10)-\d+

(2.3.3)组匹配

组匹配器与加载规则的组匹配。基本上这是没有前导路径或文件扩展名的文件名。例:

group:emerging-icmp.rules

group:emerging-dos

也可以使用类似于Unix shell中使用的通配符的通配符匹配:

group:*deleted*

(2.3.4)文件名匹配

文件名匹配器与加载规则的文件名匹配,并考虑完整路径。允许使用Shell通配符模式:

filename:rules/*deleted*

filename:*/emerging-dos.rules

(2.4)修改规则

可以使用正则表达式搜索和替换来完成规则修改。规则修改说明符的基本格式是:

<match>  <from>  <to>

其中<match>是上面的规则匹配器之一,<from>是要替换的文本,<to>是替换文本。将所有警报规则转换为drop的示例:

re:.  ^alert  drop

将noalert的所有丢弃规则转换回警报的示例:

re:.  "^drop(.*)noalert(.*)"  "alert\\1noalert\\2"

2.3 配置suricata加载suricata-update更新的规则

Suricata-Update采用与Suricata传统方法不同的规则文件约定。最明显的区别是默认情况下存储规则在 /var/lib/suricata/rules/suricata.rules

方式一:使用 -s 选项

suricata   -s  /var/lib/suricata/rules/suricata.rules  

方式二:修改suricata.yaml配置文件。

default-rule-path:/var/lib/suricata/rules

rule-files:

        -suricata.rules

2.4 使用其他可用的规则源

(2.4.1)首先使用update-sources命令更新规则源索引:

suricata-update  update-sources

(2.4.2)然后列出索引中的源:

suricata-update  list-sources

(2.4.3)现在启用ptresearch/attackdetection规则集,每个规则集都有一个名称,该名称具有“供应商”前缀,后跟一个集名称。例如:

suricata-update  enable-source  ptresearch/attackdetection

(2.4.4)再次更新规则

suricata-update

2.5 其他的一些命令

(2.5.1)列表启用的源:

suricata-update  list-enabled-sources

(2.5.2)禁用源:

suricata-update  disable-source  et/pro

禁用源会保留源配置但禁用。当源需要诸如您不想丢失的代码之类的参数时,这很有用,如果您删除了源代码,则会发生这种情况 。

 re-enables在不提示用户输入的情况下重新启用已禁用的源。

(2.5.3)删除源

suricata-update  remove-source  et/pro

这将删除此源的本地配置。重新启用 et / pro将需要重新输入您的访问代码。

(2.5.4)按URL添加源

suricata-update  add-source  <name>  <url>

2.6 控制使用哪些规则

默认情况下,suricata-update会将所有规则合并到一个文件“/var/lib/suricata/rules/suricata.rules”中。

要启用默认禁用的规则,请使用'/etc/suricata/enable.conf'.

同样,要禁用规则,请使用/etc/suricata/disable.conf.

更新这些文件后,再次重新运行suricata-update.

最后重启Suricata。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容