အချိန်ထပ်တူပြုခြင်း မည်ကဲ့သို့ လုံခြုံလာသနည်း။

အချိန်ထပ်တူပြုခြင်း မည်ကဲ့သို့ လုံခြုံလာသနည်း။
သင့်တွင် TCP/IP မှတစ်ဆင့် အပြန်အလှန်ဆက်သွယ်နေသော ကြီးမားပြီး သေးငယ်သောစက်ပစ္စည်းပေါင်း သန်းတစ်ထောင်ရှိလျှင် တစ်ဦးစီ၏အချိန်သည် လိမ်ညာခြင်းမရှိကြောင်းကို မည်သို့သေချာစေမည်နည်း။ နောက်ဆုံးတွင်၊ ၎င်းတို့တစ်ဦးစီတွင် နာရီတစ်လုံးစီရှိပြီး ၎င်းတို့အားလုံးတွင် အချိန်မှန်ရမည်ဖြစ်သည်။ ntp မပါဘဲ ဒီပြဿနာကို ရှောင်လို့မရပါဘူး။

စက်မှု IT အခြေခံအဆောက်အအုံ၏ အစိတ်အပိုင်းတစ်ခုတွင် ဝန်ဆောင်မှုများကို အချိန်နှင့်တစ်ပြေးညီ တစ်ပြိုင်တည်းလုပ်ဆောင်ရာတွင် အခက်အခဲများ ရှိနေကြောင်း တစ်မိနစ်လောက် စိတ်ကူးကြည့်ကြပါစို့။ Enterprise ဆော့ဖ်ဝဲလ်၏အစုအဝေးအစုစုသည် ချက်ချင်းစတင်၍ ပျက်ကွက်သွားသည်၊ ဒိုမိန်းများ ပြိုလဲသွားသည်၊ မာစတာများနှင့် Standby nodes များသည် လက်ရှိအနေအထားကို ပြန်လည်ရယူရန် ကြိုးစားသော်လည်း မအောင်မြင်ပါ။

တိုက်ခိုက်သူသည် MiTM သို့မဟုတ် DDOS တိုက်ခိုက်မှုမှတစ်ဆင့် အချိန်ကို ရည်ရွယ်ချက်ရှိရှိ ဖြိုချရန် ကြိုးစားနေခြင်းလည်း ဖြစ်နိုင်သည်။ ဒီလိုအခြေအနေမျိုးမှာ ဘာမဆိုဖြစ်သွားနိုင်ပါတယ်။

  • အသုံးပြုသူအကောင့် စကားဝှက်များသည် သက်တမ်းကုန်လိမ့်မည်;
  • X.509 လက်မှတ်များသည် သက်တမ်းကုန်လိမ့်မည်;
  • TOTP two-factor authentication အလုပ်မလုပ်တော့ပါ။
  • မိတ္တူကူးယူမှုများသည် “ခေတ်နောက်ကျသည်” ဖြစ်ကာ ၎င်းတို့ကို စနစ်က ဖျက်ပစ်မည်ဖြစ်သည်။
  • DNSSec ပျက်သွားပါမည်။

ပထမ IT ဌာနတိုင်းသည် ယုံကြည်စိတ်ချရသော အချိန်ထပ်တူပြုခြင်း ဝန်ဆောင်မှုများကို စိတ်ဝင်စားကြပြီး စက်မှုလုပ်ငန်းလည်ပတ်မှုတွင် ယုံကြည်စိတ်ချရပြီး စိတ်ချရပါက ကောင်းမွန်မည်ဖြစ်ပါသည်။

25 မိနစ်အတွင်း NTP ကိုချိုးဖျက်ပါ။

ကွန်ရက်ပရိုတိုကောများ - ထောင်စုနှစ်များအတွင်း တူညီသောအရာတစ်ခုရှိသည်- ၎င်းတို့သည် ကြာမြင့်နေပြီဖြစ်သည်။ ခေတ်မမီတော့ပါ။ ပြီးတော့ ဘာအတွက်မှ မကောင်းတော့ဘူး၊ ဒါပေမဲ့ ဝေဖန်သူတွေနဲ့ ရန်ပုံငွေတွေ အများကြီးရနေရင်တောင် သူတို့ကို အစားထိုးဖို့က သိပ်မလွယ်ပါဘူး။

မူလ NTP အကြောင်း အဓိက တိုင်ကြားချက်မှာ အန္တရာယ်ရှိသော တိုက်ခိုက်မှုများကို အကာအကွယ်ပေးရန်အတွက် ယုံကြည်စိတ်ချရသော ယန္တရားများ မရှိခြင်းပင်ဖြစ်သည်။ ဒီပြဿနာကို ဖြေရှင်းဖို့ အမျိုးမျိုးကြိုးစားပြီးပါပြီ။ ထိုသို့လုပ်ဆောင်ရန်၊ စီမက်ထရစ်သော့များလဲလှယ်ခြင်းအတွက် ကြိုတင်တည်ထောင်ထားသောသော့ (PSK) ယန္တရားကို ဦးစွာမိတ်ဆက်ခဲ့သည်။

