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检测选项丢弃数据包


发布评论