Ahoana no hahazoana antoka fa tsy mandainga ny fotoana iray raha manana fitaovana lehibe sy kely an-tapitrisany mifandray amin'ny TCP/IP ianao? Rehefa dinihina tokoa, ny tsirairay amin'izy ireo dia manana famantaranandro, ary ny fotoana dia tsy maintsy ho marina ho azy rehetra. Ity olana ity dia tsy azo ihodivirana raha tsy misy ntp.
Alao sary an-tsaina mandritra ny iray minitra fa ao amin'ny ampahany iray amin'ny fotodrafitrasa IT indostrialy dia misy fahasarotana amin'ny serivisy fampifanarahana rehefa mandeha ny fotoana. Avy hatrany dia manomboka tsy nahomby ny fitambaran'ny rindrambaiko Enterprise, rava ny sehatra, tsy nahomby ny masters sy Standby nodes mba hamerina amin'ny laoniny ny toe-javatra misy.
Azo atao ihany koa ny minia manakorontana ny fotoana amin'ny alàlan'ny fanafihana MiTM na DDOS ny mpanafika. Amin'ny toe-javatra toy izany, na inona na inona mety hitranga:
- Ny tenimiafina kaonty mpampiasa dia ho lany daty;
- Ny fanamarinana X.509 dia ho lany daty;
- Tsy hiasa intsony ny fanamarinana roa lafin-javatra TOTP;
- ho lany andro ny backups ary hamafa azy ireo ny rafitra;
- Ho tapaka ny DNSSec.
Mazava fa ny departemanta IT rehetra dia liana amin'ny asa azo itokisana amin'ny serivisy fampifanarahana ny fotoana, ary tsara raha azo antoka sy azo antoka amin'ny asa indostrialy.
Tapaho ny NTP ao anatin'ny 25 minitra
Network protocols - ny millennials dia manana ny mampiavaka azy, efa nisy izy ireo ary tsy mahasoa na inona na inona intsony, fa ny fanoloana azy ireo dia tsy mora loatra na dia miangona be dia be ny mpankafy sy ny famatsiam-bola.
Ny fitarainana lehibe momba ny NTP mahazatra dia ny tsy fisian'ny mekanika azo antoka hiarovana amin'ny fanafihan'ny mpanafika. Efa nisy ny ezaka samihafa natao hamahana ity olana ity. Mba hanatrarana izany dia nampiharina aloha ny rafitra fanalahidy efa nozaraina (PSK) amin'ny fifanakalozana fanalahidy symmetric.
Indrisy anefa, io fomba io dia tsy nandoa noho ny antony tsotra - tsy mirefy tsara. Ny fanamafisana manual dia ilaina amin'ny lafiny mpanjifa arakaraka ny mpizara. Midika izany fa tsy afaka manampy mpanjifa hafa toy izany fotsiny ianao. Raha misy fiovana eo amin'ny mpizara NTP dia tsy maintsy amboarina ny mpanjifa rehetra.
Avy eo dia tonga niaraka tamin'ny AutoKey izy ireo, saingy avy hatrany dia nahita vulnerabilities marobe izy ireo tamin'ny famolavolana ny algorithm ary tsy maintsy nandao izany izy ireo. Ny zava-misy dia ny voa dia tsy misy afa-tsy 32-bits, kely loatra izy io ary tsy misy fahasarotana fikajiana ampy ho an'ny fanafihana mivantana.
- Key ID - symmetric 32-bit key;
- MAC (kaody fanamarinana hafatra) - fanamarinana fonosana NTP;
Ny Autokey dia kajy toy izao manaraka izao.
Autokey=H(Sender-IP||Receiver-IP||KeyID||Cookie)Raha ny H() dia asa kriptografika.
Toy izany koa no ampiasaina amin'ny kajy ny checksum ny fonosana.
MAC=H(Autokey||NTP packet)Hita fa miankina amin'ny maha-azo itokian'ny cookies ny fahamendrehana manontolo amin'ny fisavana fonosana. Rehefa manana azy ireo ianao dia afaka mamerina ny autokey ary avy eo mandroba ny MAC. Na izany aza, ny mpizara NTP dia mampiasa voa iray rehefa mamorona azy ireo. Eto no misy ny tratra.
Cookie=MSB_32(H(Client IP||Server IP||0||Server Seed))Ny fiasa MSB_32 dia manapaka ny bitika 5 manan-danja indrindra amin'ny valin'ny kajy md32 hash. Tsy miova ny cookie mpanjifa raha mbola tsy miova ny mari-pamantarana mpizara. Avy eo dia afaka mamerina ny isa voalohany ihany ilay mpanafika ary afaka mamorona cookies tsy miankina.
Voalohany, mila mifandray amin'ny mpizara NTP ianao ho mpanjifa ary mahazo cookies. Aorian'izany, mampiasa fomba mahery vaika, mamerina ny isa voalohany manaraka ny algorithm tsotra ny mpanafika.
Algorithm amin'ny fanafihana ny kajy ny isa voalohany amin'ny alàlan'ny fomba brute-force.
for i=0:2^32 − 1 do
Ci=H(Server-IP||Client-IP||0||i)
if Ci=Cookie then
return i
end if
end forFantatra ny adiresy IP, ka ny hany sisa tavela dia ny mamorona 2^32 hashes mandra-pahatongan'ny cookie noforonina mifanaraka amin'ny voaray avy amin'ny mpizara NTP. Amin'ny tobin-trano mahazatra miaraka amin'ny Intel Core i5, haharitra 25 minitra izany.
NTS - Autokey vaovao
Tsy azo atao ny mametraka lavaka fiarovana toy izany ao amin'ny Autokey, ary tamin'ny 2012 dia niseho izany protocol. Mba hanamafisana ny anarana dia nanapa-kevitra ny hanova anarana izy ireo, ka ny Autokey v.2 dia nomena anarana hoe Network Time Security.
Ny protocol NTS dia fanitarana ny fiarovana NTP ary amin'izao fotoana izao dia tsy manohana afa-tsy ny maody unicast. Izy io dia manome fiarovana kriptografika matanjaka amin'ny fanodinkodinana packet, misoroka ny fitsikilovana, mizana tsara, mahatohitra ny fahaverezan'ny fonosana amin'ny tambajotra, ary miteraka fatiantoka faran'izay kely indrindra mandritra ny fiarovana ny fifandraisana.
Ny fifandraisana NTS dia misy dingana roa izay mampiasa protocols sosona ambany. On ny voalohany Amin'ity dingana ity, ny mpanjifa sy ny mpizara dia manaiky amin'ny mari-pamantarana fifandraisana isan-karazany ary mifanakalo mofomamy misy fanalahidy miaraka amin'ny angon-drakitra rehetra miaraka. On faharoa Amin'ity dingana ity, ny fivoriana NTS tena voaaro dia mitranga eo amin'ny mpanjifa sy ny mpizara NTP.