ကံမကောင်းစွာပဲ၊ ဒီနည်းလမ်းဟာ ရိုးရှင်းတဲ့အကြောင်းပြချက်ကြောင့် သူ့ဘာသာသူ မျှတမှုမရှိခဲ့ပါဘူး - ၎င်းသည် ကောင်းမွန်စွာ အတိုင်းအတာမရှိပါ။ ဆာဗာပေါ် မူတည်၍ ကလိုင်းယင့်ဘက်တွင် လူကိုယ်တိုင် ဖွဲ့စည်းမှု လိုအပ်ပါသည်။ ဆိုလိုသည်မှာ သင်သည် အခြား client တစ်ခုမျှသာ ထည့်၍မရပါ။ NTP ဆာဗာတွင် တစ်ခုခုပြောင်းလဲပါက၊ client အားလုံးကို ပြန်လည်ပြင်ဆင်ရန် လိုအပ်သည်။

ထို့နောက် ၎င်းတို့သည် AutoKey နှင့် ထွက်ပေါ်လာသော်လည်း အယ်လဂိုရီသမ်ဒီဇိုင်းတွင် ပြင်းထန်သောအားနည်းချက်များစွာကို ချက်ချင်းတွေ့ရှိခဲ့ပြီး ၎င်းကို စွန့်ပစ်ရမည်ဖြစ်သည်။ အချက်တစ်ခုလုံးမှာ ကနဦး နံပါတ် (seed) တွင် 32 bits သာ ပါဝင်သောကြောင့် ၎င်းတွင် သေးငယ်လွန်းပြီး brute-force တိုက်ခိုက်မှုအတွက် လုံလောက်သော တွက်ချက်မှုဆိုင်ရာ ရှုပ်ထွေးမှု မပါဝင်ပါ။

  • သော့ ID သည် အချိုးညီသော 32-bit သော့တစ်ခုဖြစ်သည်။
  • MAC (မက်ဆေ့ဂျ် စစ်မှန်ကြောင်းအထောက်အထားပြကုဒ်) — NTP packet ၏ checksum;

Autokey ကို အောက်ပါအတိုင်း တွက်ချက်ပါသည်။

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

H() သည် cryptographic hash function ဖြစ်သည်။

packet ၏ checksum ကိုတွက်ချက်ရန် တူညီသောလုပ်ဆောင်ချက်ကိုအသုံးပြုသည်။

MAC=H(Autokey||NTP packet)

packet စစ်ဆေးမှုများ၏ ခိုင်မာမှု တစ်ခုလုံးသည် cookies များ၏ စစ်မှန်မှုအပေါ်တွင် တည်မှီနေပါသည်။ ၎င်းတို့ကို ဖမ်းယူပြီးလျှင်၊ သင်သည် အော်တိုကီးကို ပြန်လည်ရယူပြီးနောက် MAC ကို အတုလုပ်နိုင်သည်။ သို့သော်၊ NTP ဆာဗာသည် ၎င်းတို့ကို ထုတ်လုပ်သည့်အခါ ကနဦးနံပါတ် (အမျိုးအနွယ်) ကို အသုံးပြုသည်။ ဒီနေရာက ဖမ်းတယ်။

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

MSB_32 လုပ်ဆောင်ချက်သည် md5 hash တွက်ချက်မှုရလဒ်မှ စီနီယာဘစ် 32 ခုကို ဖြတ်တောက်သည်။ ဆာဗာ ကန့်သတ်ချက်များ မပြောင်းလဲသရွေ့ client cookie သည် မပြောင်းလဲပါ။ ထို့နောက် တိုက်ခိုက်သူသည် ကနဦးနံပါတ်ကို ပြန်လည်ရယူရန်နှင့် ကွတ်ကီးများကို လွတ်လပ်စွာထုတ်လုပ်နိုင်စွမ်းကို ရယူရန်သာ လိုအပ်သည်။

ပထမဦးစွာ၊ client တစ်ခုအနေဖြင့် NTP ဆာဗာသို့ချိတ်ဆက်ပြီး cookie ကိုရယူပါ။ ၎င်းနောက်၊ တိုက်ခိုက်သူသည် ရိုးရှင်းသော အယ်လဂိုရီသမ်ကို အသုံးပြု၍ မူလနံပါတ်ကို ပြန်လည်ရယူသည်။

brute force method ကို အသုံးပြု၍ ကနဦးနံပါတ်များကို တိုက်ခိုက်ရန်အတွက် algorithm တစ်ခု။

   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

IP လိပ်စာများကို သိရှိထားသောကြောင့် ကျန်အရာအားလုံးသည် NTP ဆာဗာမှရရှိသည့် ကွက်ကီးနှင့် ကိုက်ညီသည့်တိုင်အောင် ဖန်တီးထားသည့် ကွတ်ကီး 2^32 ဟက်ကာများကို ဖန်တီးရန်ဖြစ်သည်။ Intel Core i5 ပါသော ပုံမှန် home station တွင်၊ ၎င်းသည် 25 မိနစ် ကြာပါမည်။

NTS — Autokey အသစ်

