Nako ea ho hokahanya e ile ea sireletseha joang

Nako ea ho hokahanya e ile ea sireletseha joang
U ka etsa bonnete ba hore nako ka 'ngoe ha e bue leshano haeba u na le lisebelisoa tse limilione tse kholo le tse nyane tse buisanang ka TCP / IP? Etsoe, e 'ngoe le e 'ngoe ea tsona e na le oache, 'me nako e lokela ho ba e nepahetseng bakeng sa tsona kaofela. Bothata bona bo ke ke ba qojoa ntle le ntp.

A re nahaneng ka motsotsoana hore karolong e le 'ngoe ea lisebelisoa tsa IT tsa indasteri ho na le mathata a ho hokahanya litšebeletso ka nako. Hang-hang sehlopha sa sehlopha sa software sa Enterprise se qala ho hloleha, libaka li senyeha, masters le li-standby node li leka ka katleho ho khutlisa maemo a quo.

Hape hoa khoneha hore mohlaseli a leke ka boomo ho senya nako ka tlhaselo ea MiTM kapa DDOS. Boemong bo joalo, eng kapa eng e ka etsahala:

  • Li-password tsa akhaonto ea mosebelisi li tla felloa ke nako;
  • Setifikeiti sa X.509 se tla felloa ke nako;
  • Toto ea netefatso ea lintlha tse peli e tla emisa ho sebetsa;
  • li-backups li tla siuoa ke nako 'me sistimi e tla li hlakola;
  • DNSSec e tla robeha.

Ho hlakile hore lefapha le leng le le leng la IT le thahasella ts'ebetso e tšepahalang ea lits'ebeletso tsa ho hokahanya nako, 'me ho ka ba monate haeba li ne li ka tšeptjoa ebile li bolokehile ts'ebetsong ea indasteri.

Tlosa NTP ka metsotso e 25

Li-protocol tsa marang-rang - li-millennials li na le tšobotsi e le 'ngoe, li bile joalo e siiloe ke nako 'me ha li sa tšoanela letho, empa ho li nkela sebaka ha ho bonolo hakaalo le ha ho bokelloa batho ba bangata ba chesehang le lichelete.

Tletlebo e kholo ka NTP ea khale ke ho haella ha mekhoa e tšepahalang ea ho itšireletsa khahlanong le litlhaselo tsa bahlaseli. Ho entsoe boiteko bo fapaneng ba ho rarolla bothata bona. Ho fihlela sena, re qalile ka ho kenya ts'ebetsong senotlolo se arolelanoeng pele (PSK) bakeng sa ho fapanyetsana linotlolo tsa symmetric.

Ka bomalimabe, mokhoa ona ha oa ka oa lefa ka lebaka le bonolo - ha o lekane hantle. Ho hlophisoa ka letsoho hoa hlokahala ka lehlakoreng la bareki ho latela seva. Sena se bolela hore o ke ke oa eketsa moreki e mong joalo. Haeba ho na le ho hong ho fetohang ho seva sa NTP, bareki bohle ba tlameha ho hlophisoa bocha.

Eaba ba tla le AutoKey, empa hang-hang ba fumana bofokoli bo bongata bo tebileng moralong oa algorithm ka boeona mme ba tlameha ho e lahla. Taba ke hore peo e na le li-32-bits feela, e nyane haholo ebile ha e na ho rarahana ho lekaneng bakeng sa tlhaselo e ka pele.

  • ID ea senotlolo - senotlolo sa symmetric 32-bit;
  • MAC (khoutu ea netefatso ea molaetsa) - Checksum ea pakete ea NTP;

Autokey e baloa ka tsela e latelang.

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

Moo H () e leng mosebetsi oa cryptographic hash.

Ts'ebetso e ts'oanang e sebelisoa ho bala cheke ea lipakete.

MAC=H(Autokey||NTP packet)

Hoa fumaneha hore botšepehi bohle ba licheke tsa sephutheloana bo itšetlehile ka bonnete ba li-cookies. Ha u se u e-na le tsona, u ka khutlisetsa autokey ebe u senya MAC. Leha ho le joalo, seva sa NTP se sebelisa peo ha se li hlahisa. Mona ke moo ho tšoasoang teng.

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

Mosebetsi oa MSB_32 o khaola likotoana tse 5 tsa bohlokoa ho tsoa ho sephetho sa lipalo tsa md32 hash. Cookie ea bareki ha e fetohe ha feela li-parameter tsa seva li ntse li sa fetohe. Ebe mohlaseli a ka khutlisetsa nomoro ea pele feela mme a khona ho iketsetsa li-cookie.

