1.9 其它选项
1.9.1 后台运行Snort
如果你想在后台雨欣Snort,你可以添加-D选项到任何之前讨论的参数之中。请注意,如果你想通过发送SIGHUP信号来重启Snort,你必须要在启动的时候,使用Snort可执行文件的绝对路径:
/usr/local/bin/snort -d -h 192.168.1.0/24 \
-l /var/log/snortlogs -c /usr/local/etc/snort.conf -s -D
为了安全起见,由相对路径启动的Snort不支持该操作。 Snort PID文件
当Snort在后台运行时,它会在日志目录中产生一个PID文件。在Snort2.6中,可以通过--pid-path来指定PID文件的路径。 另外,--create-pidfile 选项可以强制Snort在非后台模式下也产生一个PID文件。 PID文件在Snrot运行时是被上了锁的,可以通过--noloack-pidfile选项来去调这一操作。 如果你不希望PID文件中显示接口名称,可以使用--no-interface-pidfile选项。 1.9.2 运行共享规则模式
如果你想把共享的规则体显示在一个目录中,你必须使用--dump-dynamic-rules 命令行选项。这些规则片段可以用来连接共享规则体。路径可以是据对的也可以是相对的。
/usr/local/bin/snort -c /usr/local/etc/snort.conf \
--dump-dynamic-rules=/tmp
这个路径也可以配置在配置文件中的dump-dynamic-rules-path中。
config dump-dynamic-rules-path: /tmp/sorules
通过命令行配置的路径会覆盖配置文件中设置的路径
/usr/local/bin/snort -c /usr/local/etc/snort.conf \
--dump-dynamic-rules
snort.conf:
config dump-dynamic-rules-path: /tmp/sorules
上述配置中,输出路径是/tmp/sorules
1.9.3 IP地址模糊化处理
如果你需要把你的抓包日志通过邮件或其他方式外传出去,那么你可能需要设-O选项。这个选项是用来把你的流量中真实的数据流进行模糊化处理的。如果你不想让其他人知道你的真实流量中的IP地址的话,你还可以通过-h选项来设置需要模糊化处理的内网IP地址。例如:如下命令可以把一个日志文件中192.168.1.0/24这个C类地址全部模糊化处理。
./snort -d -v -r snort.log -O -h 192.168.1.0/24
1.9.4 多进程标示
在Snort2.4中,-G命令行可以为事件日志设置标记。该选项一般是用于多个Snort进程或者绑定到不同的CPU上,或者获取不同的网络接口。而每个Snort进程都会使用一个特定的标示来标记自己的事件。标记可以是十进制也可以是十六进制。这个选项和使用--logid一样。
1.9.5 Snort运行模式
Snort可以配置成三种模式分别为:旁路(passive)、串联(inline)和调试(inline-test)。Snort规则也可以配置成这三种模式。 各模式解释如下:
串联(inline)
当Snort运行在串联模式下,它作为IPS可以放行或丢弃数据包。Snort可以通过-Q和policy_mode选项来配置成串联模式:
snort -Q configure policy_mode:inline- 旁路(passive)
当Snort运行在旁路模式下,它可以作为IDS。丢弃规则不会加载(没有 --tread-drop-as-alert)。Snort可以通过policy_mode配置成旁路模式:
config policy_mode:tap
- 调试(Inline-Test)
调试模式和串联模式很像,她可以检测流量,但不影响流量的正常运行。丢弃策略会被加载,并当做Wdrop报警(Would Drop)来处理。Snort可以通过命令行--enable-inline-test或者使用Snort配置选项policy_mode来说实现该模式
snort --enable-inline-test
config policy_mode:inline_test
注:--enable-inline-test 不能和-Q一起使用
不同模式下的规则选项
| 规则选项 | 串联模式 | 旁路模式 | 调试模式 |
|---|---|---|---|
| reject | 丢弃和响应 | 报警和响应 | 报警和响应 |
| react | 阻止和发送通知 | 阻止和发送通知 | 阻止和发送通知 |
| normalize | 数据包整形 | 不处理 | 不处理 |
| replace | 替换数据包 | 不处理 | 不处理 |
| respond | 拷贝会话 | 拷贝会话 | 拷贝会话 |
不同模式下规则行为的表现
| 适配模型 | Snort 选项 | configure policy_mode | Drop 类规则处理 |
|---|---|---|---|
| 旁路 | --treat-drop-as-alert | tap | 报警 |
| 旁路 | no args | tap | 未加载 |
| 旁路 | --treat-drop-as-alert | inline_test | 报警 |
| 旁路 | no args | inline_test | Would 丢弃 |
| 旁路 | --treat-drop-as-alert | inline | 报警 |
| 旁路 | no args | inline | 未加载 和报警 |
| 调试 | --enable-inline-test --treat-drop-as-alert | tap | 报警 |
| 调试 | --enable-inline-test | tap | Would 丢弃 |
| 调试 | --enable-inline-test --treat-drop-as-alert | inline_test | 报警 |
| 调试 | --enable-inline-test | inline_test | Would 丢弃 |
| 调试 | --enable-inline-test --treat-drop-as-alert | inline | 报警 |
| 调试 | --enable-inline-test | inline | Would 丢弃 |
| 串联 | -Q --treat-drop-as-alert | tap | 报警 |
| 串联 | -Q | tap | 报警 |
| 串联 | -Q --treat-drop-as-alert | inline | 报警 |
| 串联 | -Q | 调试 | Would 丢弃 |
| 串联 | -Q --treat-drop-as-alert | inline | 报警 |
| 串联 | -Q | inline | 丢弃 |