• Snort


    1.9 Miscellaneous

    1.9.1 Running Snort as a Daemon

    如果你想让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 PID File

    当Snort作为守护程序(daemon)运行,守护程序在log目录会产生一个PID文件。 在Snort 2.6版本中加入 --pid-path 命令行选项 ,可以指定Snort PID文件生成目录。

    此外,--create-pidfile 选项可以用来强制生成PID文件,即使没有以守护程序模式运行。

    PID文件将会锁定来阻止其他snort进程启动。使用 --nolock-pidfile 选项取消锁定PID文件。

    如果不希望在PID文件中包括接口名(interface name),使用 --no-interface-pidfile 选项。

    1.9.2 Running in Rule Stub Creation Mode

    如果需要将分享的对象规则村到一个目录,必须使用 -dump-dynamic-rules 命令行选项。这些规则储存文件(stub files)经常和分享的对象规则(shared object rules)连在一起。可以使用绝对路径和相对路径。

    /usr/local/bin/snort -c /usr/local/etc/snort.conf 
    	--dump-dynamic-rules=/tmp
    

    路径也可以在 snort.conf 中配置:

    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 Obfuscating IP Address Printouts

    如果需要发送包日志到公共的 mailing lists,也许会用到 -O 选项。这个选项会混淆输出的IP地址。也可以组合使用 -O 和 -h ,这样只会混淆家庭网络(home network)的主机的IP地址。例如,你可以使用以下命令从日志文件中读取并且输出到屏幕,混淆 192.168.1.0/24 网段的ip地址。

    ./snort -d -v -r snort.log -O -h 192.168.1.0/24
    

    1.9.4 Specifying Multiple-Instance Identifiers

    在Snort v2.4 中加入了 -G 命令行选项。可以给事件日志指定一个实例的标识符。这个选项可以在snort运行多实例(multiple instances)使用,可以在不同的CPU上或者一个CPU上不同的接口使用。每个Snort实例都会使用指定的值去生成唯一的事件ID。用户可以指定一个十进制值 -G 1 或者十六进制值 -G 0x11。同时支持通过长选项 --logid

    1.9.5 Snort Modes

    Snort 可以运行在3中不同的模式: tap(passive), inline, inline-test. Snort的策略也可以用于这三种模式。

    Explanation of Modes

    Inline

    当Snort工作在Inline模式,Snort作为IPS运行,允许触发drop规则。Snort可以通过命令行 -Q 选项和配置文件选项 policy_modes 工作inline模式:

    snort -Q
    config policy_mode:inline
    

    Passive

    当Snort工作在Passive模式,Snort作为IDS运行,drop规则没有加载(不使用 -treat-drop-as-alert的情况下)。Snort可以通过配置文件选项 policy mode 工作passive模式:

    config policy_mode:tap
    

    Inline-Test

    Inline-test模式会模拟Snort的inline模式,允许在不影响流量的情况下评估inline行为。drop规则会被加载而且将会触发为 Wdrop(Would Drop) 告警。Snort 可以用命令行选项 –enable-inline-test 或者配置文件选项 policy_modes 工作inline-test模式:

    snort --enable-inline-test
    config policy_mode:inline_test 
    

    注意: --enable-inline-test 不可以和 -Q 一起使用。

    不同模式的规则选项行为:

    不同模式的规则动作行为:

    1.10 Control socket

    Snort可以配置提供一个可以被用来发命令到运行中的进程的Unix socket。必须在build时使用 --enable-control-socket 选项。目前只支持 linux 。

    Snort可以使用命令行选项 --cs-dir <path> 和配置文件选项 cs_dir 配置:

    snort --cs-dir <path>
    config cs_dir:<path>
    

    <path> 指定snort生成socket的目录。如果使用相对路径,是相对pid的路径,如果没有指定pid路径,就是相对当前目录的路径。
    --enable-control-socket build后,在snort的bin目录下会增加 snort control 命令。

    1.11 Configure signal value

    在一些其他的系统中,snort用的一些信号也被其他的函数使用了。为了避免冲突,用户可以通过 ./configure 选项改变默认的信号值。

    以下信号可以改变:

    • SIGNAL SNORT RELOAD
    • SIGNAL SNORT DUMP STATS
    • SIGNAL SNORT ROTATE STATS
    • SIGNAL SNORT READ ATTR TBL

    语法:

    ./configure SIGNAL_SNORT_RELOAD=<value/name> SIGNAL_SNORT_DUMP_STATS=<value/name>
      SIGNAL_SNORT_READ_ATTR_TBL=<value/name> SIGNAL_SNORT_ROTATE_STATS=<value/name>
    

    可以将这些信号改为用户定义的值或者系统中已知的信号名。下面这个例子是将 rotate stats 信号改为 31 和 重载 表属性信号 SIGUSR2 :

    ./configure SIGNAL_SNORT_ROTATE_STATS=31 SIGNAL_SNORT_READ_ATTR_TBL=SIGUSR2
    

    如果相同的信号被指定多次警告,将会在snort初始化时记录。如果一个信号处理不能安装,将会记录一个警告而且需要修复,否则将会失去功能。

    Snort中用到的信号:



  • 相关阅读:
    linux学习资料收藏
    java 自动补全
    iframe
    XSLT 创建CDATA节点
    java 线程
    SQL(ORACLE)
    ubuntu下php无法载入mysql扩展
    Laravel 5.2 新特性系列 —— 多用户认证功能实现详解
    Windows环境下的NodeJS+NPM+Bower安装配置步骤
    关于Laravel 5 中 Html,Form 安装以及修改使用标签
  • 原文地址:https://www.cnblogs.com/ash975/p/5819440.html
Copyright © 2020-2023  润新知