تنظیم NTS امن NTP با NTPsec

تنظیم NTS امن NTP با NTPsec

این یک وبلاگ میهمان مارتین لانگر ، دکتری است. دانشجوی "هماهنگ سازی زمان امن با استفاده از پروتکل های زمانبندی مبتنی بر بسته" در دانشگاه علمی کاربردی اوستفالیا ، آلمان.


در پست های قبلی ، من پروتکل امنیت زمان شبکه (NTS) را معرفی کردم و مهمترین ویژگی ها را شرح دادم. اگرچه مراحل مشخصات به پایان نرسیده است ، در حال حاضر برخی از پیاده سازی های مستقل NTS و سرورهای زمان عمومی (IETF106) وجود دارد. NTPsec یکی از نمایندگان مهم این سری است و در حال حاضر راه حل پیشرفته NTS را ارائه می دهد. در این پست ، یک راهنمای کوتاه برای تنظیم یک سرویس دهنده / سرور NTP با امنیت NTS با NTPsec ارائه می دهم.

بررسی اجمالی

NTPsec یک چنگال از اجرای NTPD مرجع NTP است که بارهای ارثی را برای ارائه حذف کرده است. یک کد کد کوچکتر علاوه بر این ، اهمیت NTPsec در محیط لینوکس در حال افزایش است و یکی از اولین پیاده سازی های NTP با قابلیت NTS است.

به دلیل پشتیبانی ویندوز که از دست رفته نیست ، این راهنما فقط برای سیستم های لینوکس در نظر گرفته شده است. بنابراین من از Raspberry Pi 3B با سیستم عامل اخیر دبیان استفاده می کنم Raspbian . روش شرح داده شده در اینجا همچنین با سایر توزیع های لینوکس به همان شکل یا مشابه کار می کند.

کامپوننت های نرم افزار مورد استفاده

برای استفاده از NTS ، به مؤلفه های نرم افزاری زیر نیاز داریم. می توانید دستورالعمل های دقیق برای نصب و راه اندازی را در زیر بیابید:

مهم: کلیه پیاده سازی های NTS که از OpenSSL با پشتیبانی TLS 1.3 استفاده می کنند ، نیاز به OpenSSL 1.1.1b یا بالاتر دارند. OpenSSL 1.1.1a حاوی یک اشکال بود که باعث شد صادرات کلید TLS در مرحله تأسیس کلید NTS (NTS-KE) شکست بخورد.

ویژگی های NTS NTPsec

در حال حاضر (Q4 / 2019) ، NTPsec پیش نویس NTS را پیاده سازی کرده است. تنظیمات زیر از مشخصات تا آخرین پیش نویس نسخه 20 هیچ تغییر مهمی را ارائه نمی دهد تا نماینده NTPsec باشد. ویژگی های NTS زیر در اجرای موجود است:

  • پشتیبانی TLS برای مرحله کلید NTS (NTS-KE)
  • مدیریت خطا (سمت سرور)
    • بسته های درخواست بدون پاسخ * را از بین ببرید *

* سرور فقط بسته های درخواست نامعتبر را دور می زند و NTSN (NTS NAK) را به مشتری ارسال نمی کند. این اشکالی ندارد ، اما مشتری نمی داند آیا درخواستی از بین رفته است یا اینکه در هنگام تأیید خطایی روی داده است.

تهیه

خوب ، اکنون ما بالاخره می توانیم شروع کنیم. ابتدا وارد Raspberry Pi (RPi) خود می شویم و مطمئن می شویم که یک اتصال اینترنتی داریم. از طریق SSH می توانید مستقیماً از طریق SSH به صفحه و صفحه کلید متصل یا بی سیم دسترسی داشته باشید. سپس سیستم و بسته های نصب شده را بروزرسانی می کنیم:

بعدی ، نسخه OpenSSL را بررسی می کنیم ، که باید 1.1.1b یا بالاتر باشد:

] برای اطمینان از عملکرد صحیح NTPsec ، باید سرویس همگام سازی محلی را نیز غیرفعال کنیم. این همچنین در مورد سایر خدمات (مانند OpenNTPD ، مزمن ، و …) اعمال می شود.

در عوض ، ما می توانیم آن را به شرح زیر حذف کنید:

این امر ضروری است زیرا NTPD و NTPsec از همان پرونده ها و نام ها برای برنامه استفاده می کنند.

نصب NTPsec

نصب NTPsec می تواند از طریق مدیر بسته و همچنین با تهیه دستی کد منبع انجام شود.

روش 1: استفاده از مدیر بسته بندی

ساده ترین راه برای نصب NTPsec استفاده از یک مدیر بسته است. برای پشتیبانی NTS ، به نسخه 1.1.8 یا بالاتر نیاز داریم. برای بررسی اینکه کدام نسخه بسته موجود است ، از دستور apt show استفاده می کنیم:

اگر نسخه 1.1.8 در دسترس است ، می توانیم به سادگی آن را نصب کنیم:

همین! می توانید مراحل زیر را پرش کنید و مستقیماً به پیکربندی بروید.

روش 2: دستیابی به کد منبع

تنظیم منبع دستی شامل ساخت و نصب NTPsec و همچنین ثبت آن به عنوان سرویس سیستم (

قسمت 1: ساختمان و نصب

این راهنمای نصب بر اساس دستورالعمل های NTPsec است و می تواند بدون تلاش زیادی انجام شود. ما با نصب برخی از ابزارها و کامپایلرهای اساسی شروع می کنیم. سپس یک فهرست کار موقت ایجاد می کنیم که در آن کد منبع NTPsec را کپی و ساخت می کنیم.

] بعدی ، دو راه وجود دارد یا مخزن فعلی git (نوع 1) را کلون می کنیم یا نسخه NTPsec اخیر (نوع 2) را بارگیری می کنیم.

Variant 1: با استفاده از مخزن Git