Windows používá pro NTP src port 123?

Windows používá pro NTP src port 123?
« kdy: 25. 05. 2022, 23:09:36 »
TL;DR Windows používá defaultně pro synchronizaci času přes NTP zdrojový port 123, což mnoho ISP blokuje (viz dále).

Ahoj,

před asi 2 lety jsem si všiml, že na všech Win počítačích doma se dost podstatně rozjíždí čas. Zkusil jsem tedy ručně synchronizovat a cca po 1 minutě čekání jsem se dočkal pouze obecné chybové hlášky, že se to nepovedlo. První přišla na přetřes defaultní služba Windows Time, u které jsem si myslel, že se nespouští správně. Pak jsem zjišťoval dostupnost default serveru time.windows.net (bez problému), pak jsem zkoušel i jiné servery. Nakonec jsem to vyřešil instalací historické (a možná už děravé jak řešeto) appky NetTime z dob WinXP. Ta problém do jisté míry na všech pc vyřešila.

Nicméně nedávno jsem se k tomu vrátil, vrtalo mi to pořád hlavou. Nastavil jsem zkusmo na MikroTiku (moje brána do Internetu) zapnout log paketů směřujících z iface LAN do ether1 po ANY portu 123 a ejhle! při ručním pokusu o sync přímo ve Win se cca co 15 sekund zkoušel prodrat paket se src portem 123 a cílovým (to je již správně) též 123.

Na paket z venku nepřišla odpověď (ze serveru time.windows.com), a tak jsem přemýšlel: u běžných zákazníků většinou bývá outbound komunikace se src portem 123 zablokovaná od ISP kvůli eliminaci jedné techniky z rodiny DDOS Amplification, která zneužívá toho, pokud někomu doma běží otevřený NTP server bez jakéhokoli zabezpečení. Tohle chování ISPíků do jisté míry chápu. Co ale ani trochu nechápu, je, proč mají Windows potřebu pro komunikaci klient -> server používat port 123, když ten se podle standardů má používat u symetrické komunikace a pro výše zmíněný model se má použít náhodný src port?

Řešíte někdo něco podobného? Mluvil jsem o tom s jedním známým, co spravuje poměrně dost pc okolo sebe, a ten se tváří, že na problém nenarazil (měl by mít stejného poskytovatele).

Lukyn


Re:Windows používá pro NTP src port 123?
« Odpověď #1 kdy: 25. 05. 2022, 23:23:48 »
jak se píše ve RFC https://www.rfc-editor.org/rfc/rfc5905#page-32

When operating in symmetric modes (1 and 2), this field must contain the NTP port number PORT (123) assigned by the IANA.

U Windowsu tohle nastává pokud ho máš konfigurovaný jako time servers, jak se toho přesně dá docílit v posledních Windows ti neřeknu, už jsem z toho světa trochu zmizel. Pokud mu vypneš funkci time server, měl by zase začít používat ephemeral zdrojové porty.

ISP tohle zrovna rádi blokují, občas jim ale stačí napsat, že k tomu máš svůj důvod (např. v tomhle případě řekni, že se sychronizuješ čas do dalších zařízení doma a že se tak Windows chová) a port ti povolí (v tvém případě UDP/123 příchozí).

Medo77

  • ****
  • 288
    • Zobrazit profil
    • E-mail
Re:Windows používá pro NTP src port 123?
« Odpověď #2 kdy: 26. 05. 2022, 07:57:08 »
Ja som si casto vsimol, ze hlavne po instalacii win je cas rozbity.
Rucny klik na sync - error .. znovu -a uz to preslo .. Potom uz automatika drzi ...
A menim servery za zvycajne cesnetacke .. (tik/tak, alebo europe.pool.ntp.org)

bmn

  • ***
  • 145
    • Zobrazit profil
    • E-mail
Re:Windows používá pro NTP src port 123?
« Odpověď #3 kdy: 26. 05. 2022, 09:32:01 »
Můžete prozradit o jakého ISP se jedná, ať víme na koho si dávat pozor?

Když už se jim nechce otravovat se zákazníkem, který má špatně nastavený NTP server, tak mají blokovat jen ten problematický mód NTP co se používá na monitoring a ne celý port 123.

