د وخت ترکیب څنګه خوندي شو

د وخت ترکیب څنګه خوندي شو
څنګه ډاډ ترلاسه کړئ چې هر وخت دروغ نه وي که تاسو یو ملیون لوی او کوچني وسایل لرئ چې د TCP/IP له لارې اړیکه لري؟ په هرصورت، هر یو ساعت لري، او وخت باید د ټولو لپاره سم وي. دا ستونزه د ntp پرته نشي حل کیدی.

راځئ چې د یوې دقیقې لپاره تصور وکړو چې د صنعتي IT زیربنا په یوه برخه کې د وخت په تیریدو سره د خدماتو همغږي کولو کې ستونزې شتون لري. سمدلاسه د تصدۍ سافټویر کلستر سټیک ناکامیدل پیل کوي ، ډومینونه منحل کیږي ، ماسټران او سټینډ بای نوډونه ناکامه هڅه کوي چې د حالت حالت بحال کړي.

دا هم ممکنه ده چې برید کوونکی په قصدي توګه د MiTM یا DDOS برید له لارې د وخت ګډوډولو هڅه وکړي. په داسې حالت کې، هرڅه کیدی شي:

  • د کارونکي حساب پاسورډونه به پای ته ورسیږي؛
  • د X.509 سندونه به پای ته ورسیږي؛
  • د TOTP دوه فکتور تصدیق به کار ودروي؛
  • بیک اپ به زوړ شي او سیسټم به یې حذف کړي؛
  • DNSSEc به مات شي.

دا روښانه ده چې د معلوماتي ټکنالوجۍ هره څانګه د وخت همغږي کولو خدماتو معتبر عملیاتو سره علاقه لري ، او دا به ښه وي که دوی په صنعتي عملیاتو کې د باور وړ او خوندي وي.

NTP په 25 دقیقو کې مات کړئ

د شبکې پروتوکولونه - زریزې یو ځانګړتیا لري، دوی دي زوړ او نور د هیڅ شی لپاره ښه ندي، مګر د دوی ځای په ځای کول دومره اسانه ندي حتی کله چې د لیوالتیا او تمویل خورا مهم ډله راټولیږي.

د کلاسیک NTP په اړه اصلي شکایت د نفوذي لخوا د بریدونو پروړاندې د ساتنې لپاره د باور وړ میکانیزم نشتوالی دی. د دې ستونزې د حل لپاره بېلابېلې هڅې شوې دي. د دې د ترلاسه کولو لپاره، موږ لومړی د مخکینۍ شریک شوي کیلي (PSK) میکانیزم پلي کړ چې د سیمال کیلي تبادلې لپاره.

له بده مرغه، دا طریقه د ساده دلیل لپاره پیسې نه ورکوي - دا ښه اندازه نه کوي. لارښود ترتیب د پیرودونکي اړخ ته د سرور پورې اړه لري. دا پدې مانا ده چې تاسو په ساده ډول نشئ کولی بل پیرودونکي ورته ورته اضافه کړئ. که چیرې د NTP سرور کې یو څه بدلون ومومي، ټول پیرودونکي باید بیا تنظیم شي.

بیا دوی د AutoKey سره راغلل، مګر دوی سمدلاسه د الګوریتم په ډیزاین کې یو شمیر جدي زیانونه وموندل او دوی یې پریښودل. خبره دا ده چې تخم یوازې 32 بټونه لري، دا خورا کوچنی دی او د مخکینۍ حملې لپاره کافي کمپیوټري پیچلتیا نلري.

  • کلیدي ID - سمیټریک 32-bit کیلي؛
  • MAC (د پیغام تصدیق کوډ) - د NTP پاکټ چیکسم؛

Autokey په لاندې ډول محاسبه کیږي.

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

چیرته چې H() د کریپټوګرافیک هش فعالیت دی.

ورته فنکشن د پاکټونو چیکسم محاسبه کولو لپاره کارول کیږي.

MAC=H(Autokey||NTP packet)

دا معلومه شوه چې د کڅوړې چک بشپړتیا د کوکیز په صداقت پورې اړه لري. یوځل چې تاسو یې ولرئ ، تاسو کولی شئ آټوکی بحال کړئ او بیا MAC سپو کړئ. په هرصورت، د NTP سرور یو تخم کاروي کله چې دوی تولیدوي. دا هغه ځای دی چې کیچ پروت دی.

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

