Conas a tháinig an sioncrónú ama slán

Conas a tháinig an sioncrónú ama slán
Conas a chinntiú nach luíonn an t-am per se má tá milliún feiste mór agus beag agat ag déanamh cumarsáide trí TCP/IP? Tar éis an tsaoil, tá clog ag gach ceann acu, agus caithfidh an t-am a bheith ceart dóibh go léir. Ní féidir dul timpeall ar an bhfadhb seo gan ntp.

Samhlóimis ar feadh nóiméid go bhfuil deacrachtaí ag baint le seirbhísí a shioncronú le himeacht ama i gcuid amháin den bhonneagar TF tionsclaíoch. Láithreach tosaíonn an chruach braisle de bhogearraí Fiontraíochta ag teip, díscaoileann fearainn, ní éiríonn le máistrí agus nóid Fuireachas an status quo a athbhunú.

Is féidir freisin go ndéanann ionsaitheoir iarracht d'aon ghnó cur isteach ar an am trí ionsaí MiTM nó DDOS. I gcás den sórt sin, is féidir aon rud a tharlóidh:

  • Rachaidh pasfhocail cuntais úsáideora in éag;
  • Rachaidh deimhnithe X.509 in éag;
  • Stopfaidh fíordheimhniú dhá fhachtóir TOTP ag obair;
  • beidh cúltacaí as dáta agus scriosfaidh an córas iad;
  • Brisfidh DNSSec.

Tá sé soiléir go bhfuil suim ag gach roinn TF in oibriú iontaofa seirbhísí sioncrónaithe ama, agus bheadh ​​​​sé deas dá mbeadh siad iontaofa agus sábháilte i bhfeidhmiú tionsclaíoch.

Briseadh NTP i 25 nóiméad

Prótacail líonra - tá peculiarity amháin ag millennials, bhí siad as dáta agus nach bhfuil siad go maith do rud ar bith a thuilleadh, ach níl sé chomh héasca sin iad a athsholáthar fiú nuair a bhíonn mais chriticiúil díograiseoirí agus maoinithe carntha.

Is é an príomhghearán faoi NTP clasaiceach ná an easpa meicníochtaí iontaofa chun cosaint a dhéanamh i gcoinne ionsaithe ó ionróirí. Tá iarrachtaí éagsúla déanta chun an fhadhb seo a réiteach. Chun é seo a bhaint amach, chuireamar meicníocht eochair réamh-roinnte (PSK) i bhfeidhm ar dtús chun eochracha siméadracha a mhalartú.

Ar an drochuair, níor íoc an modh seo as ar chúis shimplí - ní scálaíonn sé go maith. Tá cumraíocht láimhe ag teastáil ar thaobh an chliaint ag brath ar an bhfreastalaí. Ciallaíonn sé seo nach féidir leat cliant eile díreach mar sin a chur leis. Má athraíonn rud éigin ar an bhfreastalaí NTP, ní mór gach cliant a athchumrú.

Ansin tháinig siad suas le AutoKey, ach fuair siad amach láithreach ar roinnt leochaileachtaí tromchúiseacha i ndearadh an algartam féin agus bhí orthu é a thréigean. Is é an rud nach bhfuil sa síol ach 32-giotán, tá sé ró-bheag agus nach bhfuil go leor castacht ríomhaireachtúil le haghaidh ionsaí tosaigh.

  • Eochair-aitheantas - eochair 32-giotán siméadrach;
  • MAC (cód fíordheimhnithe teachtaireachta) - seiceáil paicéad NTP;

Ríomhtar Autokey mar seo a leanas.

Autokey=H(Sender-IP||Receiver-IP||KeyID||Cookie)

Nuair is feidhm hash chripteagrafach é H().

Úsáidtear an fheidhm chéanna chun seiceálacha na bpacáistí a ríomh.

MAC=H(Autokey||NTP packet)

Tharlaíonn sé go raibh sláine iomlán na seiceálacha pacáiste ag brath ar bharántúlacht na bhfianán. Nuair a bheidh siad agat, is féidir leat an t-uathkey a chur ar ais agus ansin an MAC a spoof. Mar sin féin, úsáideann an freastalaí NTP síol agus iad á nginiúint. Seo an áit a luíonn an ghabháil.

Cookie=MSB_32(H(Client IP||Server IP||0||Server Seed))