Re:Windows používá pro NTP src port 123?
« Odpověď #4 kdy: 26. 05. 2022, 10:07:39 »
Můžete prozradit o jakého ISP se jedná, ať víme na koho si dávat pozor?

Já nemám potřebu je nějak hanit a navíc je to local ISP; jinak s nimi problémy nejsou, donedávna na zaplaceném 50/50mbit běželo klidně 100/100 :))

Když už se jim nechce otravovat se zákazníkem, který má špatně nastavený NTP server, tak mají blokovat jen ten problematický mód NTP co se používá na monitoring a ne celý port 123.

Ono selektivně blokovat nějaký provoz na základě dat se mi zdá ještě horší, jednak to spotřebuje hromadu výkonu na analýzu paketů (= pomalejší připojení) a druhak 99% uživatelů to nijak neovlivní...

Vidím problém spíš ve Windows než v ISP.


Re:Windows používá pro NTP src port 123?
« Odpověď #5 kdy: 26. 05. 2022, 10:10:59 »
jak se píše ve RFC https://www.rfc-editor.org/rfc/rfc5905#page-32
U Windowsu tohle nastává pokud ho máš konfigurovaný jako time servers, jak se toho přesně dá docílit v posledních Windows ti neřeknu, už jsem z toho světa trochu zmizel. Pokud mu vypneš funkci time server, měl by zase začít používat ephemeral zdrojové porty.

Nikdy jsem ji nezapínal a nemůžu k tomu ani dohledat moc informací, je možný, že je to zapnutý nějak defaultně? Díval jsem se do registrů a všechno se tam tvářilo, že je ten server zakázaný (vypnutý).

bmn

  • ***
  • 145
    • Zobrazit profil
    • E-mail
Re:Windows používá pro NTP src port 123?
« Odpověď #6 kdy: 26. 05. 2022, 10:38:14 »
Ono selektivně blokovat nějaký provoz na základě dat se mi zdá ještě horší, jednak to spotřebuje hromadu výkonu na analýzu paketů (= pomalejší připojení) a druhak 99% uživatelů to nijak neovlivní...

Jakože 99% uživatelů Windows nepotřebuje mít přesný čas? Ono to není jen Windows, ale taky všechno kde se používá klasické ntpd. To taky používa port 123.

Když ISP nemá technické možnosti filtrovat jen ten problémový provoz, tak může scanovat svoji síť a blokovat ten port pro každou adresu zvlášt, nebo prostě upozornit zákazníka, ať dodržuje podmínky služby, stejně jako kdyby rozesílal spam, stahoval co nemá, apod.

Re:Windows používá pro NTP src port 123?
« Odpověď #7 kdy: 26. 05. 2022, 14:16:39 »
Nikdy jsem ji nezapínal a nemůžu k tomu ani dohledat moc informací, je možný, že je to zapnutý nějak defaultně? Díval jsem se do registrů a všechno se tam tvářilo, že je ten server zakázaný (vypnutý).

Zkus se podívat na službu, které běží. Takhle to z hlavy dohromady už nedám, Windows nespravuji 10 let a Windows 10/11 jsou už v mnoha ohledech jiné. Každopádně co mohu říct, není běžné, aby Windows stanice používala 123 jako source port.

Je to nová instalace? Nemáš tam nějaký SW, který by to zapínal? Jaká verze Windowsu?

Ono selektivně blokovat nějaký provoz na základě dat se mi zdá ještě horší, jednak to spotřebuje hromadu výkonu na analýzu paketů (= pomalejší připojení) a druhak 99% uživatelů to nijak neovlivní...

Jakože 99% uživatelů Windows nepotřebuje mít přesný čas? Ono to není jen Windows, ale taky všechno kde se používá klasické ntpd. To taky používa port 123.

Když ISP nemá technické možnosti filtrovat jen ten problémový provoz, tak může scanovat svoji síť a blokovat ten port pro každou adresu zvlášt, nebo prostě upozornit zákazníka, ať dodržuje podmínky služby, stejně jako kdyby rozesílal spam, stahoval co nemá, apod.