د MSB_32 فنکشن د md5 هش محاسبې پایلې څخه 32 خورا مهم بټونه پرې کوي. د پیرودونکي کوکي تر هغه وخته نه بدلیږي چې د سرور پیرامیټونه بدل شوي نه وي. بیا برید کونکی کولی شي یوازې لومړنۍ شمیره بحال کړي او په خپلواکه توګه کوکیز تولید کړي.

لومړی، تاسو اړتیا لرئ د پیرودونکي په توګه د NTP سرور سره وصل شئ او کوکیز ترلاسه کړئ. له دې وروسته، د وحشي ځواک میتود په کارولو سره، برید کوونکی د ساده الګوریتم په تعقیب لومړنۍ شمیره بیرته راولي.

الګوریتم د بریټ ځواک میتود په کارولو سره د لومړني شمیرې محاسبې برید کولو لپاره.

   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 پتې معلومې دي، نو ټول هغه څه چې پاتې دي د 2^32 هشونو جوړول دي تر هغه چې جوړ شوی کوکی د NTP سرور څخه ترلاسه شوي سره سمون نه خوري. د Intel Core i5 سره په منظم کور سټیشن کې، دا به 25 دقیقې وخت ونیسي.

NTS - نوی آټوکی

دا ناشونې وه چې په Autokey کې د داسې امنیتي سوراخونو سره مخ شو، او په 2012 کې ښکاره شو یوه نوې نسخه پروتوکول د نوم سره موافقت کولو لپاره ، دوی پریکړه وکړه چې بیا برانډ کړي ، نو د آټوکي v.2 د شبکې وخت امنیت په نوم یاد شو.

د NTS پروتوکول د NTP امنیت توسیع دی او دا مهال یوازې د یونیکاسټ حالت ملاتړ کوي. دا د پاکټ لاسوهنې پروړاندې قوي کریپټوګرافیک محافظت چمتو کوي ، د سپړلو مخه نیسي ، ښه اندازه کوي ، د شبکې پاکټ له لاسه ورکولو لپاره انعطاف لري ، او د اتصال امنیت په جریان کې د دقیق مقدار ضایع کیدو پایله لري.

د NTS اتصال دوه مرحلې لري چې د ټیټ پرت پروتوکولونه کاروي. پر لومړی پدې مرحله کې، پیرودونکي او سرور د مختلف پیوستون پیرامیټونو سره موافق دي او کوکیز تبادله کوي چې کیلي لري د ټولو اړوندو ډیټا سیټ سره. پر دوهم په دې مرحله کې، اصلي خوندي شوي NTS ناسته د پیرودونکي او NTP سرور ترمنځ ترسره کیږي.

د وخت ترکیب څنګه خوندي شو

NTS د دوه ټیټ پوړ پروتوکولونو څخه جوړ دی: د شبکې وخت امنیت کیلي تبادله (NTS-KE)، کوم چې د TLS، او NTPv4 په اړه خوندي اړیکه پیل کوي، د NTP پروتوکول وروستی شکل. لاندې په دې اړه یو څه نور.

لومړی پړاو - NTS KE

پدې مرحله کې، د NTP پیرودونکی د TLS 1.2/1.3 سیشن د NTS KE سرور سره د جلا TCP پیوستون په اړه پیل کوي. د دې غونډې په جریان کې لاندې پیښې کیږي.

  • ګوندونه پارامترونه ټاکي AEAD د دوهم پړاو لپاره الګوریتم.
  • ګوندونه د دویم ټیټ پوړ پروتوکول تعریفوي، مګر دا مهال یوازې NTPv4 ملاتړ کیږي.
  • ګوندونه د NTP سرور IP پته او بندر ټاکي.
  • د NTS KE سرور د NTPv4 لاندې کوکیز مسله کوي.
  • ګوندونه د کوکي موادو څخه یو جوړه سمیټریک کیلي (C2S او S2C) استخراجوي.

دا طریقه لویه ګټه لري چې د اتصال پیرامیټونو په اړه د پټو معلوماتو لیږد ټول بار په ثابت او باوري TLS پروتوکول باندې راځي. دا د خوندي NTP لاسي شیک لپاره ستاسو د خپل څرخ بیا رامینځته کولو اړتیا له مینځه وړي.

دوهم پړاو - NTP د NTS محافظت لاندې

