ترفند های وبمستری استفاده از گواهینامه SSL در Haproxy - سایت سنگان

در صورتی که نرم افزار شما قابلیت استفاده از گواهی SSL  دارد و یا نیاز دارید که برروی سایت خود که از طریق HAproxy  مدیریت می شود، SSL  نصب نمایید می توانید این آموزش را دنبال کنید.آیکون گواهی SSL

به صورت ساده و رایج بدون در نظر گرفتن Haproxy ،  می توان SSL را به راحتی با روش های مرسوم در  سایت خود نصب کرد که اغلب خیلی راحت از طریق کنترل پنل  مثل دایرکت ادمین و سی پنل انجام می شود. بطور رایج در این حالت درخواست های SSL یک کاربر در همان سرور، رمزگشایی و رمزنگاری می شود، اما در حالتی که Haproxy  نقش balance درخواست ها را دارد این موضوع به این شکل نیست. در این حالت دو روش وجود دارد که در ادمه به آن ها می پردازیم.

 

SSL Termination

در این روش درخواست ها در سرور Haproxy  که کار load balance  را برعهده دارد terminate  می شوند، به عبارتی رمز گشایی شده و پس از آن درخواست ها به صورت رمزنگاری نشده به سرور های Backend  ارجاع داده می شود. این بدان معنی است که load balancer  وظیفه رمزگشایی یک ssl connection  را دارد که در مقابل یک درخواست بدون SSL ،‌ کند تر و نیاز به صرف زمان بیشتری برای پردازش توسط CPU ‌ دارد.

از معایب این روش رمزنگاری نبودن اطلاعات بین Haproxy  و سرور های Backend  می باشد.

 

SSL Pass-Through

 همان طور که از نامش پیدا است درخواست ها در این روش به صورت مستقیم به سرور های Backend  پاس داده می شوند که بر خلاف روش اول می باشد.

در این روش Connections SSL بروی سرور های backend  توزیع می شوند و هر درخواست به یک سرور ختم می شود که مصرف و بار CPU  نیز کاهش می یابد‌، گرچه در این روش شما به دلیل encrypt  بودن درخواست ها امکان ویرایش و اضافه کردن header  های http  را نخواهید داشت، که از معایب آن عدم نمایش IP  کاربران در لاگ وب سرور می باشد.

روش سومی نیز هست که ترکیبی از این دو روش می باشد و مفهوم مشابهی دارد، که Connections SSL بروی Load Balancer رمز گشایی می شوند و تغییراتی که می توان تغییراتی بروی header  های http  ایجاد کرد و مجدد آنها را رمز نگاری کرد و در نهایت به سرور های Backend ‌ ارسال شوند، در این روش معایب دو روش بالا را نخواهیم داشت اما بار زیادی به CPU  سرور ها اضافه می شود که ممکن است باعث بوجود آمدن bottleneck شود، البته تنظیمات این روش کمی پیچیده می باشد.

در این مقاله تنها به روش اول پرداخته شده است.

 

HAproxy با SSL Termination

روشی که بیشتر مورد استفاده عموم می باشد SSL Termination است که ما نیز ابتدا به آن می پردازیم، در این صورت گواهی SSL بروی سرور Load balancer‌ نصب می شود.

در این روش از شرکت certum برای sign  کردن CSR  ( Certificate Signing Request ‌) تولیدی استفاده خواهیم کرد.

 

ابتدا پوشه ای دلخواه در مسیر /etc/ssl/ ایجاد نمایید، می توانید نام سایت را قرار دهید

mkdir /etc/ssl/sitessl/

ساخت یک کلید خصوصی

openssl genrsa -out /etc/ssl/sitessl/ssl.key 2048

ساخت یک درخواست

openssl req -new -key /etc/ssl/sitessl/ssl.key -out /etc/ssl/sitessl/ssl.csr

پس از ایجاد فایل csr ، آنرا به مرکز ثبت ssl  می دهیم و آنها به شما چند فایل میدهند که لازم است آنهارا با هم ادقام نمایید.

cat site _com.crt ssl.key site_com.ca-bundle > sitessl.pam

سپس در تنظیمات haproxy.cfg  موارد زیر را اضافه کنید:

Vi /etc/haproxy/haproxy.cfg


listen ha-www-https

bind 0.0.0.0:443 ssl crt /etc/ssl/sitessl/ sitessl.pam

mode http

stats enable

redirect scheme https if !{ ssl_fc }

server app-www-1 192.168.1.4:80 check

server app-www-2 192.168.1.5:80 check

موارد بالا تنها Option  های مرتبط با SSL  می باشد موارد دیگر را می توانید اضافه کنید.

دقت نمایید directive  خط پنجم برای redirect  کردن درخواست ها به https  می باشد.

 

در صورتی که نیاز به مشاوره بیشتر در این زمینه داشتید با بخش پشتیبانی ایران سرور تماس حاصل نمایید.

۰۵۱۳۱۷۷۶-۹۰۲

همینطور جهت خرید و فعالسازی SSL می توانید با بخش فروش ایران سرور تماس حاصل کنید.

۰۵۱۳۱۷۷۶-۹۰۱

برگرفته از [serversforhackers.com]

به این پست امتیاز دهید.
بازدید : 169 views بار دسته بندی : امنیت تاريخ : 12 نوامبر 2022 به اشتراک بگذارید :
دیدگاه کاربران
    • دیدگاه ارسال شده توسط شما ، پس از تایید توسط مدیران سایت منتشر خواهد شد.
    • دیدگاهی که به غیر از زبان فارسی یا غیر مرتبط با مطلب باشد منتشر نخواهد شد.

برچسب ها