Taba ea pele, o hloka ho hokela seva ea NTP joalo ka moreki mme o fumane li-cookies. Ka mor'a sena, ho sebelisa mokhoa oa brute force, mohlaseli o tsosolosa nomoro ea pele ho latela algorithm e bonolo.

Algorithm bakeng sa ho hlasela palo ea palo ea pele ho sebelisoa mokhoa oa 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

Liaterese tsa IP lia tsejoa, kahoo ho setseng ke ho theha 2^32 hashes ho fihlela cookie e entsoeng e tšoana le e amohetsoeng ho tsoa ho seva sa NTP. Seteisheneng se tloaelehileng sa lapeng se nang le Intel Core i5, sena se tla nka metsotso e 25.

NTS - Autokey e ncha

Ho ne ho sa khonehe ho mamella masoba a joalo a ts'ireletso ho Autokey, mme ka 2012 e ile ea hlaha phetolelo e ncha protocol. E le ho senya lebitso, ba ile ba etsa qeto ea ho fetola lebitso, kahoo Autokey v.2 e ile ea bitsoa Network Time Security.

Protocol ea NTS ke katoloso ea ts'ireletso ea NTP mme hajoale e ts'ehetsa mokhoa oa unicast feela. E fana ka tšireletso e matla ea cryptographic khahlanong le ho qhekella ha pakete, e thibela ho snooping, sekala hantle, e mamella tahlehelo ea pakete ea marang-rang, 'me e fella ka tahlehelo e fokolang e nepahetseng e entsoeng nakong ea ts'ireletso ea khokahanyo.

Khokahano ea NTS e na le mekhahlelo e 'meli e sebelisang liprothokholo tse tlase. E butsoe pele Mothating ona, moreki le seva ba lumellana ka mekhahlelo e fapaneng ea khokahano le phapanyetsano ea li-cookies tse nang le linotlolo tse nang le data eohle e tsamaeang le eona. E butsoe ea bobeli Mothating ona, seboka sa NTS se sirelelitsoeng se etsahala lipakeng tsa moreki le seva sa NTP.

Nako ea ho hokahanya e ile ea sireletseha joang

NTS e na le liprothokholo tse peli tse tlase: Network Time Security Key Exchange (NTS-KE), e qalang khokahanyo e sireletsehileng holim'a TLS, le NTPv4, tlhahiso ea morao-rao ea protocol ea NTP. Ho feta hanyane ka sena ka tlase.

Mohato oa pele - NTS KE

Mothating ona, moreki oa NTP o qala lenaneo la TLS 1.2/1.3 holim'a khokahano e arohaneng ea TCP le seva sa NTS KE. Nakong ea seboka sena se latelang se etsahala.

  • Mekha e khetha li-parameter AEAD algorithm bakeng sa mohato oa bobeli.
  • Mekha e hlalosa protocol ea bobeli e tlase, empa hajoale ke NTPv4 feela e tšehetsoeng.
  • Mekha e khetha aterese ea IP le boema-kepe ba seva sa NTP.
  • Seva ea NTS KE e fana ka li-cookies tlas'a NTPv4.
  • Mekha e ntša linotlolo tsa symmetric (C2S le S2C) ho tsoa ho likuku.

Mokhoa ona o na le molemo o moholo oa hore moroalo oohle oa ho fetisa tlhahisoleseding ea lekunutu mabapi le mekhoa ea ho hokahanya o oela ho protocol e tiisitsoeng le e ka tšeptjoang ea TLS. Sena se felisa tlhoko ea ho iqapela lebili la hau bakeng sa ho ts'oarana ka matsoho ho sireletsehileng ha NTP.

Mohato oa bobeli - NTP tlas'a tšireletso ea NTS