په دویمه مرحله کې، پیرودونکي په خوندي توګه وخت د NTP سرور سره همغږي کوي. د دې هدف لپاره، دا د NTPv4 پیکټ جوړښت کې څلور ځانګړي توسیعونه (د توسیع ساحې) لیږدوي.

  • د ځانګړي پیژندونکي توسیع د بیا پیلیدو بریدونو مخنیوي لپاره تصادفي نانس لري.
  • د NTS کوکي توسیع یو د NTP کوکیز لري چې پیرودونکي ته شتون لري. ځکه چې یوازې پیرودونکي سمیټریک AAED C2S او S2C کیلي لري، د NTP سرور باید دوی د کوکی موادو څخه راوباسي.
  • د NTS کوکي پلیس هولډر توسیع د پیرودونکي لپاره یوه لاره ده چې له سرور څخه اضافي کوکیز غوښتنه وکړي. دا تمدید اړین دی ترڅو ډاډ ترلاسه شي چې د NTP سرور ځواب د غوښتنې څخه ډیر اوږد نه دی. دا د امپلیفیکیشن بریدونو مخنیوي کې مرسته کوي.
  • د NTS تصدیق کونکی او د کوډ شوي تمدید ساحې توسیع د AAED سیفر د C2S کیلي سره لري، د NTP سرلیک، ټایمسټمپونه، او پورته EF د معلوماتو په توګه. د دې تمدید پرته دا ممکنه ده چې د ټایم سټیمپونو غلا کول.

د وخت ترکیب څنګه خوندي شو

د پیرودونکي څخه د غوښتنې په ترلاسه کولو سره، سرور د NTP پاکټ اعتبار تاییدوي. د دې کولو لپاره، هغه باید کوکیز ډیکریټ کړي، د AAED الګوریتم او کیلي استخراج کړي. د اعتبار لپاره د NTP پاکټ په بریالیتوب سره چک کولو وروسته، سرور په لاندې شکل کې پیرودونکي ته ځواب ورکوي.

  • د ځانګړي پیژندونکي توسیع د پیرودونکي غوښتنې عکس کاپي ده ، د بیا چلولو بریدونو پروړاندې یو اقدام.
  • د غونډې د دوام لپاره د NTS کوکیز نور کوکیز غزول.
  • د NTS تصدیق کونکی او د کوډ شوي توسیع ساحې توسیع د AEAD سیفر د S2C کیلي سره لري.

دوهم لاس اخستل د لومړي ګام په تیریدو سره ډیری ځله تکرار کیدی شي ، ځکه چې هره غوښتنه او ځواب پیرودونکي ته اضافي کوکیز ورکوي. دا ګټه لري چې د PKI ډیټا د کمپیوټري کولو او لیږدولو نسبتا سرچینې - ژور TLS عملیات د تکراري غوښتنو شمیر سره ویشل شوي. دا په ځانګړي توګه د ځانګړي FPGA وخت ساتونکو لپاره مناسب دی ، کله چې ټول اصلي فعالیت د سمیټریک کریپټوګرافي ساحې څخه په څو افعالو کې بسته بندي کیدی شي ، د TLS سټیک بل وسیلې ته لیږدوي.

NTPSec

د NTP په اړه څه ځانګړی دی؟ د دې حقیقت سره سره چې د پروژې لیکوال، ډیو ملز هڅه وکړه چې د امکان تر حده خپل کوډ مستند کړي، دا یو نادر پروګرامر دی چې د وخت د همغږۍ الګوریتمونو پیچلتیاو باندې پوهیدلو توان به ولري چې 35 کاله عمر لري. ځینې ​​​​کوډونه د POSIX دورې دمخه لیکل شوي و، او د یونیکس API بیا د هغه څه څخه خورا توپیر درلود چې نن ورځ کارول کیږي. برسېره پردې، د احصایې پوهې ته اړتیا ده ترڅو سیګنال د شور په لیکو کې د مداخلې څخه پاک کړي.

NTS د NTP د سمولو لومړۍ هڅه نه وه. یوځل چې برید کونکي د DDoS بریدونو پراخولو لپاره د NTP زیانونو څخه ګټه پورته کول زده کړل، دا څرګنده شوه چې بنسټیز بدلون ته اړتیا وه. او په داسې حال کې چې د NTS مسودې چمتو او نهايي شوې وې، د 2014 په پای کې د متحده ایالاتو ملي ساینس بنسټ په عاجل ډول د NTP عصري کولو لپاره یوه مرسته ځانګړې کړه.

