内部数据库查看型URL过滤

概述

URL过滤功能是指在HTTP通信中、限制可访问URL的功能。内部数据库查看型URL过滤功能中,能够将URL的全部或者部分作为关键字在路由器中注册,限制访问包含符合该关键字的字符串的URL。并且,也能够通过在过滤设置时指定起始IP地址而限制来自特定的主机或者网络的连接。

主要规格如下。

  • 支持HTTP版本1.0以及1.1。
  • 使用URL过滤功能的接口中,面向URL过滤被适用方向的目的地端口号码与url filter port命令所设置的端口号码一致的HTTP数据包将以正常路径处理。
  • 能够将过滤适用结果输出至日志,用SNMP获取或者用命令输出统计信息。
  • 本功能中不处理目的地IP地址为路由器地址的数据包。

注意事项

  • 不能限制HTTPS的通信。
  • 不支持国际化域名(IDN)。
  • URL的详细内容请参照RFC3986。
  • HTTP的详细内容请参照RFC2616。

支持机型和版本

雅马哈RT系列中,以下的机型以及固件支持内部数据库查看型URL过滤功能。

机型 固件
RTX5000 Rev.14.00.15以后
RTX820 Rev.11.03.16以后
RTX1200 Rev.10.01.20以后
RTX800 Rev.10.01.20以后

详细

对接口的URL过滤的适用

  • 可以对各个接口的IN/OUT的不同的方向个别设置URL过滤的条件。
  • 限制来自网络内客户端的Web访问时,设置在向WAN的上行方向(LAN端的接口的IN、或者WAN端的接口的OUT)。

评价对象URL的修整

  • HTTP数据包中包含的URL内、如果RFC3986中规定的非保留字符(Unreserved Characters)被百分号编码时,则解码后评价为过滤。
    非保留字符(Unreserved Characters):半角英文数字、"-"(连字符)、"_"(下划线)、"."(句点)、"~"(波浪号)
  • HTTP数据包内的路径中包含点片断("."或者"..")时,将路径转换为已将其解释的格式评价为过滤。

URL过滤的扫描

  • 匹配reject的过滤时,抛弃该数据包,在客户端显示区块页面,向HTTP服务器发送TCP RST。能够用url filter reject命令设置是否向客户端返回TCP RST、是否传送给区块页面。
  • 评价URL过滤的顺序为url INTERFACE filter命令中所注册的URL过滤号码的顺序。

例如,进行如下设置时,

url filter 1 pass www.yamaha.co.jp
url filter 2 reject yamaha
url filter 3 pass *
url lan2 filter out 1 2 3

虽然能够访问http://www.yamaha.co.jp/, 但是对http://www.aaaa.com/yamaha/的访问被拦截。
将对url INTERFACE filter命令的过滤注册进行如下的顺序颠倒,

url lan2 filter out 2 1 3

然后,对http://www.yamaha.co.jp/的访问以及对http://www.aaaa.com/yamaha/的访问均被拦截。

  • 用url filter命令在关键字中设置了URL的主机名时,不能限制通过已解析主机名IP地址进行的HTTP访问。

主机 www.yamaha.co.jp 的IP地址设为172.16.0.1。

url filter 1 reject www.yamaha.co.jp
url filter 2 pass *
url lan2 filter out 1 2

上述设置中,对http://www.yamaha.co.jp/的访问被拦截,但是对http://172.16.0.1/的访问未被拦截。

  • url filter命令中设置了关键字包含百分号编码部分的URL时,百分号编码部分将直接作为字符串处理而不进行解码。
    请在url filter命令的关键字中用解码字符设置百分号编码的部分。
  • 对不属于任何一个所设置关键字的URL的访问,按照url filter命令中关键字指定为*(星号)的设置进行处理。
    没有url filter命令中关键字指定为*(星号)的设置时,无条件地拦截。不过,如果同时使用了外部数据库参照型URL过滤,则继续开始通过外部数据库参照型URL过滤的处理。

MIB变量

通过以下的MIB变量能够获取URL过滤被适用的统计信息。

  • yamahaRTInterfaces
    接口的信息
    • yrIfUrlfilterTable
      适用于LAN/PP/Tunnel接口的URL过滤的统计信息
      • yrIfUrlfilterEntry
        • yrIfUrlfilterIfIndex
          接口号码
        • yrIfUrlfilterDir
          过滤的方向
        • yrIfUrlfilterId
          过滤识别号码
        • yrIfUrlfilterStatId
          过滤匹配的连接的识别号码
        • yrIfUrlfilterSrcIP
          过滤匹配的连接的起始IP地址
        • yrIfUrlfilterCount
          过滤匹配的次数