Ny NTS dia misy protocole roa ambany: Network Time Security Key Exchange (NTS-KE), izay manomboka fifandraisana azo antoka amin'ny TLS, ary NTPv4, ny fahatongavana farany amin'ny protocol NTP. Bebe kokoa momba izany eto ambany.
Dingana voalohany - NTS KE
Amin'ity dingana ity, ny mpanjifa NTP dia manomboka fivoriana TLS 1.2/1.3 amin'ny fifandraisana TCP misaraka amin'ny mpizara NTS KE. Mandritra ity fivoriana ity dia mitranga izao manaraka izao.
- Ny antoko no mamaritra ny masontsivana algorithm ho an'ny dingana faharoa.
- Ny antoko dia mamaritra protocole ambany sosona faharoa, fa amin'izao fotoana izao dia ny NTPv4 ihany no tohana.
- Ny antoko dia mamaritra ny adiresy IP sy ny seranan-tsambon'ny mpizara NTP.
- Ny mpizara NTS KE dia mamoaka cookies eo ambanin'ny NTPv4.
- Ireo antoko dia maka lakile symmetrika roa (C2S sy S2C) avy amin'ny fitaovana cookie.
Ity fomba fiasa ity dia manana tombony lehibe fa ny enta-mavesatra rehetra amin'ny fampitana fampahalalana miafina momba ny mari-pamantarana fifandraisana dia mianjera amin'ny protocol TLS voaporofo sy azo antoka. Izany dia manafoana ny filàna fanavaozana ny kodiaranao ho an'ny fifampikasohana NTP azo antoka.
Dingana faharoa - NTP eo ambany fiarovana NTS
Amin'ny dingana faharoa, ny mpanjifa dia mampifanaraka tsara ny fotoana amin'ny mpizara NTP. Ho an'ity tanjona ity, dia mampita fanitarana manokana efatra (saha fanitarana) ao amin'ny rafitry ny fonosana NTPv4.
- Ny Extension Identifier Unique dia misy nonce kisendrasendra mba hisorohana ny fanafihana famerenana.
- NTS Cookie Extension dia misy ny iray amin'ireo cookies NTP azon'ny mpanjifa. Satria ny mpanjifa ihany no manana ny lakile AAED C2S sy S2C symmetric, ny mpizara NTP dia tsy maintsy manala azy ireo amin'ny fitaovana cookie.
- NTS Cookie Placeholder Extension dia fomba iray ahafahan'ny mpanjifa mangataka cookies fanampiny amin'ny mpizara. Ity fanitarana ity dia ilaina mba hahazoana antoka fa ny valin'ny mpizara NTP dia tsy lavitra ny fangatahana. Izany dia manampy amin'ny fisorohana ny fanafihana amplification.
- NTS Authenticator sy Encrypted Extension Fields Extension dia misy ny cipher AAED miaraka amin'ny fanalahidin'ny C2S, ny lohatenin'ny NTP, ny famantaranandro ary ny EF etsy ambony ho angona miaraka. Raha tsy misy an'io fanitarana io dia azo atao ny mandoko famantarana famantaranandro.