Laghdaíonn an fheidhm MSB_32 na 5 giotán is suntasaí ó thoradh ríomh hash md32. Ní athraíonn fianán an chliaint chomh fada agus a fhanann paraiméadair an fhreastalaí gan athrú. Ansin ní féidir leis an ionsaitheoir ach an uimhir tosaigh a chur ar ais agus a bheith in ann fianáin a ghiniúint go neamhspleách.

Ar dtús, ní mór duit ceangal leis an bhfreastalaí NTP mar chliant agus fianáin a fháil. Tar éis seo, ag baint úsáide as modh fórsa brute, athshocróidh an t-ionsaitheoir an uimhir tosaigh tar éis algartam simplí.

Algartam le haghaidh ionsaí ar ríomh na huimhreach tosaigh ag baint úsáide as an modh 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 for

Tá na seoltaí IP ar eolas, mar sin níl fágtha ach 2^32 hashes a chruthú go dtí go dtagann an fianán cruthaithe leis an gceann a fuarthas ón bhfreastalaí NTP. Ar stáisiún baile rialta le Intel Core i5, tógfaidh sé seo 25 nóiméad.

NTS - Autokey nua

Níorbh fhéidir poill slándála den sórt sin a chur suas i Autokey, agus i 2012 bhí an chuma air leagan nua prótacal. D'fhonn an t-ainm a chomhréiteach, chinn siad athbhrandáil a dhéanamh, agus mar sin tugadh an t-ainm Slándáil Ama Líonra ar Autokey v.2.

Is síneadh é an prótacal NTS ar shlándáil NTP agus faoi láthair ní thacaíonn sé ach le modh unicast. Soláthraíonn sé cosaint láidir cripteagrafach i gcoinne ionramhála paicéid, cuireann sé cosc ​​​​ar snooping, scálaí go maith, tá sé athléimneach i leith caillteanas paicéad líonra, agus mar thoradh ar an méid is lú caillteanas cruinneas a tabhaíodh le linn slándála nasc.

Tá nasc NTS comhdhéanta de dhá chéim a úsáideann prótacail ciseal níos ísle. Ar an chéad cheann Ag an gcéim seo, aontaíonn an cliant agus an freastalaí ar pharaiméadair naisc éagsúla agus malartaíonn siad fianáin ina bhfuil eochracha leis an tacar sonraí go léir a théann leo. Ar dara Ag an gcéim seo, tarlaíonn an seisiún NTS faoi chosaint iarbhír idir an cliant agus an freastalaí NTP.

Conas a tháinig an sioncrónú ama slán

Tá NTS comhdhéanta de dhá phrótacal ciseal níos ísle: Malartú Eochracha Slándála Am Líonra (NTS-KE), a thionscnaíonn nasc slán thar TLS, agus NTPv4, an incarnation is déanaí de phrótacal NTP. Beagán níos mó faoi seo thíos.

An chéad chéim - NTS KE

Ag an gcéim seo, cuireann an cliant NTP tús le seisiún TLS 1.2/1.3 thar nasc TCP ar leith leis an bhfreastalaí NTS KE. Tarlaíonn na rudaí seo a leanas le linn an tseisiúin seo.

  • Socraíonn na páirtithe na paraiméadair AEAD algartam don dara céim.
  • Sainmhíníonn na páirtithe an dara prótacal ciseal níos ísle, ach faoi láthair ní thacaítear ach le NTPv4.
  • Cinneann na páirtithe seoladh IP agus calafort an fhreastalaí NTP.
  • Eisíonn freastalaí NTS KE fianáin faoi NTPv4.
  • Bainfidh na páirtithe péire eochracha siméadracha (C2S agus S2C) as an ábhar fianán.

Tá buntáiste mór ag an gcur chuige seo go dtagann an t-ualach iomlán a bhaineann le faisnéis rúnda a tharchur maidir le paraiméadair naisc ar an bprótacal TLS atá cruthaithe agus iontaofa. Cuireann sé seo deireadh leis an ngá atá le do roth féin a athchruthú le haghaidh croitheadh ​​láimhe NTP slán.

An dara céim - NTP faoi chosaint NTS

