Na fa'afefea ona saogalemu le fa'amaopoopoina o taimi

Na fa'afefea ona saogalemu le fa'amaopoopoina o taimi
E fa'afefea ona mautinoa e le pepelo le taimi pe afai e iai sau masini tetele ma laiti e fa'afeso'ota'i e ala i le TCP/IP? A uma mea uma, e tofu i latou ma le uati, ma e tatau ona saʻo le taimi mo i latou uma. O lenei faʻafitauli e le mafai ona faʻafefe e aunoa ma le ntp.

Sei o tatou mafaufau mo sina minute o loʻo i ai i se tasi vaega o atinaʻe IT faʻapisinisi o loʻo i ai faʻafitauli i le tuʻufaʻatasia o auaunaga i le taimi. O le taimi lava e amata ai ona le manuia le faaputuga fa'aputuga o le Enterprise software, fa'amavae vaega, matai ma Nodes Standby ua le manuia taumafai e toe fa'afo'i le tulaga quo.

E mafai foi ona taumafai se tagata osofaʻi e faʻalavelave le taimi e ala i se osofaʻiga a le MiTM poʻo le DDOS. I se tulaga faapena, e mafai ona tupu se mea:

  • O le a fa'amutaina upu fa'akomupiuta a le tagata fa'aoga;
  • X.509 tusi faamaonia o le a muta;
  • TOTP fa'amaoniga lua-fa'ailoga o le a le toe galue;
  • o le a le toe aoga mea faaleoleo ma o le a tapeina e le faiga;
  • DNSSec o le a malepe.

E manino lava o matagaluega uma a le IT e fiafia i le faʻatuatuaina o le faʻatinoina o auaunaga faʻatasi taimi, ma e manaia pe ana faʻatuatuaina ma saogalemu i galuega tau alamanuia.

Tatala le NTP ile 25 minute

Feso'ota'iga feso'ota'iga - millennials e tasi lava le uiga fa'apitoa, sa i ai tuai ma ua le toe lelei mo so'o se mea, ae o le suiina e le faigofie tele e tusa lava pe fa'aputuina le to'atele o tagata fiafia ma fa'atupe.

O le fa'asea autu e uiga i le NTP masani o le leai o ni auala fa'atuatuaina mo le puipuia mai osofa'iga a tagata fa'alavelave. E eseese taumafaiga ua faia e foia ai lenei faafitauli. Ina ia ausia lenei mea, na matou faʻatinoina muamua se ki faʻasoa muamua (PSK) mo le fesuiaʻiina o ki tutusa.

Ae paga lea, o lenei metotia e leʻi totogia mo se mafuaʻaga faigofie - e le faʻalelei lelei. E mana'omia le fa'atulagaina o tusi i le itu o le kalani e fa'atatau ile server. O lona uiga e le mafai ona e fa'aopoopoina se isi tagata fa'atau e pei o lena. Afai e iai se mea e suia ile NTP server, e tatau ona toe faʻaleleia tagata uma.

Ona latou o mai ai lea ma le AutoKey, ae na vave ona latou mauaina le tele o faʻafitauli matuia i le mamanu o le algorithm lava ia ma e tatau ona latou lafoaia. O le mea o le fatu o loʻo i ai naʻo le 32-bits, e laʻititi tele ma e le lava le faʻalavelave faʻapitoa mo se osofaʻiga i luma.

  • ID Key - fa'amaufa'ailoga 32-bit ki;
  • MAC (faʻailoga faʻamaonia feʻau) - NTP packet checksum;

Autokey e fa'atatau e pei ona taua i lalo.

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

A'o le H() ose galuega fa'ata'ita'i.

O le galuega lava lea e tasi e fa'aogaina e fa'atatau le su'ega o pepa.

MAC=H(Autokey||NTP packet)

E aliali mai o le faʻamaoni atoa o siaki pusa e faʻalagolago i le moni o kuki. O le taimi lava e te maua ai, e mafai ona e toe faʻafoʻisia le autokey ma faʻaleaga le MAC. Ae ui i lea, o le NTP server e faʻaaogaina se fatu pe a gaosia. O le mea lea e taoto ai le pu.

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

O le MSB_32 galuega e tipi ese ai le 5 pito sili ona taua mai le md32 hash calculation result. E le suia le kuki a le tagata o tausia pe afai e tumau pea le le suia o le server. Ona mafai lea e le tagata osofaʻi ona toe faʻafoʻi le numera muamua ma mafai ona tutoʻatasi kuki.

