امنیت وبسایتها به یک نکته اساسی تبدیل شده است تا وبمستران با فراهم کردن یک ارتباط امن برای کاربران، بستر قابل اعتمادی را فراهم کنند. SSL یکی از ویژگیهای امنیتی هر وبسایت محسوب میشود.SSL مخفف secure socket layer یک تکنولوژی رمزگذاری است که در دهه 1990 توسط Netscape ابداع شد.
برای گرفتن گواهی SSL نیاز است تا یک کد CSR از وبسایتی که میخواهید SSL بگیرید ایجاد شود. در این مقاله نگاهی مفصل خواهیم داشت به تعریف CSR و نحوهی گرفتن CSR در پنلهای مختلف مانند سی پنل، دایرکت ادمین، پلسک و IIS manager.
تا انتهای مقاله همراه ما باشید. در پایان این مقاله شما میتوانید برای سایت خود یک کد CSR بگیرید و علاوه برآن سفارش گواهی SSL خود را به راحتی ثبت کنید.
گواهی SSL چیست؟
SSL یک پروتکل استاندارد و رایج امنیتی برپایه رمزگذاری است که در آن دادههای رد و بدل شده بین سرویس دهنده (Server) و سرویس گیرنده (Client) توسط کلیدهای خاص خصوصی و عمومی رمزنگاری (Encrypt) شده و در سمت دیگر رمزگشایی (Decrypt) میشود. امنیت در این پروتکل دو طرفه است؛ یعنی در هر دو طرف، فرایند رمزنگاری و رمزگشایی انجام میگیرد.
بسیاری از سرویس دهندگانی که اطلاعات و دادههای حساس مانند اطلاعات کارتهای بانکی (مثلاً در شبکه بانکی کشور)، کارتهای شناسایی، رمزهای عبور مهم و … را بین خود و سرویس گیرنده رد و بدل میکنند، از پروتکلهای امنیتی مانند SSL استفاده میکنند.
وبسایتهایی که از پروتکل امن SSL جهت رمزگذاری دادهها استفاده میکنند، معمولاً از طریق پروتکل HTTPS (به جای حالت عادی و غیر امن آن یعنی HTTP) با سرویس گیرندهها ارتباط برقرار میکنند.
در این مقاله به معرفی مفاهیمی که در زمان فعال سازی ssl با آن مواجه میشوید، میپردازیم. قبل از آن، پیشنهاد میکنم برای اطلاعات بیشتر مقاله گواهی اس اس ال چیست را مرور کنید.
کد CSR چیست؟
یک (CSR(Certificate Signing Request یا درخواست امضای گواهینامه دیجیتال، یک بلوک متن کد گذاری شده است که در زمان اعمال به یک گواهینامه SSL به یک CA تحویل داده میشود. CSR معمولا در سرور تولید شده، در واقع آنجا که گواهینامه دیجیتال نصب میشود و شامل اطلاعاتی است که در گواهینامه قرار دارد، مانند: نام سازمان، نام عمومی(نام دامنه)، موقعیت مکانی و نام کشور.
همچنین شامل کلید عمومی است که در گواهینامه دیجیتال قرار دارد. همزمان که شما CSR را تولید میکنید، معمولا یک کلید خصوصی نیز ساخته میشود و در نهایت یک جفت کلید بدست میآید.
یک شرکت صدور گواهینامه یا CA از CSR برای ساخت گواهینامه SSL استفاده میکند، اما به کلید خصوصی شما نیاز ندارد. شما باید کلید خصوصی خود را پنهان نگه دارید. گواهینامه دیجیتال (Certificate) ساخته شده با یک CSR مشخص، فقط با کلید خصوصی که بوسیله آن ساخته شده است، کار میکند. بنابراین اگر شما کلید خصوصی (Private) خود را از دست دهید، دیگر گواهینامه کار نخواهد کرد.
یک CSR شامل چیست؟
مثال ها | توضیحات | نام |
*.google.com mail.google.com |
نام کامل دامنه سرور شما (FQDN)
این باید با آنچه که شما دقیقا در مرورگر وب تایپ میکنید تطابق داشته باشد یا اینکه شما خطای زیر را دریافت میکنید: name mismatch error |
نام مشترک
(Common Name) |
Google Inc | نام قانونی سازمان شما که نباید مختصر باشد و باید شامل پسوندهایی مانند Inc , Corp، و یا LLC باشد. | سازمان |
فناوری اطلاعات واحد IT |
تقسیمات سازمان شما که گواهینامه را مدیریت میکند | واحد سازمانی |
منظره کوهستانی | شهری که سازمان شما در آن قرار دارد | شهر، محل |
کالیفرنیا | نام ایالت یا منطقهای که سازمان شما در آن قرار دارد، نباید مخفف باشد. | ایالت، کشور، منطقه |
US GB |
کد دوحرفی کشوری که سازمان شما در آن قرار دارد | کشور |
webmaster@google.com | آدرس ایمیل برای تماس با سازمان شما | آدرس ایمیل |
کلید عمومی به طور خودکار تولید میشود | کلید عمومی که برای سازمان شما استفاده میشود. | کلید عمومی |
یک کد CSR چه شکلی است؟
اکثر CSR ها در فرمت کدگذاری شده PEM و در Base64 ایجاد میشوند. این فرمت شامل خط “درخواست گواهینامه آغازین” و خط “درخواست گواهینامه پایانی” است که در شروع و پایان CSR به آن اشاره میشود. یک CSR با فرمت PEM را میتوان در یک ویرایشگر متن، مشابه مثال زیر، باز کرد:
-----BEGIN CERTIFICATE REQUEST----- MIIByjCCATMCAQAwgYkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMR8w HQYDVQQLExZJbmZvcm1hdGlvbiBUZWNobm9sb2d5MRcwFQYDVQQDEw53d3cuZ29v Z2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEApZtYJCHJ4VpVXHfV IlstQTlO4qC03hjX+ZkPyvdYd1Q4+qbAeTwXmCUKYHThVRd5aXSqlPzyIBwieMZr WFlRQddZ1IzXAlVRDWwAo60KecqeAXnnUK+5fXoTI/UgWshre8tJ+x/TMHaQKR/J cIWPhqaQhsJuzZbvAdGA80BLxdMCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBAIhl 4PvFq+e7ipARgI5ZM+GZx6mpCz44DTo0JkwfRDf+BtrsaC0q68eTf2XhYOsq4fkH Q0uA0aVog3f5iJxCa3Hp5gxbJQ6zV6kJ0TEsuaaOhEko9sdpCoPOnRBm2i/XRD2D 6iNh8f8z0ShGsFqjDgFHyF3o+lUyj+UC6H1QW7bn -----END CERTIFICATE REQUEST-----
چگونه در SSL یک CSR ایجاد کنم؟
شما نیاز دارید که یک CSR و کلید خصوصی روی سرور ایجاد کنید که گواهینامه از آن استفاده خواهد کرد. شما میتوانید دستورالعملها را در مستندات سرور خود بیابید و یا دستورالعملهای یکی از مراجع صدور گواهینامه (CA) را امتحان کنید:
Comodo CSR Generation Instructions
DigiCert CSR Generation Instructions
GeoTrust CSR Generation Instructions
Thawte CSR Generation Instructions
VeriSign CSR Generation Instructions
در صورتی که از کنترل پنل خاصی استفاده میکنید، قادر خواهید بود به راحتی CSR را ایجاد کنید.
اگر شما با فرمت OpenSSL آشنا هستید، میتوانید از دستور زیر برای تولید یک CSR و کلید خصوصی استفاده کنید:
openssl req -new -newkey rsa:2048 -nodes -out servername.csr -keyout servername.key
هنگامی که CSR خود را ساختید، میتوانید از SSL ما برای پیدا کردن بهترین گواهینامه SSL استفاده کنید تا نیازهای شما را برطرف کند.
چگونه میتوان یک CSR را رمز گشایی کرد؟
شما میتوانید به آسانی با رمزگشای CSR (CSR Decoder) ،CSR خود را رمزگشایی کرده و درون آن را ببینید. برای رمز گشایی CSR بر روی سیستم خود با استفاده از OpenSSL، از دستور زیر استفاده کنید:
openssl req -in server.csr -noout -text
طول بیت یک CSR و کلید خصوصی چقدر است؟
طول بیت یک CSR و کلید خصوصی، مشخص کننده دشواری کرک شدن آن توسط شیوههای Brute force است. از سال 2016 مشخص شد که طول بیت کمتر از 2048 بیت، ضعیف و ناامن بوده و امکان شکستن آن در چند ماه و یا کمتر به صورت بالقوه توسط یک کامپیوتر با توان بالا وجود دارد. اگر یک کلید خصوصی شکسته شود، تمامی اتصالات و ارتباطات برقرار شده، در اختیار کسی که کلید را دارد، قرار میگیرد.
دستورالعملهای اعتبار سنجی گسترده (Extended Validation guidelines) که فراهم کنندگان گواهینامههای SSL نیازمند پیروی از آن هستند، برای حصول اطمینان از موضوع امنیت در آینده، نیازمند این است که تمامی گواهینامههای EV از سایز کلید با طول 2048 بیت استفاده نماید. به همین دلیل، بیشتر ارائه دهندگان تمایل دارند از کلیدهایی با طول 2048 بیت برای تمام گواهینامهها استفاده کنند، حتی اگر EV نباشند.
کلید خصوصی (Private Key) چیست؟
در رمزنگاری، یک کلید خصوصی متغیری است که با یک الگوریتم برای رمزنگاری و رمزگشایی کد استفاده میشود. کیفیت رمزنگاری همیشه یک قانون اساسی را دنبال میکند: نیازی نیست که الگوریتم، مخفی نگه داشته شود، اما کلید آن را باید مخفی نگه داشت. کلیدهای خصوصی نقش مهمی را در رمزنگاری متقارن و نامتقارن ایفا میکند.
بیشتر پروسههای رمزنگاری، از رمزنگاری متقارن برای رمزنگاری انتقال داده استفاده میکنند، اما برای رمزنگاری و مبادله کلید مخفی، از رمزنگاری نامتقارن استفاده میکنند. رمزنگاری متقارن که به عنوان رمزنگاری کلید خصوصی هم شناخته میشود، برای رمزنگاری و رمزگشایی از یک کلید خصوصی مشابه استفاده میکند. خطر و ریسک در این سیستم آن است که اگر هریک از طرفین کلید را از دست دهد یا ارتباط با کلید قطع شود، سیستم خراب میشود و پیامها به صورت ایمن مبادله نمیشود.
رمزنگاری نامتقارن که به عنوان رمزنگاری کلید عمومی هم شناخته میشود، از دو کلید متفاوت که با الگوریتمهای محاسباتی با یکدیگر در ارتباطند، استفاده میکند. پیچیدگی و طول کلید خصوصی، امکان حمله Brute Force یک هکر، موفقیت در آن و استفاده هکر از کلیدهای دیگر را مشخص میکند. چالش این سیستم، استفاده از منابع محاسباتی قدرتمند برای تولید کلیدهای خصوصی قوی و طولانی است.
کلیدهای خصوصی رمزشده عموما به دو دسته تقسیم میشوند: رمزهای در جریان و رمزهای بلاک شده.
یک رمز بلاک شده به طور همزمان یک کلید خصوصی و الگوریتم را برای یک بلوک داده اعمال میکند، در حالی که یک رمز جریان، کلید و الگوریتم را بیت به بیت اعمال میکند. رمزگذاری کلید متقارن از نظر محاسباتی، بسیار سریعتر از رمزگذاری نامتقارن است اما به یک کلید تبادل نیازمند است.
در همین رابطه: SNI چیست؟
Ca bundle چیست؟
تمامی گواهینامهها از یک مرجع صادر میگردند به این معنی که یک کد کلید عمومی در اختیار شرکت CA قرار داده شده و این شرکت اقدام به ساختن کلیدی از روی این کلید عمومی ارائه شده برای شما خواهد نمود.
این کلید، کلید گواهینامه SSL و یا Cert نام دارد که بر روی وب سایت نصب میگردد هر کمپانی برای نصب گواهینامه به شما دستورالعملی را ارجاع میدهد که آن CPS نام دارد. شرکتهای CA مختلفی درجهان وجود دارند که اقدام به ساختن گواهینامه SSL مینمایند و از جمله آنها میتوان به Comodo و Certum و … اشاره کرد.
همگی آنها یه CA محسوب میگردند. CA یک کد به نام CA Bundle در اختیار شما و مرورگرها قرار میدهند که وظیفهی چک کردن گواهینامه و اطمینان پیدا کردن مرورگر از ساخته شدن گواهینامه از طرف CA را دارد.
این بسته نرم افزاری در واقع یک فایل، شامل گواهینامههای ریشه (Root) و میانی است. یک گواهینامه End-Entity در حقیقت، یک اعلامیه امضای دیجیتال است که همراه با بسته نرم افزاری CA، زنجیرهی گواهینامه را تشکیل میدهد.
این زنجیره برای ارتقاء سازگاری گواهینامهها با مرورگرهای وب و انواع مشتریها مورد نیاز است، بنابراین مرورگرها، گواهینامه شما را شناسایی میکنند و هیچ پیغام امنیتی برای شما ظاهر نمیشود.
ممکن است Comodo برای شما یک بسته کامل CA را به صورت یک فایل زیپ همراه با پسوند *.ca-bundle و یا گواهینامههای ریشه و میانی به صورت جداگانه بفرستد.
در این حالت، شما دو گواهینامه Root و میانی (Intermediate) را به صورت دو فایل جداگانه دریافت کردهاید، شما باید برای داشتن یک بسته CA کامل، این دو گواهینامه را با یکدیگر ترکیب کرده و به یک فایل تبدیل نمایید. اما از آنجایی که در بسته نرم افزاری CA، گواهینامهها باید با ترتیب خاصی قرار بگیرند، ممکن است ترتیب توالی صحیح دو گواهینامه ریشهای و میانی مشخص نباشد.
به عنوان مثال، شما PositiveSSL مربوط به Comodo را در یک فایل زیپ دریافت میکنید که در آن سه فایل به شرح زیر وجود دارد: yourdomain.crt ،COMODORSADomainValidationSecureServerCA.crt ،COMODORSAAddTrustCA.crt و AddTrustExternalCARoot.crt . با وجود اینکه yourdomain.crt یک گواهینامه عمومی (Public) بوده که برای نام دامنه شما صادر شده است، اما چگونگی ایجاد یک بسته CA برای آن و ارتباط با آن دو فایل دیگر، به طور کامل مشخص نیست.
در ادامه نگاهی داشته باشیم به نحوه تولید کد CSR در کنترل پنل های مختلف
نحوه تولید کد CSR در کنترل پنل های هاست
اگر SSL از نوع Certum خریدهاید، برای تولید CSR باید اطلاعات ایران را وارد کنید. اگر SSL شما از نوع Certum نیست، آن موقع اطلاعات وارد شده در قسمت Location کمی متفاوت است.
در ضمن حواستان باشد، اگر SSL شما از نوع positive است، به هیچ عنوان اطلاعات لوکیشن ایران را وارد نکنید.
نحوه تولید CSR در دایرکت ادمین چگونه است؟
CSR یا Certificate Signing Request متنی رمزنگاری شده است که میتوان آن را از طریق پنل سرویس میزبانی ایجاد کرد. این متن در واقع حاوی اطلاعاتی از قبیل نام دامنه و اطلاعات شخصی خریدار گواهی SSL مانند نام کشور، استان، شهر و شرکت است. برای نصب SSL بر روی دایرکت ادمین ابتدا باید یک کد CSR در دایرکت ادمین ایجاد کرده و سپس اقدام به نصب SSL کنید.
ابتدا وارد کنترل پنل هاست دایرکت ادمین شوید.
جهت خرید گواهی SSL نیاز است که یک CSR تولید کنید، توجه داشته باشید، به علت تحریم بودن ایران اطلاعات CSR خود را با مشخصات غیر ایرانی تولید کنید.
جهت تولید CSR گزینه SSL Certificate در پنل مدیریتی هاست را انتخاب کنید:
در صفحه باز شده گزینه Create A Certificate Request را انتخاب کنید.
در مرحله بعد لازم است، مشخصات را در کادرهای مربوطه وارد کنید.( لازم به ذکر است که حتما WWW را در قسمت نام دامنه پاک کنید و از ایمیلی با نشانی Admin و یا administrator استفاده کنید تا برای خرید SSL در بخش احراز هویت با مشکل مواجه نشوید.)
مقدار Certificate Type را نیز SHA1 انتخاب کنید.
سپس گزینه save را انتخاب کنید.
بدین صورت csr تولید می شود. به تصویر بالا نگاه کنید.
متن را ازابتدای —–BEGIN CERTIFICATE REQUEST—– تا انتهای —–END CERTIFICATE REQUEST—– انتخاب و کپی کنید.
مقادیر کپی شده در واقع csr مورد نظر شماست. آن را بدون هیچگونه تغییر حتی یک کاراکتر یا خط در یک فایل txt ذخیره کرده و برای صادر کننده گواهینامه ارسال کنید.
نحوه تولید CSR در Cpanel چگونه است؟
ابتدا وارد کنترل پنل هاست شوید.
جهت خرید گواهی SSL ابتدا نیاز است که یک CSR تولید کنید، توجه داشته باشید به علت تحریم بودن ایران اطلاعات CSR خود را با مشخصات غیر ایرانی تولید کنید.
در پنل مدیریتی هاست گزینه SSL/TSL را انتخاب کنید.
سپس گزینه CSR را انتخاب کنید. (Certificate Signing Requests)
در مرحله بعد لازم است مشخصات را در کادرهای مربوطه وارد کنید. (لازم به ذکر است که حتما WWW را در قسمت نام دامنه پاک کنید)
تبریک!
کد CSR در سی پنل شما به همین راحتی تولید شد. به تصویر زیر نگاه کنید!
اکنون می توانید کد تولید شده را کپی کرده و برای گرفتن گواهی SSL اقدام کنید.
نحوه تولید CSR در پلسک چگونه است؟
جهت خرید گواهی SSL ابتدا نیاز است که یک CSR تولید کنید، توجه داشته باشید به علت تحریم بودن ایران، اطلاعات CSR خود را با مشخصات غیر ایرانی تولید کنید.
بدین منظور ابتدا وارد کنترل پنل هاست پلسک شوید.
گزینه SSL Certificate را انتخاب کنید.
گزینه ی Add SSL Certificate را مطابق شکل زیر انتخاب کنید:
در مرحله بعد لازم است مشخصات را در کادرهای مربوطه وارد کنید. (لازم به ذکر است که حتما WWW را در قسمت نام دامنه پاک کنید و از ایمیلی با نشانی Admin@domain و یا administrator@ domain استفاده کنید تا برای خرید SSL در بخش احراز هویت با مشکل مواجه نشوید.)
پس از وارد کردن اطلاعات بر روی Request کلیک کنید تا CSR تولید شود.
تبریک!
شما به همین راحتی یک کد CSR برای کنترل پنل پلسک خود تولید کردید.
در نهایت می توانید کد CSR تولید شده را کپی گرفته و برای صدور گواهی SSL برای شرکت صادر کننده ارسال کنید.
خرید گواهینامه SSL
جهت فعالسازی و خرید SSL میتوانید با بخش فروش ایران سرور تماس حاصل کنید.
۰۵۱۳۱۷۷۶-۹۰۱
نتیجه گیری
در این مطلب از سری مطالب آموزشی بلاگ ایران سرور دیدید چطور می توان برای یک سایت اقدام به خرید گواهی SSL کرد. قبل از آن هم دیدی که CSR چیست؟ چطور از طریق کنترل پنل های مختلف می توان آن را ایجاد کرد.
امیدواریم از این مطلب بهره کافی را برده باشید. اگر تجربه خاصی دارید می توانید آن را با ما در قسمت کامنت ها به اشتراک بگذارید.