Rehefa nahazo fangatahana avy amin'ny mpanjifa iray, ny mpizara dia manamarina ny maha-azo itokiana ny fonosana NTP. Mba hanaovana izany, dia tsy maintsy manapaka ny cookies izy, manala ny algorithm AAED sy ny fanalahidy. Rehefa avy nanamarina tamim-pahombiazana ny fonosana NTP ho an'ny fahamendrehana, ny mpizara dia mamaly ny mpanjifa amin'ny endrika manaraka.
- Unique Identifier Extension dia dika mitovy amin'ny fangatahan'ny mpanjifa, fepetra manohitra ny fanafihana famerenana.
- NTS Cookie Extension cookies bebe kokoa hanohizana ny fivoriana.
- NTS Authenticator sy Encrypted Extension Fields Extension dia misy ny cipher AEAD miaraka amin'ny lakile S2C.
Ny fifanomezan-tanana faharoa dia azo averina im-betsaka, mandalo ny dingana voalohany, satria ny fangatahana sy ny valinteny tsirairay dia manome cookies fanampiny ho an'ny mpanjifa. Izany dia manana tombony fa ny fiasan'ny TLS somary mavesa-danja amin'ny kajy sy ny fandefasana angona PKI dia zaraina amin'ny isan'ny fangatahana miverimberina. Tena mety izany ho an'ireo mpitahiry fotoana manokana amin'ny FPGA, rehefa azo ampidirina amin'ny fiasa maro avy amin'ny sehatry ny kriptografika symmetrika ny fampiasa lehibe rehetra, mamindra ny stack TLS manontolo amin'ny fitaovana hafa.
NTPSec
Inona no mampiavaka ny NTP? Na dia eo aza ny zava-misy fa ny mpanoratra ny tetikasa, Dave Mills, niezaka ny handrakitra ny kaody araka izay azo atao, dia tsy fahita firy programmer izay ho afaka hahatakatra ny intricacies ny fotoana synchronization algorithms izay 35 taona. Ny sasany amin'ireo kaody dia nosoratana talohan'ny vanim-potoanan'ny POSIX, ary ny Unix API tamin'izany dia tena hafa noho izay ampiasaina ankehitriny. Fanampin'izany, ilaina ny fahalalana momba ny antontan'isa mba hanesorana ny famantarana amin'ny fanelingelenana amin'ny tsipika mitabataba.
Tsy ny NTS no nanandrana nanamboatra ny NTP voalohany. Raha vao nianatra nanararaotra ny vulnerabilities NTP ny mpanafika mba hanamafisana ny fanafihana DDoS, dia nanjary nazava fa ilaina ny fiovana mahery vaika. Ary raha teo am-panomanana sy notontosaina ny volavolan-dalàna NTS, ny US National Science Foundation tamin'ny faran'ny taona 2014 dia nanome vola maika ho amin'ny fanavaozana ny NTP.
Tsy olona irery no nitarika ny vondrona miasa, fa - iray amin'ireo mpanorina sy andrin'ny vondrom-piarahamonina Open Source sy mpanoratra ny boky . Ny zavatra voalohany nanandrana nataon'i Eric sy ny namany dia ny famindrana ny kaody NTP avy amin'ny sehatra BitKeeper mankany git, saingy tsy nahomby izany. Ny mpitarika ny tetikasa Harlan Stenn dia nanohitra io fanapahan-kevitra io ary nijanona ny fifampiraharahana. Avy eo dia nanapa-kevitra ny hanapaka ny kaody tetikasa, ary teraka ny NTPSec.
Ny traikefa matanjaka, anisan'izany ny asa amin'ny GPSD, ny matematika ary ny fahaiza-mamaky ny kaody tranainy - Eric Raymond no tena mpijirika afaka nanala tetikasa toy izany. Nahita manampahaizana manokana momba ny fifindra-monina ny ekipa ary tao anatin'ny 10 herinandro monja dia NTP amin'ny GitLab. Raikitra ny asa.
Ny ekipan'i Eric Raymond dia nandray ny asa mitovy amin'ny nataon'i Auguste Rodin tamin'ny vato. Tamin'ny fanesorana ny kaody taloha 175 KLOC dia afaka nampihena be ny tontolon'ny fanafihana izy ireo tamin'ny fanakatonana lavaka fiarovana maro.
Ity misy lisitra tsy feno amin'ireo tafiditra ao anatin'ny fizarana:
- Refclock tsy misy taratasy, lany andro, lany andro na tapaka.
- Tranomboky ICS tsy ampiasaina.
- libopts/autogen.
- Kaody tranainy ho an'ny Windows.
- ntpdc.
- Autokey.
- Ny kaody ntpq C dia naverina nosoratana tamin'ny Python.
- Ny kaody sntp/ntpdig C dia naverina nosoratana tamin'ny Python.
Ankoatra ny fanadiovana ny kaody, ny tetikasa dia nanana asa hafa. Ity ny lisitry ny zava-bita:
- Ny fiarovana ny kaody amin'ny fihoaran'ny buffer dia nohatsaraina be. Mba hisorohana ny fihoaran'ny buffer dia nosoloina dikan-teny azo antoka izay mametraka fetran'ny haben'ny buffer (strcpy/strcat/strtok/sprintf/vsprintf/gets).
- Nanampy fanohanana NTS.
- Nohatsaraina avo folo heny ny fahamarinan'ny dingana amin'ny alalan'ny fampifandraisana fitaovana ara-batana. Izany dia noho ny zava-misy fa ny famantaranandro solosaina maoderina dia lasa marina kokoa noho ny tamin'ny NTP teraka. Ny tena nahazo tombony tamin'izany dia ny GPSDO sy ny onjam-peo manokana.
- Nihena ho roa ny isan'ny fiteny fandaharana. Raha tokony Perl, awk ary na S script aza dia Python daholo izao. Noho izany dia misy fahafahana bebe kokoa amin'ny fampiasana kaody.
- Raha tokony ho ny script autotools, dia nanomboka nampiasa rafitra fananganana rindrambaiko ny tetikasa .
- Nohavaozina sy narindra ny antontan-taratasy momba ny tetikasa. Avy amin'ny fanangonana antontan-taratasy mifanipaka ary indraindray tranainy, dia namorona antontan-taratasy azo alaina izy ireo. Ny fifandimbiasana baikon'ny baiko rehetra sy ny sampan-draharahan'ny fanamafisana rehetra dia manana dikan-teny tokana amin'ny fahamarinana. Fanampin'izany, noforonina avy amin'ny rakitra fototra mitovy ny pejin'olona sy ny antontan-taratasy amin'ny tranonkala.
NTPSec dia misy amin'ny fizarana Linux maromaro. Amin'izao fotoana izao, ny kinova stable farany indrindra dia 1.1.8, ho an'ny Gentoo Linux dia ny farany farany.
(1:696)$ sudo emerge -av ntpsec
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] net-misc/ntpsec-1.1.7-r1::gentoo USE="samba seccomp -debug -doc -early -gdb -heat -libbsd -nist -ntpviz -rclock_arbiter -rclock_generic -rclock_gpsd -rclock_hpgps -rclock_jjy -rclock_local -rclock_modem -rclock_neoclock -rclock_nmea -rclock_oncore -rclock_pps -rclock_shm -rclock_spectracom -rclock_trimble -rclock_truetime -rclock_zyfer -smear -tests" PYTHON_TARGETS="python3_6" 0 KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiB
Would you like to merge these packages? [Yes/No]
Chrony
Nisy fanandramana hafa hanoloana ny NTP taloha tamin'ny safidy azo antoka kokoa. Chrony, tsy toy ny NTPSec, dia nosoratana hatrany am-boalohany ary natao hiasa azo antoka ao anatin'ny toe-javatra maro isan-karazany, ao anatin'izany ny fifandraisana amin'ny tambajotra tsy milamina, ny fisian'ny tambajotra ampahany na ny fitohanana, ary ny fiovan'ny mari-pana. Ankoatra izany, manana tombony hafa ny chrony:
- Ny chrony dia afaka mampifanaraka haingana kokoa ny famantaranandron'ny rafitra miaraka amin'ny fahamendrehana bebe kokoa;
- Ny chrony dia kely kokoa, mandany fahatsiarovana kely kokoa, ary miditra amin'ny CPU raha ilaina izany. Tombontsoa lehibe ho an'ny fitsitsiana loharano sy angovo izany;
- chrony dia manohana famantarana famantarana famantaranandro amin'ny Linux, mamela ny fandrindrana tena marina amin'ny tambajotra eo an-toerana.
Na izany aza, tsy ampy ny sasany amin'ireo endri-javatra amin'ny NTP taloha ny chrony, toy ny client/server broadcast sy multicast. Ankoatr'izay, ny NTP mahazatra dia manohana rafitra sy sehatra maro kokoa.
Mba hanesorana ny fiasan'ny server sy ny fangatahana NTP amin'ny fizotran'ny chronyd, soraty fotsiny ny port 0 ao amin'ny rakitra chrony.conf. Izany dia atao amin'ny tranga izay tsy ilaina ny mitazona fotoana ho an'ny mpanjifa NTP na mpiara-mianatra. Hatramin'ny dikan-teny 2.0, ny seranan-tsambo NTP dia tsy misokatra raha tsy mahazo alalana amin'ny alàlan'ny baikon'ny fahazoan-dàlana na baiko mifanaraka amin'izany, na ny NTP peer dia namboarina, na ny torolàlana fampitana no ampiasaina.
Ny programa dia misy modules roa.
- chronyd dia serivisy mandeha any ambadika. Mahazo fampahalalana momba ny fahasamihafana misy eo amin'ny famantaranandro rafitra sy ny mpizara fotoana ivelany ary manitsy ny ora eo an-toerana. Izy io koa dia mampihatra ny protocol NTP ary afaka miasa ho mpanjifa na mpizara.
- chronyc dia fampiasa andalana baiko ho an'ny fanaraha-maso sy fanaraha-maso ny programa. Ampiasaina hanitsiana tsara ny masontsivana serivisy isan-karazany, ohatra, ahafahanao manampy na manala ireo mpizara NTP raha mbola mandeha ny chronyd.
Hatramin'ny version 7 an'ny RedHat Linux chrony ho serivisy fampifanarahana ny fotoana. Misy ihany koa ny fonosana ho an'ny fizarana Linux hafa. Ny version stable farany indrindra dia 3.5, miomana amin'ny famoahana ny v4.0.
(1:712)$ sudo emerge -av chrony
These are the packages that would be merged, in order:
Calculating dependencies... done!
[binary N ] net-misc/chrony-3.5-r2::gentoo USE="adns caps cmdmon ipv6 ntp phc readline refclock rtc seccomp (-html) -libedit -pps (-selinux)" 246 KiB
Total: 1 package (1 new, 1 binary), Size of downloads: 246 KiB
Would you like to merge these packages? [Yes/No]
Ahoana ny fametrahana ny mpizara chrony lavitra anao amin'ny Internet mba hampifanaraka ny fotoana amin'ny tambajotra birao. Ity ambany ity ny ohatra iray amin'ny fametrahana VPS.
Ohatra amin'ny fametrahana Chrony amin'ny RHEL / CentOS amin'ny VPS
Andeha isika hanao fanazaran-tena kely ary hametraka ny mpizara NTP antsika manokana amin'ny VPS. Tsotra be izany, safidio fotsiny ny sara mety amin'ny tranokala RuVDS, makà mpizara efa vonona ary soraty ny baiko tsotra ampolony. Ho an'ny tanjonay dia mety tsara io safidy io.

