终端防火墙.md 2.1 KB

当前防火墙弹框

原因

  • windows管理应用的网络访问控制,需要联网的应用需要防火墙允许。
  • 对于可视柜台,需要网络访问的包含:
    • spshell,在启动vtmloader后,触发配置下载,获取token
    • sphost,访问服务
    • guardian, 自行获取token,上传日志
    • cefclient, 访问网页。

防火墙配置细则

  • 需要以完整路径指示准确的程序位置
  • 原程序使用netsh advfirewall firewall add rule name的方式添加防火墙规则

实现方案:

  • 主要通过检查,不需要每次都删除和添加防火墙策略
  • 原有的方式为通过cmd命令行执行,比较不好管理防火墙策略和路径;目前准备通过 ​​Windows Filtering Platform (WFP)​​ API来实现更加精细化的控制
  • 提供一个API用于检查和更新防火墙策略
    • 根目录认定:如在环境下,路径为D:\Run\version\x.x.x.x, 则认为根目录为D:\Run
    • 添加策略:基于根目录,创建策略Run_spshell, Run_sphost, Run_guardian, Run_cefclient
    • 如生产环境:v2.30|Action=Allow|Active=TRUE|Dir=Out|App=D:\Run\version\7.5.1.1\bin\guardian.exe|Name=Run_guardian|
    • 如ST环境:v2.30|Action=Allow|Active=TRUE|Dir=Out|App=D:\Run-st\version\7.5.1.1\bin\guardian.exe|Name=Run-st_guardian|
    • 如UAT环境:v2.30|Action=Allow|Active=TRUE|Dir=Out|App=D:\Run-uat\version\7.5.1.1\bin\guardian.exe|Name=Run-uat_guardian|
    • 不是说ST环境就是Run-st,UAT环境就是Run-uat,而是根据根目录路径来创建。
    • 删除策略:基于根目录,删除策略Run_spshell, Run_sphost, Run_guardian, Run_cefclient
    • 策略存在列表:基于根目录下的所有版本文件夹
  • API调用策略:
    • 在升级的时候,会添加新的防火墙,这时候可以主动调用该API。
    • 对于在回退情况下,因为目录下所有的程序都在防火墙策略中,所以不需要做任何处理。
    • 终端VTM启动时,正常而言,已经存在防火墙策略;调用API,检查是否在路径中,如果不在路径,则添加进路径。(可能会单次增加启动时间)