有时系统启动时根本不接受任何入站流量,而我的 IPSec 规则在出站时不起作用 - 看来服务器卡在了某种初始启动后配置中。这主要针对 2008 r2 和 Windows 7。
我前段时间读到过,Windows 高级防火墙中存在某种默认配置,它会阻止所有入站流量,只允许特定的出站流量(如果我没记错的话,是到域控制器、DNS、DHCP)但会阻止所有其他访问,直到加载并应用“真实”规则。听起来这就是我的系统在重启后卡住的状态。
这种状态的名称是什么?我该如何诊断我的问题?我很久以前就忘记了这些细节,而且我花了很长时间才重新找到它们。
编辑:
我终于找到了这种行为的正确名称,Windows 防火墙启动时间过滤器
编辑:
这越来越奇怪了。看来我现在可以从未启用 IPSEC 的系统建立入站连接,但任何 IPSEC 请求都失败了。我启用了一些 auditpol 日志记录,并得到了以下信息。
Additional Information:
Keying Module Name: IKEv1
Authentication Method: Unknown authentication
Role: Responder
Impersonation State: Not enabled
Main Mode Filter ID: 0
Failure Information:
Failure Point: Local computer
Failure Reason: No policy configured <<< Looks wrong.
State: No state
Initiator Cookie: cec5de8d625d2196
Responder Cookie: 0d40a3b58c477709
我可以通过定义本地 IPSEC 策略暂时解决这个问题 - 甚至防火墙规则也能起作用 - 但我不确定为什么会出现这种情况或者我可以做些什么来长期解决这个问题。
答案1
到目前为止,应用了下面列出的注册表更改的大约六台服务器可以顺利启动。虽然我还不能 100% 确定这是一个解决方案 - 如果服务器能够顺利启动,那么成功率大约为 50/50,但这似乎确实有很大帮助。六台服务器每台都重新启动了 3 次以上,运行正常。
Name: ChainUrlRetrievalTimeoutMilliseconds
Location: HKLM\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CertDllCreateCertificateChainEngine\Config
Type: REG_DWORD
Decreasing the amount of time to allow CRL retrieval can significantly improve performance when internet access is poor or non-existent. Setting the value to 200 (milliseconds) may be a reasonable timeout.
Name: ChainRevAccumulativeUrlRetrievalTimeoutMilliseconds
Location: HKLM\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CertDllCreateCertificateChainEngine\Config
Type: REG_DWORD
Decreasing the amount of time to allow all CRL retrievals can significantly improve performance when internet access is poor or non-existent. Setting the value to 500 (milliseconds) may be a reasonable timeout.
背景,为什么我认为这是解决方案
我们环境中的几台服务器在重新启动时出现问题,服务也启动了。这些服务大多与 .NET 有关。它们都出现了 7009 事件。我们有问题的防火墙服务器上的某些服务也显示此事件 ID。虽然防火墙或基本过滤服务从未出现过 7009,但加载过程中的超时(尤其是因为它有时确实可以干净地加载)似乎是罪魁祸首。
这些注册表设置来自 Technet 博客,配置没有 Internet 访问的 Exchange 服务器。