احمد جهلولی
متخصص سرویس های مایکروسافت

آموزش تنظیمات Certificate برای اکسچنج سرور (Excange Server)

این مقاله آموزشی ترجمه ای است با تصرف بر آموزش های منتشر شده توسط Paul Cunningham.گاهی وقتا پیش اومده که موقع اتصال به Exchange خطای Certificate دریافت کنید

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
در ابتدا سال نو را به همه بخصوص کاربران این انجمن تبریک عرض می کنم. امیدوارم سالی خوبی داشته باشید.

تنظیمات Exchange Certificate

تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

یا موقع اتصال outlook به Exchange
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

علت اصلی این مشکل دو چیز است:
  1. نامناسب یا نامعتبر بودن Hostname در Certificate. این hostname می تونه اسم سرور NetBIOS باشه یا URLی که برای اتصال به Exchange استفاده می شود.
  2. Certificate ی که Exchange ارائه می دهد معتبر نیست.
به نظرتون چطور این مشکل پیش میاد؟
وقتی شما Exchange 2013 or 2016 را نصب می کنید در حین پروسه نصب خاصیتی در Active Directory ایجاد می شود به نام Service Connection Point این خاصیت (AutoDiscovery) تنظیمات یا پروفایل کاربران Exchange را بصورت خودکار با اولین Login به Microsoft outlook ایجاد می کند و در نتیجه کاربران بدون هیچ گونه کار خاصی می توانند از Microsoft outlook استفاده کنند.
بصورت پیش فرض وقتی این خاصیت در Active Directory اضافه می شود با نام (NetBIOS) کامل Exchange یا Full FQDN اضافه می شود. فرض کنید اسم سرور Exch2016 باشد و اسم دومین my-city.local پس در نتیجه SCP بدین صورت ذخیره می شود.
https://exch2016.my-city.local/Autodiscover/Autodiscover.xml
اگر شما برای اتصال به Exchange در این مثال از ادرس https://exch2016.my-city.local استفاده کنید و این ادرس بر روی بقیه سرویسها مانند ECP/OWA و غیره تنظیم شده باشد. خطای Certificate دریافت نمی کنید. شاید الان با خودتون بگید چقدر خوب!!! از این به بعد نام سرور اکسچنج رو Mail ست می کنم با اینکار هم یک ادرس درست حسابی مثل بقیه می تونیم داشته باشیم و هم خطای Certificate دریافت نمی کنیم. (اینکار را فقط در سازمانی انجام دهید که یک Exchange داشته باشد در غیر اینطورت این کار را به هیچ وجه انجام ندهید بعدا دلیلشو میگم) یادتون باشه این روش فقط در داخل شبکه میتونه اعمال بشه و شما نتیجه بگیرید. اگر کاربری از بیرون به Exchange وصل بشه باز هم خطای Certificate دریافت می کنه. چون Certificate ارائه شده معتبر نیست و فقط برای کاربران داخلی معتبر است.
شما می توانید توسط دستور زیر این SCP را ببینید. (دستور را در EMS اجرا کنید)
Get-ClientAccessService -Identity  | Select AutodiscoverServiceInternalUri
کاربران سازمان وقتی می خواهند از SCP استفاده کنند از HTTPS (SSL) استفاده می کنند. این نوع اتصال برای بقیه سرویسهای Exchange هم صدق میکند.
وقتی که کانال ارتباطی بین کاربران وexchange بصورت HTTPS SSL باشد Certificate ی که Exchange ارائه می دهد باید شرایط زیر را داشته باشد:
  1. Certificate باید از یک CA متعبر صارد شده باشد.
  2. تاریخ انقضای Certificate سپری نشده باشد.
  3. نام Certificate باید Name سرور (NetBIOS) یا URL ی باشد که کاربران با استفاده از آن به Exchange وصل شوند.
