我正在使用启用了出站过滤的 Windows 7 防火墙。Windows 防火墙不为新的出站连接提示提供 UI,它只是阻止它们。Windows 防火墙控制使用一种变通方法解决了这个问题 - 它启用对数据包/连接丢弃故障的审核日志记录,监视安全日志中的新条目,并根据需要显示提示。
我花了一些时间为需要建立出站连接的所有系统服务和应用程序制定出站允许规则列表。Windows 防火墙能够以 svchost.exe 中的特定服务为目标,从而实现非常精细的控制。我只遇到过两件事不起作用 - 网络发现和加密服务。
我启用了以下规则:
netsh advfirewall firewall add rule name="Windows Cryptographic Services"
program="%SystemRoot%\System32\svchost.exe" service=CryptSvc
protocol=tcp remoteport=80,443 dir=out action=allow
Run Code Online (Sandbox Code Playgroud)
但是,我仍然不断收到来自托管 CryptSvc 的 svchost.exe 的块,试图建立出站 http 连接以验证证书等。我什sc config CryptSvc type=own
至曾经将服务隔离到它自己的容器中,以确认确实是 CryptSvc 发出了这些请求。即便如此,规则仍然不匹配。还有许多其他规则具有相同的结构,只是目标服务不同,一切正常。
到目前为止,我找不到令人满意的解决方法。允许 CryptSvc 的“一切”仍然不会使其匹配。范围至少需要是“所有服务”才能匹配,这太宽泛了。我可以在 WFC 中为 svchost.exe 添加忽略规则,但这又太宽泛了,我不喜欢。我更喜欢系统的解决方案。
编辑:尝试编辑我的防火墙规则会弹出警告框:
Windows 服务受到仅允许预期行为的规则的限制。指定主机进程的规则(例如 svchost.exe)可能无法按预期工作,因为它们可能与 Windows 服务强化规则发生冲突。
您确定要创建引用此流程的规则吗?
可能是这种“强化”干扰了防火墙识别原始服务的机制。
我发现我工作场所的电子邮件设置方式存在错误配置。我们使用 POP3,并且我们的电子邮件提供商的帐户设置为将垃圾邮件移至垃圾邮件文件夹。我刚刚了解到 POP3 无法识别文件夹(只能看到收件箱),因此垃圾邮件永远不会被下载 - 所有邮件都会保留在服务器上,直到被自动删除。
这就解释了为什么多年来客户的电子邮件不会时不时地出现。更令人困惑的是,Outlook 执行自己过时的非贝叶斯过滤,并将内容放入本地垃圾邮件文件夹中,使其看起来像是按预期运行。我是在查看服务器端网络邮件界面后才发现这个问题的。
那么如何在不造成太多干扰的情况下补救这种情况呢?
我可以将服务器端垃圾邮件处理更改为“将垃圾邮件放入收件箱”,但是我相信这与仅关闭服务器端垃圾邮件过滤相同,从而破坏了其整个目的。
我可以将协议更改为 IMAP,但随后我必须找到一种方法,使 Outlook 的行为仍然像 POP3 客户端一样。员工在其主 .pst 文件中保存了超过 20GB 的电子邮件。我不知道如何将这个设置转换为 IMAP,而又不会使用起来非常尴尬。我们的提供商为我们提供了有限的服务器端存储,因此将其全部保留在服务器端并不是一个选择。
理论上我可以在我们的服务器上设置某种本地托管的电子邮件存储或代理服务,但我什至不知道这样的东西是否存在。我绝对想避免运行一个完整的电子邮件服务器以及随之而来的所有日常麻烦。
这些都不是正确的解决方案,这就是我决定在这里提问的原因。