He pehea te wa i noho haumaru ai te tukutahitanga

He pehea te wa i noho haumaru ai te tukutahitanga
Me pehea te whakarite kia kore e teka te waa mena he miriona nga taputapu nui me te iti e korero ana ma te TCP/IP? Inaha, he karaka ta ia tangata, a me tika te wa mo ratou katoa. Ko tenei raruraru kaore e taea te karo i te kore ntp.

Me whakaaro mo te meneti kei roto i tetahi waahanga o te hanganga IT ahumahi he uaua ki te tukutahi ratonga i roto i te waa. I te wa tonu ka timata te rahua o te raupaparorohiko o te hinonga, ka pakaru nga rohe, karekau nga rangatira me nga pona Standby ki te whakahoki i te mana o mua.

Ka taea hoki e te kaitukino te ngana ki te whakararu i te waa ma te whakaeke MiTM, DDOS ranei. I tenei ahuatanga, ka taea e tetahi mea:

  • Ka pau nga kupuhipa pūkete kaiwhakamahi;
  • Ka pau nga tiwhikete X.509;
  • Ka mutu te mahi motuhēhēnga-rua TOTP;
  • ka tawhito haere nga taapiri ka mukua e te punaha;
  • Ka pakaru a DNSSec.

E marama ana kei te pirangi nga tari IT katoa ki te mahi pono o nga ratonga tukutahi wa, a he pai mena he pono, he haumaru hoki i roto i nga mahi ahumahi.

Whatiia te NTP i roto i te 25 meneti

Ko nga tikanga whatunga - kotahi ano te ahuatanga o nga mano tini, kua rite tawhito a kua kore e pai mo tetahi mea, engari ehara i te mea ngawari te whakakapi i a raatau ahakoa ka kohia te tini o te hunga kaingākau me te putea.

Ko te amuamu matua mo te NTP matarohia ko te kore o nga tikanga pono hei whakamarumaru i nga whakaeke a te hunga pokanoa. He maha nga whakamatautau kua mahia ki te whakaoti i tenei raru. Hei whakatutuki i tenei, i te tuatahi ka whakatinanahia e matou he tikanga matua tiritahi (PSK) mo te whakawhiti i nga taviri hangarite.

Kia aroha mai, karekau tenei tikanga i utu mo te take ngawari - kaore i te pai te awhata. Ko te whirihoranga a-ringa e hiahiatia ana i te taha o te kiritaki i runga i te tūmau. Ko te tikanga kaore e taea e koe te taapiri i tetahi atu kaihoko penei. Mena ka huri tetahi mea i runga i te tūmau NTP, me whirihora ano nga kiritaki katoa.

Na ka puta mai he AutoKey, engari i kitea tonu e ratou he maha o nga whakaraeraetanga kino i roto i te hoahoa o te algorithm ake a me whakarere e ratou. Ko te mea ko te kakano he 32-bits anake, he iti rawa, he iti rawa te uaua o te rorohiko mo te whakaeke i mua.

  • ID Kī - kī 32-bit hangarite;
  • MAC (waehere motuhēhēnga karere) - NTP putea arowhai;

Ko te kīAunoa te tātai e whai ake nei.

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

Inaa ko te H() he mahi hash cryptographic.

He rite ano te mahi ki te tatau i te kaute arowhai o nga paatete.

MAC=H(Autokey||NTP packet)

Te ahua nei ko te pono katoa o nga arowhai kete kei runga i te pono o nga pihikete. Ina whiwhi koe, ka taea e koe te whakahoki i te autokey katahi ka whakapohehe i te MAC. Heoi, ka whakamahia e te tūmau NTP he kākano i te wa e whakaputa ana. Kei konei te hopu.

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

Ka tapahia e te mahi MSB_32 nga moka tino nui e 5 mai i te hua o te tataunga hash md32. E kore e huri te pihikete kiritaki mena ka noho tonu nga tawhā tūmau karekau e huri. Na ka taea e te kaitukino te whakahoki mai i te nama tuatahi ka taea ki te whakaputa pihikete takitahi.