Autokey တွင် ထိုသို့သော လုံခြုံရေးယိုပေါက်များကို ထည့်သွင်းရန် မဖြစ်နိုင်ဘဲ ၂၀၁၂ ခုနှစ်၊ ဗားရှင်းအသစ် ပရိုတိုကော။ အမည်ကို အလျှော့အတင်းလုပ်ရန်အတွက်၊ ၎င်းတို့သည် ၎င်းကို အမည်ပြောင်းရန် ဆုံးဖြတ်ခဲ့ကြသောကြောင့် Autokey v.2 ကို Network Time Security ဟုခေါ်တွင်ခဲ့သည်။

NTS ပရိုတိုကောသည် NTP ၏ လုံခြုံရေး တိုးချဲ့မှုတစ်ခုဖြစ်ပြီး လက်ရှိတွင် unicast မုဒ်ကိုသာ ပံ့ပိုးထားသည်။ ၎င်းသည် packet ခြယ်လှယ်ခြင်းမှ ခိုင်ခံ့သော cryptographic အကာအကွယ်ကို ပေးဆောင်သည်၊ snooping ကို တားဆီးသည်၊ ကောင်းစွာ ချိန်ညှိနိုင်သည်၊ ကွန်ရက် ပက်ကတ် ဆုံးရှုံးမှုကို ခံနိုင်ရည်ရှိပြီး ချိတ်ဆက်မှုကို လုံခြုံစေသည့် လုပ်ငန်းစဉ်တွင် အနိမ့်ဆုံး တိကျမှု ဆုံးရှုံးမှုကို ဖြစ်ပေါ်စေပါသည်။

NTS ချိတ်ဆက်မှုတွင် အဆင့်နှစ်ဆင့်ပါရှိပြီး အောက်အဆင့်ပရိုတိုကောများကို အသုံးပြုသည်။ ပဌမ ဤအဆင့်တွင်၊ client နှင့် server သည် အမျိုးမျိုးသော ချိတ်ဆက်မှု parameters များကို သဘောတူပြီး သော့များပါရှိသော cookies များကိုပါရှိသော data များအားလုံးနှင့် လဲလှယ်ပါ။ ဒုတိယ ဤအဆင့်တွင်၊ အမှန်တကယ် လုံခြုံသော NTS session သည် client နှင့် NTP ဆာဗာကြားတွင်ရှိသည်။

အချိန်ထပ်တူပြုခြင်း မည်ကဲ့သို့ လုံခြုံလာသနည်း။

NTS တွင် အောက်ဆုံးအလွှာ ပရိုတိုကော နှစ်ခု ပါ၀င်သည်- TLS အပေါ် လုံခြုံသော ချိတ်ဆက်မှုကို အစပြုသည့် Network Time Security Key Exchange (NTS-KE) နှင့် NTPv4၊ NTP ပရိုတိုကော၏ နောက်ဆုံး လူ့ဇာတိခံဖြစ်သည်။ အဲဒါနဲ့ပတ်သက်ပြီး နောက်ထပ်

ပထမအဆင့် - NTS KE

ဤအဆင့်တွင်၊ NTP ဖောက်သည်သည် NTS KE ဆာဗာသို့ သီးခြား TCP ချိတ်ဆက်မှုတစ်ခုမှ TLS 1.2/1.3 စက်ရှင်ကို စတင်သည်။ ဤအစည်းအဝေးတွင် အောက်ပါတို့ ဖြစ်ပေါ်ပါသည်။

  • ပါတီများသည် သတ်မှတ်ချက်များကို ဆုံးဖြတ်သည်။ AEAD ဒုတိယအဆင့်အတွက် algorithm
  • ပါတီများသည် ဒုတိယအဆင့်နိမ့်ပရိုတိုကောကို သတ်မှတ်နေကြသော်လည်း လက်ရှိတွင် NTPv4 ကိုသာ ပံ့ပိုးထားသည်။
  • ပါတီများသည် NTP ဆာဗာ၏ IP လိပ်စာနှင့် ဆိပ်ကမ်းကို ဆုံးဖြတ်သည်။
  • NTS KE ဆာဗာသည် NTPv4 အောက်ရှိ ကွတ်ကီးများကိုထုတ်ပေးသည်။
  • ပါတီများသည် ကွက်ကီးပစ္စည်းမှ အချိုးညီသော့တစ်စုံ (C2S နှင့် S2C) ကို ထုတ်ယူကြသည်။

ဤချဉ်းကပ်မှုသည် သက်သေပြပြီး ယုံကြည်စိတ်ချရသော TLS ပရိုတိုကောတွင် လျှို့ဝှက်ချိတ်ဆက်မှု ကန့်သတ်အချက်အလက်များ ပို့လွှတ်ခြင်းဆိုင်ရာ ဝန်ထုပ်ဝန်ပိုးတစ်ခုလုံးတွင် ကျရောက်နေသည့်အတွက် ကြီးမားသောအားသာချက်တစ်ခုရှိသည်။ ထို့ကြောင့်၊ လုံခြုံသော NTP လက်ဆွဲခြင်းအတွက် ဘီးကို ပြန်လည်တီထွင်ရန် မလိုအပ်ပါ။

