اگر اطلاعات مشتریان یا اسناد مهم کسب‌وکارتان روی فضای ابری قرار دارد و آدرس سرویس شما هنوز با http:// باز می‌شود، سرویس شما مستعد رخنه‌های امنیتی است. برای چنین شرکتی، فعال سازی SSL فضای ابری باید در اولویت باشد. داشتن HTTPS سبب می‌شود ارتباط بین کاربران و سرویس شما رمزنگاری شده و به دنبال آن، احتمال شنود و دستکاری اطلاعات از بین برود.

اما ای کاش «افزودن SSL به فضای ابری» به راحتی خرید یک گواهی و نصب آن بود. بسته به اینکه فضای ابری شما روی چه زیرساختی قرار دارد، ممکن است SSL مستقیماً روی وب‌سرور، روی یک Reverse Proxy یا در لایه‌ای مانند Cloudflare مدیریت شود. در این مقاله قرار است به این مباحث مهم بپردازیم. با ما همراه باشید.  

SSL فضای ابری چیست و چه نقشی در امنیت ارتباط با فضای ذخیره‌سازی دارد؟

وقتی از SSL فضای ابری صحبت می‌کنیم، منظورمان در عمل استفاده از SSL/TLS برای رمزنگاری ارتباط میان کاربر و سرویس ابری است. SSL نام قدیمی این فناوری است و امروزه پروتکل‌های TLS مورد استفاده قرار می‌گیرند؛ با این حال، اصطلاح «SSL» همچنان در میان کاربران و حتی در بسیاری از پنل‌های مدیریتی رایج است.

فرض کنید فضای ابری شما با آدرس cloud.example.ir در دسترس است. وقتی کاربر این آدرس را با HTTPS باز می‌کند، مرورگر و سرور یک ارتباط رمزنگاری‌شده برقرار می‌کنند. 

در نتیجه، داده‌ای که در مسیر بین کاربر و سرور جابه‌جا می‌شود، برای فردی که بتواند ترافیک شبکه را مشاهده کند، قابل خواندن نخواهد بود. SSL/TLS همچنین به احراز هویت سرور کمک می‌کند تا مرورگر بتواند بررسی کند اتصال به دامنه موردنظر واقعاً به سرور دارای گواهی معتبر مربوط است.

سرویس

تعریف

فضای ابری (Cloud Storage)

سرویسی برای ذخیره و دسترسی به فایل‌ها و اطلاعات روی سرورهای متصل به اینترنت، بدون نیاز به نگهداری مستقیم داده‌ها روی دستگاه کاربر.

SSL

فناوری قدیمی‌تر برای ایجاد ارتباط امن و رمزنگاری‌شده میان کاربر و سرور که امروزه عملاً با TLS جایگزین شده است.

TLS

پروتکل استاندارد و امروزی برای رمزنگاری و امن‌سازی ارتباطات اینترنتی بین کاربر و سرور.

HTTPS

نسخه امن پروتکل HTTP که با استفاده از TLS، اطلاعات ردوبدل‌شده بین مرورگر و سرور را رمزنگاری می‌کند.

گواهی SSL/TLS

یک گواهی دیجیتال که هویت دامنه را تأیید می‌کند و امکان برقراری ارتباط رمزنگاری‌شده HTTPS را فراهم می‌سازد.

رمزنگاری (Encryption)

تبدیل اطلاعات به شکلی رمزگذاری‌شده که بدون کلید یا سازوکار مناسب، قابل خواندن نباشد.

احراز هویت سرور

فرایندی که به مرورگر کمک می‌کند مطمئن شود به سرور معتبر مرتبط با دامنه موردنظر متصل شده است.

 

SSL دقیقاً از چه چیزی محافظت می‌کند؟

فعال‌کردن SSL به‌تنهایی تمام فضای ابری را «امن» نمی‌کند. SSL عمدتاً امنیت داده‌ی در حال انتقال را تأمین می‌کند؛ یعنی اطلاعاتی که بین مرورگر یا اپلیکیشن کاربر و سرور ردوبدل می‌شوند.

