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 丢弃