Mokhahlelong oa bobeli, moreki o hokahanya nako ka mokhoa o sireletsehileng le seva sa NTP. Bakeng sa morero ona, e fetisetsa lisebelisoa tse 'nè tse khethehileng (mabala a atolositsoeng) mohahong oa pakete ea NTPv4.

  • Unique Identifier Extension e na le nonce e sa reroang ho thibela litlhaselo tsa replay.
  • NTS Cookie Extension e na le e 'ngoe ea li-cookie tsa NTP tse fumanehang ho moreki. Kaha ke moreki feela ea nang le linotlolo tsa C2S le S2C tsa symmetric AAED, seva ea NTP e tlameha ho li ntša ho thepa ea li-cookie.
  • NTS Cookie Placeholder Extension ke mokhoa oa hore moreki a kope li-cookie tse eketsehileng ho tsoa ho seva. Katoloso ena ea hlokahala ho netefatsa hore karabelo ea seva ea NTP ha e telele ho feta kopo. Sena se thusa ho thibela litlhaselo tsa amplification.
  • NTS Authenticator le Encrypted Extension Fields Extension e na le cipher ea AAED e nang le senotlolo sa C2S, hlooho ea NTP, litempe tsa linako, le EF e ka holimo e le data e tsamaisanang. Ntle le katoloso ena hoa khoneha ho senya litempe tsa linako.

Nako ea ho hokahanya e ile ea sireletseha joang

Kamora ho fumana kopo ho tsoa ho moreki, seva se netefatsa bonnete ba pakete ea NTP. Ho etsa sena, o tlameha ho hlakola li-cookie, a ntše algorithm ea AAED le linotlolo. Ka mor'a ho hlahloba ka katleho pakete ea NTP bakeng sa ho nepahala, seva se arabela ho mofani ka mokhoa o latelang.

  • Unique Identifier Extension ke kopi ea seipone ea kopo ea moreki, tekanyo e khahlano le litlhaselo tsa replay.
  • NTS Cookie Extension li-cookie tse ling ho ntšetsa pele lenaneo.
  • NTS Authenticator le Encrypted Extension Fields Extension e na le cipher ea AEAD e nang le senotlolo sa S2C.

Ho ts'oarana ka letsoho la bobeli ho ka phetoa hangata, ho feta mohato oa pele, kaha kopo e 'ngoe le e 'ngoe le karabo li fa moreki li-cookie tse eketsehileng. Sena se na le molemo oa hore ts'ebetso ea TLS e batlang e le matla haholo ea khomphutha le ho fetisa data ea PKI e arotsoe ka palo ea likopo tse pheta-phetoang. Sena se loketse haholo-holo bakeng sa balebeli ba nako ba khethehileng ba FPGA, ha ts'ebetso eohle ea mantlha e ka kenngoa mesebetsing e mengata ho tloha lebaleng la symmetric cryptography, ho fetisetsa stack eohle ea TLS ho sesebelisoa se seng.

NTPSec

Ke eng e khethehileng ka NTP? Ho sa tsotellehe taba ea hore mongoli oa morero, Dave Mills, o lekile ho ngola khoutu ea hae ka hohle kamoo ho ka khonehang, ke setsebi se sa tloaelehang se tla khona ho utloisisa mekhoa e rarahaneng ea li-algorithms tsa ho lumellana ha nako ea lilemo tse 35. E meng ea khoutu e ngotsoe pele ho mehla ea POSIX, 'me Unix API ka nako eo e ne e fapane haholo le e sebelisoang kajeno. Ho phaella moo, tsebo ea lipalo-palo ea hlokahala ho tlosa letšoao ho kena-kenana le mela e lerata.

NTS e ne e se teko ea pele ea ho lokisa NTP. Hang ha bahlaseli ba ithutile ho sebelisa hampe bofokoli ba NTP ho holisa litlhaselo tsa DDoS, ho ile ha hlaka hore ho hlokahala liphetoho tse matla. 'Me ha lingoloa tsa NTS li ntse li lokisoa le ho phethoa, US National Science Foundation qetellong ea 2014 e ile ea fana ka thuso ka potlako bakeng sa ntlafatso ea NTP.

Sehlopha se sebetsang se ne se sa etelletsoe pele ke mang kapa mang, empa Eric Steven Raymond - e mong oa bathehi le litšiea tsa sechaba sa Open Source le mongoli oa buka Cathedral le Bazaar. Ntho ea pele eo Eric le metsoalle ea hae ba ileng ba leka ho e etsa ke ho tlosa khoutu ea NTP ho tloha sethaleng sa BitKeeper ho ea ho git, empa ha ea ka ea sebetsa ka tsela eo. Moetapele oa morero Harlan Stenn o ne a le khahlano le qeto ena mme lipuisano tsa emisa. Joale ho ile ha etsoa qeto ea ho fereko khoutu ea morero, 'me NTPSec e hlahile.