No, řekl bych, že 99 % uživatelů určitě nepoužívá udp/123 na vstupu. Tady jde o zakázání komunikace z internetu na 123 port k uživateli. To, že nemají stavový firewall, který by si pamatoval, že šla nejprve komunikace ven s tímhle zdrojovým portem, ale rovnou to skáče na deny pravidlo bych jim asi neměl za zlé, opravdu je správné tyhle vstupní porty blokovat pro blaho všech. Zatím ale vždy byla s řadou ISP rozumná domluva a otevřeli mi o co jsem si řekl.

bmn

  • ***
  • 145
    • Zobrazit profil
    • E-mail
Re:Windows používá pro NTP src port 123?
« Odpověď #8 kdy: 26. 05. 2022, 14:54:04 »

Zkus se podívat na službu, které běží. Takhle to z hlavy dohromady už nedám, Windows nespravuji 10 let a Windows 10/11 jsou už v mnoha ohledech jiné. Každopádně co mohu říct, není běžné, aby Windows stanice používala 123 jako source port.

Já si teda nevybavuji, že bych někdy viděl w32time používat jiný port než 123, minimálně od dob Windows 7. Tady je podobný dotaz:

https://social.technet.microsoft.com/Forums/en-US/e16117c3-0341-4cb8-bb12-f2c084a68dc8/why-do-windows-ntp-queries-use-port-123-for-both-source-and-destination

Když to někomu jede, tak to může klidně být kvuli NATu, protože ten port na vnější adrese nemůže mít více počítačů najednou pro stejný server.

Re:Windows používá pro NTP src port 123?
« Odpověď #9 kdy: 26. 05. 2022, 15:06:16 »
... opravdu je správné tyhle vstupní porty blokovat pro blaho všech.
A o tom, že cesta do pekel bývá dlážděna dobrými úmysly, už jsi slyšel?

Re:Windows používá pro NTP src port 123?
« Odpověď #10 kdy: 27. 05. 2022, 09:05:59 »
Každopádně co mohu říct, není běžné, aby Windows stanice používala 123 jako source port.

Díky, přesně tohle jsem chtěl vědět.

Re:Windows používá pro NTP src port 123?
« Odpověď #11 kdy: 28. 05. 2022, 08:33:57 »
Je to nová instalace? Nemáš tam nějaký SW, který by to zapínal? Jaká verze Windowsu?

Jsou to různé PC s Win10 a jeden můj osobní s Win11, na všech totožný problém. Pravidelně aktualizuji, takže na všech Win10 je nejnovější 21H2. Hledal jsem program, který by mohl mít co do činění s NTP nebo časem, ale nenašel jsem. (Re)Instalaci vždycky provádím co nejčistším způsobem, zformátuju celý disk a nainstaluju čisté Win.

Jsou 4 možnosti:
1) dělám něco špatně já,
2) většina ISP src UDP/123 neblokuje, a tak to většina lidí nepozná,
3) většině lidí se čas synchronizuje jiným způsobem než přes default Win službu,
4) většině lidí se samovolně rozjíždí čas a nevšímají si toho/neřeší to.

Re:Windows používá pro NTP src port 123?
« Odpověď #12 kdy: 28. 05. 2022, 08:55:06 »
2) většina ISP src UDP/123 neblokuje, a tak to většina lidí nepozná,
Platí tohle. Až do vašeho dotazu jsem netušil, že by nějaký ISP mohl blokovat port 123. A připadá mi to docela za hranou toho, co si může ISP dovolit – k blokování komunikace by měl mít pádný důvod. Chápu blokování portu 25, když to ISP umí promptně odblokovat – protože blokovaný port 25 překáží jen odborníkům, kteří vědí, o co jde, a umí se s ISP domluvit. Blokování portu 123 překáží všem laikům v domácnostech, kteří nemají šanci poznat, že jim problém způsobuje ISP.

Re:Windows používá pro NTP src port 123?
« Odpověď #13 kdy: 29. 05. 2022, 12:02:48 »
což mnoho ISP blokuje

mate pro tohle tvrzeni nejakou oporu? Uz jsem otestoval peknou radku ISP, at uz u sebe nebo u svych zakazniku, a s blokovanim portu 123 jsem se jeste nikdy nesetkal.