Sa dara céim, déanann an cliant an t-am a shioncronú go daingean leis an bhfreastalaí NTP. Chun na críche sin, tarchuireann sé ceithre síneadh speisialta (réimsí síneadh) i struchtúr paicéad NTPv4.

  • Tá nonce randamach sa Síneadh Aitheantóra Uathúil chun ionsaithe athimeartha a chosc.
  • Tá ceann de na fianáin NTP atá ar fáil don chliant i Síneadh Fianán NTS. Ós rud é nach bhfuil ach na heochracha siméadracha AAED C2S agus S2C ag an gcliant, ní mór don fhreastalaí NTP iad a bhaint as an ábhar fianán.
  • Is bealach é NTS Cookie Placeholder Extension do chliaint chun fianáin bhreise a iarraidh ón bhfreastalaí. Tá an síneadh seo riachtanach chun a chinntiú nach bhfuil freagra an fhreastalaí NTP i bhfad níos faide ná an t-iarratas. Cuidíonn sé seo le hionsaithe aimpliúcháin a chosc.
  • Fíordheimhnitheoir NTS agus Síneadh Réimsí Sínte Criptithe tá an scipéir AAED leis an eochair C2S, ceanntásc NTP, stampaí ama, agus an CT thuas mar shonraí a théann leis. Gan an síneadh seo is féidir stampaí ama a spoof.

Conas a tháinig an sioncrónú ama slán

Ar iarratas a fháil ó chliant, fíoraíonn an freastalaí barántúlacht an phaicéid NTP. Chun seo a dhéanamh, ní mór dó na fianáin a dhíchriptiú, an algartam AAED agus na heochracha a bhaint as. Tar éis an paicéad NTP a sheiceáil go rathúil le haghaidh bailíochta, freagraíonn an freastalaí don chliant san fhormáid seo a leanas.

  • Is éard atá i Síneadh Aitheantóra Uathúil ná cóip scátháin d'iarratas an chliaint, beart in aghaidh ionsaithe athimeartha.
  • Síneadh Fianán NTS a thuilleadh fianáin chun leanúint leis an seisiún.
  • Fíordheimhnitheoir NTS agus Síneadh Réimsí Sínte Criptithe tá an tscipéir AEAD le heochair S2C.

Is féidir an dara croitheadh ​​láimhe a athdhéanamh go minic, ag seachaint an chéad chéim, ós rud é go dtugann gach iarratas agus freagra fianáin bhreise don chliant. Tá sé de bhuntáiste aige sin go roinntear na hoibríochtaí TLS atá sách dian ar acmhainní maidir le sonraí BEP a ríomh agus a tharchur ar líon na n-iarratas a dhéantar arís agus arís eile. Tá sé seo áisiúil go háirithe do mhaoir ama speisialaithe FPGA, nuair is féidir an príomhfheidhmíocht go léir a phacáistiú i roinnt feidhmeanna ó réimse na cripteagrafaíochta siméadrach, ag aistriú an chairn TLS ar fad go gléas eile.

NTPSec

Cad atá speisialta faoi NTP? In ainneoin go ndearna údar an tionscadail, Dave Mills, iarracht a chód a dhoiciméadú chomh maith agus is féidir, is ríomhchláraitheoir annamh é a bheidh in ann tuiscint a fháil ar intricacies na halgartaim sioncrónaithe ama atá 35 bliain d'aois. Scríobhadh cuid den chód roimh ré POSIX, agus bhí an API Unix an-difriúil ón méid a úsáidtear inniu. Ina theannta sin, tá gá le heolas ar staitisticí chun an comhartha a ghlanadh ó chur isteach ar línte torannacha.

Níorbh é NTS an chéad iarracht NTP a shocrú. Nuair a d’fhoghlaim ionsaitheoirí leas a bhaint as leochaileachtaí NTP chun ionsaithe DDoS a mhéadú, ba léir go raibh gá le hathruithe radacacha. Agus na dréachtaí NTS á n-ullmhú agus á dtabhairt chun críche, rinne Fondúireacht Eolaíochta Náisiúnta na SA ag deireadh 2014 deontas a leithdháileadh go práinneach chun NTP a nuachóiriú.

Ní hamháin go raibh duine ar bith i gceannas ar an ngrúpa oibre, ach Eric Stephen Raymond - duine de bhunaitheoirí agus philéar phobal Foinse Oscailte agus údar an leabhair Ardeaglais agus Bazaar. Ba é an chéad rud a rinne Eric agus a chairde iarracht a dhéanamh ná an cód NTP a bhogadh ón ardán BitKeeper go git, ach níor oibrigh sé amach mar sin. Bhí ceannaire an tionscadail Harlan Stenn i gcoinne an chinnidh seo agus cuireadh stop leis an idirbheartaíocht. Socraíodh ansin cód an tionscadail a fhorc, agus rugadh NTPSec.