Boiphihlelo bo tiileng, ho kenyeletsoa ho sebetsa ho GPSD, semelo sa lipalo le tsebo ea boselamose ea ho bala khoutu ea khale - Eric Raymond e ne e le senokoane se neng se ka hula morero o joalo. Sehlopha se fumane setsebi sa phalliso ea khoutu mme ka libeke tse 10 feela NTP lula fatšeho GitLab. Mosebetsi o ne o ntse o tsoela pele.

Sehlopha sa Eric Raymond se ile sa nka mosebetsi ka tsela e tšoanang le eo Auguste Rodin a ileng ae etsa ka boloko ba lejoe. Ka ho tlosa 175 KLOC ea khoutu ea khale, ba ile ba khona ho fokotsa haholo sebaka sa tlhaselo ka ho koala masoba a mangata a tšireletso.

Lenane ke lena lethathamo le sa fellang la ba kenyellelitsoeng kabong:

  • Refclock e se nang litokomane, ea khale, e siiloeng ke nako kapa e robehileng.
  • Laeborari ea ICS e sa sebelisoeng.
  • libopts/autogen.
  • Khoutu ea khale ea Windows.
  • ntpdc.
  • Autokey.
  • Khoutu ea ntpq C e ngotsoe bocha Python.
  • Khoutu ea sntp/ntpdig C e ngotsoe bocha Python.

Ntle le ho hloekisa khoutu, morero ona o ne o e-na le mesebetsi e meng. Lenane la likatleho tse seng kae ke tsena:

  • Tšireletso ea khoutu khahlanong le ho phalla ha buffer e ntlafalitsoe haholo. Ho thibela ho phalla ha buffer, mesebetsi eohle ea likhoele e sa sireletsehang (strcpy/strcat/strtok/sprintf/vsprintf/gets) e nkeloe sebaka ke liphetolelo tse bolokehileng tse sebelisang meeli ea boholo ba buffer.
  • Ts'ehetso ea NTS e ekelitsoeng.
  • Ho ntlafala ho nepahala ha mohato oa nako ka makhetlo a leshome ka ho hokahanya lisebelisoa tsa 'mele. Sena se bakoa ke taba ea hore lioache tsa sejoale-joale tsa komporo li nepahetse ho feta tsa ha NTP e hlaha. Ba ruileng molemo ka ho fetisisa ho sena e ne e le GPSDO le liea-le-moea tse inehetseng tsa nako.
  • Palo ea lipuo tsa lenaneo e fokotsehile ho tse peli. Sebakeng sa Perl, awk esita le S scripts, joale e se e le Python kaofela. Ka lebaka lena, ho na le menyetla e mengata ea ho sebelisa khoutu hape.
  • Sebakeng sa li-noodle tsa mongolo oa autotools, projeke e ile ea qala ho sebelisa sistimi ea kaho ea software waf.
  • Litokomane tsa morero tse ntlafalitsoeng le tse hlophisitsoeng bocha. Ho tsoa pokellong ea litokomane tse hanyetsanang le ka linako tse ling tsa khale, ba thehile litokomane tse ka fetisetsoang. Phetoho e 'ngoe le e' ngoe ea mola oa taelo le mokhatlo o mong le o mong oa tlhophiso hona joale o na le mofuta o le mong oa 'nete. Ho feta moo, maqephe a motho le litokomane tsa webo joale li entsoe ho tsoa lifaeleng tse tšoanang tsa mantlha.

NTPSec e fumaneha bakeng sa likhatiso tse ngata tsa Linux. Hajoale, mofuta oa morao-rao o tsitsitseng ke 1.1.8, bakeng sa Gentoo Linux ke eona ea pele.