Tuatahi, me hono koe ki te tūmau NTP hei kaihoko me te whiwhi pihikete. Whai muri i tenei, ma te whakamahi i te tikanga taikaha, ka whakahokia e te kaitukino te nama tuatahi i muri i te algorithm ngawari.

Algorithm mō te whakaeke i te tātaitanga o te tau tuatahi mā te whakamahi i te aratuka-pakaru.

   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

E mohiotia ana nga wahitau IP, no reira ko te toenga ko te hanga i te 2^32 hashes kia rite ra ano te pihikete hanga ki te pihikete kua riro mai i te tūmau NTP. I runga i te teihana kaainga me te Intel Core i5, ka roa te 25 meneti.

NTS - KīAunoa hou

Kare e taea te mau ki enei kohao haumaru i Autokey, a i te tau 2012 ka puta mai he putanga hou kawa. Hei whakararu i te ingoa, i whakatau ratou ki te waitohu ano, no reira i tapaina a Autokey v.2 i te Whatunga Time Security.

Ko te kawa NTS he toronga o te haumarutanga NTP a kei te tautoko noa i te aratau unicast. Ka whakarato i te whakamarumaru whakaahuru ki te raweke paatete, te aukati i te maminga, te pai o te pauna, te mauri ki te ngaronga o te paatete whatunga, me te hua i te iti rawa o te ngaronga tika i puta i te wa haumarutanga hononga.

Ko te hononga NTS e rua nga waahanga e whakamahi ana i nga tikanga paparanga raro. Kei runga te tuatahi I tenei wa, ka whakaae te kiritaki me te kaimau ki nga momo tawhā hononga me te whakawhiti pihikete kei roto nga taviri me nga huinga raraunga katoa. Kei runga tuarua I tenei wa, ko te huihuinga NTS kua tiakina i waenga i te kaihoko me te tūmau NTP.

He pehea te wa i noho haumaru ai te tukutahitanga

Kei roto i te NTS nga kawa papa-iti e rua: Whatunga Time Security Key Exchange (NTS-KE), ka timata i te hononga haumaru i runga i te TLS, me te NTPv4, te whakaurunga hou o te kawa NTP. He iti ake mo tenei i raro nei.

Te wahanga tuatahi - NTS KE

I tenei wa, ka timata te kiritaki NTP i tetahi huihuinga TLS 1.2/1.3 mo tetahi hononga TCP motuhake me te tūmau NTS KE. I roto i tenei wahanga ka puta nga mea e whai ake nei.

  • Ka whakatauhia e nga roopu nga tawhā AEAD algorithm mo te wahanga tuarua.
  • Ka whakatauhia e nga roopu tetahi kawa papa-raro tuarua, engari i tenei wa ko te NTPv4 anake e tautokohia ana.
  • Ka whakatauhia e nga roopu te wahitau IP me te tauranga o te tūmau NTP.
  • Ka tukuna e te tūmau NTS KE nga pihikete i raro i te NTPv4.
  • Ka tangohia e nga roopu nga taviri hangarite (C2S me S2C) mai i te papanga pihikete.

Ko tenei huarahi he painga nui ko te taumahatanga katoa o te tuku korero ngaro mo nga tawhā hononga ka taka ki runga i te kawa TLS pono me te pono. Ma tenei ka whakakore i te hiahia ki te hanga ano i to ake wira mo te ruuruu NTP.

Wāhanga tuarua - NTP i raro i te tiaki NTS

