侧边栏壁纸
博主头像
liveJQ博主等级

沒有乐趣,何来开始

  • 累计撰写 142 篇文章
  • 累计创建 60 个标签
  • 累计收到 2 条评论

Panabit 的 HTTP 管控功能以及局限

liveJQ
2023-04-01 / 0 评论 / 0 点赞 / 1,096 阅读 / 1,028 字 / 正在检测是否收录...
广告 广告

HTTP 管控顾名思义就是可以对 HTTP(Hypertext Transfer Protocol)网络通信进行监管与控制,核心功能是可以对 HTTP 的请求和响应进行过滤、限制、阻止或转发等操作。接下来通过使用 Panabit 的 HTTP 管控功能实现匹配到特定域名后进行URL跳转。

环境初始化

20230401_panabit_pro_topology.png

这里采用的是网桥部署模式,Router是网关设备,Console 用来管理 Panabit,Client 即为客户机,作为 HTTP 管控功能实现的目标主机。

配置

实验目标是当客户机访问谷歌时自动跳转到本站,因此,满足这个过程需要几个条件。提供需要匹配的域名、添加匹配策略后让客户机执行跳转到本站的动作、规定此策略在什么时间段生效(通常是全天)。

添加域名群组

20230401_domain_group.png

20230401_domain_group_details.png

添加策略

在添加策略之前先创建一个策略组,这里命名为“搜索引擎”,然后选中这个策略组,在里面添加策略。由于策略组里面可以存在多条策略,所以存在匹配优先级。策略编号数字越小优先级越高,策略组里面的策略按优先级匹配,一旦匹配成功后就不会继续往下匹配。

20230401_add_the_policy_into_the_group.png

这里需要说明的是,访问域名选择我们刚才的域名群组。输出线路/接口选择原路返回,这个跟我们的部署模式有关。由于网关或网桥模式中的流量都经过 Panabit 设备,所以可以默认原路返回,旁路模式的话需要主动选择一条线路(三层接口)返回。

20230401_the_policy_details.png

添加策略调度

20230401_configure_what_time_to_run_the_policy.png

策略生效

20230401_the_policy_is_working.png

20230401_the_policy_is_working.gif

局限

这里测试了常用的几款浏览器,只有 Firefox 稳定生效。究其原因,还是回到标题,所谓 HTTP 管控,就是只能对 HTTP 进行管控,对加密的 HTTPS 没辙(也不是完全没辙,TCP重置可以对 HTTPS 的请求进行阻断)。但是现如今的浏览器基本都实现了 HSTS(HTTP Strict-Transport-Security) 策略,也就是说一个网站比如这里的谷歌,如果可以通过 HTTPS 进行访问,并且在返回的标头中加入了类似“Strict-Transport-Security:max-age=31536000”,那么浏览器在第一次通过 HTTP 请求访问谷歌之后,会根据谷歌标头告知的内容,将谷歌网址加入到浏览器本地的 HSTS 策略并保存一年,下次再访问谷歌时,会自动先将 HTTP 的请求转换成 HTTPS 之后再发出。

要说具体 URL 跳转功能为什么对 HTTPS 没生效,猜测应该是因为 HTTPS 是通过非对称加密的方式验证通信的合法性的。所以当请求的 URL 被 Panabit 匹配到后,发送伪 HTTP 报文给客户端,但是没有包含合法证书,所以客户端并没有响应,直接丢弃了。

0

评论区