အဆင့် 2 - NTS ကာကွယ်မှုအောက်တွင် NTP

ဒုတိယအဆင့်တွင်၊ client သည် အချိန်ကို NTP ဆာဗာနှင့် လုံခြုံစွာ ထပ်တူပြုသည်။ ဤရည်ရွယ်ချက်အတွက်၊ ၎င်းသည် NTPv4 packet တည်ဆောက်ပုံတွင် အထူး extension အကွက်လေးခုကို ပို့လွှတ်သည်။

  • Unique Identifier Extension တွင် replay attacks ကိုကာကွယ်ရန် random nonce ပါရှိသည်။
  • NTS Cookie Extension တွင် client မှကိုင်ဆောင်ထားသော NTP cookies တစ်ခုပါရှိသည်။ သုံးစွဲသူတွင် အချိုးညီညီ AAED သော့များ C2S နှင့် S2C သာရှိသောကြောင့် NTP ဆာဗာသည် ၎င်းတို့ကို cookie material မှ ထုတ်ယူရမည်ဖြစ်သည်။
  • NTS Cookie Placeholder Extension သည် ဆာဗာမှ အပို cookies များကို တောင်းဆိုရန် client တစ်ခုအတွက် နည်းလမ်းတစ်ခုဖြစ်သည်။ NTP ဆာဗာ၏ တုံ့ပြန်မှုသည် တောင်းဆိုမှုထက် များစွာမရှည်ကြောင်း သေချာစေရန် ဤတိုးချဲ့မှုသည် လိုအပ်ပါသည်။ ၎င်းသည် အသံချဲ့ထွင်မှု တိုက်ခိုက်မှုများကို ကာကွယ်ရန် ကူညီပေးသည်။
  • NTS Authenticator နှင့် Encrypted Extension Fields Extension တွင် C2S သော့၊ NTP ခေါင်းစီး၊ အချိန်တံဆိပ်တုံးများနှင့် EF တို့ကို ပံ့ပိုးပေးသည့် ဒေတာအဖြစ် အထက်တွင်ဖော်ပြထားသော AAED algorithm cipher ပါရှိသည်။ ဤတိုးချဲ့မှုမရှိဘဲ၊ အချိန်တံဆိပ်တုံးများကို အတုလုပ်နိုင်သည်။

အချိန်ထပ်တူပြုခြင်း မည်ကဲ့သို့ လုံခြုံလာသနည်း။

ကလိုင်းယင့်ထံမှ တောင်းဆိုချက်ကို လက်ခံရရှိပြီးနောက်၊ ဆာဗာသည် NTP ပက်ကတ်၏ စစ်မှန်မှုကို စစ်ဆေးသည်။ ဒါကိုလုပ်ဖို့၊ ကွတ်ကီးတွေကို စာဝှက်၊ AAED အယ်လဂိုရီသမ်နဲ့ သော့တွေကို ထုတ်ယူရပါမယ်။ တရားဝင်မှုအတွက် NTP packet ကို အောင်မြင်စွာစစ်ဆေးပြီးနောက်၊ ဆာဗာသည် client ကို အောက်ပါဖော်မတ်ဖြင့် တုံ့ပြန်ပါသည်။

  • Unique Identifier Extension သည် ကလိုင်းယင့်တောင်းဆိုချက်၏ မှန်မိတ္တူ၊ ပြန်လည်ပြသတိုက်ခိုက်မှုများကို ဆန့်ကျင်သည့်အတိုင်းအတာ။
  • ဆက်ရှင်ကို ဆက်လက်လုပ်ဆောင်ရန် NTS Cookie Extension နောက်ထပ် ကွတ်ကီးများ။
  • NTS Authenticator နှင့် Encrypted Extension Fields Extension တွင် S2C သော့ပါသော AEAD စာဝှက်တစ်ခုပါရှိသည်။

တောင်းဆိုချက်တစ်ခုစီနှင့် တုံ့ပြန်မှုတစ်ခုစီသည် သုံးစွဲသူအား ထပ်လောင်းကွတ်ကီးများပေးသောကြောင့် ဒုတိယလက်ဆွဲနှုတ်ဆက်ခြင်းကို ပထမအဆင့်ကိုကျော်ဖြတ်ကာ အကြိမ်များစွာ ထပ်ခါတလဲလဲလုပ်နိုင်ပါသည်။ ၎င်းသည် တွက်ချက်ခြင်းနှင့် ပို့လွှတ်ခြင်း PKI ဒေတာများ၏ အရင်းအမြစ်များ ပေါကြွယ်ဝသော TLS လုပ်ဆောင်ချက်များကို ထပ်ခါတလဲလဲ တောင်းဆိုမှုအရေအတွက်ဖြင့် ပိုင်းခြားထားခြင်းက အားသာချက်ဖြစ်သည်။ အခြေခံလုပ်ဆောင်နိုင်စွမ်းအားလုံးကို symmetric cryptography နယ်ပယ်မှ လုပ်ဆောင်ချက်အများအပြားသို့ ထုပ်ပိုးနိုင်ပြီး TLS stack တစ်ခုလုံးကို အခြားစက်တစ်ခုသို့ လွှဲပြောင်းသည့်အခါ အထူးပြု FPGA နာရီများအတွက် ၎င်းသည် အထူးသဖြင့် အဆင်ပြေပါသည်။