خب الان ما چطور خطای Certificate را حل کنیم؟؟؟؟؟
  1. URL مورد استفاده کاربران را بر روی Autodiscovery و بقیه سرویسها را تنظیم کنیم.
  2. برای این URL یک Certificate معتبر نصب می کنیم.
قبل از اینکه دو روش بالا را توضیح دهم اجازه بدید درباره این صحبت کنیم که چرا نباید از اسم سرور NetBIOS برای اتصال و ایجاد Certificate استفاده کنیم.
سناریو:
فرض کنید ما یک سرور Exchange داشته باشیم با اسم (NetBIOS)، Mail و می خواهیم کاربران داخلی وخارجی بدون دریافت خطای Certificate به این سرور وصل شوند. ادرسی که بقیه برای اتصال به این سرور استفاده می کنند بدین صورت است:
https://mail.my-city.com
برای اینکه بتوانم با این ادرس از داخل وخارج سازمان بدون دریافت خطای Certificate وصل شوم اولین قدم تنظیم ادرس بالا بر روی Service های مانند ActiveSync, ECP, OWA و ... می باشد و قدم دوم خرید یک Certificate بر اساس اسم سرور می باشد. بعد ازانجام مراحل بالا می توانید به هدف خود برسید.
تا وقتی که یک سرور در ساختار داشته باشید مشکل خاصی ندارید مشکل زمانی پیش میاد که قصد دارید چندین سرورExchange اضافه کنید.
مثلا چه مشکلی پیش میاد؟؟؟؟؟ D:
در بالا اگر توجه کنید اسم Hostname سرور با ادرسی که کاربران برای اتصال استفاده می کنند یکی هستش و Certificateی که صادر شد بر اساس NetBIOS یا اسم سرور می باشد. در نتیجه این certificate فقط برای این سرور معتبر است در این سناریو شما توانائی ایجاد Load Balancing را ندارید. با اولین اتصال به سرورهای دیگر به عنوان مثال mail-02 or mail-03 خطای Certificate دریافت میکنید.
الان چطور می توان این مشکل در این سناریو را حل کرد؟؟؟
نوع Certificate را از NetBios آن سیستم به URLی که از آن برای اتصال استفاده می کنند تنظیم کنید.
پس در نتیجه سناریوی بالا فقط برای سازمانهای کوچک استفاده میشه ولی برای سازمانهای بزرگ که از Load Balancing استفاده میکنند مناسب نیست. و همیشه سعی کنید طبق URL درخواست Certificate دهید نه اسم NetBIOS.
در این آموزش قصد دارم نحوه تنظیم SCP و Virtual Directory ها ونحوه درخواست Certificate ودر آخر اعمال Certificate در exchange را توضیح بدم.

تنظیمات Virtual Directory


سناریو:
نحوه تنظیم SCP و Virtual Directoryها.
در این قسمت نام دومین من My-city.local هستش. و می خواهم کاربران داخلی و خارجی با نام mail.my-city.com به Exchange وصل شوند. همچنین DNS Public در خود سازمان در قسمت DMZ نگهداری می شود.
قبل از هر گونه تعقیری اجازه بدید تنظیمات پیش فرض Exchange را چک کنیم.
اسکریپت GetExchangeURLs.ps1 که توسط PAUL CUNNINGHAM ایجاد شده را از سایت زیر دانلود کنید:
https://github.com/cunninghamp/ConfigureExchangeURLs.ps1
وآن را بدین صورت در EMS اجرا کنید:
.\GetExchangeURLs.ps1 -Server 
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

بصورت خیلی کامل وجامع تمام اطلاعات را می توان در تصویر بالا دید.
خب!!!
نکته: قبل از تنظیم SCP و Virtual Directory حتما A Record و بقیه پارامترها را ایجاد. کنید.
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

و مطمئن شوید که ادرس mail.my-city.com بصورت صحیح Resolve شود:
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