命令

URL过滤的设置

[格式]
url filter ID KIND KEYWORD [SRC_ADDR[/MASK]]
no url filter ID
[设置值]
  • ID...过滤号码(1..65535)
  • KIND
    • pass, pass-nolog ..... 一致则通过(不记录至日志)
    • pass-log ............. 一致则通过(记录至日志)
    • reject, reject-log ... 一致则抛弃(记录至日志)
    • reject-nolog ......... 一致则抛弃(不记录至日志)
  • KEYWORD
    • 过滤的URL的全部或者部分(255个半角字符以内)
    • * ..... 支持所有的URL
  • SRC_ADDR ... IP数据包的起始IP地址
    • IPv4地址
    • 之间隔着-(连字符)的两个IP地址、-后面接着的IP地址、或者-前面连着的IP地址(指定范围)
    • 用逗点(,)隔开上项目的排列
    • * ..... 支持所有的IP地址
    • 省略时与*相同
  • MASK ...网络屏蔽长度(仅在SRC_ADDR为网络地址时可以指定)
[说明]

设置根据URL的过滤。用本命令设置的过滤通过url INTERFACE filter命令被使用。

指定的关键字中包含大写英文字母时,将它们转换为小写并保存。

[注解]

能够指定多个SRC_ADDR,之间用逗点(,)隔开。

对URL过滤的接口的适用

[格式]
url INTERFACE filter DIR LIST
url pp filter DIR LIST
url tunnel filter DIR LIST
no url INTERFACE filter
no url pp filter
no url tunnel filter 
[设置值]
  • INTERFACE ...LAN接口名
  • DIR
    • in ... 过滤输入方向的HTTP连接
    • out ... 过滤输出方向的HTTP连接
  • LIST ...用空白隔开的URL过滤号码的排列(512个以内...RTX5000, 128个以内...RTX5000以外的机型)
[说明]

组合用url filter命令设置的过滤,根据接口中收发的HTTP数据包的URL进行限制。

能够设置的过滤数量分别为:RTX5000为512个以内、RTX5000以外的机型为128个以内,或者命令行字符串长度(4095个字符)中能够输入的范围之内。

与指定的所有过滤均不匹配的数据包将被抛弃。

[初始值]

过滤未设置。

URL过滤中进行检查的HTTP端口号码的设置

[格式]
url filter port LIST
no url filter port
[设置值]
  • LIST ...用空白隔开的URL过滤号码的排列(4个以内)
[说明]

设置URL过滤中进行检查的HTTP端口号码。

[初始值]
80

URL过滤的信息的显示

[格式]
show url filter
show url filter [INTERFACE]
show url filter pp [PERR_NUM]
show url filter tunnel [TUNNEL_NUM] 
[设置值]
  • INTERFACE ...LAN接口名称
  • PEER_NUM ...对方信息号码
  • TUNNEL_NUM ...通道接口号码
[说明]

显示接口中所适用的URL过滤中、各个过滤匹配次数的统计信息。接口未指定时,显示所有接口的信息。

显示内容如下:

  • 过滤号码
  • 起始IP地址
  • HTTP连接与过滤一致的次数
[注解]

url filter命令中,关键字和IP地址均设为"*"的过滤适用于接口时,不会显示HTTP连接匹配这个过滤的次数。

URL过滤的统计信息的清除

[格式]
clear url filter
clear url filter [INTERFACE]
clear url filter pp [PERR_NUM]
clear url filter tunnel [TUNNEL_NUM]
[设置值]
  • INTERFACE ...LAN接口名称
  • PEER_NUM ...对方信息号码
  • TUNNEL_NUM ...通道接口号码
[说明]

删除URL过滤的统计信息。接口未指定时,删除所有接口的信息。

向URL过滤中被抛弃数据包的发送方返回HTTP应答的动作设置