برای مثال، اگر کاربری رمز عبور خود را برای ورود به فضای ابری ارسال کند، HTTPS کمک می‌کند این اطلاعات در مسیر ارتباطی رمزنگاری شوند. 

اما اگر خود سرور هک شود، رمز عبور ضعیف باشد، دسترسی‌های کاربران اشتباه تنظیم شده باشد یا فایل‌های پشتیبان بدون محافظت نگهداری شوند، SSL به‌تنهایی این مشکلات را حل نمی‌کند. Cloudflare نیز SSL/TLS را مشخصاً به‌عنوان ابزاری برای رمزنگاری ترافیک و جلوگیری از شنود و دستکاری داده‌ها توضیح می‌دهد.

بنابراین اگر سازمانی از سرویس‌هایی مانند Nextcloud یا دیگر راهکارهای فضای ابری خصوصی استفاده می‌کند، SSL باید یکی از لایه‌های امنیتی زیرساخت باشد، نه اینکه به‌عنوان جایگزین تمام اقدامات امنیتی در نظر گرفته شود.

SSL در فضای ابری کجا نصب می‌شود؟

پاسخ این سؤال به معماری سرویس شما بستگی دارد. در یک ساختار ساده، ممکن است SSL مستقیماً روی وب‌سروری مانند Apache یا Nginx نصب و مدیریت شود. در ساختارهای پیچیده‌تر، ممکن است یک Reverse Proxy در جلوی سرور ابری قرار بگیرد و وظیفه برقراری HTTPS را بر عهده بگیرد.

Reverse Proxy می‌تواند پردازش HTTPS را از سرور اصلی جدا کند و در چنین ساختاری باید تنظیمات مربوط به Proxy و پروتکل HTTPS نیز در خود Nextcloud به‌درستی تعریف شود.

در معماری Cloudflare نیز ممکن است دو ارتباط جداگانه داشته باشیم: یکی بین کاربر و Cloudflare و دیگری بین Cloudflare و سرور اصلی. به همین دلیل انتخاب حالت رمزنگاری در Cloudflare اهمیت دارد و صرفاً دیدن علامت قفل در مرورگر به این معنا نیست که ارتباط تا سرور مبدأ نیز به همان شکل محافظت شده است.

افزودن SSL به فضای ابری

افزودن SSL به فضای ابری چه پیش‌نیازهایی دارد؟

قبل از اینکه سراغ نصب SSL بروید، بهتر است چند مورد را بررسی کنید. خیلی از خطاهایی که هنگام فعال‌سازی HTTPS دیده می‌شوند، اصلاً از خود گواهی SSL نیستند؛ بلکه به دامنه، DNS، پورت‌ها یا تنظیمات وب‌سرور مربوط می‌شوند. در ادامه خواهیم گفت افزودن SSL به فضای ابری چه پیش‌نیازهایی دارد...

۱. داشتن دامنه یا زیردامنه مناسب

برای یک فضای ابری که قرار است از طریق اینترنت در دسترس باشد، معمولاً بهتر است یک دامنه یا زیردامنه مشخص داشته باشید؛ مثلاً:

cloud.example.ir

این آدرس باید به زیرساختی که فضای ابری روی آن قرار دارد متصل باشد. اگر DNS به سرور اشتباهی اشاره کند، حتی گواهی SSL معتبر هم نمی‌تواند مشکل دسترسی را حل کند.

۲. دسترسی مدیریتی به سرور یا لایه SSL

باید بدانید SSL قرار است کجا مدیریت شود. اگر مستقیماً روی سرور نصب می‌کنید، معمولاً به دسترسی مدیریتی وب‌سرور نیاز دارید. اگر از Reverse Proxy استفاده می‌کنید، تنظیمات آن بخش اهمیت پیدا می‌کند. در برخی سرویس‌های ابری مدیریت‌شده نیز ممکن است اصلاً نیازی به نصب دستی گواهی نداشته باشید.

۳. انتخاب نوع گواهی SSL

برای بسیاری از کسب‌وکارها، یک گواهی معتبر و رایگان مانند Let's Encrypt کاملاً می‌تواند نیاز فنی را برطرف کند. گواهی‌های Let's Encrypt به‌طور معمول ۹۰ روز اعتبار دارند و باید به‌صورت خودکار یا دستی تمدید شوند. کوتاه‌بودن عمر گواهی به کاهش ریسک ناشی از سوءاستفاده از گواهی یا کلید خصوصی در صورت افشا کمک می‌کند.

