Windows

DC NTP 不同步和本地 CMOS 時鐘問題

  • January 4, 2022

我已經按照這裡的描述配置了我的 DC(域控制器;Windows 2016),以便從我的 Sophos-UTM 獲得時間。所以我按照那裡的描述配置了 GPO。但在那之後並重新啟動伺服器,我注意到當我執行w32tm /query /status源下的命令時列出了本地 CMOS 時鐘,但是這裡應該列出我的 Sophos-UTM 的 IP 還是我錯了?在我上面連結的螢幕截圖中,當它的作者執行相同的命令時,列出了他的配置中的正確 ip。那麼這裡出了什麼問題?

所有需要的埠 (UDP 123) 都是開放且可訪問的。我已經對其進行了測試並查看了我的防火牆配置。出於測試目的,我在 DC 上執行此命令:w32tm /stripchart /computer:IP-OF-SOPHOS-UTM /dataonly /samples:5

使用該命令,我從 Sophos-UTM 獲得了 5 個時間戳樣本,因此我的防火牆規則正在工作並且那裡的配置是正確的。我在日誌中也看到了這一點。

此 DC 是一個虛擬機,在 vSphere ESXi(免費版本 7.0.1)中執行。ESXi-Host 和 Guest 之間的時間同步已禁用,如官方 vmWare 文件中所述。

這是命令的輸出w32tm /query /status

Jump indicator: 0 (no warning)
stratum: 1 (primary reference - synchron. via radio clock)
Precision: -6 (15.625ms per tick)
stem delay: 0.0000000s
stem deviation: 10.0000000s
Reference ID: 0x4C4F434C (source name: "LOCL")
Last successful synchronization time: 07.12.2020 15:04:23
Source: Local CMOS Clock
Polling interval: 6 (64s)

命令的輸出w32tm /query /configuration

[Configuration]

EventLogFlags: 2 (Lokal)
AnnounceFlags: 10 (Lokal)
TimeJumpAuditOffset: 28800 (Lokal)
MinPollInterval: 6 (Lokal)
MaxPollInterval: 10 (Lokal)
MaxNegPhaseCorrection: 172800 (Lokal)
MaxPosPhaseCorrection: 172800 (Lokal)
MaxAllowedPhaseOffset: 300 (Lokal)

FrequencyCorrectRate: 4 (Lokal)
PollAdjustFactor: 5 (Lokal)
LargePhaseOffset: 50000000 (Lokal)
SpikeWatchPeriod: 900 (Lokal)
LocalClockDispersion: 10 (Lokal)
HoldPeriod: 5 (Lokal)
PhaseCorrectRate: 7 (Lokal)
UpdateInterval: 100 (Lokal)

[Time-Provider]

NtpClient (Lokal)
DllName: C:\Windows\SYSTEM32\w32time.DLL (Lokal)
Enabled: 1 (Lokal)
InputProvider: 1 (Lokal)
AllowNonstandardModeCombinations: 1 (Lokal)
ResolvePeerBackoffMinutes: 15 (Richtlinie)
ResolvePeerBackoffMaxTimes: 7 (Richtlinie)
CompatibilityFlags: 2147483648 (Lokal)
EventLogFlags: 0 (Richtlinie)
LargeSampleSkew: 3 (Lokal)
SpecialPollInterval: 900 (Richtlinie)
Type: NTP (Richtlinie)
NtpServer: MY-SOPHOS-UTM-IP,0x5 (Richtlinie)

NtpServer (Lokal)
DllName: C:\Windows\SYSTEM32\w32time.DLL (Lokal)
Enabled: 1 (Lokal)
InputProvider: 0 (Lokal)
AllowNonstandardModeCombinations: 1 (Lokal)

VMICTimeProvider (Lokal)
DllName: C:\Windows\System32\vmictimeprovider.dll (Lokal)
Enabled: 1 (Lokal)
InputProvider: 1 (Lokal)

命令的輸出w32tm /query /peers

Number Peers: 1

Peer: MY-SOPHOS-UTM-IP,0x5
Status: Active
Time remaining: 495.5965885s
Mode: 1 (Symmetrically active)
Stratum: 0 (not specified)
Peer Retrieval Interval: 0 (not specified)
Host polling interval: 4 (16s)

命令的輸出w32tm /resync /rediscover

Resynchronize command is sent to the local computer.
The computer was not synchronized because no time data was available.

非常奇怪的行為。哪位大神,有解決辦法嗎?

經過大量研究,找到了問題的解決方案。在我的情況下,它是 Hewlett Packard Switch HPE OfficeConnect 1820

較新的 HP Procurve 型號(18xx 系列,例如 1810G 等)的一項功能稱為“Auto DoS”。您可以在“安全”部分中找到它,然後在“高級安全”部分中找到它。

如果啟用 Auto DoS 功能,則會根據以下條件之一阻止流量:

源埠(TCP / UDP)與目標埠(NTP、SYSLOG 等)相同

源埠(TCP / UDP)是“特權”的,因此在 1 -1023 的範圍內。

這會導致各種各樣的問題,但首先是:“為什麼第 2 層設備在第 3 層進行過濾?”。這簡直是瘋了。

NTP 不再工作。系統日誌流量不會到達。VPN 流量可能無法到達。

這個問題花了我很多時間來解決。我首先將責任歸咎於我們的防火牆,但實際流量到達了受影響交換機上標記的中繼埠。流量不知何故未發送到連接目標設備的交換機埠。

受影響的產品:

HP ProCurve 1810G - J9449A(8 個埠)和 J9450A(24 個埠)

因此,在禁用自動 DoS 保護功能後,它會按預期工作。由於 Windows 中的源現在是列出的正確 IP,而不是本地 CMOS 時鐘,現在我看到了 tcpdump 中的流量。因此,如果他們使用 HP Switch,這可能是其他人的解決方案。

經過更多研究,似乎只能Prevent UDP Blat Attack禁用該選項。正如這裡提到的,Prevent UDP Blat Attack – UDP Source and Destination Port match. 所以在查看 tcpdump 之後,我看到我的 UTM 和 Windows Server 都使用埠 123,所以難怪,為什麼這個選項會阻止流量……

這是最終配置的螢幕截圖。 在此處輸入圖像描述

引用自:https://serverfault.com/questions/1045300