د کاري ډلې مشري یوازې د چا لخوا نه وه، بلکې ایریک سټیون ریمونډ - د خلاصې سرچینې ټولنې یو له بنسټ ایښودونکو او ستنو څخه او د کتاب لیکوال کاتدریل او بازار. لومړی شی چې ایریک او د هغه ملګرو یې هڅه وکړه چې د NTP کوډ د BitKeeper پلیټ فارم څخه git ته واړوي ، مګر دا پدې لاره کار ونکړ. د پروژې مشر هارلان سټین د دې پریکړې مخالف و او خبرې اترې یې ودرولې. بیا پریکړه وشوه چې د پروژې کوډ فورک کړئ، او NTPSec زیږیدلی و.

قوي تجربه ، پشمول په GPSD کې کار ، د ریاضيیک شالید او د لرغوني کوډ لوستلو جادو مهارت - ایریک ریمونډ واقعیا یو هیکر و چې کولی شي دا ډول پروژه پریږدي. ټیم د کوډ مهاجرت متخصص وموند او یوازې په 10 اونیو کې NTP آبادپه GitLab کې. کار په بشپړ ډول روان و.

د ایریک ریمونډ ټیم په ورته ډول دنده ترسره کړه لکه څنګه چې اګسټ روډین د ډبرې د بلاک سره ترسره کړه. د زاړه کوډ د 175 KLOC په لرې کولو سره، دوی توانیدلي چې د ډیری امنیتي سوراخونو په بندولو سره د برید سطح د پام وړ کم کړي.

دلته د هغو کسانو نامکمل لیست دی چې په ویش کې شامل دي:

  • غیر مستند، زوړ، زوړ یا مات شوی ریفلاک.
  • نه کارول شوی ICS کتابتون.
  • libopts/autogen.
  • د وینډوز لپاره زوړ کوډ.
  • ntpdc.
  • اوټوکی
  • د ntpq C کوډ په Python کې بیا لیکل شوی.
  • sntp/ntpdig C کوډ په Python کې بیا لیکل شوی.

د کوډ پاکولو سربیره، پروژې نورې دندې درلودې. دلته د لاسته راوړنو یو جزوی لیست دی:

  • د بفر اوور فلو پروړاندې د کوډ محافظت د پام وړ ښه شوی. د بفر د زیاتیدو د مخنیوي لپاره، ټول ناامنه تار افعال (strcpy/strcat/strtok/sprintf/vsprintf/gets) د خوندي نسخو سره بدل شوي چې د بفر اندازه محدودیت پلي کوي.
  • د NTS ملاتړ اضافه شوی.
  • د فزیکي هارډویر سره نښلولو سره د وخت ګام دقت لس چنده ښه شوی. دا د دې حقیقت له امله دی چې د عصري کمپیوټر ساعتونه د هغه وخت په پرتله خورا دقیق شوي کله چې NTP زیږیدلی و. د دې ترټولو لوی ګټه اخیستونکي د GPSDO او وقف شوي وخت راډیوګانې وې.
  • د پروګرامینګ ژبو شمیر دوه ته راکم شوی دی. د پرل، awk او حتی S سکریپټونو پرځای، دا اوس ټول پایتون دی. د دې له امله، د کوډ بیا کارولو لپاره ډیر فرصتونه شتون لري.
  • د اتوماتیک سکریپټونو نوډلونو پرځای، پروژې د سافټویر جوړونې سیسټم کارول پیل کړل واف.
  • د پروژې اسناد تازه او تنظیم شوي. د متناقض او کله ناکله لرغونو اسنادو راټولولو څخه، دوی خورا د منلو وړ اسناد جوړ کړل. هر کمانډ لاین سویچ او هر ترتیب کونکي اداره اوس د حقیقت یو واحد نسخه لري. سربیره پردې، مین پاڼې او ویب اسناد اوس د ورته اصلي فایلونو څخه جوړ شوي.

NTPSec د یو شمیر لینکس توزیعونو لپاره شتون لري. په اوس وخت کې، وروستی باثباته نسخه 1.1.8 دی، د جینټو لینکس لپاره دا حتمي دی.