Andao hiroso amin'ny fametrahana ny serivisy ary apetraho aloha ny fonosana chrony.
[root@server ~]$ yum install chronyRHEL 8 / CentOS 8 dia mampiasa mpitantana fonosana hafa.
[root@server ~]$ dnf install chronyAorian'ny fametrahana ny chrony dia mila manomboka sy manetsika ny serivisy ianao.
[root@server ~]$ systemctl enable chrony --nowRaha tianao dia azonao atao ny manova ny /etc/chrony.conf, manolo ireo mpizara NPT amin'ireo mpizara eo an-toerana akaiky indrindra mba hampihenana ny fotoana famaliana.
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.ru.pool.ntp.org iburst
server 1.ru.pool.ntp.org iburst
server 2.ru.pool.ntp.org iburst
server 3.ru.pool.ntp.org iburst
Manaraka, nanangana ny fampifanarahana ny mpizara NTP miaraka amin'ny nodes avy amin'ny dobo voatondro.
[root@server ~]$ timedatectl set-ntp true
[root@server ~]$ systemctl restart chronyd.service
Ilaina ihany koa ny manokatra ny seranan-tsambo NTP any ivelany, raha tsy izany dia hanakana ny fifandraisana miditra amin'ny nodes mpanjifa ny firewall.
[root@server ~]$ firewall-cmd --add-service=ntp --permanent
[root@server ~]$ firewall-cmd --reload
Amin'ny lafiny mpanjifa dia ampy ny mametraka tsara ny faritry ny ora.
[root@client ~]$ timedatectl set-timezone Europe/MoscowNy rakitra /etc/chrony.conf dia mamaritra ny IP na ny anaran'ny mpampiantrano ny mpizara VPS mandeha amin'ny chrony mpizara NTP.
server my.vps.serverAry farany, manomboka ny fotoana synchronization amin'ny mpanjifa.
[root@client ~]$ systemctl enable --now chronyd
[root@client ~]$ timedatectl set-ntp true
Amin'ny manaraka dia holazaiko anao izay safidy misy amin'ny fampifanarahana ny fotoana tsy misy Internet.
Source: www.habr.com
