خلاصه (TL;DR)
نحوه ایجاد CSR و نصب گواهی SSL در سرور Exchange 2016 شامل سه مرحله اصلی است: نخست یک درخواست امضای گواهی (Certificate Signing Request) با فیلدهای درست مانند Common Name و ورودیهای SAN از طریق Exchange Admin Center (EAC) یا کمدلت New-ExchangeCertificate در Exchange Management Shell میسازید؛ دوم فایل CSR را به یک مرجع صدور گواهی (CA) معتبر ارسال میکنید و پس از دریافت گواهی امضاشده بههمراه زنجیره واسط و ریشه، آن را با Import-ExchangeCertificate وارد میکنید؛ سوم گواهی را با Enable-ExchangeCertificate به سرویسهای IIS، SMTP، IMAP و POP اختصاص میدهید. نکته حیاتی این است که تمام نامهای میزبانی مانند mail.example.com و autodiscover.example.com باید در فیلد SAN گنجانده شوند تا کلاینتهای Outlook و ActiveSync بدون خطای اعتبار گواهی متصل شوند. در ادامه هر مرحله را بهصورت گامبهگام و دقیق توضیح میدهیم.
CSR چیست و چرا برای Exchange 2016 لازم است؟
CSR یا Certificate Signing Request یک بلوک داده رمزنگاریشده است که شامل کلید عمومی سرور و اطلاعات هویتی سازمان شما (نام دامنه، نام سازمان، واحد سازمانی، شهر، استان و کشور) میشود. هنگام تولید CSR روی سرور Exchange، یک جفت کلید ساخته میشود: کلید خصوصی که هرگز سرور را ترک نمیکند و روی همان سرور باقی میماند، و کلید عمومی که درون CSR قرار میگیرد و برای مرجع صدور گواهی ارسال میشود. مرجع صدور گواهی پس از راستیآزمایی مالکیت دامنه، گواهی SSL/TLS نهایی را صادر میکند.
در Exchange 2016 استفاده از گواهی معتبر برای رمزنگاری ارتباطات ضروری است. سرویسهایی مانند Outlook on the web (OWA)، Exchange ActiveSync، Outlook Anywhere (MAPI over HTTP) و Autodiscover همگی به یک گواهی معتبر و مورد اعتماد نیاز دارند. اگر گواهی خودامضا (Self-Signed) پیشفرض که هنگام نصب Exchange ساخته میشود را نگه دارید، کاربران با هشدارهای امنیتی مداوم مواجه میشوند و برخی کلاینتهای موبایل اصلاً متصل نمیشوند. به همین دلیل تولید یک CSR درست و جایگزینی گواهی پیشفرض با گواهی معتبر، یکی از نخستین اقدامات پس از راهاندازی هر سرور Exchange محسوب میشود.
پیشنیازهای صدور گواهی SSL برای Exchange 2016 چیست؟
پیش از شروع، باید چند موضوع را روشن کنید تا مجبور به تولید مجدد CSR نشوید. تعیین دقیق این موارد از خطاهای رایج جلوگیری میکند:
- نام میزبانی خارجی: نامی که کاربران از اینترنت با آن به سرور دسترسی دارند، معمولاً
mail.example.com. این نام باید Common Name گواهی باشد. - نام Autodiscover: رکورد
autodiscover.example.comکه کلاینتهای Outlook برای پیکربندی خودکار به آن نیاز دارند و باید در SAN گنجانده شود. - نوع گواهی: تصمیم بگیرید که گواهی SAN/UCC (چند دامنهای) بگیرید یا Wildcard. برای اکثر محیطهای Exchange گواهی SAN توصیه میشود.
- دسترسی مدیریتی: عضویت در نقشهای مدیریتی Exchange (Organization Management) برای اجرای کمدلتها و کار با EAC.
- رکوردهای DNS: رکوردهای عمومی و داخلی برای
mailوautodiscoverباید به سرور اشاره کنند.
اگر زیرساخت میلسرور خود را روی یک بستر پایدار مانند سرور اختصاصی با منابع تضمینشده اجرا میکنید، مدیریت گواهی و بهروزرسانی زنجیره اعتماد سادهتر و پایدارتر خواهد بود، زیرا کنترل کامل روی سیستمعامل و پیکربندی شبکه در اختیار شماست.
چه نوع گواهی SSL برای Exchange 2016 مناسب است؟
انتخاب نوع گواهی مستقیماً روی تعداد نامهای میزبانی قابل پوشش و هزینه اثر میگذارد. جدول زیر تفاوت انواع رایج گواهی را برای سناریوی Exchange نشان میدهد:
| نوع گواهی | پوشش نامها | مناسب برای | ملاحظات |
|---|---|---|---|
| Single Domain | فقط یک نام مانند mail.example.com | محیطهای بسیار ساده بدون Autodiscover مجزا | معمولاً برای Exchange کافی نیست چون Autodiscover پوشش داده نمیشود |
| SAN / UCC | چند نام مشخص در یک گواهی | اکثر استقرارهای Exchange 2016 | گزینه توصیهشده؛ میتوانید mail و autodiscover و legacy را با هم پوشش دهید |
| Wildcard | همه زیردامنههای یک سطح مانند *.example.com | محیطهایی با زیردامنههای زیاد و متغیر | برخی دستگاههای قدیمی ActiveSync با Wildcard مشکل دارند |
| EV (Extended Validation) | یک یا چند نام با اعتبارسنجی گسترده | سازمانهایی با نیاز به بالاترین سطح اعتماد | فرآیند صدور طولانیتر و پرهزینهتر است |
برای اغلب سازمانها گواهی SAN بهترین تعادل میان انعطاف و هزینه را ارائه میدهد. اگر هنوز گواهی تهیه نکردهاید، میتوانید انواع گواهی SSL متناسب با نیاز میلسرور خود را بررسی و سفارش دهید تا هم Common Name و هم ورودیهای SAN مورد نیاز پوشش داده شوند.
چگونه در Exchange Admin Center یک درخواست گواهی (CSR) بسازیم؟
سادهترین روش برای مدیران، استفاده از ویزارد گرافیکی EAC است. مراحل زیر را به ترتیب دنبال کنید:
- وارد Exchange Admin Center شوید و به مسیر
servers > certificatesبروید. - سرور مقصد را از فهرست کشویی بالای صفحه انتخاب کنید و روی نماد + (New) کلیک کنید.
- گزینه Create a request for a certificate from a certification authority را انتخاب کرده و Next را بزنید.
- یک Friendly name توصیفی مانند
mail.example.com 2026وارد کنید تا بعداً گواهی را بهراحتی بشناسید. - اگر گواهی Wildcard میخواهید، تیک مربوطه را بزنید و دامنه ریشه را وارد کنید؛ در غیر اینصورت این مرحله را رد کنید.
- سروری که درخواست روی آن ذخیره میشود را انتخاب کنید (همان سرور Exchange).
- در بخش دامنهها، دامنههای مورد نیاز مانند
mail.example.comوautodiscover.example.comرا افزوده و دامنه اصلی را بهعنوان Common Name تعیین کنید. - اطلاعات سازمان شامل نام سازمان، واحد سازمانی، شهر/محل، استان و کشور را وارد کنید.
- مسیر یک اشتراک شبکهای مانند
\\SERVER\share\mail_csr.reqرا برای ذخیره فایل CSR مشخص کنید و Finish را بزنید.
پس از پایان ویزارد، گواهی با وضعیت Pending request در فهرست ظاهر میشود. این یعنی کلید خصوصی روی سرور ساخته و ذخیره شده و منتظر دریافت گواهی امضاشده از CA هستید. تا زمان تکمیل درخواست، این ورودی را حذف نکنید چون کلید خصوصی از بین میرود.
چگونه با PowerShell و New-ExchangeCertificate یک CSR بسازیم؟
روش خط فرمان برای اتوماسیون و کنترل دقیقتر مناسب است. در Exchange Management Shell دستور زیر یک درخواست گواهی با ورودیهای SAN تولید میکند و خروجی را به یک فایل هدایت میکند:
$req = New-ExchangeCertificate -GenerateRequest -SubjectName "c=IR, o=Example Co, cn=mail.example.com" -DomainName mail.example.com, autodiscover.example.com -PrivateKeyExportable $true
سپس محتوای درخواست را در قالب Base64 در یک فایل ذخیره کنید تا برای CA ارسال شود:
Set-Content -Path "C:\certs\mail_csr.req" -Value $req
پارامتر -PrivateKeyExportable $true به شما امکان میدهد بعداً گواهی و کلید خصوصی را بهصورت فایل PFX صادر کنید؛ این کار برای سناریوهای چند سروری یا پشتیبانگیری اهمیت دارد. اولین نام در -DomainName معمولاً بهعنوان Common Name در نظر گرفته میشود، اما تعیین صریح cn= در -SubjectName شفافیت بیشتری ایجاد میکند. توجه کنید که فیلد کشور باید کد دوحرفی ISO باشد و نامها دقیقاً باید با رکوردهای DNS خارجی مطابقت داشته باشند.
چگونه فایل CSR را به CA ارسال و گواهی امضاشده را دریافت کنیم؟
فایل CSR تولیدشده را با یک ویرایشگر متنی باز کنید؛ محتوایی بین خطوط -----BEGIN CERTIFICATE REQUEST----- و -----END CERTIFICATE REQUEST----- خواهید دید. این بلوک را کامل کپی کرده و در فرم سفارش مرجع صدور گواهی جایگذاری کنید. CA پس از فرآیند اعتبارسنجی دامنه (Domain Validation) که معمولاً از طریق ایمیل، رکورد DNS یا فایل تأیید HTTP انجام میشود، گواهی نهایی را صادر میکند.
هنگام دریافت گواهی، دقت کنید که علاوه بر گواهی سرور (End-entity)، فایلهای Intermediate و در برخی موارد Root را نیز دریافت کنید. زنجیره اعتماد کامل برای اینکه کلاینتها گواهی را معتبر بشناسند ضروری است؛ اگر واسطها نصب نشوند، برخی مرورگرها و بهویژه دستگاههای موبایل خطای «گواهی نامعتبر» نمایش میدهند. بهترین کار این است که CA یک فایل زنجیره کامل (bundle) در اختیارتان بگذارد یا آن را بهترتیب درست به هم متصل کنید.
چگونه گواهی SSL را روی Exchange 2016 نصب و به سرویسها اختصاص دهیم؟
پس از دریافت گواهی امضاشده، باید آن را با همان جفت کلید خصوصی که هنگام ساخت CSR تولید شد تکمیل کنید. در EAC روی گواهی با وضعیت Pending request کلیک کنید و گزینه Complete را انتخاب کنید، سپس مسیر فایل گواهی دریافتشده (مثلاً \\SERVER\share\mail_cert.cer) را وارد کنید. Exchange گواهی را با کلید خصوصی متناظر ادغام میکند و وضعیت به Valid تغییر میکند.
روش خط فرمان معادل، از دو کمدلت استفاده میکند. ابتدا گواهی را وارد کنید:
Import-ExchangeCertificate -Server EX01 -FileName "C:\certs\mail_cert.cer"
سپس با استفاده از اثر انگشت (Thumbprint) گواهی، آن را به سرویسهای موردنظر فعال کنید:
Enable-ExchangeCertificate -Thumbprint XXXXXXXXXXXXXXXXXXXX -Services IIS,SMTP,IMAP,POP
هنگام اختصاص سرویس SMTP ممکن است پیامی درباره جایگزینی گواهی پیشفرض SMTP ببینید؛ اگر مطمئن هستید که گواهی جدید نام میزبانی درست را دارد، تأیید کنید. جدول زیر نقش هر سرویس را روشن میکند تا بدانید چرا هر کدام به گواهی نیاز دارند:
| سرویس | کاربرد | ضرورت گواهی |
|---|---|---|
| IIS | OWA، ECP، ActiveSync، Outlook Anywhere، Autodiscover | حیاتی؛ اصلیترین سرویس برای دسترسی وب و کلاینت |
| SMTP | ارسال و دریافت ایمیل بین سرورها با TLS | برای رمزنگاری ترابری ایمیل و جلوگیری از شنود |
| IMAP | دسترسی کلاینتهای IMAP به صندوق پستی | در صورت فعال بودن سرویس IMAP روی سرور |
| POP | دسترسی کلاینتهای POP3 به صندوق پستی | در صورت فعال بودن سرویس POP روی سرور |
پس از فعالسازی، سرویسهای مربوطه یا IIS را ریاستارت کنید تا گواهی جدید بارگذاری شود. برای IIS دستور iisreset کافی است؛ برای سرویسهای POP و IMAP سرویسهای Microsoft Exchange POP3/IMAP4 را ریاستارت کنید.
چگونه نصب صحیح گواهی و زنجیره اعتماد را بررسی کنیم؟
پس از نصب، صحت پیکربندی را حتماً آزمایش کنید تا از خطاهای پنهان جلوگیری شود. چند روش مؤثر برای راستیآزمایی وجود دارد:
- در Exchange Management Shell دستور
Get-ExchangeCertificate | Format-List Thumbprint,Services,Subject,NotAfterرا اجرا کنید تا مطمئن شوید گواهی درست به سرویسهای موردنظر متصل است و تاریخ انقضا مناسب است. - OWA را در مرورگر باز کنید و روی قفل آدرسبار کلیک کنید تا ببینید گواهی معتبر و زنجیره کامل نمایش داده میشود.
- یک ابزار بررسی SSL خارجی را روی
mail.example.comوautodiscover.example.comاجرا کنید تا از کامل بودن واسطها و پشتیبانی از پروتکلهای امن مطمئن شوید. - پیکربندی خودکار Outlook را با یک حساب آزمایشی بررسی کنید تا مطمئن شوید Autodiscover بدون هشدار گواهی کار میکند.
اگر هشدار عدم تطابق نام مشاهده کردید، معمولاً یکی از نامهای میزبانی در SAN گنجانده نشده است و باید CSR جدیدی با نامهای کامل بسازید. اگر هشدار «گواهی نامعتبر» فقط روی موبایل ظاهر میشود، احتمالاً واسطها نصب نشدهاند.
مشکلات رایج در نصب گواهی Exchange 2016 چیست و چگونه رفع میشوند؟
در عمل چند خطای تکرارشونده وجود دارد که آگاهی از آنها زمان زیادی صرفهجویی میکند. رایجترین آن، ناسازگاری کلید خصوصی است؛ اگر پس از ساخت CSR درخواست Pending را حذف کنید یا گواهی را روی سروری متفاوت وارد کنید، Exchange نمیتواند گواهی را تکمیل کند چون کلید خصوصی متناظر وجود ندارد. راهحل، حفظ درخواست تا زمان تکمیل و در محیط چند سروری، صدور فایل PFX و وارد کردن آن به سایر سرورها است.
مشکل دیگر نبود ورودی Autodiscover در SAN است که باعث پیامهای مکرر گواهی در Outlook میشود. همچنین اگر گواهی خودامضای پیشفرض همچنان به SMTP متصل باشد، ممکن است ترابری داخلی دچار اختلال شود؛ در چنین حالتی باید مطمئن شوید گواهی معتبر جدید بهدرستی به سرویسها فعال شده است. برای مدیریت متمرکز چند صندوق و دامنه در کنار Exchange، بسیاری از سازمانها از راهکارهای مکمل مانند سرویس ایمیل اسمارترمیل یا سرویسهای میزبانی ایمیل سازمانی استفاده میکنند که مدیریت گواهی و پیکربندی TLS در آنها سادهتر ارائه میشود.
چگونه گواهی را تمدید و پیکربندی TLS را ایمنسازی کنیم؟
گواهی SSL یک منبع دارای تاریخ انقضا است و مدیریت چرخه عمر آن بهاندازه نصب اولیه اهمیت دارد. توصیه میشود چند هفته پیش از انقضا، فرآیند تمدید را آغاز کنید تا در صورت بروز تأخیر در اعتبارسنجی مرجع صدور گواهی، وقفهای در سرویس ایجاد نشود. برای تمدید، دقیقاً همان مسیر ساخت CSR را طی میکنید: یک درخواست جدید با همان نامهای میزبانی و ورودیهای SAN میسازید، آن را به CA ارسال میکنید و پس از دریافت گواهی جدید با Import-ExchangeCertificate و Enable-ExchangeCertificate آن را جایگزین گواهی قبلی میکنید. نکته مهم این است که گواهی قدیمی را بلافاصله حذف نکنید؛ ابتدا مطمئن شوید گواهی جدید بهدرستی به تمام سرویسها متصل شده و کلاینتها بدون خطا کار میکنند.
در کنار تمدید، سختسازی پیکربندی TLS نیز ضروری است. پروتکلهای قدیمی و ناامن مانند SSL 3.0 و TLS 1.0/1.1 را غیرفعال کنید و تنها TLS 1.2 و در صورت پشتیبانی TLS 1.3 را فعال نگه دارید. الگوریتمهای رمزنگاری ضعیف را از فهرست Cipher Suites حذف کنید و از کلیدهای حداقل ۲۰۴۸ بیت استفاده کنید. این تنظیمات در سطح سیستمعامل ویندوز سرور (از طریق رجیستری SCHANNEL یا ابزارهای مدیریتی) اعمال میشوند و مستقیماً امنیت ارتباطات SMTP و HTTPS سرور Exchange شما را تقویت میکنند. یک نگهداری منظم شامل پایش تاریخ انقضا، بررسی زنجیره اعتماد و بهروزرسانی وصلههای امنیتی، پایداری بلندمدت میلسرور را تضمین میکند.
سوالات متداول
آیا میتوانم بدون از دست دادن ایمیلها گواهی خودامضا را با گواهی معتبر جایگزین کنم؟
بله. جایگزینی گواهی روی ارتباطات رمزنگاری اثر میگذارد نه روی دادههای صندوق پستی. با تولید CSR جدید، تکمیل گواهی معتبر و فعالسازی آن روی سرویسها، صندوقهای پستی و ایمیلها دستنخورده باقی میمانند. فقط پس از تغییر، سرویس IIS را ریاستارت کنید تا گواهی جدید بارگذاری شود.
آیا یک گواهی SAN برای چند سرور Exchange کافی است؟
یک گواهی SAN میتواند روی چند سرور استفاده شود، اما باید آن را بهصورت فایل PFX (همراه کلید خصوصی) صادر کرده و روی هر سرور با Import-ExchangeCertificate وارد کنید. به همین دلیل هنگام ساخت CSR باید پارامتر -PrivateKeyExportable $true را تنظیم کنید تا امکان صدور PFX فراهم باشد.
چرا Outlook همچنان درباره گواهی هشدار میدهد؟
رایجترین علت، نبود نام autodiscover.example.com در فیلد SAN گواهی است. بررسی کنید که هم Common Name و هم تمام نامهای داخلی و خارجی که کلاینتها استفاده میکنند در گواهی گنجانده شده باشند. همچنین مطمئن شوید مقادیر Autodiscover URI داخلی و خارجی با نامهای موجود در گواهی همخوانی دارند.
گواهی SSL برای Exchange باید چند سال اعتبار داشته باشد؟
گواهیهای عمومی TLS امروزه معمولاً حداکثر برای بازههای کوتاه (حدود یک سال) صادر میشوند و باید پیش از انقضا تمدید شوند. توصیه میشود یک یادآور برای تمدید تنظیم کنید و چند هفته پیش از انقضا CSR جدید بسازید تا وقفهای در سرویس ایجاد نشود. تمدید در واقع مانند نصب اولیه است: CSR جدید، دریافت گواهی و فعالسازی مجدد سرویسها.
جمعبندی
ایجاد CSR و نصب گواهی SSL روی Exchange 2016 فرآیندی ساختارمند است: تولید درخواست با فیلدهای درست و ورودیهای SAN، ارسال به مرجع صدور گواهی معتبر، تکمیل گواهی با کلید خصوصی متناظر با Import-ExchangeCertificate و در نهایت اختصاص آن به سرویسهای IIS، SMTP، IMAP و POP با Enable-ExchangeCertificate. رعایت دو اصل کلیدی — گنجاندن تمام نامهای میزبانی از جمله Autodiscover در SAN و نصب کامل زنجیره واسط — از بیشتر خطاهای رایج جلوگیری میکند. پس از نصب، همیشه با Get-ExchangeCertificate و آزمون واقعی کلاینتها صحت پیکربندی را راستیآزمایی کنید.
اگر میخواهید میلسرور خود را روی زیرساختی پایدار با آپتایم ۹۹.۹٪، فضای ذخیرهسازی NVMe و پشتیبانی ۲۴/۷ فارسی راهاندازی کنید، برترین گزینه یک سرور اختصاصی با مجازیسازی KVM است که کنترل کامل روی گواهیها و پیکربندی TLS را در اختیارتان میگذارد. برای تهیه گواهی متناسب با نیاز Exchange نیز میتوانید انواع گواهی SSL برتینا را بررسی کنید و در صورت نیاز به راهکار جامع ایمیل سازمانی، سرویسهای میزبانی ایمیل را جایگزین یا مکمل مناسبی خواهید یافت.



