بررسی عملکرد سرویس زمان ویندوز در شبکه – قسمت دوم

در ادامه ی مقاله ی قبل که بررسی عملکرد سرویس زمان ویندوز بود,در این مقاله به معرفی پروتکلهای این سرویس می پردازیم.
بررسی عملکرد سرویس زمان ویندوز در شبکه-قسمت دوم (پروتکل های زمانی Windows Time Service )

یک پروتکل زمانی، مشخص میکند که ساعتهای دو کامپیوتر و دستگاه چگونه و با چه دقتی با هم یکسان می شوند. پروتکل Time وظیفه دارد که اطلاعات و داده های زمانی ای را که برای به دست آوردن زمان مناسب و دقیق در کل شبکه نیاز داریم مشخص و انتخاب کند و همچنین تمام ساعتهای شبکه را با هم یکسان میکند. همانطور که قبلا هم اشاره شد سرویس Windows Time از پروتکل NTP برای کمک به یکسان سازی ساعت در سراسر شبکه استفاده می کند. NTP یک پروتکل زمانی اینترنت است که شامل الگوهای مورد نیاز و لازم برای هماهنگ سازی ساعت ها می باشد. NTP دارای دقتی به مراتب بالاتر نسبت به SNTP است که در بعضی نسخه های قدیمی تر ویندوز استفاده میشد و در ادامه ی این مقاله با آن آشنا خواهیم شد. در هر حال w32time از ویندوزهای قبلی مثل Windows 2000 که سرویس Time آنها بر مبنای SNTP است, پشتیبانی می کند.

نکته
W32Time: یک سرویس یکپارچه است که یک تایم سرور شناخته شده و معتبر درشبکه را با یک منبع زمانی خارجی Synchronize می کند. این تایم سرور شناخته شده, یک دامین کنترلر است که از سرویس w32time استفاده می کند تا مطمئن شود که یکسان سازی اطلاعات و تنظیمات زمانی کامپیوترها در کل شبکه به درستی و دقت صورت می گیرد.

Network Time Protocol

NTP یک الگوریتم پیش فرض است که برای هماهنگ سازی ساعت Time Service یک سیستم عامل به کار می رود. این پروتکل دارای تحمل خطاپذیری (Fault Tolerance) است و همچنین پروتکلی است که یکسان سازی زمان را بر مبنای یک منبع زمان معین و طراحی شده انجام می دهد.Time Synchronization برای پروتکل NTP، در طول یک دوره ی زمانی انجام می شود و شامل انتقال Packet های NTP می باشد. Packet های NTP محتوی یک مهر زمانی هستند که این مهر، مانند یک برچسب است که یک الگوی زمانی از کاربر و یک الگو از سرور شرکت کننده را در خود دارد.
NTP برای مشخص کردن یک تایم مناسب و سراسری، متکی به یک منبع ساعت است تا ساعت بقیه ی سیستمها با آن تنظیم شوند. NTP از UTC (مخفف Coordinate Universal Time) به عنوان منبع دقیق استاندارد زمانی استفاده می کند. UTC الگوریتم NTP را قادر می سازد تا بدون در نظر گرفتن تنظیمات نواحی زمانی (Time Zones) در تمام جهان مورد استفاده قرار گیرد. Time Zones، تقسیم بندی جغرافیایی جهان به ۱۵ قسمت است که از گرینویچ واقع در انگلستان شروع می شود و کارش این است که ساعت مناطق مختلف جهان را نشان دهد.

NTP

NTP Algorithms

NTP به Time Service کمک می کند تا الگوی زمانی مناسب در ویندوز را تعیین کند که برای این کار از دو الگوریتم استفاده می کند:

  • الگوریتم Clock Filtering
  • الگوریتم Clock Selection

