DC NTP 不同步和本地 CMOS 時鐘問題
我已經按照這裡的描述配置了我的 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,所以難怪,為什麼這個選項會阻止流量……