[格式]
url filter reject redirect [URL]
url filter reject redirect URL
url filter reject off
no url filter reject [ACTION] 
[设置值]
  • redirect ... 返回HTTP重定向的HTTP应答,传送给区块页面
  • off ... 不返回HTTP应答、通过TCP RST结束TCP会话
  • URL ... 重定向的URL(以http://或者https://开始的字符串、255个半角字符以内)
[说明]

设置向URL过滤中被抛弃数据包的发送方返回HTTP应答的动作。

在区块页面中显示一致的关键字或者拦截访问的理由。

如果指定了URL,在实际重定向时指定的URL后面接着"?"加上以下内容的查询。

  • 拦截了访问的URL
  • 匹配的过滤中所设置的关键字

URL中不能设置以非http://或者https://开始的字符串。

[注解]

支持HTTP服务器功能的机型中,设置redirect在Web浏览器中显示区块页面时,需要httpd service on的设置。

不支持HTTP服务器功能的机型中指定redirect时,不能省略URL。

[初始值]
  • off... RTX5000
  • redirect... 非上述机型

与过滤匹配时是否输出日志的设置

[格式]
url filter log SW
no url filter log
[设置值]
  • SW
    • on .... 与过滤匹配时输出日志
    • off ... 与过滤匹配时不输出日志
[说明]

设置与过滤匹配时是否输出日志。

[注解]

即使设置为on,用url filter命令在KIND指定了pass、pass-nolog、或者reject-nolog的过滤相匹配时,不输出日志。

[初始值]
on

是否使用URL过滤的设置

[格式]
url filter use SW
no url filter use
[设置值]
  • SW
    • on ... 使用URL过滤
    • off ... 不使用URL过滤
[说明]

设置是否使用内部数据库参照型URL过滤以及外部数据库参照型URL过滤。

[初始值]
on

设置范例

对PP[1]接口的设置范例
url filter 1 reject * 192.168.0.100			... (1)
url filter 2 reject info *				... (2)
url filter 3 reject yamaha 192.168.0.2-192.168.0.10     ... (3)
url filter 4 reject http://aaa.bbb.ccc/ *	        ... (4)
url filter 1000 pass * *				... (5)
pp select 1
 url pp filter out 1 2 3 4 1000				... (6)
 
(1)... 禁止从192.168.0.100 的主机访问所有的URL。
(2)... 禁止从所有的主机访问包含info的URL。
(3)... 禁止从192.168.0.2-192.168.0.10范围内的主机访问包含yamaha的URL。
(4)... 禁止从所有的主机访问http://aaa.bbb.ccc/。
(5)... 允许所有的主机访问所有的URL。
(6)... 将(1)~(5)的过滤适用于PP[1]输出方向的HTTP连接。
show url filter命令的显示范例
# show url filter pp 1
pp 1 [OUT]:
过滤号码      起始IP地址          次数
----------------------------------------
    1          192.168.0.10           29
    2          192.168.0.27           10
    3          192.168.0.74          917
    4          192.168.0.18           83
 
#
 
不指定接口时
# show url filter
LAN 2 [OUT]:
过滤号码      起始IP地址          次数
----------------------------------------
   19          192.168.100.231     83716
   22          192.168.100.18        378
   43          192.168.100.172      1058
   88          192.168.100.34       1892
  324          192.168.100.35       3871
 
 
pp 1 [OUT]:
过滤号码      起始IP地址          次数
----------------------------------------
    1          192.168.0.10           29
    2          192.168.0.27           10
    3          192.168.0.74          917
    4          192.168.0.18           83
 
pp 2 [IN]:
过滤号码      起始IP地址          次数
----------------------------------------
 2001          10.129.83.98         1238
 2002          172.16.38.137           9
 2003          10.211.49.176         328

SYSLOG消息一览表

本功能中输出的SYSLOG消息的一览表如下所示。并且,实际输出的各个消息的开头将被加上名为“[URL FILTER]”的前缀。

级别 输出消息 内容
NOTICE Passed at INTERFACE DIR(NUM) filter: IP_ADDRESS : URL 通过了与INTERFACE的DIR方向应用的过滤号码NUM的过滤相匹配的、从IP_ADDRESS访问URL的数据包。
Rejected at INTERFACE DIR(NUM) filter: IP_ADDRESS : URL 抛弃了与INTERFACE的DIR方向应用的过滤号码NUM的过滤相匹配的、从IP_ADDRESS访问URL的数据包。

相关资料

返回顶部Return to Top