الگوریتم Clock Filtering مسئول غربالگری الگوهای زمانی ای است که از منابع مختلف زمانی از طریق پرس و جو (Query) به دست می آیند و در نهایت انتخاب بهترین الگو از هر منبع است. الگوریتم Clock Selection مسئول تعیین دقیق ترین Time Server روی شبکه است. این اطلاعات به الگوریتم Discipline سپرده میشود (که در مقاله ی قبل توضیح مختصری راجع به آن داده شد) و به تصویب میرسد تا با استفاده از این اطلاعات جمع آوری شده، ساعت سیستم Local تصحیح شود. Windows Time Service یک پکیج کامل Time Synchronization است که می تواند تنوع دستگاه های سخت افزاری مختلف و پروتکلهای زمانی مختلف را پشتیبانی کند. یک ارائه دهنده ی زمان (Time Provider)، مسئول به دست آوردن مهر زمانی دقیق (از شبکه یا سخت افزار) یا فراهم کردن آن مهرهای زمانی برای دیگر کامپیوترهای سراسر شبکه است. NTP Provider از یک استاندارد تعیین شده به وسیله ی NTP version 3 برای کلاینتها و سرورها پیروی می کند و میتواند عملکرد خود را با SNTP در Windows 2000 یا سایر کلاینتهای SNTP مطابقت دهد. NTP Provider در Windows Time Service شامل دو بخش است:

NTP Server Output Provider
یک Time Server است که به درخواستهای زمان کلاینتها (Time Requests) پاسخ می دهد. یعنی کلاینتها درخواست زمان می دهند و این تایم سرور آن را دریافت میکند و پاسخ می دهد.

NTP Client Input Providers
یک Time Client است که اطلاعات زمان را از منبع دیگری می گیرد که این منبع می تواند یک سخت افزار یا یک NTP Server باشد و همچنین می تواند الگوهای های زمانی ای (Time Samples) را که برای Synchronization ساعت محلی (Local Clock) مورد استفاده قرار می گیرند بازگرداند. اگرچه فعالیتهای اصلی این دو Provider بسیار به هم وابسته است، اما هر کدام به صورت مستقل برای Time Service مشخص شده است. در Windows 2000 وقتی یک کامپیوتر به شبکه متصل باشد به عنوان NTP Client تنظیم و پیکربندی شده است. همچنین کامپیوترهایی که Windows Time Service روی آنها فعال باشد، تنها تلاش می کنند تا ساعتشان را با Domain Controller یا به صورت پیش فرض با یک منبع دستی مشخص شده هماهنگ کنند. اینها Time Provider هایی با ارجحیت بالا هستند، به دلیل اینکه به صورت اتوماتیک تنها منابع زمانی امن، قابل اعتماد و در دسترس هستند.

NTP Security

در Forest یک اکتیو دایرکتوری، Windows Time Service برای احراز هویت اطلاعات و دیتاهای زمانی به یک سری ویژگی ها و تنظیمات امنیتی دامین ها تکیه دارد. امنیت Packet های NTP که بین کامپیوترهای عضو دامین و یک دامین کنترلر محلی (که به عنوان یک تایم سرور شناخته میشود) بر اساس احراز هویت Shared Key پایه ریزی شده است. Windows Time Service از کلید جلسه ی کربروس کامپیوتر، برای ایجاد امضاهای احراز هویت شده بر روی Packet های NTP که در سراسر شبکه ارسال می شوند، استفاده می کند. Packet های NTP درون کانال امن Net Logon فرستاده نمی شوند. به جای آن وقتی یک کامپیوتر زمان را از دامین کنترلر درخواست می کند، Windows Time Service زمان احراز هویت شده و کامل را ارایه می دهد. دامین کنترلر اطلاعات موردنیاز را به فرم ارزش 64 بیتی که قبلا به وسیله ی کلید جلسه از سرویس Net Logon احراز هویت شده است، برمی گرداند. اگر Packet های برگردانده شده با کلید جلسه ی کامپیوتر یکسان نباشند و به تعبیر فنی Sign نباشند و یا به درستی امضا نشده باشند، زمان پذیرفته نمی شود و رد می شود. انواع خطاهای احراز هویتی و آنهایی که به نوعی به احراز هویت مربوط هستند در Event Log ثبت می شوند. به این صورت است که Windows Time Service، امنیت را برای Packet های NTP فراهم می کند.

