امن سازی وب سایت شما با گواهینامه های SSL/TLS جهت محافظت از داده های حساس و ایجاد اعتماد برای کاربران بسیار مهم است. در قلب این فرآیند، درخواست امضای گواهینامه (Certificate Signing Request یا CSR) قرار دارد که یک گام کلیدی در دریافت گواهینامه SSL/TLS محسوب می شود. در این راهنمای جامع، توضیح داده شده است که CSR چیست، چرا ضروری می باشد و چگونه می توان آن را در پلتفرم های مختلف ایجاد کرد.
تصویر(۱)
درخواست امضای گواهینامه یا CSR چیست؟
CSR یک فایل متنی کدگذاری شده با فرمت خاص است که هنگام درخواست گواهینامه SSL/TLS، به مرجع صدور گواهینامه (CA) ارسال می شود. این فایل شامل اطلاعات مهمی درباره نهاد درخواست کننده گواهینامه، مانند نام دامنه، جزئیات سازمان و کلید عمومی است.
درخواست امضای گواهینامه (CSR) مانند یک فرم درخواست دیجیتالی عمل می کند که نه تنها درخواست کننده را شناسایی می نماید بلکه اطمینان حاصل می کند که گواهینامه در حالت ایمن به کلید خصوصی مرتبط، برای اهداف رمزنگاری متصل گردد. بدون CSR، دریافت یک گواهینامه معتبر SSL/TLS امکان پذیر نخواهد بود.
تصویر(۲)
چرا کد CSR مهم است؟
CSR یا درخواست امضای گواهینامه نقشی حیاتی در ایجاد یک حضور آنلاین امن و تایید شده ایفا می کند. در ادامه دلایل اهمیت آن آورده شده است:
- تضمین مالکیت دامنه: CSR تأیید می کند که درخواست کننده، دامنه یا زیردامنه موردنظر را برای دریافت گواهینامه در اختیار دارد.
- فعالسازی رمزگذاری: با اتصال کلید عمومی به گواهینامه، CSR ارتباطات رمزگذاری شده و ایمنی را بین سرور و کاربران برقرار می کند.
- تایید هویت: برای اعتبارسنجی گواهینامه های سازمانی یا حرفه ای، CSR شامل اطلاعات اضافی شرکت است که اصالت را تضمین میکند.
- تامین الزامات تطبیقی: بسیاری از مقررات امنیتی و حریم خصوصی، مانند PCI DSS و GDPR، استفاده از گواهینامه های SSL/TLS را که توسط یک CSR معتبر دریافت شده اند، الزامی می دانند.
به طور خلاصه،درخواست امضای گواهینامه (CSR) ستون فقرات اعتماد و رمزگذاری در دنیای دیجیتال است.
اجزای کلیدی یک CSR یا درخواست امضای گواهینامه
هنگامی که یک درخواست امضای گواهینامه (CSR) ایجاد می کنید، شامل جزئیات ضروری زیر خواهد بود:
- نام عمومی (CN): نام دامنه کاملاً واجد شرایط (FQDN) که گواهینامه برای آن درخواست شده است، مانند www.example.com.
- نام سازمان (O): نام قانونی کسب و کار یا نهاد درخواست کننده خواهد بود. برای گواهینامه های شخصی، این مورد می تواند نام کامل فرد باشد.
- واحد سازمانی (OU): یک فیلد اختیاری برای مشخص کردن دپارتمانی (مانند IT یا امنیت) که گواهینامه را درخواست کرده است.
- شهر/محل (L): شهری که سازمان یا فرد در آن مستقر است.
- ایالت/استان (ST): ایالت یا منطقه ای که سازمان در آن قرار دارد.
- کد کشور (C): یک کد دو حرفی ISO که نمایانگر کشور است (مانند IR برای ایران).
- کلید عمومی: کلیدی که به طور خودکار همراه با کد CSR تولید می شود و امکان رمزگذاری و رمزگشایی ایمن را فراهم می کند.
- الگوریتم امضا: الگوریتم هش که برای امضای درخواست امضای گواهینامه یا CSR استفاده می شود (مانند SHA-256).
درخواست امضای گواهینامه (CSR) چگونه کار می کند؟
درخواست امضای گواهینامه یا CSR به عنوان اولین گام در دریافت گواهینامه SSL/TLS عمل می کند. در لیست زیر، مراحل ساخت فایل CSR ارائه شده است:
- ایجاد فایل CSR: فایل CSR در سروری که گواهینامه SSL/TLS روی آن نصب خواهد شد، تولید می شود.
- ارسال به یک مرجع صدور گواهینامه (CA): فایل CSR ایجاد شده به یک مرجع صدور معتبر مانند Let’s Encrypt یا DigiCert ارسال می شود.
- اعتبارسنجی CA: جزئیات ارائهشده در درخواست امضای گواهینامه یا CSR، از جمله مالکیت دامنه و اطلاعات سازمان را بررسی می کند.
- صدور گواهینامه : پس از اعتبارسنجی، CA یک گواهینامه دیجیتال صادر می کند که می توان آن را روی سرور نصب کرد تا HTTPS فعال شود.
این فرآیند تضمین می کند گواهینامه به طور ایمن با کلید خصوصی که همراه CSR ایجاد شده است، مرتبط باشد.
مراحل ساخت CSR
ایجاد فایل CSR نیازمند استفاده از ابزارهای خاص یا تنظیمات سرور می باشد. مراحل ساخت CSR شامل موارد زیر است:
- نام دامنه: مشخص کردن دامنه یا زیردامنه دقیق (مانند example.com یا sub.example.com).
- جزئیات سازمان: برای گواهینامه های اعتبارسنجی سازمانی (OV) یا پیشرفته (EV)، باید نام سازمان و مکان آن را درج کنید.
- ایمیل تماس: ارائه یک آدرس ایمیل برای ارتباط با مرجع صدور گواهینامه.
مدیریت کلید خصوصی
هنگام ایجاد فایل CSR، یک کلید خصوصی نیز تولید می شود. این کلید خصوصی برای نصب و استفاده از گواهینامه SSL/TLS ضروری است زیرا ارتباطات امن را تضمین می کند.
- سیستم های Linux/Unix: کلید خصوصی به صورت یک فایل key. در همان دایرکتوری CSR ذخیره می شود.
- سیستم های Windows: می توانید هنگام استفاده از ابزارهایی مانند IIS Manager، MMC یا OpenSSL، کلید خصوصی را به صورت دستی ذخیره کنید.
- سیستم های MacOS: هنگام استفاده از OpenSSL، اطمینان حاصل نمایید که کلید خصوصی در همان دایرکتوری به طور ایمن ذخیره شده است.
- cPanel/WHM: کلید خصوصی به طور خودکار در بخش SSL/TLS Manager ذخیره می شود.
توجه: کلید خصوصی در صورت گم شدن، قابل بازیابی نیست. همیشه از آن نسخه پشتیبان تهیه کنید زیرا بدون کلید خصوصی، گواهینامه SSL/TLS قابل استفاده نخواهد بود.
نحوه ایجاد CSR در پلتفرمهای مختلف
در این بخش، مراحل ایجاد CSR برای سیستمعاملها و پلتفرمهای مختلف، به صورت خلاصه و کاربردی بررسی خواهد شد.
تصویر(۳)
استفاده از OpenSSL در Linux/MacOS/Windows
OpenSSL یک ابزار پرکاربرد برای ایجاد کد CSR است. مراحل زیر را دنبال کنید:
- در ترمینال یا command prompt، دستور زیر را اجرا نمایید:
openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr
- اطلاعات موردنیاز را وارد کنید، از جمله:
- نام عمومی (Common Name): دامنه ای که گواهینامه برای آن مورد نیاز است.
- نام سازمان (Organization): نام کسب و کار شما.
- کد کشور (Country Code): کد دو حرفی ISO
این فرآیند دو فایل ایجاد میکند:
- example.com.key: کلید خصوصی شما.
- example.com.csr: درخواست امضای گواهینامه (CSR).
ایجاد CSR در cPanel:
- وارد حساب cPanel خود شوید.
- به بخش SSL/TLS سپس Generate, view, or delete SSL certificate signing requests بروید.
- فرم را با اطلاعات دامنه و سازمان خود پر کنید.
- کد CSR را ذخیره نمایید. کلید خصوصی به طور خودکار در SSL/TLS ذخیره خواهد شد.
با استفاده از IIS Manager در Windows:
- IIS Manager را باز کنید و به تنظیمات سرور خود بروید.
- به Server Certificates سپس Create Certificate Request مراجعه نمایید.
- فرم را با اطلاعات موردنیاز (دامنه، سازمان و غیره) تکمیل کنید.
- فایل CSR را ذخیره نموده و مطمئن شوید که از کلید خصوصی نسخه پشتیبان تهیه شده است.
با استفاده از WHM:
- وارد WHM شوید و به SSL/TLS سپس Generate an SSL Certificate and Signing Request مراجعه نمایید.
- جزئیات مورد نیاز دامنه و سازمان را وارد کنید.
- کد CSR و کلید خصوصی به طور خودکار در SSL/TLS Manager ذخیره خواهند شد.
نتیجه گیری
درخواست امضای گواهینامه یا CSR یک گام حیاتی در تأمین امنیت وب سایت شما با گواهینامه های SSL/TLS است. با درک این فرآیند و پیروی از بهترین روش های ایجاد و مدیریت درخواست امضای گواهینامه یا CSR، می توانید مسیر امنی برای حضور آنلاین خود ایجاد نمایید. تفاوتی نمی کند که از OpenSSL، cPanel، IIS یا WHM استفاده کنید، ایجاد CSR با ابزارهای مناسب، یک فرآیند ساده خواهد بود.