بعد از انجام مراحل بالا باید Virtual Directory ها را بر اساس ادرس Mail.My-City.Com بر روی Internal URL و External URL تنظم کرد.
من برای اینکار از اسکریپت PAUL CUNNINGHAM استفاده می کنم.
برای اطلاع بیشتر درباره این اسکریپت و نحوه اجرای آن لینک زیر را بخوانید:
http://exchangeserverpro.com/powershell-script-configure-exchange-urls/
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

الان اگر دوباره تنظیمات بالا را چک کنم
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

تمام تعقیرات ایجاد شده اند حتی SCP

درخواست Certificate


وقتی که تعقیرات بالا را با موفقیت انجام دادید نوبت به درخواست Certificate برای ادرس mail.my-city.com هستش.
برای اینکار وارد قسمت Server و Certificate شوید:
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

اگر وارد یکی از تنظیمات Certificateها شوید در قسمت سرویس میتوانید ببینید هر Certificate به متعلق به چه سرویسهای است.
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

برای درخواست Certificate در قسمت بالا علامت + را کلیک کنید
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

که دو گذینه وجود دارد. گذینه اول درخواست Certificate از یک CA معتبر و گذینه دوم ایجاد یک Self-Sign
Next کنید در صفحه بعدی یک اسم با معنی بنویسید و Next
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

در این قسمت اگر می خواهید یک Wildcard certificate درخواست بدید گذینه بالا را فعال و Root Domain خود را بنویسید. ما با این گذینه کاری نداریم. Next کنید.
در قسمت بعدی محل ذخیره سازی Certificate را مشخص کنید و next
در این قسمت هر سرویسی که کاربران میخواهند از آن استفاده کنند را انتخاب و آن را Edit کنید و ادرسی که استفاده می کنند را وارد کنید:
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

NEXT کنید. در صفحه بعدی
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

شما باید انتخاب کنید که این نوع Certificate از نوع URL یا NetBIOS سرور استفاده کند
در بالا Mail اسم سرور منه. در این سناریو من همه را حذف می کنم به جز mail.my-city.com و AutoDiscover.MY-CITY.COM
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

در این قسمت اطلاعات بالا را بصورت دقیق پر کنید.
در قسمت بعدی path ذخیره سازی این فایل را مشخص و Finish کنید.
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

این فایل را برای سازمانی که Certificate صادر می کند ارسال کنید. و طبق اطلاعاتی که در بالا وارد کرده اید Certificate برای شما ایجاد می شود.
وقتی که درخواست certificate دهید این درخواست در Exchange به صورت pending باقی می ماند.
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )


نحوه Assign کردن Certificate در Exchange سرور


من برای تکمیل این سناریو از یک CA سرور داخلی استفاده می کنم. تا آن دسته از کاربرانی که فقط Exchange را در شبکه داخلی استفاده می کنند مفید باشه.
وقتی که فایل درخواست certificate اماده شد Web Browser را باز کنید و به CA سرور وصل شوید
و مراحل زیر را انجام دهید:
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

بعد از دانلود Certificate باید آن را بر روی Exchange نصب کنیم برای اینکار به قسمت Certificate رفته و
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

مسیر فایلی که دانلود کرده اید را معرفی کنید
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

و Okay کنید.
بعد از Okay کردن Certificate شما بصورت Valid نشان داده می شود.
الان باید تنظیم کنیم که این Certificate به چه سرویسهای تعلق دارد
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

که در بیشتر سناریوها دو گذینه بالا کفایت می کند.
بعد از اعمال تعقیرات فوق باید بتوانید به Exchange بدون هیچ گونه خطای certificateی وصل شوید.
تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )

تنظیمات Certificate برای اکسچنج سرور ( Exchange Server Certificate )


نویسنده : احمد جهلولی
منبع : جزیره سرویس های شبکه مایکروسافت وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد
#خطای_سرتیفیکت_در_exchange #آموزش_گام_به_گام_exchange_server #آموزش_exchange_2013 #ssl_اکسچنج_سرور

احمد جهلولی
احمد جهلولی

متخصص سرویس های مایکروسافت

سایت شخصی من: https://msdeeplearn.net

نظرات