نکته مهم اینجاست که Self-Signed را با یک SSL معتبر عمومی اشتباه نگیرید. چنین گواهی‌ای ممکن است برای آزمایش یا محیط‌های کنترل‌شده کاربرد داشته باشد، اما وقتی کاربران عمومی قرار است به فضای ابری دسترسی پیدا کنند، گواهی صادرشده توسط یک مرجع مورد اعتماد معمولاً انتخاب مناسب‌تری است. مشاوران تلفنچی همواره استفاده از گواهی صادرشده توسط یک مرجع معتبر یا Let's Encrypt را پیشنهاد می‌کنند.

۴. باز بودن و تنظیم صحیح پورت HTTPS

در اغلب پیاده‌سازی‌های وب، HTTPS از پورت 443 استفاده می‌کند. بنابراین اگر فایروال، Security Group یا تنظیمات شبکه دسترسی به این پورت را مسدود کرده باشد، نصب گواهی به‌تنهایی باعث نمی‌شود سرویس از طریق HTTPS در دسترس قرار بگیرد.

اگر فضای ابری شما پشت Reverse Proxy قرار دارد، باید مسیر ارتباطی میان Proxy و سرور اصلی نیز به‌درستی طراحی شود. در برخی معماری‌ها HTTPS در Proxy خاتمه پیدا می‌کند و ارتباط داخلی با سرور ابری ممکن است HTTP یا HTTPS باشد. 

انتخاب بین این دو باید بر اساس معماری و سطح امنیت موردنیاز انجام شود. Nextcloud نیز برای سناریوهای Reverse Proxy تنظیماتی مانند trusted_proxies و overwriteprotocol را در نظر گرفته است.

آموزش گام‌به‌گام افزودن و فعال‌سازی SSL روی فضای ابری

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

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

مرحله اول: اتصال دامنه به فضای ابری

اول باید مطمئن شوید دامنه یا زیردامنه‌ای که برای فضای ابری در نظر گرفته‌اید، به سرور صحیح اشاره می‌کند. برای مثال، اگر قرار است کاربران با آدرس cloud.example.ir وارد فضای ابری شوند، رکورد DNS مربوط به این زیردامنه باید به IP یا مقصد صحیح سرویس متصل باشد.

بعد از تنظیم DNS، با بازکردن آدرس در مرورگر بررسی کنید که سرویس از طریق HTTP در دسترس است. این مرحله مهم است، چون صدور بسیاری از گواهی‌های SSL به اثبات مالکیت دامنه و دسترسی صحیح به آن وابسته است.

مرحله دوم: دریافت گواهی SSL

برای بیشتر وب‌سرویس‌ها، استفاده از گواهی رایگان و معتبر Let's Encrypt گزینه مناسبی است. اگر سرور شما از ابزارهایی مانند Certbot استفاده می‌کند، می‌توان گواهی را برای دامنه صادر و فرایند تمدید آن را نیز خودکار کرد.

در مقابل، اگر SSL را از طریق یک سرویس واسط مانند Cloudflare مدیریت می‌کنید، فرآیند کمی متفاوت است. Cloudflare برای دامنه‌های فعال‌شده روی این سرویس، گواهی Universal SSL را صادر و تمدید می‌کند؛ بنابراین لزوماً لازم نیست گواهی سمت کاربر را به‌صورت دستی روی وب‌سرور نصب کنید.

مرحله سوم: نصب گواهی روی وب‌سرور

اگر SSL مستقیماً روی سرور فضای ابری مدیریت می‌شود، باید گواهی و کلید خصوصی در وب‌سرور تنظیم شوند. محل و شکل این تنظیمات به نرم‌افزاری که استفاده می‌کنید، مثلاً Nginx یا Apache، بستگی دارد.

پس از نصب، سرویس HTTPS باید روی پورت 443 در دسترس باشد. اگر فایروال یا تنظیمات شبکه این پورت را مسدود کرده باشد، حتی یک گواهی کاملاً معتبر هم مشکل دسترسی را حل نمی‌کند.