I te taahiraa tuarua, ka tukutahi tika te kiritaki i te wa me te tūmau NTP. Mo tenei kaupapa, ka tukuna e ia nga toronga motuhake e wha (mahere toronga) i roto i te hanganga paatete NTPv4.

  • Kei roto i te Toronga Kaitohu Motuhake he nonce matapōkere hei aukati i nga whakaeke tukurua.
  • Kei roto i te Toronga Pihikete NTS tetahi o nga pihikete NTP e waatea ana ki te kiritaki. I te mea kei te kiritaki anake nga taviri hangarite AAED C2S me S2C, me tango e te tūmau NTP mai i te rauemi pihikete.
  • Ko te Whakawhanake Pihikete NTS he huarahi mo te kiritaki ki te tono pihikete taapiri mai i te tūmau. He mea tika tenei toronga kia kore e roa ake te whakautu a te tūmau NTP i te tono. Ka awhina tenei ki te aukati i nga whakaeke whakakaha.
  • NTS Authenticator and Encrypted Extension Fields Extension is the AAED cipher with the C2S key, NTP header, timestamps, and the above EF as competiting data. Ki te kore tenei toronga ka taea te tinihanga i nga tohu wa.

He pehea te wa i noho haumaru ai te tukutahitanga

I te whiwhi tono mai i tetahi kaihoko, ka manatoko te tūmau i te tūturutanga o te pākete NTP. Ki te mahi i tenei, me wetewete ia i nga pihikete, tangohia te AAED algorithm me nga taviri. Whai muri i te tirotiro angitu i te paatete NTP mo te whaimana, ka whakautu te tūmau ki te kiritaki i roto i te whakatakotoranga e whai ake nei.

  • Ko te Toronga Kaitohu Motuhake he kape whakaata o te tono a te kiritaki, he mehua mo nga whakaeke whakaari.
  • NTS Pihikete Toronga atu pihikete kia haere tonu te wahanga.
  • NTS Authenticator and Encrypted Extension Fields Extension is the AEAD cipher with S2C key.

Ka taea te tukurua te ruru-a-ringa tuarua i nga wa maha, ma te takahi i te taahiraa tuatahi, i te mea ka tukuna e ia tono me ia whakautu he pihikete taapiri ki te kaihoko. He painga tenei ko nga mahinga TLS tino kaha rawa o te rorohiko me te tuku raraunga PKI ka wehewehea e te maha o nga tono tukurua. He tino watea tenei mo nga kaitiaki taima FPGA motuhake, ka taea te whakauru i nga mahi matua katoa ki roto i nga mahi maha mai i te mara o te whakahiatotanga hangarite, te whakawhiti i te puranga TLS katoa ki tetahi atu taputapu.

NTPSec

He aha te mea motuhake mo te NTP? Ahakoa te mea ko te kaituhi o te kaupapa, ko Dave Mills, i ngana ki te tuhi i tana waehere i te mea pai rawa atu, he kaihōtaka onge e kaha ana ki te mohio ki nga uauatanga o nga huringa tukutahi wa e 35 tau. Ko etahi o nga waehere i tuhia i mua i te waa POSIX, a ko te Unix API i tera wa he rereke rawa atu i nga mea e whakamahia ana i enei ra. I tua atu, me mohio ki nga tatauranga hei whakakore i te tohu mai i te pokanoa ki nga raina haruru.

Ehara ko NTS te ngana tuatahi ki te whakatika i te NTP. I te wa i ako nga kaiwhaiwhai ki te whakamahi i nga whakaraeraetanga NTP hei whakanui ake i nga whakaeke DDoS, ka marama kua hiahiatia nga whakarereketanga nui. A, i te wa e whakareri ana, e whakaotia ana nga tauira NTS, i toha tere te US National Science Foundation i te mutunga o te tau 2014 he putea mo te whakahou i te NTP.

Ko te roopu mahi ehara i te mea ko te tangata anake, engari Eric Steven Raymond - tetahi o nga kaihanga me nga pou o te hapori Open Source me te kaituhi o te pukapuka Cathedral me Bazaar. Ko te mea tuatahi i whakamatau a Eric me ona hoa ki te mahi ko te neke i te waehere NTP mai i te papaaho BitKeeper ki te git, engari kaore i pai te mahi. I whakahē te kaiārahi kaupapa a Harlan Stenn i tēnei whakatau, ā, ka mutu ngā whiriwhiringa. Katahi ka whakatauhia kia marau te waehere kaupapa, ka whanau a NTPSec.