NTPSec

NTP ရဲ့ထူးခြားချက်ကဘာလဲ။ ပရောဂျက်ရေးသားသူ Dave Mills သည် ၎င်း၏ကုဒ်ကို အတတ်နိုင်ဆုံး မှတ်တမ်းတင်ရန် ကြိုးစားခဲ့သော်လည်း ရှားရှားပါးပါး ပရိုဂရမ်မာတစ်ဦးသည် လွန်ခဲ့သော 35 နှစ်က time synchronization algorithms ၏ ရှုပ်ထွေးနက်နဲမှုများကို နားလည်နိုင်မည်ဖြစ်သည်။ ကုဒ်အချို့ကို POSIX ခေတ်မတိုင်မီက ရေးသားခဲ့ပြီး Unix API သည် ယနေ့အသုံးပြုနေသည့်အရာများနှင့် အလွန်ကွာခြားပါသည်။ ထို့အပြင်၊ ဆူညံသောလိုင်းများပေါ်တွင်ဝင်ရောက်စွက်ဖက်ခြင်းမှ signal ကိုရှင်းလင်းရန်စာရင်းအင်းအသိပညာလိုအပ်သည်။

NTS သည် NTP ကိုပြုပြင်ရန် ပထမဆုံးကြိုးစားမှုမဟုတ်ပါ။ တိုက်ခိုက်သူများသည် DDoS တိုက်ခိုက်မှုများကို ချဲ့ထွင်ရန်အတွက် NTP အားနည်းချက်များကို အသုံးချရန် သင်ယူပြီးနောက်၊ အစွန်းရောက်ပြောင်းလဲမှုများ လိုအပ်ကြောင်း ထင်ရှားလာပါသည်။ NTS ၏မူကြမ်းများကို ပြင်ဆင်ပြီး အပြီးသတ်နေချိန်တွင်၊ US National Science Foundation သည် 2014 ခုနှစ်နှောင်းပိုင်းတွင် NTP ခေတ်မီရေးအတွက် ထောက်ပံ့ငွေကို အရေးပေါ်ခွဲဝေပေးခဲ့ပါသည်။

အလုပ်အဖွဲ့မှလွဲ၍ အခြားမည်သူမျှ ဦးဆောင်ခြင်းမရှိပေ။ အဲရစ်စတီဗင်ရေမွန် — Open Source အသိုက်အဝန်း၏ တည်ထောင်သူနှင့် မဏ္ဍိုင်များထဲမှ တစ်ဦးနှင့် စာအုပ်ရေးသားသူ Cathedral နှင့် Bazaar. Eric နှင့် သူ၏ ရဲဘော်များ ပထမဆုံးကြိုးစားခဲ့သည့်အရာမှာ BitKeeper ပလပ်ဖောင်းမှ NTP ကုဒ်ကို git သို့ လွှဲပြောင်းရန် ဖြစ်သော်လည်း ထိုနည်းလမ်းဖြင့် အဆင်မပြေခဲ့ပါ။ ပရောဂျက်ခေါင်းဆောင် Harlan Stenn က ဤဆုံးဖြတ်ချက်ကို ဆန့်ကျင်ခဲ့ပြီး စေ့စပ်ညှိနှိုင်းမှုများသည် အဆုံးစွန်သို့ ရောက်ရှိခဲ့သည်။ ထို့နောက် ၎င်းသည် ပရောဂျက်ကုဒ်ကို ဖြတ်ရန် ဆုံးဖြတ်လိုက်ပြီး NTPSec ပေါ်ပေါက်လာခဲ့သည်။

GPSD၊ သင်္ချာနောက်ခံနဲ့ ရှေးဟောင်းကုဒ်တွေကို ဖတ်နိုင်တဲ့ မှော်ဆန်တဲ့ စွမ်းရည်တွေနဲ့အတူ အဲရစ်ရေမွန်ဟာ အဲဒီပရောဂျက်ကို ဖြုတ်ချဖို့ ဟက်ကာဖြစ်ခဲ့ပါတယ်။ အဖွဲ့သည် ကုဒ်ရွှေ့ပြောင်းခြင်းဆိုင်ရာ အထူးကျွမ်းကျင်သူတစ်ဦးကို တွေ့ရှိခဲ့ပြီး 10 ပတ်အတွင်း NTP ကို တွေ့ရှိခဲ့သည်။ အခြေချခဲ့သည်။GitLab တွင် အလုပ်ပြုတ်တော့တယ်။