Taithí soladach, lena n-áirítear obair ar GPSD, cúlra matamaitice agus an scil draíochta a bhaineann le cód ársa a léamh - ba é Eric Raymond an hacker a d'fhéadfadh a leithéid de thionscadal a bhaint. D'aimsigh an fhoireann speisialtóir cód-aistrithe agus i 10 seachtaine amháin NTP socraithe síosar GitLab. Bhí an obair faoi lán seoil.

Ghlac foireann Eric Raymond leis an tasc ar an mbealach céanna a rinne Auguste Rodin le bloc cloiche. Trí 175 KLOC a bhaint de chód d'aois, bhí siad in ann an dromchla ionsaí a laghdú go suntasach trí go leor poill slándála a dhúnadh.

Seo liosta neamhiomlán díobh siúd atá san áireamh sa dáileadh:

  • Athchlog gan doiciméid, as dáta, as dáta nó briste.
  • Leabharlann ICS neamhúsáidte.
  • libopts/autogen.
  • Sean-cód le haghaidh Windows íosluchtaigh.
  • ntpdc.
  • Autokey.
  • Athscríobhadh an cód ntpq C i Python.
  • Athscríobhadh an cód sntp/ntpdig C i Python.

Chomh maith leis an gcód a ghlanadh, bhí cúraimí eile ar an tionscadal. Seo liosta páirteach de na héachtaí:

  • Tá feabhas suntasach tagtha ar chosaint an chóid i gcoinne ró-shreabhadh maolánach. Chun ró-shreabhadh maoláin a chosc, cuireadh leaganacha sábháilte in ionad gach feidhm teaghrán neamhshábháilte (strcpy/strcat/strtok/sprintf/vsprintf/gets) a chuireann teorainneacha méide maoláin i bhfeidhm.
  • Cuireadh tacaíocht NTS leis.
  • Tá cruinneas feabhsaithe céime ama faoi dheichiú trí chrua-earraí fisiceacha a nascadh. Tá sé seo mar gheall ar an bhfíric go bhfuil cloig ríomhaire nua-aimseartha tar éis éirí i bhfad níos cruinne ná iad siúd nuair a rugadh NTP. Ba iad an GPSDO agus raidiónna ama tiomnaithe na tairbhithe is mó de seo.
  • Tá líon na dteangacha ríomhchlárúcháin laghdaithe go dtí dhá cheann. In ionad Perl, scripteanna awk agus fiú S, is Python é anois. Mar gheall air seo, tá níos mó deiseanna ann chun cód a athúsáid.
  • In ionad núdail scripteanna autotools, thosaigh an tionscadal ag baint úsáide as córas tógála bogearraí waf.
  • Doiciméadú tionscadail nuashonraithe agus atheagraithe. Ó bhailiúchán doiciméad a bhí contrártha agus uaireanta seanda, chruthaigh siad doiciméadú a bhí sách pasúil. Tá leagan amháin den fhírinne anois ag gach lasc ordaithe agus gach aonán cumraíochta. Ina theannta sin, cruthaítear leathanaigh fear agus doiciméadú gréasáin anois ó na croíchomhaid chéanna.

Tá NTPSec ar fáil le haghaidh roinnt dáiltí Linux. I láthair na huaire, is é an leagan cobhsaí is déanaí ná 1.1.8, do Gentoo Linux is é an leathdhéanach é.

(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]

Cronaí

Rinneadh iarracht eile rogha eile níos sláine a chur in ionad an tsean NTP. Tá Chrony, murab ionann agus NTPSec, scríofa ón talamh aníos agus tá sé deartha chun oibriú go hiontaofa faoi raon leathan coinníollacha, lena n-áirítear naisc líonra éagobhsaí, infhaighteacht líonra páirteach nó brú tráchta, agus athruithe teochta. Ina theannta sin, tá buntáistí eile ag chrony:

  • is féidir le chrony clog an chórais a shioncrónú níos tapúla le cruinneas níos mó;
  • tá chrony níos lú, ídíonn sé níos lú cuimhne, agus ní fhaigheann sé rochtain ar an LAP ach amháin nuair is gá. Is buntáiste mór é seo chun acmhainní agus fuinneamh a shábháil;
  • Tacaíonn chrony le stampaí ama crua-earraí ar Linux, rud a cheadaíonn sioncrónú an-chruinn ar líonraí áitiúla.

Mar sin féin, níl cuid de ghnéithe an tsean-NTP in easnamh ar chrony, ar nós cliant/freastalaí craolta agus ilchraolta. Ina theannta sin, tacaíonn NTP clasaiceach le líon níos mó córais oibriúcháin agus ardáin.