He wheako pakari, tae atu ki te mahi i runga i te GPSD, he papamuri pangarau me te mohio makutu o te panui waehere tawhito - Ko Eric Raymond te tangata hacker ka taea e ia te tango i taua kaupapa. I kitea e te roopu he tohunga mo te hekenga waehere, i roto noa i nga wiki 10 NTP noho anai runga i GitLab. I tino kaha te mahi.

He rite tonu te mahi a te kapa a Eric Raymond ki ta Auguste Rodin me te poraka kohatu. Na roto i te tango i te 175 KLOC o te waehere tawhito, i kaha ki te whakaiti i te mata whakaeke ma te kati i nga kohao haumaru maha.

Anei te rarangi karekau i oti o era kua uru ki te tohatoha:

  • Karekau kua tuhia, kua tawhito, kua tawhito, kua pakaru ranei te karaka whakaata.
  • Ko te whare pukapuka ICS kaore i whakamahia.
  • libopts/autogen.
  • Waehere tawhito mo Windows.
  • ntpdc.
  • PātuhiAunoa.
  • Ko te waehere ntpq C kua tuhia ano ki te Python.
  • Ko te waehere sntp/ntpdig C kua tuhia ano ki te Python.

I tua atu i te horoi i te waehere, he mahi ano te kaupapa. Anei he rarangi wahanga o nga whakatutukitanga:

  • Kua tino pai ake te whakamarumaru o te waehere ki te puhake putunga. Hei aukati i te waipuke, kua whakakapia nga taumahi aho haumaru katoa (strcpy/strcat/strtok/sprintf/vsprintf/gets) ki nga putanga haumaru e whakatinana ana i nga tepe rahi.
  • Kua taapirihia te tautoko NTS.
  • Kua pai ake te tika o te hikoinga kia tekau nga wa ma te hono i nga taputapu tinana. Ko tenei na te mea kua tino tika ake nga karaka rorohiko hou i era i te wa i whanau ai a NTP. Ko nga tino painga o tenei ko te GPSDO me nga reo irirangi wa whakatapua.
  • Kua whakahekehia te maha o nga reo hotaka ki te rua. Engari o Perl, awk me nga tuhinga S, he Python katoa inaianei. Na tenei, he maha ake nga waahi mo te whakamahi ano i te waehere.
  • Engari i nga kihu o nga tuhinga taputapu auto, i timata te kaupapa ki te whakamahi i te punaha hanga rorohiko waf.
  • Kua whakahouhia, kua whakatikatikahia nga tuhinga kaupapa. Mai i te kohinga tuhinga taupatupatu me etahi wa tawhito, i hangaia e ratou nga tuhinga tino pai. Ko ia whakawhiti raina whakahau me ia hinonga whirihoranga he putanga kotahi o te pono. Hei taapiri, ko nga wharangi tangata me nga tuhinga paetukutuku kua hangaia mai i nga konae matua.

Kei te waatea te NTPSec mo te maha o nga tohatoha Linux. I tenei wa, ko te putanga pumau hou ko 1.1.8, mo Gentoo Linux ko te mea whakamutunga.