အဲရစ်ရေမွန်၏အဖွဲ့သည် Auguste Rodin ကဲ့သို့ ပြဿနာကို ကိုင်တွယ်ဖြေရှင်းခဲ့သည်။ ကုဒ်ဟောင်း 175 KLOC ကို ဖယ်ရှားခြင်းဖြင့်၊ ၎င်းတို့သည် ၎င်းတို့၏ တိုက်ခိုက်ရေး မျက်နှာပြင်ကို သိသိသာသာ လျှော့ချနိုင်ပြီး လုံခြုံရေး အပေါက်များစွာကို ပိတ်နိုင်ခဲ့သည်။

ဤသည်မှာ ထိခိုက်ခံရသူများ၏ မပြည့်စုံသောစာရင်းဖြစ်သည်-

  • အထောက်အထားမရှိသော၊ အသုံးမပြုတော့သော၊ ခေတ်မမီတော့သော သို့မဟုတ် ကျိုးပဲ့နေသော refclock။
  • အသုံးမပြုသော ICS စာကြည့်တိုက်။
  • libopts/autogen
  • Windows အတွက် ကုဒ်အဟောင်း။
  • ntpdc
  • အော်တိုကီး။
  • Python တွင် C ကုဒ် ntpq ကို ပြန်လည်ရေးသားထားသည်။
  • C ကုဒ် sntp/ntpdig ကို Python တွင် ပြန်လည်ရေးသားထားသည်။

ကုဒ်ရှင်းလင်းခြင်းအပြင်၊ ပရောဂျက်တွင် အခြားလုပ်ဆောင်စရာများပါရှိသည်။ ဤသည်မှာ အောင်မြင်မှုများ၏ မပြည့်စုံသောစာရင်းဖြစ်သည်-

  • ကုဒ်၏ buffer overflows ကို ကာကွယ်မှု သိသိသာသာ အားကောင်းလာပါသည်။ ကြားခံရေလျှံမှုများကို ကာကွယ်ရန်၊ အန္တရာယ်မကင်းသော စာကြောင်းများအားလုံးကို (strcpy / strcat / strtok / sprintf / vsprintf / gets) သည် ကြားခံအရွယ်အစားကန့်သတ်ချက်ကို အကောင်အထည်ဖော်သည့် ဘေးကင်းသောဗားရှင်းများဖြင့် အစားထိုးထားသည်။
  • NTS အထောက်အပံ့ကို ပေါင်းထည့်ထားသည်။
  • ရုပ်ပိုင်းဆိုင်ရာ ဟာ့ဒ်ဝဲ ချိတ်ဆက်မှုဖြင့် အချိန်အဆင့် တိကျမှုကို ဆယ်ဆ တိုးမြှင့်ထားသည်။ အဘယ်ကြောင့်ဆိုသော် ခေတ်မီကွန်ပြူတာနာရီများသည် NTP စတင်မိတ်ဆက်စဉ်က ရှိခဲ့သော ကိရိယာများထက် ပိုမိုတိကျသောကြောင့်ဖြစ်သည်။ ဤအရာ၏အကြီးမားဆုံးအကျိုးခံစားခွင့်များမှာ GPSDO နှင့်သီးသန့်ရေဒီယိုအချိန်ဘူတာများဖြစ်သည်။
  • ပရိုဂရမ်းမင်းဘာသာစကား အရေအတွက်ကို နှစ်ခုသို့ လျှော့ချလိုက်သည်။ Perl၊ awk နှင့် S scripts များအစား၊ ယခုအခါ Python အားလုံးဖြစ်နေပါပြီ။ ၎င်းသည် ကုဒ်ကို ပြန်သုံးရန် အခွင့်အလမ်းများ ပိုမိုရရှိစေပါသည်။
  • autotools scripts များအစား ပရောဂျက်သည် ဆော့ဖ်ဝဲလ်တည်ဆောက်မှုစနစ်ကို စတင်အသုံးပြုခဲ့သည်။ waf.
  • ပရောဂျက်စာရွက်စာတမ်းများကို မွမ်းမံပြင်ဆင်ပြီး ပြန်လည်ဖွဲ့စည်းခဲ့ပါသည်။ တသမတ်တည်းဖြစ်ပြီး တစ်ခါတစ်ရံ ရှေးရိုးဆန်သော စာရွက်စာတမ်းများ စုစည်းမှုမှ ကျွန်ုပ်တို့သည် အတော်လေး ဖြတ်သန်းနိုင်သော စာရွက်စာတမ်းများကို ဖန်တီးခဲ့သည်။ command line switch နှင့် configuration entity တိုင်းသည် ယခုအမှန်တရား၏ ဗားရှင်းတစ်ခုတည်းရှိနေပြီဖြစ်သည်။ ထို့အပြင်၊ လက်စွဲစာမျက်နှာများနှင့် ဝဘ်စာရွက်စာတမ်းများကို တူညီသော core ဖိုင်များမှ ယခုထုတ်ပေးပါသည်။

NTPSec ကို Linux ဖြန့်ဖြူးမှုများစွာအတွက် ရနိုင်ပါသည်။ နောက်ဆုံးတည်ငြိမ်သောဗားရှင်းသည် လက်ရှိတွင် 1.1.8 ဖြစ်ပြီး Gentoo Linux အတွက် ၎င်းသည် နောက်ဆုံးထွက်ဗားရှင်းဖြစ်သည်။

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

