برای تأمین محرمانگی و جامعیت دادههای مبادله شده میتوان از پروتکلهای استانداردی که بدین منظور طراحی شده استفاده کرد. در حال حاضر مهمترین پروتکل رمزنگاری که در سطح اینترنت برای رمزنگاری دادههای لایه کاربرد و تأمین امنیت ارتباطات استفاده میشود، پروتکل SSL/TLS است. در این گزارش مراحل نصب گواهینامه SSL و امنسازی پروتکل SSL/TLS بر روی سرویسدهنده پست الکترونیک Zarafa نسخه ۷٫۱٫۱۱ را بیان میکنیم.
۱ فعالسازی ارتباطات HTTPS
برای پیکربندی سرویسدهنده HTTPS و استفاده از این پروتکل ابتدا باید گواهینامه دیجیتال مربوطه را از مراکز صدور گواهی (۱)(CA) معتبر دریافت کرد (یا گواهی خود-امضا را تولید کرد). گرفتن گواهی دارای مراحلی است که برای اطلاعات بیشتر در این زمینه میتوانید به گزارش ارائه شده توسط پژوهشکده آپای دانشگاه صنعتی امیرکبیر که در آدرس زیر قرار دارد مراجعه کنید:
در ادامه این بخش، قصد داریم تا مراحل نصب گواهی را در Zarafa بیان کنیم:
۱) در ابتدا با ترکیب فایل کلید (star_domain_com.key) و گواهی اصلی مربوط به دامنه خودتان (star_domain_com.crt)، فایل star_domain_com.pem را مطابق زیر ایجاد کنید:
cat /path/to/star_domain_com.key /path/to/star_domain_com.crt > /path/to/star_domain_com.pem |
---|
۲) فایلهای pem و ca.crt (زنجیره گواهیهای میانیای که از مرکز صدور گواهی دریافت کردهاید) را به سرور انتقال دهید.
۳)تنظیمات SSL را در فایل cfg مطابق زیر انجام دهید.
پورت ۲۳۷ برای ارتباطات SSL در نظر گرفته شده است که در صورت لزوم میتوانید آن را تغییر دهید.
server_ssl_enabled = yes server_ssl_port = 237 server_ssl_key_file = /path/to/star_domain_com.pem server_ssl_key_pass = server_ssl_ca_file = /path/to/ca.crt |
---|
۴) سرویسدهنده zarafa را راهاندازی مجدد کنید.
فعال سازی SSL برای پروتکل IMAP
۱) فایل پیکربندی را با دستور زیر باز کنید.
vi /etc/zarafa/gateway.cfg |
---|
۲) تنظیمات را به صورت زیر انجام دهید.
# enable/disable IMAP, and IMAP listen port imap_enable = yes imap_port = 143 # enable/disable Secure IMAP, and Secure IMAP listen port imaps_enable = yes imaps_port = 993 # File with RSA key for SSL ssl_private_key_file = /etc/zarafa/privkey.pem #File with certificate for SSL ssl_certificate_file = /etc/zarafa/cert.pem |
---|
۲ پیکربندی امن پروتکل SSL/TLS
در این بخش چگونگی پیکربندی امن پروتکل SSL/TLS را در سرویسدهنده پست الکترونیک Zarafa بیان میکنیم. مواردی همچون استثنا کردن برخی الگوریتمهای رمزنگاری به منظور کاهش حملاتی شبیه به FREAK، CRIME و LogJAM، غیرفعال سازی نسخههای ناامن SSL و برقرار کردن رمزنگاریهای قوی که از (FS) Forward Secrecy پشتیبانی میکنند را در این بخش بیان میکنیم.
برای بررسی وضعیت امنیتی پروتکل SSL/TLS سرویسدهنده خود، میتوانید به ابزاری که بدین منظور توسط پژوهشکده آپای دانشگاه صنعتی امیرکبیر طراحی شده و در آدرس زیر قرار دارد، مراجعه کنید.
۱-۲ غیر فعال کردن SSLv2 و SSLv3
SSLv2 و SSLv3 ناامن هستند و باید غیرفعال شوند. برای غیرفعال سازی آنها، فایل مخصوص پیکربندی را به صورت زیر ویرایش میکنیم:
۱) /etc/zarafa/server.cfg server_ssl_protocols = !SSLv2 !SSLv3 ۲) /etc/zarafa/gateway.cfg ssl_protocols = !SSLv2 !SSLv3 |
---|
۲-۲ غیر فعال کردن الگوریتمهای رمزنگاری ضعیف
پیشنهاد میشود دستور زیر را برای استفاده از الگوریتمهای رمزنگاری قوی و غیرفعال سازی رمزنگاریهای ضعیف در فایل پیکربندی وارد کنید. اگر نسخه OpenSSL شما قدیمی باشد، الگوریتمهای غیرقابل دسترس به صورت خودکار دور انداخته میشوند. دقت کنید که همیشه از کل الگوریتمها استفاده کنید و اجازه دهید تا OpenSSL، آنهایی را که پشتیبانی میکند، انتخاب کند.
۱) /etc/zarafa/server.cfg
server_ssl_ciphers = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHAserver_ssl_prefer_server_ciphers = yes |
---|
۲) /etc/zarafa/gateway.cfg
ssl_ciphers = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHAssl_prefer_server_ciphers = yes |
---|
توجه: برای اعمال تغییرات انجام شده در فایلهای مورد نظر، باید سرویسهای مربوطه را راهاندازی مجدد کرد.
۳ منابع
[۱] http://wiki.zarafa.com/index.php/Zarafa_with_official_SSL_certificates
[۲] https://doc.zarafa.com/trunk/Administrator_Manual/en-US/html/_ssl_connections_and_certificates.html
[۳] http://die-krueger.de/?qa_faqs=enable-imap-ssl-for-zarafa
[۴] https://lists.fedoraproject.org/pipermail/zarafa-announce/2014-October/000058.html
(۱) Certificate Authority
ثبت ديدگاه