用途与实际影响
这项功能怎样使用
为什么需要它
只添加两条窄规则仍可能被旧宽规则抵消,所以必须同时核对现有KDE规则。变更保留原状态,以便撤销项目时恢复。
举个实际例子
“我只想让这两台电脑互传,别向别的设备开放。”AI先列出这次连接实际需要的规则和允许设备,展示调整范围;按授权处理后分别检查允许的电脑和其他设备,配对与真实传输另行确认。
最后我会得到什么
KDE流量的项目规则明确限定批准对端;本机其他应用与整个Windows防火墙不属于该结论。
正常时
只允许已批准的电脑进入 KDE Connect 所需范围,原有宽泛规则也已核对。
发现问题时
发现其他宽泛规则时先停止,展示将禁用哪些规则并等待本人明确选择。
入口不可用或证据不足时
修改需要管理员权限;只读检查若无法看全规则,就报告未知,不把缺证据当安全通过。
从哪里开始
在两台电脑分别运行 scripts/configure-peer.ps1 -Peer 指定已核实的对端;遇到宽泛旧规则先用 -WhatIf 预览,再明确允许禁用。
需要准备什么
- 批准互连的对端电脑
- 发现宽泛旧规则时是否接受预览后的定向禁用
从开始到拿到结果
- 1
检查已有规则
逐端核对对端地址、程序及现有入站规则;冲突先停止。
- 2
只加精确通路
明确同意后禁用相关宽泛规则并写入限定端口、协议、程序和接口的新规则。
- 3
回读或回滚
两端分别回读规则;失败尝试恢复本轮改动,doctor 报告未完成事务。
技术实现与依据
这里保留实现、关键条件、精确入口、历史记录和验证结果。
本轮精确入站与非项目规则检查通过关键规则与设计选择
规则同时约束协议、端口、程序、接口与单对端地址,不把0.0.0.0监听地址等同于防火墙远程放行范围。
宽泛非项目规则只在显式选项下禁用,不删除,保留恢复记录。
卸载核对资源是否仍由本项目拥有且未变化,变化资源保留并报告。
本模块用到的名词
- fail-closed(失败阻断)
- 当安全检测发现异常或潜在漏洞时,系统默认选择关闭或拒绝执行,而非冒险放行。
- 端口收敛
- 将开放监听的服务端口通过防火墙策略收缩到最小必需网络接口与最小授信客户端 IP 集合。
专业定义
将 KDE 入站限定到选定对端,冲突规则可逆处理
解决什么
若缺少 Windows 管理员提权,无法写入防火墙规则;若用户未明确授权加固且存在宽泛规则,脚本安全拒绝推进。
当前怎样实现
- Get-MeshClipKdeFirewallAudit读取指向可信kdeconnectd.exe的入站规则和过滤条件。
- Disable-MeshClipBroadKdeFirewallRules禁用明确冲突规则并记录。
- New-MeshClipFirewallRules创建TCP/UDP两条精确过滤规则;事务失败按记录回滚。
- scripts/MeshClip.Transaction.ps1在集成效果前持久记录带类型恢复步骤;失败和硬中断保留待恢复。recover.ps1默认只预览,Apply反向核对实际资源再恢复;外来改动不覆盖,未完成记录不能被新安装/configure覆写。软件包与KDE配对身份不在该集成事务范围。
执行流程
- 1
解析批准对端和可信daemon路径,读取当前规则。
- 2
发现冲突时停止;显式选项下先预览,再执行可逆禁用。
- 3
保存本机状态并添加精确TCP/UDP规则。
- 4
回读规则;失败按原记录回滚,未完成事务由doctor报告。
边界
- 只处理本项目KDE规则与明确识别的冲突规则,不代替全机网络策略。
- 卸载不自动删除第三方程序,已变化资源不强行覆盖。
失败与恢复
- 存在开放给 0.0.0.0 的 KDE 防火墙规则
- 脚本立即 fail-closed 终止,提示使用 -DisableBroadKdeFirewallRules 参数进行受控加固。
- 运行缺乏管理员权限
- Test-MeshClipAdministrator 检查失败并抛出提权提示,不破坏性部分写入。
- 安装或配置中断、回滚未完成
- 保留原操作记录,先只读恢复预览;按记录处理仍匹配的资源,外来修改继续待协调,不删除标记伪造通过。
真实入口
scripts\configure-peer.ps1防火墙加固与规则创建入口
scripts\uninstall.ps1规则清理与历史宽泛规则可逆恢复
tests\MeshClip.Common.Tests.ps1防火墙过滤契约等价性测试
如何验证
- MeshClip.Common.Tests.ps1 验证防火墙规则名哈希确定性、精准过滤契约与多余地址排除断言。
- doctor.ps1 自动化验证 Exact-peer firewall 为 PASS 且 Unmanaged KDE firewall 为 PASS。
与其他模块的关系
让KDE网络访问范围与批准对端一致,配对仍由KDE及用户负责。