(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 د ځای په ځای کولو بله هڅه وه. Chrony، د NTPSec برعکس، له ځمکې څخه لیکل شوی او ډیزاین شوی چې د ډیرو شرایطو لاندې د اعتبار وړ کار وکړي، په شمول د بې ثباته شبکې اتصال، د شبکې جزوی شتون یا کنجشن، او د تودوخې بدلونونه. سربیره پردې، chrony نورې ګټې لري:

  • chrony کولی شي د سیسټم ساعت ګړندی د ډیر دقت سره همغږي کړي؛
  • chrony کوچنی دی، لږ حافظه مصرفوي، او یوازې د اړتیا په وخت کې CPU ته لاسرسی لري. دا د سرچینو او انرژي سپمولو لپاره لوی پلس دی؛
  • chrony په لینوکس کې د هارډویر ټایم سټیمپونو ملاتړ کوي، په محلي شبکو کې خورا دقیق همغږي کولو ته اجازه ورکوي.

په هرصورت، کرونی د زاړه NTP ځینې ځانګړتیاوې نلري، لکه نشر او ملټي کاسټ مراجع/سرور. سربیره پردې، کلاسیک NTP د لوی شمیر عملیاتي سیسټمونو او پلیټ فارمونو ملاتړ کوي.

د chronyd پروسې ته د سرور او NTP غوښتنلیکونو فعالیت غیر فعالولو لپاره ، یوازې په chrony.conf فایل کې پورټ 0 ولیکئ. دا په هغه قضیو کې ترسره کیږي چیرې چې د NTP پیرودونکو یا همکارانو لپاره د وخت ساتلو ته اړتیا نشته. د 2.0 نسخه راهیسې، د NTP سرور بندر یوازې هغه وخت خلاص دی کله چې لاسرسی د اجازه لیک یا مناسب کمانډ لخوا اجازه ورکړل شي، یا د NTP ملګری ترتیب شوی وي، یا د نشر لارښود کارول کیږي.

برنامه دوه ماډلونه لري.

  • chronyd یو خدمت دی چې په شالید کې تیریږي. دا د سیسټم ساعت او بهرني وخت سرور ترمینځ د توپیر په اړه معلومات ترلاسه کوي او ځایی وخت تنظیموي. دا د NTP پروتوکول هم پلي کوي او کولی شي د پیرودونکي یا سرور په توګه عمل وکړي.
  • chronyc د پروګرام نظارت او کنټرول لپاره د کمانډ لاین یوټیلیټ دی. د مختلف خدماتو پیرامیټونو ښه کولو لپاره کارول کیږي ، د مثال په توګه تاسو ته اجازه درکوي د NTP سرورونه اضافه یا لرې کړئ پداسې حال کې چې کرونایډ چلولو ته دوام ورکوي.

د RedHat لینکس 7 نسخه راهیسې کاروي chrony د وخت همغږي کولو خدمت په توګه. بسته د نورو لینکس توزیع لپاره هم شتون لري. وروستی باثباته نسخه 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 ویب پاڼه کې مناسب تعرفه غوره کړئ، یو چمتو شوی سرور ترلاسه کړئ او یو درجن ساده حکمونه ټایپ کړئ. زموږ د موخو لپاره، دا اختیار خورا مناسب دی.

د وخت ترکیب څنګه خوندي شو

راځئ چې د خدمت تنظیم کولو ته لاړ شو او لومړی د کرونی کڅوړه نصب کړئ.

[root@server ~]$ yum install chrony

RHEL 8 / CentOS 8 د مختلف کڅوړې مدیر کاروي.

[root@server ~]$ dnf install chrony

د کرونی نصبولو وروسته، تاسو اړتیا لرئ چې خدمت پیل او فعال کړئ.

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

که وغواړئ، تاسو کولی شئ په /etc/chrony.conf کې بدلونونه رامینځته کړئ، د NPT سرورونو سره د نږدې محلي سرورونو سره د غبرګون وخت کمولو لپاره بدل کړئ.

# 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

بیا، موږ د ټاکل شوي حوض څخه د نوډونو سره د NTP سرور ترکیب تنظیم کړو.

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

دا هم اړینه ده چې د NTP بندر بهر ته خلاص کړئ، که نه نو د اور وژونکي به د مراجعینو نوډونو څخه د راتلونکو اړیکو مخه ونیسي.

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

د پیرودونکي اړخ کې ، دا د وخت زون په سمه توګه تنظیم کولو لپاره کافي دی.

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

د /etc/chrony.conf فایل زموږ د VPS سرور IP یا کوربه نوم مشخصوي چې د NTP سرور chrony چلوي.

server my.vps.server

او په نهایت کې ، په پیرودونکي کې د وخت ترکیب پیل کول.

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

بل ځل زه به تاسو ته ووایم چې د انټرنیټ پرته د وخت همغږي کولو لپاره کوم اختیارونه شتون لري.

د وخت ترکیب څنګه خوندي شو

د وخت ترکیب څنګه خوندي شو

سرچینه: www.habr.com

Add a comment