شرکتها و سازمانهای کوچک عمدتاً از شرکتهای سرویسدهنده Hosting برای پست الکترونیک خود استفاده میکنند اما شرکتهای متوسط و بزرگ به دلیل مسائل امنیتی و حساسیت سرویس پست الکترونیک برای آنان، ناچار به استفاده از یک Mail Server اختصاصی در محل خود هستند.
برای تأمین محرمانگی و جامعیت دادههای مبادله شده میتوان از پروتکلهای استانداردی که بدین منظور طراحی شده استفاده کرد. در حال حاضر مهمترین پروتکل رمزنگاری که در سطح اینترنت برای رمزنگاری دادههای لایه کاربرد و تأمین امنیت ارتباطات استفاده میشود، پروتکل SSL/TLS است. یکی از سرویسدهندههای پست الکترونیک، MDaemon است که در این گزارش به پیکربندی امن پروتکل SSL/TLS در آن میپردازیم. قابل ذکر است که MDaemon برای فراهم کردن سرویس SSL، متکی به ویندوز است و تنظیمات مربوط به ویندوز را مورد استفاده قرار میدهد. در این گزارش مراحل راهاندازی پروتکل SSL/TLS را روی MDaemon server 13.5.1 و پیکربندی امن پروتکل SSL/TLS را در ویندوز سرور ۲۰۱۲ بیان میکنیم.
۱ فعالسازی ارتباطات HTTPS
برای پیکربندی سرویسدهنده HTTPS و استفاده از این پروتکل ابتدا باید گواهینامه دیجیتال مربوطه را از مراکز صدور گواهی (۱)(CA) معتبر دریافت کرد (یا گواهی خود-امضا(۲) را تولید کرد). گرفتن گواهی دارای مراحلی است که برای اطلاعات بیشتر در این زمینه میتوانید به گزارش ارائه شده توسط پژوهشکده آپای دانشگاه صنعتی امیرکبیر که در آدرس زیر قرار دارد مراجعه کنید:
۱-۱ ساخت گواهی خود-امضا
در اینجا بیان میکنیم که چگونه میتوان با تولید و استفاده از یک گواهی خود-امضا، ارتباطات از نوع HTTPS در WorldClient برقرار کرد.
در نوار ابزار گزینه Setup و سپس Web & IM Services را انتخاب میکنیم.
۱) در نوار ابزار گزینه Setup و سپس Web & IM Services را انتخاب میکنیم.
۲) در نوار ابزار گزینه Setup و سپس Web & IM Services را انتخاب میکنیم.
۳) با انتخاب گزینه Create certificate، میتوان گواهی مورد نظر را ایجاد کرد.
- فعالسازی SSL ،STARTTLS و STLS
این گزینه برای فعالسازی پروتکل SSL/TLS است. با کلیک بر روی این گزینه سرور شما قادر به پشتیبانی از SSL/TLS خواهد بود و بعد از انتخاب این گزینه شما باید گواهینامه مورد نظر خود را از لیست مربوطه انتخاب کنید.
- تخصیص پورتهای SSL اختصاصی برای سرویسهای SMTP ،IMAP و POP3
این گزینه برای تخصیص پورتهای SSL اختصاصی به سرورهای SMTP، IMAP و POP3 است و صفحه مربوط به تظیمات پورتها به صورت زیر است:
- انتخاب گواهینامه برای استفاده از HTTPS/SSL
در این قسمت، گواهینامههای SSL شما نمایش داده میشود تا بتوانید گزینه مورد نظر خود را برای استفاده MDaemon انتخاب کنید.
- ساخت گواهینامه
در اینجا شما میتوانید گواهینامه SSL مورد نظر خود را بسازید.
بعد از تکمیل شکل بالا، بر روی گزینه Restart servers کلیک کنید تا سرورهای SMTP/IMAP/POP راهاندازی مجدد شوند. در واقع هر زمانی که تغییر در گواهینامه انجام شود، سرویسدهندهها باید راهاندازی مجدد شوند.
۲-۱ استفاده از گواهی صادر شده از مراکز صدور گواهی
وقتی یک گواهینامه از مرکز صدور گواهی گرفتهاید، میتوانید با استفاده از Microsoft Management Console آن را به بخش ذخیره گواهی مورد استفاده MDaemon انتقال دهید. برای انجام این مورد، باید موارد زیر را انجام دهید:
- به مسیر Start » Run… بروید و “mmc /a” را در در قسمت مربوطه بنویسید و روی OK کلیک کنید.
- در پنجره باز شده، به مسیر File » Add/Remove Snap-in… بروید.
- روی Add کلیک کنید.
- روی Certificates و سپس Add کلیک کنید.
- Computer account را انتخاب و سپس روی Next کلیک کنید.
- Local computer را انتخاب و سپس روی Finish کلیک کنید.
- روی Close و سپس Ok کلیک کنید.
- در پنجره سمت چپ روی گزینه Personal و سپس Certificates کلیک کنید (برای گواهیهای خود-امضا، باید قسمت Trusted Root Certification Authorities را انتخاب کنید).
- در منوی اصلی به مسیر Action » All Tasks » Import… بروید و سپس روی Next کلیک کنید.
- فایل گواهی مورد نظر را انتخاب کرده و سپس مراحل بعدی را به پایان برسانید.
۲ پیکربندی امن پروتکل SSL/TLS
در این بخش چگونگی پیکربندی امن پروتکل SSL/TLS را در ویندوز سرور ۲۰۱۲ برای استفاده سرویسدهنده پست الکترونیک MDaemon بیان میکنیم. مواردی همچون استثنا کردن برخی الگوریتمهای رمزنگاری به منظور کاهش حملاتی شبیه به FREAK، CRIME و LogJAM، غیرفعال سازی نسخههای ناامن SSL، برقرار کردن رمزنگاریهای قوی که از (FS) Forward Secrecy پشتیبانی میکنند و فعالسازی HSTS را بیان میکنیم. قابل ذکر است که MDaemon برای فراهم کردن سرویس SSL، متکی به ویندوز است و تنظیمات ویندوز را مورد استفاده قرار میدهد. در ادامه پیکربندی امن پروتکل SSL/TLS را در ویندوز سرور ۲۰۱۲ بیان میکنیم.
برای بررسی وضعیت امنیتی پروتکل SSL/TLS سرویسدهنده خود، میتوانید به ابزاری که بدین منظور توسط پژوهشکده آپای دانشگاه صنعتی امیرکبیر طراحی شده و در آدرس زیر قرار دارد، مراجعه کنید.
۱-۲ غیر فعال کردن SSLv2 و SSLv3
SSLv2 و SSLv3 ناامن هستند و باید غیرفعال شوند. برای غیرفعال سازی آنها، به صورت زیر عملمیکنیم.
۱) پنجره ویرایشگر Registry را به صورت دسترسی مدیر(Run as administrator) باز کنید.
۲) در این پنجره به مسیر زیر بروید:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\
۳) روی Protocols کلیک راست کرده و سپس روی New > Key کلیک کنید.
۴) نام آن را “SSL 3.0” قرار دهید.
۵) روی SSL 3.0 کلیک راست کرده و روی New > Key کلیک کنید.
۶) نام آن را “Client” قرار دهید.
۷) دوباره مرحله ۵ را تکرار کرده و نام آن را این بار “Server” قرار دهید.
۸) روی Client کلیک راست کرده و به مسیر New > DWORD (32-bit) Value بروید.
۹) نام آن را ” DisabledByDefault” و مقدار آن را “۱” قرار دهید.
۱۰) روی Server کلیک راست کرده و به مسیر New > DWORD (32-bit) Value بروید.
۱۱) نام آن را ” Enabled” و مقدار آن را “۰” قرار دهید.
۱۲) ویندوز را راهاندازی مجدد کنید.
توجه: به همبن طریق میتوانید SSLv2 را هم غیر فعال کنید. فقط لازم است در مرحله ۴، نام آن را ” SSL 2.0″ قرار دهید.
۲-۲ غیرفعال سازی الگوریتمهای رمزنگاری ضعیف
پیشنهاد میشود مراحل زیر را برای استفاده از الگوریتمهای رمزنگاری قوی و غیرفعال سازی رمزنگاریهای ضعیف انجام دهید. دقت کنید که ترتیب الگوریتمها خیلی مهم است زیرا الگوریتمها به ترتیب انتخاب میشوند.
- پنجره msc را به صورت دسترسی مدیر (Run as administrator) باز کنید.
- به مسیر زیر بروید:
Computer Configuration >> Administrative Templates >> Network >> SSL Configuration Settings
- روی SSL Cipher Suite Order به منظور ویرایش الگوریتمهای رمزنگاری مورد پذیرش، کلیک کنید. توجه کنید که ویرایشگر تنها ۱۰۲۳ بایت را قبول خواهد کرد و بیشتر از این، بدون هیچ هشداری مورد قبول واقع نمیشود.
رمزنگاریهای مورد پذیرش آن را به صورت زیر تغییر دهید (رمزنگاریهای پیشنهاد شده برای استفاده در در ویندوز ۸٫۱ و ویندوز سرور ۲۰۱۲ R2):
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 *
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 *
۳-۲ اضافه کردن سرآیند HSTS
در صورت امکان شما باید ویژگی(۲) HSTS را فعال کنید برای اینکه مرورگرها فقط با پروتکل HTTPS بتوانند با سایت شما ارتباط برقرار کنند.
۱) پنجره IIS Manager را باز کنید و ‘HTTP Response Headers’ را انتخاب کنید.
۲) بر روی دکمه Add مطابق شکل زیر کلیک کنید.
۳) اطلاعات خواسته شده را به صورت زیر در پنجره مربوطه وارد کنید.
strict-transport-security max-age=31536000; includeSubdomains |
---|
۴) روی OK کلیک کنید.
۴ منابع
[۱] http://help.altn.com/mdaemon/en/ssl_mdaemon.htm
[۲] https://www.ssl.com/how-to/require-strong-ciphers-in-windows-iis-7-5-and-8/
[۳] https://msdn.microsoft.com/en-gb/library/windows/desktop/aa374757(v=vs.85).aspx
[۴] https://www.zensoftware.co.uk/kb/Knowledgebase/Configuring-SSL-for-SMTP,-IMAP-and-POP3-in-MDaemon
[۵] https://www.digicert.com/ssl-support/iis-disabling-ssl-v3.htm
[۶] http://help.altn.com/mdaemon/en/ssl_creating_and_using_ssl_certifi.htm
[۷] https://scotthelme.co.uk/getting-an-a-on-the-qualys-ssl-test-windows-edition/
(۱) Certificate Authority
(۲) Self-signed
(۳) HTTP Strict Transport Security
سلام
ممنون بابت مطلب خوب تون
حوصله خوندن document انگلیسی نداشتم