یکی از تفاوتهای مهم امنیتی ویندوزهای جدید (از سرویس پک 2 ویندوز 2003 به بعد)، اجرای سرویسهای ویندوز در جلسهای کاری (سشنی) جدا از جسله کاری برنامههای عادی است که توسط کاربران وارد شده به سیستم اجرا میشوند. در این ویندوزها، تنها سرویسها هستند که در سشن صفر اجرا میشوند و مابقی برنامههای سایر کاربران در سشنهای دیگر.
این برخلاف چیزی است که برای مثال در ویندوز XP وجود دارد؛ یعنی اجرای دوستانهی تمام برنامهها در یک سشن (چون کاربر وارد شده به سیستم نیز در سشن صفر قرار میگیرد).
در این حالت برنامههای عادی میتوانند سرویسهای ویندوز را به راحتی مورد حمله قرار دهند. اطلاعات بیشتر:
مهمترین معنای اجرای ایزوله سرویسها در سشن صفر، به خاطره سپرده شدن سرویسهایی است که امکان تعامل با کاربر را داشتند؛ برای مثال سرویسهایی که یک رابط کاربری را نمایش میدادند (به کمک همان تیک معروف Allow Service to Interact with Desktop در صفحه تنظیمات یک سرویس). زیرا اکنون اولین کاربر وارد شده به سیستم، در سشن یک قرار میگیرد (و نه همانند قبل در سشن صفر). به این صورت دیگر به رابط کاربری نمایش داده شده در سشن صفر دسترسی نداشته و چیزی را مشاهده نخواهد کرد.
البته شاید سؤال بپرسید که چه سرویسهایی نیاز به نمایش رابط کاربری دارند؟ چون عموما سرویسی که صحیح طراحی شده باشد نیاز به تعامل مستقیم با کاربر را از طریق رابط کاربری ندارد.
و پاسخ این است که خیلی از سرویسها! در بسیاری از برنامههای متداول، امکان اجرای به صورت سرویس ویندوز NT پیش بینی نشده است. اگر نیاز باشد تا این نوع برنامهها را به صورت سرویس، برای مثال در یک ویندوز سرور اجرا کرد (تا همیشه در حال اجرا باشند و همچنین با ری استارت شدن سیستم نیز مجددا بدون دخالت کاربر شروع به کار کنند)، در این حالت نیاز خواهد بود تا رابط کاربری آنها نیز نمایش داده شوند.
سؤال: در ویندوزهای جدید برای تعامل با سشن صفر چه باید کرد؟
در ویندوز 2003 (به همراه تمام به روز رسانیها) برای اتصال به سشن صفر میتوان دستور زیر را در خط فرمان صادر کرد:
Mstsc /console
به این ترتیب امکان اتصال به سشن کنسول یا همان سشن صفر میسر میشود.
این پارامتر در ویندوز سرور 2008 ندید گرفته خواهد شد زیرا در این ویندوز امکان نصب یک سرویس در سشنهایی بجز سشن صفر نیز پیش بینی شده است؛ هر چند پیش فرض نصب همان سشن صفر است. اما به جهت سازگاری با نگارشهای قبل اینبار بجای پارامتر console از پارامتر admin استفاده کنید.
با استفاده از برنامه نویسی چطور؟
روش کار در این مقاله توضیح داده شده است اما سطر اول آن به این نکته تاکید دارد که ... اینکار را نکنید! سرویسی که درست طراحی شده باشد نیازی به رابط کاربری تعاملی عموما جهت اعمال تنظیمات آن، ندارد.