入侵防御

来自WFilter上网行为管理系统文档和指南
WFilter讨论 | 贡献2019年10月18日 (五) 16:00的版本 自定义规则

跳转至: 导航搜索

1 入侵防御模块

“入侵防御”模块基于Snort,可以检测来自内、外网的恶意攻击行为,触发告警并且封锁IP地址,从而保护内网的终端和各项服务。

2 入侵防御配置项

如下图,入侵防御包括如下功能:

  • 检测网卡:配置要开启检测的网卡,网卡被选中时,该网卡的数据会被复制到检测系统进行分析处理。“自动选择”时,系统会自动在所有的内网网卡上开启检测。
  • 外网攻击:配置对来自外网IP攻击采用的策略。
  • 内网攻击:配置对来自内网IP攻击采用的策略。
    • 仅记录日志,只记录相应的攻击日志。
    • 记录日志并封锁IP,记录攻击的日志,并在指定时间段内自动禁止来自该IP的访问。
    • 忽略,不做任何处理,也不记录日志。
  • 事件告警:是否把攻击事件记录到“事件查看器”模块。
  • 网段参数:配置内网网段、内网服务器、各项服务端口等。
  • IPS检测项:配置要启用的检测规则集,以及检测选项。
  • 例外的IP地址:对来自例外的IP地址和网段不进行检测。

Ips settings.png

3 网段参数

选择“手动指定”网段参数,然后点击“编辑所有参数”,即可定义要保护的内网网段。“自动选择”时,会自动选择所有的内网网段,以及常见的Web、FTP等端口。如果有内部的服务器需要保护,建议您点击“编辑所有参数”并在网段参数和端口参数中定义内网的服务器IP地址以及开发的服务端口。

3.1 网段参数定义

  • 支持的网段参数(参见Snort的配置文档):
    • HOME_NET: 要保护的网段,默认所有内网网段。
    • EXTERNAL_NET: 外网网段的定义,默认any。
    • DNS_SERVERS: 要保护的内网DNS服务器,默认$HOME_NET。
    • SMTP_SERVERS: 要保护的内网SMTP服务器,默认$HOME_NET。
    • HTTP_SERVERS: 要保护的内网HTTP服务器,默认$HOME_NET。
    • SQL_SERVERS: 要保护的内网数据库服务器,默认$HOME_NET。
    • TELNET_SERVERS: 要保护的内网Telnet服务器,默认$HOME_NET。
    • SSH_SERVERS: 要保护的内网SSH服务器,默认$HOME_NET。
    • FTP_SERVERS: 要保护的内网FTP服务器,默认$HOME_NET。
    • SIP_SERVERS: 要保护的内网SIP服务器,默认$HOME_NET。
  • 支持的配置格式:
    • 单个IP或者网段,如:192.168.10.0/24
    • 多个IP或者网段需要方括号,如:[192.168.10.0/24,192.168.20.0/24]
    • 可以用!来排除,如:[192.168.10.0/24,!192.168.10.100]
  • 注意事项:这里的网段参数都是指内网IP,不需要填公网ip。

Ips ipvar.png

3.2 端口参数定义

  • 支持的端口参数(参见Snort的配置文档):
    • HTTP_PORTS:HTTP服务端口,默认为[36,80,81,82,83,84,85,86,87,88,89,90,311,383,555,591,593,631,801,808,818,901,972,1158,1220,1414,1533,1741,1812,1830,1942,2231,2301,2381,2578,2809,2980,3029,3037,3057,3128,3443,3702,4000,4343,4848,5000,5117,5250,5450,5600,5814,6080,6173,6988,7000,7001,7005,7071,7144,7145,7510,7770,7777,7778,7779,8000,8001,8008,8014,8015,8020,8028,8040,8080,8081,8082,8085,8088,8090,8118,8123,8180,8181,8182,8222,8243,8280,8300,8333,8344,8400,8443,8500,8509,8787,8800,8888,8899,8983,9000,9002,9060,9080,9090,9091,9111,9290,9443,9447,9710,9788,9999,10000,11371,12601,13014,15489,19980,29991,33300,34412,34443,34444,40007,41080,44449,50000,50002,51423,53331,55252,55555,56712]
    • SHELLCODE_PORTS:shellcode的端口,默认为“!80”(除80端口外的所有其他端口)
    • ORACLE_PORTS:oracle的服务端口,默认为“1024:”(1024:65534)。
    • SSH_PORTS:ssh端口,默认22。
    • FTP_PORTS:FTP服务端口,默认为[21,2100,3535]。
    • SIP_PORTS:SIP服务端口,默认[5060,5061,5600]。
    • FILE_DATA_PORTS:FTP数据端口,默认为[$HTTP_PORTS,110,143]。
  • 支持的配置格式:
    • 单个端口,如:80
    • 多个端口,如:[80,8000,8080]
    • 端口范围,如:1024:2048
    •  !代表排除,如:[1024:2048,!2000]
  • 注意事项:这里的端口都是指内网端口,不要填端口映射的外网端口。

Ips portvar.png

4 IPS检测项

点击“编辑检测项”,即可打开“IPS检测项”的配置界面。左侧是待选项,右侧是已选项。内置以下集合:

  • 木马检测: 检测内网终端是否有木马程序。
  • 恶意软件:检测内外网的恶意软件攻击。
  • 服务器漏洞攻击:针对Web、FTP等服务漏洞发起的攻击。
  • 系统漏洞攻击:针对操作系统漏洞发起的攻击。
  • 协议漏洞攻击:针对协议漏洞发起的攻击。

如果要保护内网的客户端,建议开启“木马检测”和“恶意软件”。如果要保护内网的服务器,建议开启“服务器漏洞攻击”、“系统漏洞攻击”和“协议漏洞攻击”。

Ips ruleset01.png

IPS选项,默认只开启了推荐的规则列表。检测选项的“高”、“中”、“低”,表示规则的优先级别。

  • “高”代表高风险的攻击行为,比如attempted-admin、shellcode-detect、trojan-activity等。
  • “中”级别对应的攻击风险要低一些(可疑行为)。比如:attempted-dos、non-standard-protocol、suspicious-login等。
  • “低”级别对应的是network-scan、protocol-command-decode等相对比较中性的行为。

Ips ruleset02.png

点击各规则名称,可以看到规则集的规则总数,点击“查看”可以检查规则列表。

Ips ruleset03.png

Ips ruleset04.png

5 自定义规则

除了系统自带的检测规则外,您还可以通过“自定义规则”来添加检测规则。规则语法请参考Snort的规则语法,如下图:

Ips localrule.png

6 记录查询

Ips query.png