Muamua, e tatau ona e faʻafesoʻotaʻi i le NTP server o se tagata faʻatau ma maua kuki. A maeʻa lenei, faʻaaogaina se auala faʻamalosi malosi, e toe faʻafoʻi e le tagata osofaʻi le numera muamua pe a maeʻa se algorithm faigofie.

Algorithm mo le osofaʻia o le faʻatusatusaga o le numera muamua e faʻaaoga ai le auala faʻamalosi.

   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

O tuatusi IP e iloa, o mea uma e totoe o le fatuina o 2^32 hashes seia oʻo ina fetaui le kuki na faia ma le mea na maua mai le NTP server. I luga ole fale masani ile Intel Core i5, e 25 minute e alu ai.

NTS - Autokey fou

E le mafai ona tuʻuina atu ia pupu puipui i Autokey, ma i le 2012 na faʻaalia ai se lomiga fou feagaiga. Ina ia mafai ona fetuunai le igoa, na latou filifili e toe faaigoa, o lea na faaigoa ai le Autokey v.2 Network Time Security.

O le NTS protocol o se faʻaopoopoga o le saogalemu o le NTP ma o loʻo lagolagoina nei le tulaga unicast mode. E maua ai le puipuiga malosi o le cryptographic mai le fa'aogaina o pa'u, puipuia le snooping, fua lelei, e fa'asalaina i le leiloa o pepa feso'ota'iga, ma i'u ai i le itiiti ifo o le sa'o sa'o leiloa fa'atupu i le taimi o feso'ota'iga saogalemu.

O se feso'ota'iga NTS e iai ni vaega se lua e fa'aogaina ai fa'amaumauga pito i lalo. luga muamua I lenei la'asaga, ua malilie le kalani ma le 'au'aunaga i laina feso'ota'iga eseese ma fa'afesuia'i kuki o lo'o iai ki ma fa'amaumauga uma o lo'o fa'atasi ai. luga tulaga lua I lenei la'asaga, o le sauniga NTS puipuia moni e faia i le va o le kalani ma le NTP server.

Na fa'afefea ona saogalemu le fa'amaopoopoina o taimi

O le NTS o lo'o i ai ni fa'ailoga pito i lalo e lua: Network Time Security Key Exchange (NTS-KE), lea e amataina ai se feso'ota'iga malupuipuia i luga o le TLS, ma le NTPv4, le fa'afouga fou o le NTP protocol. O sina mea itiiti e uiga i lenei mea i lalo.

Laasaga muamua - NTS KE

I lenei laʻasaga, e amataina e le kalani NTP se TLS 1.2/1.3 vasega i luga o se isi fesoʻotaʻiga TCP ma le NTS KE server. I le taimi o lenei sauniga e tupu ai mea nei.

  • E fa'atulaga e itu vaega fa'amau AEAD algorithm mo le vaega lona lua.
  • O vaega e faʻamatalaina se faʻasalalauga lona lua pito i lalo, ae o le taimi nei naʻo le NTPv4 o loʻo lagolagoina.
  • O vaega e fuafua le tuatusi IP ma le taulaga o le NTP server.
  • NTS KE tu'uina atu e le 'au'aunaga kuki i lalo ole NTPv4.
  • E aumai e itu vaega se pea o ki tutusa (C2S ma le S2C) mai mea kuki.

O lenei faiga e iai le avanoa sili ona o le avega atoa o le tuʻuina atu o faʻamatalaga faalilolilo e faʻatatau i fesoʻotaʻiga fesoʻotaʻiga e pa'ū i luga o le TLS faʻamaonia ma faʻatuatuaina. Ole mea lea e fa'ate'aina ai le mana'oga e toe fa'afou lau lava uili mo se lululima malu NTP.

Laasaga lona lua - NTP i lalo ole NTS puipuiga

