2024年4月26日发(作者:)

一、设置网络变量

1、网络变量配置

用户通过声明网络参数变量配置snort,variables可以包含字符串(路径)、IP和端口。

1)IP变量与IP列表

IP有四声明方式:对IP具体声明、列表形式以及CIDR组,或者它们的任意组合。IP变量以

ipvar关键字声明。

示例:

ipvar EXAMPLE [1.1.1.1,2.2.2.0/24,![2.2.2.2,2.2.2.3]]

2)端口变量与列表

端口列表支持端口声明及查找端口列表范围。端口范围从0到65535.

端口变量以portvar声明,

示例:

portvar EXAMPLE1 80

portvar EXAMPLE3 any

portvar EXAMPLE4 [!70:90]

portvar EXAMPLE5 [80,91:95,100:200]

portvar pvar1 80

portvar pvar2 [$pvar1,90]

alert tcp any $EXAMPLE1 -> any $EXAMPLE2_PORT (msg:"Example"; sid:1;)

alert tcp any $PORT_EXAMPLE2 -> any any (msg:"Example"; sid:2;)

alert tcp any 90 -> any [100:1000,9999:20000] (msg:"Example"; sid:3;)

配置服务器列表

DNS服务:

var DNS_SERVERS $HOME_NET

SMTP服务:

var SMTP_SERVERS $HOME_NET

Web 服务:

var HTTP_SERVERS $HOME_NET

SQL服务:

var SQL_SERVERZ $HOME_NET

Telnet服务:

var TELNET_SERVERS $HOME_NET

FTP服务:

var FTP_SERVERS $HOME_NET

SNMP服务:

var SNMP_SERVERS $HOME_NET

配置服务端口

这使得snort去跟踪针对特点端口应用的攻击,如web server在端口8180上,则应这样配

置:

portvar HTTP_PORTS 8180

不过这个值通常为80,因此定义为:

portvar HTTP_PORTS 80

如果希望定义多HTTP端口:

portvar HTTP_PROTS [80,8080] 或者

portvar HTTP_PROTS[80,8000:8080]

eg:

定义希望发现SHELLCODE的端口:

portvar SHELLCODE_PORTS !80

可能发现对ORACLE的攻击:

portvar ORACLE_PORTS 1521

针对FTP服务的端口:

portvar FTP_PORTS 21

配置rules文件路径

这个可以是一个相对路径

var RULE_PATH /etc/snort/rules

var PREPROC_RULE_PATH /etc/snort/preproc_rules

二、配置解码器

解码器

解码是数据包进入snort的第一个处理过程。解码器需要确定数据包用的哪种协议(比如

Ethernet,IP,TCP等等),然后将这些信息与数据载荷保及载荷的大小保存在一起,交给预

处理器与检测引擎。

在解码器检测数据包头时,同时检查包头中的错误和异常,在inline模式下,会产生报警或

者丢弃这些数据包。Snort在数据包有检查和错误时并不告警,因此snort是否检查它们影

响到系统如何响应这些标记错误检查和的数据包。Stream和frag将不会处理标记错误检查

和的数据包。

Options:

disable_decode_alerts - 默认情况下,解码器告警是打开的,此选项可以禁

用这些告警。

enable_decode_drops -在inline模式下,丢弃产生告警的数据包。

disable_ipopt_alerts -关闭针对非法ip选型的警告

enable_ipopt_drops - 根据IP错误判断选项丢弃产生告警的数据包

disable_tcpopt_alerts -关闭针对所有TCP选项类型事件的相应

enable_tcpopt_drops -根据TCP错误判断选项丢弃产生告警的数据包

disable_ttcp_alerts -关闭针对T/TCP警告的相应

enable_ttcp_drops - 根据T/TCP检测告警丢弃数据包

disable_tcpopt_obsolete_alerts -关闭针对失效TCP选型的警告

enable_tcpopt_obsolete_drops - 根据TCP检测选项丢弃数据包