Snort.Conf说明
Snort.conf 文件主要分为这样几个步骤
Step1,配置程序环境变量
Step2,配置dynamic loaded libraries
Step3, 配置预处理器
Step4,配置输入输出插件
Step5,配置Snort中的特殊配置
Step6,自定义规则文件
环境变量
var HOME_NET any 本地网络
var EXTERNAL_NET any 外地网络
var DNS_SERVERS $HOME_NET 本地域名解析
var SMTP_SERVERS $HOME_NET 本地SMTP
var HTTP_SERVERS $HOME_NET 本地的HTTP服务器
var SQL_SERVERS $HOME_NET 本地的SQL_ SERVERS服务器
var TELNET_SERVERS $HOME_NET 本地的TELNET服务器
var SNMP_SERVERS $HOME_NET 本地的SNMP服务器
var HTTP_PORTS 80 使用的HTTP服务端口
var SHELLCODE_PORTS !80 SHELLCODE端口
var ORACLE_PORTS 1521 ORACLE使用的端口
var RULE_PATH ../rules 本地的规则路径
配置动态装载库
动态装载库是动态预处理器运行需要的so文件,这里配置的内容是动态装载库在系统中的路径,不希望用户对其进行修改。默认值如下:
dynamicpreprocessor directory /usr/local/lib/snort_dynamicpreprocessor/
dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so
配置预处理器
默认配置不希望用户更改的配置有以下几种:
·FLOW:用于保持数据包长期的状态,配置PortScan必须,是默认配置,不希望用户修改。
preprocessor flow: stats_interval 0 hash 2
·Frag3:用于处理IP分片,也属于默认配置
·portscan :用于对端口扫描进行检测
·
可选项预处理器:
·BO 检测BO后门程序的预处理器
·RPC decode:对RPC协议进行解码
·http_inspect:保护HTTPserver
·telnet_decode:进行Telnet解码
·ftp_telnet
·SMTP:可以对SMTP协议正确性进行检验,同时防止利用SMTP协议进行的缓冲区溢出
·arpspoof:
·DNS
配置输出插件
配置全局忽略端口列表
自定义规则
报警日志格式
这是SNORT文本格式的报警日值,我们在55上发现了下面几个类型的异常。
[**] [1:1917:6] SCAN UPnP service discover attempt [**]
[Classification: Detection of a Network Scan] [Priority: 3]
01/25-08:31:47.381031 10.21.5.170:1078 -> 239.255.255.250:1900
UDP TTL:1 TOS:0x0 ID:345 IpLen:20 DgmLen:160
Len: 132
[**] [1:1627:3] BAD-TRAFFIC Unassigned/Reserved IP protocol [**]
[Classification: Detection of a non-standard protocol or event] [Priority: 2]
01/25-08:43:07.541942 10.21.255.255 -> 255.255.255.255
PROTO139 TTL:255 TOS:0x0 ID:1 IpLen:20 DgmLen:50
[Xref => http://www.iana.org/assignments/protocol-numbers]
Snort报警日值的格式遵循下面的规律:
[**][报警的ID]报警名称[**]/n
[Classification: 报警属于的类型][严重程度:数字,越大越严重]/n
报警产生时间 攻击发起方IP:端口 方向符号 被攻击方的IP:端口/n
使用的协议号 TTL TOS ID IpLen DgmLen /n
[各大安全组织关于此次攻击的详细说明]