Terminal Services
ترمینال سرویس تکنولوژی است که با آن کاربران می توانند تا به برنامه های نصب شده روی Terminal Server دسترسی پیدا کنند. با Terminal Services همچنین می توان به محیط کامل دیسکتاپ دسترسی داشت. کاربران می توانند از درون یک شبکه یا از اینترنت ارتباط خود را برقرار کند. با استفاده از این سرویس می توان عملیات مدیریتی مربوط به نگه داری و نصب برنامه ها را به میزان قابل توجهی کاهش داد. همچنین با نصب برنامه ها تنها در یک یا چند نقطه مرکزی، احتمال کاهش هزینه های پیاده سازی و نگه داری بسیار زیاد است. زمانی که کاربر از ترمینال سرویس استفاده می کند، اجرای برنامه روی سرور اتفاق می افتد و تنها داده های مربوط به نمایش، keyboard، mouse و یا سایر تجهیزات مشابه در شبکه مخابره می شود. هر کاربر Session مربوط به خود را خواهد داشت و هر Session در سیستم عامل بدون وابستگی به Session دیگر مدیریت می شود. Terminal Server سروری است که می تواند یک برنامه محیط دسکتاپ را برای کلاینت های Terminal Services فراهم کند.
Terminal Services یک Server Role است که همان طور که نام آشکار است شامل چند سرویس است. به هر کدام از آن ها Role Services گفته می شود. در ویندوز سرور 2008 شامل رول های زیر است:
1) Terminal Server : رولی است که یک سرور را قادر می سازد تا یک برنامه یا محیط دسکتاپ ویندوز را برای کلاینت ها فراهم آورد. کاربران می توانند به ترمینال سرور برای اجرای برنامه ها، مشاهده و ذخیره سازی فایل های خود و… متصل شوند.
2) TS Web Server : با استفاده از این رول کاربران می توانند به برنامه های RemoteApp و Remote Desktop از طریق یک وب سایت دسترسی داشته باشند.
3) TS Licensing : این رول جهت مدیریت TS CALs یا Terminal Servies Client Access Licenses به کار می رود. لایسنس مریوط برای اتصال هر کامپیوتر یا کاربر به Terminal Server لازم است.
4) TS Gateway : این رول کاربران را قادر می سازد تا از اینترنت از TS استفاده کنند.
5) TS Session Broker : این رول از Session load balancing بین Terminal Server های یک Server Farm پشتیبانی به عمل می آورد.
*) در خصوص هر کدام از رول های فوق در آینده قدری بحث خواهد شد.
Terminal Services RemoteApp
RemoteApp برنامه هایی هستند که از طریق سرویس Terminal Servce اجرا می شوند و به صورت remote به آن ها دسترسی ایجاد می شود اما عملکردی مشابه به آن دارند که روی کامپیوتر local (کلاینت در اینجا) در حال اجرا است. کاربران می توانند RempteApp را در کنار سایر برنامه های local خود اجرا کنند و اگر کاربر از چند RemoteApp همزمان استفاده کند، Session ایجاد شده بین برنامه ها مشترک خواهد بود. استفاده از RemoteApp می تواند در شعب شرکت ها که مدیران آی تی معمولا وجود ندارد یا پهنای باند کمی دارند بسیار مفید باشد. در محیط های کاربری که هر کاربر دارای یک کامپیوتر منحصر به فرد نمی باشد همانند هتل ها، مدارس و… .
در ایران: با توجه به مسائل لایسنس و عدم پرداخت هزینه های مربوطه اعم از راه اندازی، نگه داری و لایسنس های Terminal Services توسط شرکت ها، کمتر مدیران IT ترمینال سرویس را به عنوان یک ابزار جدی نگاه می کنند، اما می توان انتظار داشت در آینده بسیار مورد توجه قرار گیرد. همچنین از آنجایی که کمتر مورد توجه قرار گرفته، منابع آموزشی کمی موجود است. همچنین به انگلیسی نیز منابع تعددی مشابه سرویس اکتیو دایرکتوری را ندارد اما به نظر می رسد روند حرکت، به سوی توجه بسیار به این سرویس است.
مقایسه Terminal Services با Remote Desktop
زمانی که سخن از Terminal Services به میان می آید بسیاری به سرعت به یاد Remote Desktop می افتند. در تمام نسخ ویندوزهای XP، Vista ، 7 ،Server 2003 و Server 2008 ابزاری به نام Remote Desktop موجود است. با استفاده از Remote Desktop می توان مشابه Terminal Services یک دسکتاپ را فراهم آورد. در واقع این دو به هم بسیار نزدیک و مرتبط اند. ابتدا آنکه هر دو تکنولوژی از یک ابزار موجود در ویندوز کلاینت به نام Remote Desktop استفاده می کنند. البته این نرم افزار Microsoft Terminal Services for Client نیز خوانده می شود که mstsc نام mstsc.exe کوتاه شده آن است. دوم آنکه هر دو تکنولوژی از یک سرویس به نام Terminal Services استفاده می کنند و یک پروتکل (RDP) یا Remote Desktop Protocol استفاده می کنند و همچنین از پورت 3389 TCP استفاده می کنند.
با وجود تمام این شباهت ها، اختلاف این تکنولوژی بسیار بیش از آن است که ترمینال سرویس scalability و ویژگی های بیشتری دارد. به عنوان مثال Terminal Services دارای دو mode متفاوت است:
الف: Execute Mode : برای اجرای برنامه ها به صورت عادی
ب: Install Mode : برای نصب برنامه ها
زمانی که برنامه ای را روی Terminal Server نصب می کنید، تنظیماتی در Registry یا یک فایل ini نوشته می شود که امکان استفاده چند کاربر همزمان ایجاد شود. Remote Desktop دارای Install Mode نیست.
مایکروسافت اکیدا توصیه می کند که پس از نصب این سرویس نرم افزار های لازم برای استفاده در TS نصب کنید. البته این تفاوت ها دلیل بر مزیت های یکی بر دیگری نمی باشد. Remote Desktop جزئی از ویندوز است و هزینه اضافی خرید لایسنس را ندارد اما Terminal Services دارای لایسنس جداگانه است و چنانچه لایسنس لازم در مدت 120 روز فراهم نشود، Terminal Services از کار خواهد ایستاد. البته به معنای عدم دسترسی به Remote Desktop یا تاثیر در لایسنس سیستم عامل نخواهد بود.
در پرانتز: به منظور داشتن یک تصویر مناسب از استفاده کنار هم از این دو ابزار، در طراحی های بر اساس ویندوز سرور 2008، معمولا از Remote Desktop برای یک ابزار مدیریتی استفاده می شود و از Terminal Services برای یک هاست برنامه ها. هر چند می توان این دو ابزار را به عنوان جایگزین یک دیگر در بسیاری از مواقع استفاده کرد.
فعال سازی Remote Desktop
به صورت پیش فرض، ویندوز سرور 2008 هیچ ارتباطی را از Remote Desktop نمی پذیرد. برای فعال سازی Remote Desktop در DialogBox (کادر محاوره ای) System Properties در Tab (زبانه) Remote بروید. برای دسترسی به System Properties می توانید در run وارد کنید sysdm.cpl و یا آن را از طریق Control Panel > System باز کنید.
با توجه به نسخ سیستم عامل کلاینت(ها) گزینه فعال سازی مطلوب را انتخاب کنید. چنانچه به امنیت بیشتری در ارتباطات RDP احتیاج دارید گزینه ای که تنها ارتباطات با NLA (یا Network Level Authentication) را مجاز می داند انتخاب کنید، هر چند در این صورت کلاینت ها می توانند ویندوز ویستا به بعد باشند.
NLA چیست؟
NLA یکی از ویژگی های RDP 6.0 است که با استفاده از آن اطمینان حاصل می شود که پیش از برقراری ارتباط کامل کاربر Authenticate می شود. در ورژن های قبلی RDP کاربر برای شناسایی شدن باید یک نام کاربری و کلمه عبور را در کادر مربوطه که در Remote Dekstop به نمایش در می آید وارد کند. با توجه به آنکه هر تلاشی برای Authenticate شدن می تواند مقداری از منابع سرور و شبکه را به خود اختصاص دهد به منظور جلوگیری از حملات Denial Of Service یا DOS راهکاری در RDP ورژن 6.0 ارائه شد. البته مهم است که بدانیم به صورت پیش فرض NLA در Remote Desktop ویندوز XP به قبل (در صورت وجود) پشتیبانی نمی شود. البته می توان در سرویس پک دوم ویندوز XP به بعد با استفاده از نصب kb925876 این ویژگی را ایجاد کرد.
Terminal Serices در Server-Core
در Server-Core به صورت کامل از Terminal Services پشتیبانی نمی شود، اما scregedit.wsf می توان برخی از ویژگی ها متداول را فعال کرد.
نصب Terminal Services
مشابه نصب هر رول دیگر به Server Manager رفته و روی Roles کلیک راست کرده و Add Roles را بزنید. مطلب تذکر داده شده را با دقت بخوانید و سپس Next را بزنید. در میان رول های موجود، Terminal Services را انتخاب کرده و next بزنید.
1) به مطالب تدکر داده شده دقت کنید، یکی از موارد آن است که تنها برای اقدامات مدیریتی نباید این سرویس را نصب کرد و از جایگزین آن، Remote Desktop استفاده کنید. Next بزنید.
2) در مرحله بعدی، Role Services های مورد نظر را انتخاب می کنیم. در اینجا Terminal Server را تنها انتخاب می کنیم. چنانچه سرور DC باشد، هشداری مبنی بر نصب در کنار هم این دو رول که ریسک آسیب پذیری را افزایش می دهد و performance را کاهش می دهد دریافت خواهید کرد.
3) در مرحله بعدی، تذکری در نصب نرم افزار ها دریافت خواهید کرد. مایکروسافت به شدت توصیه می کند که ابتدا Terminal Services را نصب کنید و سپس نرم افزارهایی که قرار است با استفاده از این سرویس برای کاربرن فراهم شود را نصب کنید. چنانچه نرم افزار ها را نصب کرده اید، آن ها را ReInstall کنید.
4) در مرحله بعدی، باید NLA را به طور صحیح تنظیم نماید. در اینجا Require Network Level Authentication را انتخاب می کنیم. با توجه به آنچه پیشتر بحث شد، یکی از این گزینه ها را انتخاب کنید.
5) در مرحله بعدی باید لایسنس استفاده از سرویس را فراهم آوریم، در اینجا گزینه ی Configure Later را انتخاب می کنیم، تا در آینده لایسنس مطلوب را تهیه کنیم.
6) در مرحله بعدی باید معین کنیم که چه کاربرانی می توانند به Terminal Server متصل شوند. در اینجا تمام کاربران (گروه Domain users) را اضافه می کنیم. با آنکه در اینجا به تمام کاربران اجازه اتصال می دهیم، در آینده با استفاده از TS gateway Policy معین کنیم.
7) در مرحله بعدی صحت اطلاعات نمایش داده شده را بررسی می کنیم و نصب را با زدن دکمه Install شروع می کنیم. پس از نصب احتمالا یک Restart لازم است. توجه به شرایط Restart شدن سرور در محیط عملیاتی داشته باشید. پس از شروع مجدد، عملیات نصب خاتمه خواهد یافت.
8) احتمالا پس از نصب Terminal Services برخی از ویژگی های ویندوز مشابه Desktop experience یا Quality Windows Audio Video Experince یا Windows Server Backup Features لازم خواهد شد که توصیه می شود آن ها را اکنون نصب کنید.