(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

He ngana ano ki te whakakapi i te NTP tawhito ki tetahi atu haumaru ake. Ko te Chrony, kaore i rite ki te NTPSec, he mea tuhi mai i te whenua ki runga, ka hangaia kia pono te whakahaere i raro i te whānuitanga o nga tikanga, tae atu ki nga hononga whatunga kore iu, te waatea o te whatunga, te waatea ranei, me nga huringa pāmahana. Hei taapiri, he painga ano te chrony:

  • Ka taea e chrony te tukutahi i te karaka punaha tere ake me te tika ake;
  • He iti ake te chrony, he iti ake te mahara, ka uru ki te PTM ina hiahiatia. He painga nui tenei mo te penapena rawa me te kaha;
  • Ka tautokohia e te chrony nga tohu wama taputapu i runga i te Linux, ka taea te tukutahitanga tino tika ki nga whatunga rohe.

Heoi, karekau a chrony etahi o nga ahuatanga o te NTP tawhito, penei i te haapurorotanga me te maha o nga kiritaki/tūmau. I tua atu, ka tautokohia e te NTP matarohia te maha o nga punaha whakahaere me nga papaaho.

Hei whakakore i te mahi o te tūmau me nga tono NTP ki te tukanga chronyd, tuhia noa te tauranga 0 ki te konae chrony.conf. Ka mahia tenei i nga keehi kaore he take ki te pupuri i te wa mo nga kaihoko NTP me nga hoa. Mai i te putanga 2.0, ka tuwhera noa te tauranga tūmau NTP ina whakaaetia ana te uru e te whakahau tuku, te whakahau tika ranei, ka whirihorahia ranei tetahi hoa NTP, ka whakamahia ranei he tohutohu panui.

E rua nga waahanga o te kaupapa.

  • Ko te chronyd he ratonga e rere ana i muri. Ka whiwhi korero mo te rereketanga i waenga i te karaka punaha me te tūmau wa o waho me te whakatika i te waa o te rohe. Ka whakatinana hoki i te kawa NTP, ka taea te mahi hei kaihoko, hei tūmau ranei.
  • Ko te chronyc he taputapu raina whakahau mo te aroturuki me te whakahaere kaupapa. I whakamahia hei whakatikatika i nga momo tawhā ratonga, hei tauira ka taea e koe te taapiri, te tango ranei i nga tūmau NTP i te wa e haere tonu ana a chronyd.

Mai i te putanga 7 o RedHat Linux whakamahinga chrony hei ratonga tukutahi wa. Kei te waatea ano te kete mo etahi atu tohatoha Linux. Ko te putanga pumau hou ko 3.5, e whakarite ana mo te tukunga o 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]

Me pehea te whakarite i to ake tuumau chrony mamao i runga i te Ipurangi hei tukutahi i te waa ki te whatunga tari. Kei raro nei he tauira mo te whakatu i te VPS.

He tauira mo te whakatu Chrony i runga i te RHEL / CentOS i runga i te VPS

Me parakatihi iti inaianei ka whakarite i ta tatou ake tūmau NTP ki runga VPS. He tino ngawari, whiriwhiri noa i te utu e tika ana i runga i te paetukutuku RuVDS, tikina he tūmau kua rite, ka patohia nga whakahau ngawari. Mo o maatau kaupapa, he tino pai tenei whiringa.

He pehea te wa i noho haumaru ai te tukutahitanga

Me neke tatou ki te whakarite i te ratonga me te whakauru tuatahi i te kete chrony.

[root@server ~]$ yum install chrony

RHEL 8 / CentOS 8 te whakamahi i tetahi kaiwhakahaere kete rereke.

[root@server ~]$ dnf install chrony

I muri i te whakauru i te chrony, me timata me te whakahohe i te ratonga.

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

Ki te hiahia, ka taea e koe te whakarereke ki /etc/chrony.conf, whakakapi i nga tūmau NPT ki nga waahi tata ki te whakaiti i te wa whakautu.

# 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

I muri mai, ka whakaturia e matou te tukutahitanga o te tūmau NTP me nga pona mai i te puna kua tohua.

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

Me whakatuwhera ano te tauranga NTP ki waho, ki te kore ka aukatihia e te papangaahi nga hononga taumai mai i nga pona kiritaki.

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

I te taha o te kiritaki, he nui ki te whakarite tika i te rohe waahi.

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

Ko te konae /etc/chrony.conf e tohu ana i te IP, i te ingoa kaihautu ranei o to tatou tūmau VPS e whakahaere ana i te chrony tūmau NTP.

server my.vps.server

Na ka mutu, ka tiimata te wa tukutahi i runga i te kiritaki.

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

A muri ake ka korero atu ahau ki a koe he aha nga whiringa kei reira mo te tukutahi wa kaore he Ipurangi.

He pehea te wa i noho haumaru ai te tukutahitanga

He pehea te wa i noho haumaru ai te tukutahitanga

Source: will.com

Tāpiri i te kōrero