ခရိုနီ

NTP အဟောင်းကို ပိုမိုလုံခြုံသော analogue ဖြင့် အစားထိုးရန် နောက်ထပ်ကြိုးပမ်းမှုတစ်ခု ရှိခဲ့သည်။ Chrony သည် NTPSec နှင့်မတူဘဲ၊ အစမှနေ၍ ရေးသားထားပြီး မတည်ငြိမ်သောကွန်ရက်ချိတ်ဆက်မှုများ၊ တစ်စိတ်တစ်ပိုင်းရရှိနိုင်မှု သို့မဟုတ် ကွန်ရက်ပိုလျှံမှုနှင့် အပူချိန်ပြောင်းလဲမှုများအပါအဝင် အခြေအနေများစွာတွင် ယုံကြည်စိတ်ချစွာလုပ်ဆောင်နိုင်ရန် ဒီဇိုင်းထုတ်ထားသည်။ ထို့အပြင်၊ chrony တွင်အခြားအားသာချက်များရှိသည်။

  • chrony သည် စနစ်နာရီကို ပိုမြန်စေပြီး ပိုမိုတိကျမှုဖြင့် ထပ်တူပြုနိုင်သည်။
  • chrony သည် သေးငယ်သည်၊ memory နည်းပါးပြီး လိုအပ်သည့်အချိန်တွင်သာ ပရိုဆက်ဆာကို အသုံးပြုသည်။ ၎င်းသည် အရင်းအမြစ်များနှင့် စွမ်းအင်ကို ချွေတာရန်အတွက် ကြီးမားသော အားသာချက်တစ်ခုဖြစ်သည်။
  • chrony သည် Linux တွင် ဟာ့ဒ်ဝဲအချိန်တံဆိပ်တုံးများကို ပံ့ပိုးပေးသည်၊၊ ဒေသန္တရကွန်ရက်များပေါ်တွင် အလွန်တိကျစွာ ထပ်တူပြုနိုင်စေပါသည်။

သို့သော်၊ chrony သည် ထုတ်လွှင့်မှုနှင့် multicast client/server ကဲ့သို့သော NTP အဟောင်း၏ အင်္ဂါရပ်အချို့ ချို့တဲ့နေသည်။ ထို့အပြင်၊ ဂန္တဝင် NTP သည် OS နှင့် ပလပ်ဖောင်းအများအပြားကို ပံ့ပိုးပေးသည်။

chronyd လုပ်ငန်းစဉ်အတွက် ဆာဗာလုပ်ဆောင်နိုင်စွမ်းနှင့် NTP တောင်းဆိုမှုများကို ပိတ်ရန်၊ chrony.conf ဖိုင်တွင် port 0 ကို ရိုးရှင်းစွာသတ်မှတ်ပါ။ NTP သုံးစွဲသူများ သို့မဟုတ် သက်တူရွယ်တူများအတွက် အချိန်ကို ထိန်းသိမ်းရန် မလိုအပ်သည့် ကိစ္စများတွင် ၎င်းကို လုပ်ဆောင်သည်။ ဗားရှင်း 2.0 မှစတင်၍ ခွင့်ပြုသည့်ညွှန်ကြားချက် သို့မဟုတ် သက်ဆိုင်ရာအမိန့်ပေးချက်အရ ဝင်ရောက်ခွင့် သို့မဟုတ် NTP မျိုးတူများကို စီစဉ်သတ်မှတ်ထားခြင်း သို့မဟုတ် ထုတ်လွှင့်မှုညွှန်ကြားချက်ကို အသုံးပြုသည့်အခါမှသာ NTP ဆာဗာဆိပ်ကမ်းကို ဖွင့်ထားသည်။

ပရိုဂရမ်တွင် module နှစ်ခုပါဝင်သည်။

  • chronyd သည် စနစ်နာရီနှင့် ပြင်ပအချိန်ဆာဗာအကြား ကွာခြားချက်အကြောင်း အချက်အလက်ကို လက်ခံရရှိပြီး ဒေသစံတော်ချိန်ကို ချိန်ညှိပေးသည့် နောက်ခံဝန်ဆောင်မှုတစ်ခုဖြစ်သည်။ ၎င်းသည် NTP ပရိုတိုကောကို အကောင်အထည်ဖော်ပြီး client သို့မဟုတ် ဆာဗာတစ်ခုအဖြစ် လုပ်ဆောင်နိုင်သည်။
  • chronyc သည် ပရိုဂရမ်အား စောင့်ကြည့်ထိန်းချုပ်ရန်အတွက် အမိန့်ပေးစာလိုင်းတစ်ခုဖြစ်သည်။ အမျိုးမျိုးသော ဝန်ဆောင်မှုဘောင်များကို ကောင်းစွာချိန်ညှိရန် အသုံးပြုသည်၊ ဥပမာအားဖြင့်၊ ၎င်းသည် Chronyd ဆက်လက်လည်ပတ်နေချိန်တွင် NTP ဆာဗာများကို ထည့်ရန် သို့မဟုတ် ဖယ်ရှားရန် ခွင့်ပြုသည်။