I le la'asaga lona lua, e fa'amaopoopo lelei e le kalani le taimi ma le NTP server. Mo lenei faʻamoemoe, e faʻasalalau faʻaopoopoga faʻapitoa (fanua faʻalautele) i totonu o le NTPv4 packet structure.

  • O le Unique Identifier Extension o lo'o i ai se nonce fa'afuase'i e taofia ai osofa'iga toe fai.
  • NTS Cookie Extension o lo'o iai se tasi o kuki NTP o lo'o avanoa mo le kalani. Talu ai e na'o le kalani e iai ki AAED C2S ma S2C tutusa, e tatau i le NTP server ona aveese mai mea kuki.
  • O le NTS Cookie Placeholder Extension o se auala mo le tagata o tausia e talosagaina ni kuki faaopoopo mai le server. O lenei faʻaopoopoga e manaʻomia e faʻamautinoa ai o le tali a le NTP server e le sili atu nai lo le talosaga. E fesoasoani lenei mea e puipuia ai osofaʻiga faʻateleina.
  • NTS Authenticator ma Encrypted Extension Fields Extension o loʻo i ai le AAED cipher ma le C2S ki, NTP ulutala, timestamps, ma le EF o loʻo i luga e pei o faʻamatalaga faʻatasi. A aunoa ma lenei fa'aopoopoga e mafai ona fa'asese fa'ailoga taimi.

Na fa'afefea ona saogalemu le fa'amaopoopoina o taimi

I le mauaina o se talosaga mai se tagata o tausia, e faʻamaonia e le 'auʻaunaga le moni o le NTP pepa. Ina ia faia lenei mea, e tatau ona ia decrypt kuki, aveese le AAED algorithm ma ki. A maeʻa ona siaki lelei le pepa NTP mo le faʻamaonia, e tali atu le 'auʻaunaga i le kalani i le faʻasologa o loʻo mulimuli mai.

  • Unique Identifier Extension ose kopi fa'ata o le talosaga a le tagata o tausia, ose fua fa'asaga i osofa'iga toe fai.
  • NTS Kuki Fa'aopoopo nisi kuki e fa'aauau le sauniga.
  • NTS Authenticator ma Encrypted Extension Fields Extension o loʻo iai le AEAD cipher ma le S2C ki.

O le lululima lona lua e mafai ona toe faia i le tele o taimi, e ala i le pasia o le laasaga muamua, talu ai o talosaga taitasi ma tali e avatu ai i le kalani ni kuki faaopoopo. O lo'o i ai le fa'amanuiaga e fa'apea o le fa'agaioiina o le TLS fa'akomepiuta ma le fa'asalalauina o fa'amaumauga a le PKI e vaevaeina i le numera o talosaga faifaipea. O lenei mea e sili ona faigofie mo tagata tausi taimi faʻapitoa FPGA, pe a mafai ona faʻapipiʻiina galuega autu uma i le tele o galuega mai le fanua o faʻataʻitaʻiga faʻataʻitaʻiga, faʻafeiloaʻi atoa le faaputuga TLS i se isi masini.

NTPSec

O le a le mea fa'apitoa e uiga i le NTP? E ui lava i le mea moni o le tusitala o le poloketi, Dave Mills, na taumafai e faʻamaumau lana code i le mea sili e mafai ai, o se polokalama e seasea maua o le a mafai ona malamalama i le lavelave o taimi synchronization algorithms e 35 tausaga. O nisi o tulafono na tusia aʻo leʻi oʻo i le POSIX, ma o le Unix API na matua ese lava mai le mea o loʻo faʻaaogaina i aso nei. E le gata i lea, e manaʻomia le malamalama o fuainumera e faʻamalo ai le faailo mai le faʻalavelave i laina pisapisao.

O le NTS e leʻo le taumafaiga muamua e faʻaleleia le NTP. O le taimi lava na aʻoaʻoina ai e le au osofaʻi le faʻaogaina o faʻafitauli o le NTP e faʻateleina ai osofaʻiga a DDoS, na manino ai na manaʻomia suiga tetele. Ma a'o saunia ma fa'amae'aina fa'ata'ita'iga a le NTS, na fa'atopetopeina e le US National Science Foundation i le fa'ai'uga o le 2014 se fesoasoani mo le fa'afouina o le NTP.

O le vaega galulue sa faauluulu i ai e le na o se tasi, ae Eric Steven Raymond - o se tasi o faavae ma poutu o le Open Source community ma le tusitala o le tusi Cathedral ma Bazaar. O le mea muamua na taumafai Eric ma ana uo e fai o le siitia lea o le NTP code mai le BitKeeper platform i le git, ae e leʻi manuia. Na tetee le taitai o le poloketi o Harlan Stenn i lenei faaiuga ma na taofia ai feutagaiga. Ona filifili ai lea e tui le tulafono o le poloketi, ma na fanau mai ai le NTPSec.