Chun feidhmiúlacht an fhreastalaí agus iarratais NTP ar an bpróiseas chronyd a dhíchumasú, níl le déanamh ach port 0 a scríobh sa chomhad chrony.conf. Déantar é seo i gcásanna nach gá am a choinneáil do chliaint nó do phiaraí NTP. Ós rud é leagan 2.0, níl an calafort freastalaí NTP oscailte ach amháin nuair a cheadaítear rochtain trí threoir cheadaithe nó ordú cuí, nó má tá piara NTP cumraithe, nó nuair a úsáidtear treoir chraolta.

Tá dhá mhodúl sa chlár.

  • Is seirbhís é chronyd a ritheann sa chúlra. Faigheann sé faisnéis faoin difríocht idir clog an chórais agus an freastalaí ama seachtrach agus déanann sé an t-am áitiúil a choigeartú. Cuireann sé an prótacal NTP i bhfeidhm freisin agus féadann sé gníomhú mar chliant nó mar fhreastalaí.
  • Is áirgiúlacht líne ordaithe é chronyc chun monatóireacht agus rialú a dhéanamh ar chláir. Úsáidtear é chun paraiméadair seirbhíse éagsúla a mhionchoigeartú, mar shampla ligean duit freastalaithe NTP a chur leis nó a bhaint as fad a leanann chronyd ag rith.

Ó leagan 7 de RedHat Linux úsáidí chrony mar sheirbhís sioncrónaithe ama. Tá an pacáiste ar fáil freisin le haghaidh dáiltí Linux eile. Is é 3.5 an leagan cobhsaí is déanaí, ag ullmhú le haghaidh scaoileadh 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]

Conas do fhreastalaí cróinéara cianda féin a shocrú ar an Idirlíon chun am a shioncronú ar líonra oifige. Seo thíos sampla de VPS a bhunú.

Sampla de bhunú Chrony ar RHEL / CentOS ar VPS

Déanaimis cleachtadh beag anois agus cuirfimid ár bhfreastalaí NTP féin ar bun ar VPS. Tá sé an-simplí, níl le déanamh ach an taraif chuí a roghnú ar shuíomh Gréasáin RuVDS, faigh freastalaí réidh agus clóscríobh dosaen orduithe simplí. Chun ár gcríoch, tá an rogha seo oiriúnach go leor.

Conas a tháinig an sioncrónú ama slán

Bogfaimid ar aghaidh chuig an tseirbhís a bhunú agus an pacáiste cróinéara a shuiteáil ar dtús.

[root@server ~]$ yum install chrony

Úsáideann RHEL 8 / CentOS 8 bainisteoir pacáiste difriúil.

[root@server ~]$ dnf install chrony

Tar éis duit chrony a shuiteáil, ní mór duit an tseirbhís a thosú agus a ghníomhachtú.

[root@server ~]$ systemctl enable chrony --now

Más mian leat, is féidir leat athruithe a dhéanamh ar /etc/chrony.conf, ag athsholáthar freastalaithe NPT leis na cinn áitiúla is gaire chun am freagartha a laghdú.

# 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

Ansin, bhunaíomar sioncrónú an fhreastalaí NTP le nóid ón linn sonraithe.

[root@server ~]$ timedatectl set-ntp true
[root@server ~]$ systemctl restart chronyd.service

Is gá freisin an calafort NTP a oscailt ar an taobh amuigh, ar shlí eile cuirfidh an balla dóiteáin bac ar naisc atá ag teacht isteach ó nóid an chliaint.

[root@server ~]$ firewall-cmd --add-service=ntp --permanent 
[root@server ~]$ firewall-cmd --reload

Ar thaobh an chliaint, is leor an crios ama a shocrú i gceart.

[root@client ~]$ timedatectl set-timezone Europe/Moscow

Sonraíonn an comhad /etc/chrony.conf IP nó ainm óstach ár bhfreastalaí VPS ag rith chrony freastalaí NTP.

server my.vps.server

Agus ar deireadh, ag tosú am sioncrónaithe ar an gcliant.

[root@client ~]$ systemctl enable --now chronyd
[root@client ~]$ timedatectl set-ntp true

An chéad uair eile inseoidh mé duit cad iad na roghanna atá ann chun am a shioncronú gan an Idirlíon.

Conas a tháinig an sioncrónú ama slán

Conas a tháinig an sioncrónú ama slán

Foinse: will.com

Add a comment