网络入侵检测系统模式

本文共有3931个字,关键词:snort入侵检测系统

网络入侵检测系统模式

若要启用网络入侵检测系统(NIDS)模式,以便不记录发送到线路上的每一个数据包,请尝试如下:

snort -dev -l ./log -h 172.17.253.0/24 -c snort.conf

其中snort.conf是Snort配置文件的名称。这将snort.conf文件中配置的规则应用于每个数据包,以确定基于文件中规则类型的操作是否为 应该被带走。如果您没有为程序指定一个输出目录,它将默认为/var/log/snort。

最后一个命令行需要注意的一点是,如果Snort将作为IDS长期使用,则为了速度起见,应该将-v开关从命令行中删除。屏幕写入数据的速度较慢,并且可以在写入显示器时丢弃数据包。

对于大多数应用程序来说,也没有必要记录数据链接报头,所以通常也可以省略-e开关。

snort -d -h 172.17.253.0/24 -l ./log -c snort.conf

这将配置Snort以其最基本的NIDS形式运行,使用分层目录结构将触发Snort.conf中规定的规则的数据包记录到磁盘(类似于 分组记录器模式)。

运行错误1:

ERROR: /etc/snort/rules/community-rules/snort.conf(249) Could not stat dynamic module path "/usr/local/lib/snort_dynamicrules": No such file or directory.

解决方案1:

mkdir /usr/local/lib/snort_dynamicrules

运行错误2:

ERROR: /etc/snort/rules/community-rules/classification.config(0) Unable to open rules file "/etc/snort/rules/community-rules/classification.config": No such file or directory.

解决方案2:

# 首先将snort-2.9.14.1.tar.gz解压出来的etc下的默认配置文件复制到snort配置目录下
cp etc/*.conf* /etc/snort
cp etc/*.map /etc/snort

注意:查看安装章节

1、网络入侵检测系统模式输出选项

在NIDS模式下配置Snort输出的方法有很多种。默认的日志记录和警报机制是以解码的ASCII格式记录并使用完整警报。全报警机制 除了完整的数据包报头外,还打印出警告消息。在命令行中还有其他几种可用的警报输出模式,以及两个日志记录工具。

警报模式有点复杂。 在命令行中有七种可用的警报模式:full, fast, socket, syslog, console, cmg和none。 其中六种模式是用-A命令行开关访问的。这些备选办法是:

OptionDescription
-A fastFast alert mode. Writes the alert in a simple format with a timestamp, alert message, source and destination IPs/ports.
-A fullFull alert mode. This is the default alert mode and will be used automatically if you do not specify a mode.
-A unsockSends alerts to a UNIX socket that another program can listen on.
-A noneTurns off alerting.
-A consoleSends “fast-style” alerts to the console (screen).
-A cmgGenerates “cmg style” alerts.

数据包可以通过-b命令行开关记录到其默认解码的ASCII格式或二进制日志文件。若要完全禁用数据包日志记录,请使用-N命令行开关。

有关通过配置文件可用的输出模式,请参见第2.6节。

注意:命令行日志记录选项覆盖配置文件中指定的任何输出选项。这允许通过命令行快速调试配置问题。

若要向syslog发送警报,请使用-s开关。syslog警报机制的默认工具是 LOG AUTHPRIV和LOG ALERT。如果要为syslog输出配置其他工具,请使用 snort.conf中的输出插件指令。有关配置syslog输出的详细信息,请参阅2.6.1节。

例如,使用以下命令行记录到默认(解码后的ASCII)设施,并向syslog发送警报:

snort -c snort.conf -l ./log -h 172.17.253.0/24 -s

另一个例子是,使用以下命令行记录/var/log/snort中的默认工具,并将警报发送到快速警报文件:

snort -c snort.conf -A fast -h 172.17.253.0/24

2、理解标准警报输出

当Snort生成警报消息时,通常如下所示:

[**] [116:56:1] (snort_decoder): T/TCP Detected [**]

第一个数字是GeneratorID,这告诉用户Snort的哪个组件生成了这个警报。有关GID的列表,请阅读Snort源中的 etc/generators。在这种情况下,我们知道 此事件来自Snort的“decode”(116)组件。

第二个数字是SnortID(有时称为签名ID)。有关预处理的列表,请参见etc/gen-msg.map。基于规则的SID被直接写入规则的sid选项。在这种情况下,56表示一个T/TCP事件。

第三个数字是修订ID。这个数字主要用于书写签名时,因为规则的每次呈现都应该使用 rev 选项来增加这个数字。

3、高性能配置

如果您希望Snort快速运行(比如保持1000 Mbps连接),则需要使用unified 2日志记录和unified 2日志读取器(如barnyard 2)。这允许Snort以二进制形式记录警报。 当另一个程序执行缓慢的操作时,例如写入数据库时,要尽可能快。

如果您想要一个易于解析但速度仍然较快的文本文件,请尝试使用带有“fast”输出机制的二进制日志记录。

这将以tcpdump格式记录数据包并产生最小的警报。例如:

snort -b -A fast -c snort.conf

4、更改警报顺序

Snort将其规则应用于数据包的默认方式可能不适合所有安装。首先应用 Pass规则,然后应用Drop规则,然后应用 Alert规则,最后应用 Log规则。

注意:有时,错误的传递规则可能导致警报不出现,在这种情况下,您可以更改默认顺序,以允许在Pass规则之前应用Alert规则。 欲了解更多信息,请参考--alert-before-pass选项。

可以使用几个命令行选项来更改执行规则操作的顺序。

  • --alert-before-pass 选项强制警报规则生效,以支持Pass规则。
  • --treat-drop-as-alert 导致删除和拒绝规则和任何相关警报作为警报记录,而不是正常操作。这允许在被动/IDS模式下使用内联策略。没有加载sDrop规则。 .
  • --process-all-events 选项使Snort处理与数据包关联的每个事件,同时根据规则排序执行操作。如果没有此选项(默认情况),则只处理基于规则排序的第一个操作的事件。

注意:Pass规则在这里是特例,因为事件处理在遇到Pass规则时被终止,而不考虑--process-all-events的使用。

「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」

阿恒

(๑>ڡ<)☆谢谢老板~

使用微信扫描二维码完成支付

添加新留言
暂无留言