RedHat Linux ဗားရှင်း 7 ကတည်းကပါ။ အသုံးပြုမှု အချိန်ထပ်တူပြုခြင်းဝန်ဆောင်မှုအဖြစ် chrony ။ ပက်ကေ့ဂျ်ကို အခြားသော Linux ဖြန့်ဝေမှုများအတွက်လည်း ရနိုင်ပါသည်။ နောက်ဆုံးထွက်တည်ငြိမ်သောဗားရှင်းသည် 3.5 ဖြစ်ပြီး၊ ပြင်ဆင်မှုတွင် 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]

ရုံးကွန်ရက်တွင် အချိန်ထပ်တူပြုရန် သင်၏ကိုယ်ပိုင်အဝေးထိန်းခရိုနီဆာဗာကို အင်တာနက်ပေါ်တွင် မည်သို့တပ်ဆင်ရမည်နည်း။ အောက်တွင် VPS တစ်ခုတည်ဆောက်ခြင်း၏ဥပမာတစ်ခုဖြစ်သည်။

VPS တွင် RHEL / CentOS တွင် Chrony စနစ်ထည့်သွင်းခြင်း ဥပမာ

ယခု အနည်းငယ်လေ့ကျင့်ပြီး VPS တွင် ကျွန်ုပ်တို့၏ကိုယ်ပိုင် NTP ဆာဗာကို မြှင့်တင်ကြပါစို့။ ၎င်းသည် အလွန်ရိုးရှင်းသည်၊ RuVDS ဝဘ်ဆိုက်ရှိ သင့်လျော်သောအကောက်ခွန်ကိုရွေးချယ်ပါ၊ အဆင်သင့်လုပ်ထားသောဆာဗာကိုရယူပြီး ရိုးရှင်းသောအမိန့်တော်တစ်ဒါဇင်ကိုရိုက်ပါ။ ကျွန်ုပ်တို့၏ရည်ရွယ်ချက်များအတွက်၊ ဤရွေးချယ်မှုသည်အတော်လေးသင့်လျော်သည်။

အချိန်ထပ်တူပြုခြင်း မည်ကဲ့သို့ လုံခြုံလာသနည်း။

ဝန်ဆောင်မှုကို စတင်သတ်မှတ်ခြင်းသို့ ဆက်သွားကြပါစို့၊ ပထမဆုံးအနေဖြင့် chrony package ကို ထည့်သွင်းလိုက်ကြပါစို့။

[root@server ~]$ yum install chrony

RHEL 8 / CentOS 8 သည် မတူညီသော ပက်ကေ့ဂျ်မန်နေဂျာကို အသုံးပြုသည်။

[root@server ~]$ dnf install chrony

chrony ကို ထည့်သွင်းပြီးနောက်၊ သင်သည် ဝန်ဆောင်မှုကို စတင်ရန်နှင့် အသက်သွင်းရန် လိုအပ်သည်။

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

ဆန္ဒရှိပါက၊ တုံ့ပြန်မှုအချိန်ကိုလျှော့ချရန်အတွက် NPT ဆာဗာများကို အနီးစပ်ဆုံးဒေသခံများနှင့် အစားထိုးရန် /etc/chrony.conf ကို တည်းဖြတ်နိုင်ပါသည်။

# 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

ထို့နောက်၊ သတ်မှတ်ထားသော ရေကူးကန်မှ node များဖြင့် NTP ဆာဗာ၏ ထပ်တူပြုမှုကို စီစဉ်သတ်မှတ်ပေးပါသည်။

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

ပြင်ပသို့ NTP port ကိုဖွင့်ရန်လည်း လိုအပ်သည်၊ သို့မဟုတ်ပါက firewall သည် client node များမှ အဝင်ချိတ်ဆက်မှုများကို ပိတ်ဆို့လိမ့်မည်။

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

client ဘက်တွင်၊ အချိန်ဇုန်ကိုမှန်ကန်စွာသတ်မှတ်ရန်လုံလောက်သည်။

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

ဖိုင် /etc/chrony.conf တွင် NTP ဆာဗာ chrony လုပ်ဆောင်နေသည့် ကျွန်ုပ်တို့၏ VPS ဆာဗာ၏ IP သို့မဟုတ် လက်ခံသူအမည်ကို သတ်မှတ်ပါ။

server my.vps.server

နောက်ဆုံးအနေနှင့်၊ client ပေါ်တွင် အချိန်ထပ်တူပြုခြင်းကို စတင်ပါ။

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

နောက်တစ်ခါ အင်တာနက်မလိုပဲ အချိန်ထပ်တူလုပ်ဖို့အတွက် ဘယ်လိုရွေးချယ်စရာတွေရှိလဲဆိုတာ ပြောပြပါမယ်။

အချိန်ထပ်တူပြုခြင်း မည်ကဲ့သို့ လုံခြုံလာသနည်း။

အချိန်ထပ်တူပြုခြင်း မည်ကဲ့သို့ လုံခြုံလာသနည်း။

source: www.habr.com

မှတ်ချက် Add