O le poto masani, e aofia ai le galue i luga o le GPSD, o le matematika ma le tomai faʻataulāitu o le faitauina o tulafono tuai - Eric Raymond o le tagata taʻavale e mafai ona toso ese sea galuega. Na maua e le 'au se tagata tomai faapitoa mo femalagaiga ma i totonu ole 10 vaiaso NTP nofo i laloluga ole GitLab. Sa fa'agasolo le galuega.

Na faia e le au a Eric Raymond le galuega i le auala lava e tasi na faia e Auguste Rodin i se poloka maa. E ala i le aveesea o le 175 KLOC o le tulafono tuai, na mafai ai ona latou faʻaititia tele le osofaʻiga e ala i le tapunia o le tele o pu puipui.

O se lisi le'o atoatoa lea o i latou na aofia i le tufatufaga:

  • E le'i fa'amauina, tuai, tuai pe malepe le uati.
  • Faletusi ICS e le'i fa'aaogaina.
  • libopts/autogen.
  • Old code mo Windows.
  • ntpdc.
  • Autokey.
  • O le ntpq C code ua toe tusia i le Python.
  • O le sntp/ntpdig C code ua toe tusia i le Python.

I le faaopoopo atu i le faamamaina o le code, o le poloketi sa i ai isi galuega. O se vaega lenei o se lisi o mea na ausia:

  • Ua matua'i fa'aleleia atili le puipuiga o tulafono fa'asaga i fa'amama fa'amama. Ina ia puipuia le so'a mai o le pa, o galuega fa'aoga le saogalemu uma (strcpy/strcat/strtok/sprintf/vsprintf/gets) ua suia i fa'aliliuga saogalemu e fa'atino ai tapula'a tetele.
  • Faʻaopoopo le NTS lagolago.
  • Fa'aleleia le sa'o o la'a fa'asefulu fa'asefulu e ala i le feso'ota'iina o masini fa'aletino. E mafua ona o le mea moni ua sili atu le saʻo o uati komepiuta faʻaonaponei nai lo na taimi na fanau mai ai le NTP. O le tele o fa'amanuiaga o lenei mea o le GPSDO ma leitio fa'apitoa.
  • Ole numera o gagana fa'apolokalame ua fa'aititia ile lua. Nai lo o Perl, awk ma e oʻo lava i tusitusiga S, ua avea nei ma Python. Ona o lenei mea, e tele avanoa mo le toe faʻaogaina o code.
  • Nai lo noodles o autotools scripts, na amata ona faʻaogaina e le poloketi se polokalama faufale talofa.
  • Fa'afou ma toe fa'atulagaina pepa fa'atino. Mai le fete'ena'i ma o nisi taimi o fa'amaumauga tuai, na latou faia ai ni fa'amaumauga talafeagai. So'o se laina fa'atonuga ma so'o se fa'alapotopotoga fa'aopoopo ua iai nei se fa'amatalaga e tasi o le mea moni. E le gata i lea, o itulau a tagata ma faʻamaumauga i luga ole laiga ua fausia nei mai faila autu tutusa.

NTPSec o loʻo avanoa mo le tele o faʻasalalauga Linux. I le taimi nei, o le faʻamaumauga sili ona lata mai o le 1.1.8, mo Gentoo Linux o le pito mulimuli lea.

