1.11 配置信号量
在有些系统中,Snort使用的信号量可能已经被分配给其它函数了,这样,我们就可以通过配置来设置Snort的默认信号量 可以通过这种方式设的信号有:
- 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 stat) 绑定到信号31、重新加载熟悉表绑定到SIGUSR2上:
./configure SIGNAL_SNORT_ROTATE_STATS=31 SIGNAL_SNORT_READ_ATTR_TBL=SIGUSR2
如果同一个信号被绑定多次,则Snort初始化时会报警。如果一个信号处理函数没有安装,则也会报警。最好fix掉这种bug,否则该操作就会丢掉。 Snort中使用的信号
| Signal name | Default value | Action |
|---|---|---|
| SIGTERM | SIGTERM | exit |
| SIGINT | SIGINT | exit |
| SIGQUIT | SIGQUIT | exit |
| SIGPIPE | SIGPIPE | ignore |
| SIGNAL_SNORT_RELOAD | SIGHUP | reload snort |
| SIGNAL_SNORT_DUMP_STATS | SIGUSR1 | dump stats |
| SIGNAL_SNORT_ROTATE_STATS | SIGUSR2 | rotate stats |
| SIGNAL_SNORT_READ_ATTR_TBL | SIGURG | reload attribute table |
| SIGNAL_SNORT_CHILD_READY | SIGCHLD | internal use in daemon mode |