网络扩展框架与内核扩展

问题描述 投票:0回答:1

我正在寻求为macOS实现防火墙/网络过滤功能。

我正在寻找最安全的方法来进行此操作,即试图确保不会丢失任何网络流量,并且不能轻易绕过我的过滤条件。

搜索后,我可以看到Apple已弃用Network Kernel Extension。他们现在建议使用Network Extension框架。

但是,我看到用于Mac的防火墙,例如LuluLittle Snitch已移至使用内核扩展,而不是网络扩展框架。

有充分理由这样做吗?内核扩展是否允许更深入,更安全的过滤?

network-programming filtering firewall macos-catalina kernel-extension
1个回答
1
投票

例如,Lulu和Little Snitch已移至使用内核扩展

我不能代表Lulu,但是Little Snitch至少是在引入“网络扩展” API之前开发的,它肯定没有“移至” NKE API。 According to an article on their own blog似乎他们正在积极调查向网络扩展的迁移。我怀疑只要NKE在不受支持的所有macOS版本上都能不受限制地工作,他们将继续使用它们,以便不必同时交付不同的后端。但是他们可能已经有了使用较新API的某种内部原型,以确保为最终从操作系统中删除NKE API做好准备。

如果网络扩展支持您的用例,则可能应该使用它们。如果没有,则应向Apple提出“增强请求”,否则当NKE停止工作时,您将失去选择权。

Edit:要部署NKE,如果您还没有一个KEXT签名证书(Developer ID Application + Kext),则基本上需要一个。另一种选择是强制用户禁用SIP的kext签名要求,这在大多数情况下既不明智也不合理。听说苹果近年来使获得这样的证书变得更加困难。

© www.soinside.com 2019 - 2024. All rights reserved.