(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

Sa i ai se isi taumafaiga e sui le NTP tuai i se isi mea e sili atu ona saogalemu. Chrony, e le pei o le NTPSec, ua tusia mai le eleele ma ua mamanuina e faagaoioia ma le faatuatuaina i lalo o le tele o tulaga, e aofia ai fesoʻotaʻiga fesoʻotaʻiga le mautu, avanoa o fesoʻotaʻiga vaega poʻo le faʻalavelave, ma suiga o le vevela. E le gata i lea, o le chrony e iai isi faʻamanuiaga:

  • e mafai e le chrony ona fa'amaopoopo vave le uati fa'aoga ma sili atu le sa'o;
  • chrony e laʻititi, faʻaitiitia le manatua, ma faʻaogaina le PPU pe a manaʻomia. Ose fa'aopoopo tele lea mo le fa'asaoina o punaoa ma le malosi;
  • chrony e lagolagoina masini timestamp i luga o Linux, e mafai ai ona matua'i sa'o fa'atasi i luga o feso'otaiga fa'apitonu'u.

Ae ui i lea, o le chrony e leai ni vaega o le NTP tuai, e pei o le faʻasalalauga ma le multicast client/server. E le gata i lea, o le NTP masani e lagolagoina se numera tele o faiga faʻaogaina ma faʻavae.

Ina ia faʻamalo le faʻaogaina o le server ma le NTP talosaga i le chronyd process, naʻo le tusia o le port 0 i le faila chrony.conf. E faia lea i tulaga e le mana'omia ai le fa'atumauina o le taimi mo tagata NTP po'o tupulaga. Talu mai le version 2.0, o le NTP server port e tatala pe a faʻatagaina le avanoa e se faʻatonuga poʻo se faʻatonuga talafeagai, pe faʻapipiʻi se NTP peer, pe faʻaaogaina se faʻasalalauga faʻasalalauga.

O le polokalame e lua modules.

  • chronyd o se auaunaga e alu i tua. Na te mauaina faʻamatalaga e uiga i le eseesega i le va o le uati faʻapipiʻi ma le server taimi i fafo ma fetuutuunai le taimi i le lotoifale. E fa'atinoina fo'i le NTP protocol ma e mafai ona galue o se tagata fa'atau po'o se 'au'aunaga.
  • chronyc o se faʻaoga laina faʻatonu mo le mataʻituina ma le pulea o polokalame. Fa'aoga e fa'alelei ai vaega eseese o auaunaga, mo se fa'ata'ita'iga e fa'ataga ai oe e fa'aopoopo pe aveese fa'aumau NTP a'o fa'aauau pea ona tamo'e le chronyd.

Talu mai le lomiga 7 o RedHat Linux faʻaaoga chrony e avea o se auaunaga fa'atasi taimi. O loʻo avanoa foi le afifi mo isi faʻasalalauga Linux. Le lomiga fa'amaumau lata mai o le 3.5, sauniuni mo le tatalaina o le 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]

E fa'afefea ona fa'atulaga lau lava server chrony mamao i luga o le Initaneti e fa'afetaui le taimi i luga o feso'otaiga a le ofisa. Lalo o se faʻataʻitaʻiga o le setiina o se VPS.

Faʻataʻitaʻiga o le faʻatulagaina o Chrony ile RHEL / CentOS ile VPS

Se'i o tatou fa'ata'ita'i la'ititi ma fa'atutu la tatou lava NTP server ile VPS. E matua faigofie lava, naʻo le filifilia o le tau talafeagai i luga o le upega tafaʻilagi a le RuVDS, maua se sapalai ua saunia ma faʻapipiʻi le luasefulu faʻatonuga faigofie. Mo a tatou faʻamoemoega, o lenei filifiliga e fetaui lelei.

Na fa'afefea ona saogalemu le fa'amaopoopoina o taimi

Sei o tatou agai i luma i le setiina o le auaunaga ma muamua faapipii le afifi chrony.

[root@server ~]$ yum install chrony

RHEL 8 / CentOS 8 faʻaaoga se isi pule o pusa.

[root@server ~]$ dnf install chrony

A maeʻa ona faʻapipiʻi chrony, e tatau ona e amata ma faʻagaoioia le auaunaga.

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

Afai e manaʻo ai, e mafai ona e faia suiga i /etc/chrony.conf, sui NPT servers i mea lata ane i le lotoifale e faʻaitiitia ai le taimi tali.

# 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

O le isi, matou te setiina le faʻaogaina o le NTP server ma nodes mai le vaitaele faʻapitoa.

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

E tatau foi ona tatala le taulaga NTP i fafo, a leai o le firewall o le a poloka fesoʻotaʻiga o loʻo oʻo mai mai pona o tagata o tausia.

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

I le itu o tagata o tausia, ua lava le setiina o le sone taimi.

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

O le faila /etc/chrony.conf o loʻo faʻamaonia ai le IP poʻo le igoa talimalo o la matou VPS server o loʻo faʻaogaina le NTP server chrony.

server my.vps.server

Ma le mea mulimuli, amata taimi faʻatasi i luga o le kalani.

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

O le isi taimi o le a ou taʻu atu ia te oe poʻo a filifiliga o loʻo i ai mo le faʻamaopoopoina o taimi e aunoa ma le Initaneti.

Na fa'afefea ona saogalemu le fa'amaopoopoina o taimi

Na fa'afefea ona saogalemu le fa'amaopoopoina o taimi

puna: www.habr.com

Faaopoopo i ai se faamatalaga