به طور کلی، برای یکسان سازی زمان، کلاینتها به صورت اتوماتیک، زمان مناسب را از دامین کنترلری که در دامینشان وجود دارد به دست می آورند. در یک Forest، دامین کنترلرهای یک Child Domain (دامین فرزند) ساعتشان را با دامین کنترلر Parent Domain (دامین والد) یا همان دامین بالاسری خود هماهنگ می کنند. وقتی که یک تایم سرور یک Packet احراز هویت شده ی NTP را به کلاینتی که درخواست زمان مناسب را دارد، باز میگرداند، Packet به وسیله ی کلید جلسه ی کربروس که به وسیله ی یک اکانت اعتماد بین دامینی (Inter Domain Trust Account) تعریف شده است، امضا یا Sign میشود. این اکانت اعتماد میان دامینی، در واقع وقتی که یک دامین AD DS جدید به Forest عضو میشود به وجود می آید و سرویس Net logon کلید جلسه را مدیریت می کند. به این صورت، دامین کنترلری که به عنوان منبع معتبر در دامین ریشه (Forest Root Domain) تنظیم شده است، به یک منبع معتبر زمانی برای همه ی دامین های Child و Parent و به طور غیرمستقیم برای همه ی کامپیوترهایی که در دامینهای زیرمجموعه هستند، مورد استفاده قرار می گیرد.

Windows Time Service میتواند به گونه ای تنظیم شود که بین Forest ها فعالیت کند. اما باید این نکته را در نظر بگیریم که این پیکربندی از لحاظ امنیتی درست نیست. به عنوان مثال، ممکن است که یک NTP Server در یک Forest متفاوت وجود داشته باشد، برای کامپیوترهایی که در یک فارست دیگر قرار دارند، هیچ کلید جلسه ی کربروسی وجود ندارد تا Packet های NTP با آن مورد مطابقت و احراز هویت قرار گیرند. برای اجرای دقیق Time Synchronization از یک کامپیوتر موجود در یک فارست دیگر، کلاینت نیازمند دسترسی شبکه ای به آن کامپیوتر است و Time Service باید برای استفاده از منبع زمانی مشخصی که در یک فارست دیگر قرار دارد، پیکربندی و تنظیم شده باشد، یعنی برود زمان را از آنجا بگیرد. اگر یک کلاینت به صورت دستی برای دستیابی به منبع زمانی، به یک NTP Server که در خارج از سلسه مراتب دامین خودش قرار دارد، تنظیم شده باشد، Packet های NTP بین کلاینت و سرور بیرونی که معتبر نیست و احراز هویت نشده، ارسال میشوند و این کار امن نیست. حتی با انجام و رعایت تراست های فارستها، کار Windows Time Service بین فارست ها امن نیست. اگرچه کانال امن Net Logon، مکانیزم احراز هویت و معتبرسازی برای Windows Time Service است، اما احراز هویت بین فارستها پشتیبانی نمی شود.

نکته
سرویس Net Logon :درخواستهای Log on را بررسی و تایید میکند و دامین کنترلرها را ثبت میکند و اعتبار می بخشد. هر نوع ویندوز NT مثل Server ,Workstation ,Domain Controller دارای سرویس Net Logon است. وظیفه ی این سرویس، ارتباطات بین سیستمهایی است که مسئول پاسخگویی به درخواستهای Log on ,Domain Synchronization و درخواست تبدیل Backup Domain Controller به Primary Domain Controller هستند. Logon درخواستی است که ما داریم و Net Logon سرویسی است که ویندوز، برای تسهیل فرآیند Log On کردن استفاده میکند.

SNTP Protocol

( Simple Network Time Protocol) پروتکل زمانی ساده شده است که برای سرورها و کلاینتهایی که نیازمند درجه ی دقت NTP Provider ها نیستند انتخاب شده است. SNTP یک نمونه ی ابتدایی تر از NTP است که در ویندوزهایی مانند Windows 2000 به کار می رفته است. به دلیل اینکه فرمت Packet های NTP و SNTP یکسان است، هر دو پروتکل Interoperable هستند. تفاوت اصلی بین این دو پروتکل این است که SNTP مدیریت خطا و سیستم جامع فیلترینگ NTP Providers را ندارد.

نکته
Interoperability: توانایی یک سیستم کامپیوتری برای اجرای برنامه های کاربردی از انواع برندهای مختلف و توانایی تعامل با انواع سیستم ها بدون در نظرگیری معماری سخت افزاری و یا نوع سیستم عاملشان

859
۱ دیدگاه
۲۴ فروردین ۹۳
برچسب ها :

فرزانه تقدیسی

کارشناس ارشد هوش مصنوعی – پس از اتمام دوره Elastix & MCSE & CCNA & CCNP و اخذ مدارک بین المللی در این حوزه مشغول به کار شدم

دیدگاه کاربران