(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

Ho bile le teko e 'ngoe ea ho nkela NTP ea khale sebaka ka mokhoa o sireletsehileng haholoanyane. Chrony, ho fapana le NTPSec, e ngotsoe ho tloha fatše 'me e etselitsoe ho sebetsa ka botšepehi tlas'a maemo a mangata a mangata, ho kenyelletsa le likhokahano tse sa tsitsang tsa marang-rang, ho fumaneha ha marang-rang kapa ho ferekanngoa, le liphetoho tsa mocheso. Ntle le moo, chrony e na le melemo e meng:

  • chrony e ka hokahanya oache ea sistimi kapele ka ho nepahala ho hoholo;
  • chrony e nyane, e sebelisa mohopolo o fokolang, 'me e fihlella CPU feela ha e hlokahala. Ena ke kakaretso e kholo bakeng sa ho boloka lisebelisoa le matla;
  • chrony e ts'ehetsa litempe tsa linako tsa Hardware ho Linux, e lumellang khokahano e nepahetseng haholo ho marang-rang a lehae.

Leha ho le joalo, chrony ha e na tse ling tsa likarolo tsa NTP ea khale, joalo ka phatlalatso le multicast client/server. Ntle le moo, NTP ea khale e ts'ehetsa palo e kholo ea lits'ebetso le sethala.

Ho thibela ts'ebetso ea seva le likopo tsa NTP ts'ebetsong ea chronyd, ngola feela port 0 faeleng ea chrony.conf. Sena se etsoa maemong ao ho sa hlokahaleng ho boloka nako bakeng sa bareki ba NTP kapa lithaka. Ho tloha ka mofuta oa 2.0, boema-kepe ba seva sa NTP bo bulehile feela ha phihlello e lumelloa ke taelo ea tumello kapa taelo e nepahetseng, kapa thaka ea NTP e lokiselitsoe, kapa ho sebelisoa taelo ea khaso.

Lenaneo le na le li-module tse peli.

  • chronyd ke tshebeletso e sebetsang ka morao. E amohela tlhahisoleseling mabapi le phapang lipakeng tsa oache ea sistimi le seva sa nako ea kantle mme e fetola nako ea lehae. E boetse e sebelisa protocol ea NTP mme e ka sebetsa joalo ka moreki kapa seva.
  • chronyc ke sesebelisoa sa mohala oa taelo bakeng sa ho lekola le ho laola lenaneo. E sebelisetsoa ho lokisa maemo a fapaneng a lits'ebeletso, mohlala, ho u lumella ho eketsa kapa ho tlosa li-server tsa NTP ha chronyd e ntse e sebetsa.

Ho tloha ka mofuta oa 7 oa RedHat Linux sebedisa chrony joalo ka ts'ebeletso ea kamahanyo ea nako. Sephutheloana se boetse se fumaneha bakeng sa lipehelo tse ling tsa Linux. Phetolelo ea morao-rao e tsitsitseng ke 3.5, e lokisetsa ho lokolloa ha 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]

Mokhoa oa ho theha seva ea hau e hole ea chrony Marang-rang ho hokahanya nako marang-rang a ofisi. Ka tlase ke mohlala oa ho theha VPS.

Mohlala oa ho theha Chrony ho RHEL / CentOS ho VPS

Ha re ikoetliseng hanyane ebe re theha seva sa rona sa NTP ho VPS. Ho bonolo haholo, khetha feela litefiso tse loketseng webosaeteng ea RuVDS, fumana seva e lokiselitsoeng mme u thaepe litaelo tse bonolo tse leshome le metso e 'meli. Bakeng sa merero ea rona, khetho ena e loketse haholo.

Nako ea ho hokahanya e ile ea sireletseha joang

Ha re tsoeleng pele ho theha ts'ebeletso ebe re kenya sephutheloana sa chrony pele.

[root@server ~]$ yum install chrony

RHEL 8 / CentOS 8 sebelisa mookameli oa sephutheloana o fapaneng.

[root@server ~]$ dnf install chrony

Kamora ho kenya chrony, o hloka ho qala le ho kenya ts'ebeletso.

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

Haeba o lakatsa, o ka etsa liphetoho ho /etc/chrony.conf, ho nkela li-server tsa NPT sebaka ka tse haufi tsa lehae ho fokotsa nako ea karabo.

# 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

Ka mor'a moo, re theha khokahano ea seva sa NTP ka li-node tse tsoang letamong le boletsoeng.

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

Ho boetse hoa hlokahala ho bula boema-kepe ba NTP ho ea kantle, ho seng joalo firewall e tla thibela likhokahano tse kenang ho tsoa ho li-client node.

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

Ka lehlakoreng la bareki, ho lekane ho beha sebaka sa nako ka nepo.

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

Faele ea /etc/chrony.conf e totobatsa IP kapa lebitso la moamoheli la seva sa rona sa VPS se tsamaisang seva sa NTP.

server my.vps.server

'Me qetellong, ho qala ho hokahanya ha nako ho moreki.

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

Nakong e tlang ke tla u bolella hore na ho na le likhetho life bakeng sa ho hokahanya nako ntle le Marang-rang.

Nako ea ho hokahanya e ile ea sireletseha joang

Nako ea ho hokahanya e ile ea sireletseha joang

Source: www.habr.com

Eketsa ka tlhaloso