Snort - manual 筆記(五)

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中用到的信號:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章