مرحله چهارم: انتقال اجباری HTTP به HTTPS

بعد از اینکه مطمئن شدید HTTPS بدون مشکل کار می‌کند، بهتر است دسترسی HTTP را نیز به HTTPS هدایت کنید.

یعنی کاربر اگر وارد این آدرس شود:

http://cloud.example.ir

به‌صورت خودکار به این آدرس منتقل شود:

https://cloud.example.ir

این کار باعث می‌شود کاربران به‌صورت تصادفی همچنان از نسخه ناامن سرویس استفاده نکنند. Cloudflare نیز تأکید می‌کند که فعال‌بودن گواهی SSL به‌تنهایی به این معنا نیست که تمام درخواست‌ها الزاماً از HTTPS استفاده می‌کنند؛ باید HTTPS را نیز enforce کنید.

مرحله پنجم: بررسی نهایی SSL

بعد از فعال‌سازی، فقط به علامت قفل مرورگر اکتفا نکنید. چند مورد را بررسی کنید:

  • آدرس با https:// باز شود.

  • گواهی برای همان دامنه صادر شده باشد.

  • گواهی منقضی نشده باشد.

  • نسخه HTTP به HTTPS هدایت شود.

  • فایل‌ها، تصاویر و اسکریپت‌های سرویس از HTTP بارگذاری نشوند.

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

  • اگر Reverse Proxy دارید، IP و پروتکل واقعی به‌درستی به نرم‌افزار ابری منتقل شود.

  • اگر Cloudflare استفاده می‌کنید، ارتباط Cloudflare با Origin نیز بررسی شود.

این بررسی آخر اهمیت زیادی دارد. چون ممکن است در ظاهر همه‌چیز سبز و امن به نظر برسد، اما در پشت صحنه ارتباط Cloudflare با سرور شما همچنان به‌صورت HTTP برقرار باشد.

افزودن SSL به فضای ابری

SSL رایگان یا گواهی اختصاصی؛ کدام گزینه برای فضای ابری مناسب‌تر است؟

برای انتخاب SSL، صرفاً «رایگان یا پولی» بودن معیار خوبی نیست. سؤال اصلی این است که چه نوع گواهی و چه مدل مدیریت گواهی برای معماری فضای ابری شما مناسب‌تر است.

Let's Encrypt انتخاب مناسبی برای بسیاری از سرورهاست. گواهی‌های آن توسط یک مرجع صدور گواهی عمومی مورد اعتماد مرورگرها صادر می‌شوند و برای بسیاری از سرویس‌های وب کاملاً کافی هستند.

SSL مدیریت‌شده هم برای وقتی نمی‌خواهید درگیر نگهداری گواهی شوید خوب است. در برخی زیرساخت‌ها ترجیح می‌دهید صدور، نصب و تمدید گواهی تا حد ممکن خودکار باشد. سرویس‌هایی مانند Cloudflare می‌توانند در این بخش بخشی از کار را بر عهده بگیرند. برای مثال، Universal SSL در Cloudflare به‌صورت خودکار صادر و تمدید می‌شود.

جمع‌بندی

نصب SSL فضای ابری در ظاهر ممکن است فقط به نصب یک گواهی و دیدن علامت قفل کنار آدرس سایت خلاصه شود، اما در یک پیاده‌سازی حرفه‌ای موضوع فراتر از این است. حتماً چک کنید که دامنه درست به سرور متصل شده باشد، گواهی معتبر و منطبق با دامنه صادر شده باشد و HTTPS روی پورت مناسب در دسترس باشد.  

اگر کسب‌وکارتان از راهکارهایی مثل مرکز تلفن ابری، VoIP یا سایر سرویس‌های تحت شبکه استفاده می‌کند، امنیت باید از ابتدا بخشی از طراحی زیرساخت باشد. در تلفنچی سرویس‌هایی مانند تلفن ابری، تلفن اینترنتی VoIP و CRM اختصاصی با هدف ایجاد یک زیرساخت ارتباطی یکپارچه برای کسب‌وکارها ارائه می‌شوند.