صفحه اصلی»امنیت و معرفی فناوری : SNI چیست؛ معرفی Server Name Indication و کاربرد آن در امنیت وب

SNI چیست؛ معرفی Server Name Indication و کاربرد آن در امنیت وب

SNI چیست

اشتراک گذاری:

وقتی مرورگری مانند Chrome یا Firefox به یک وب‌سایت امن با آدرس HTTPS متصل می‌شود، مجموعه‌ای از فرآیندهای پیچیده در پشت‌صحنه آغاز می‌شود تا ارتباطی رمزنگاری‌شده و مطمئن بین کاربر و سرور برقرار شود. یکی از اجزای کلیدی این فرآیند، فناوری‌ای به‌نام SNI یا Server Name Indication است؛ قابلیتی که امکان می‌دهد یک سرور واحد، چندین وب‌سایت با گواهی‌های SSL مختلف را پشتیبانی کند. بدون SNI، بسیاری از وب‌سایت‌هایی که روی هاست‌های اشتراکی یا شبکه‌های توزیع‌شده میزبانی می‌شوند، قادر به ارائه‌ی ارتباط امن نمی‌بودند. در این مقاله آبالون، بررسی می‌کنیم SNI چیست، چگونه کار می‌کند، و چرا نقشی اساسی در ساختار اینترنت امن ایفا می‌کند.

Server Name Indication چیست؟

SNI مخفف عبارت Server Name Indication به‌معنای «نمایش نام سرور» است. این فناوری یکی از افزونه‌های استاندارد TLS (نسخه بهبود‌یافته SSL) محسوب می‌شود و به مرورگر یا کلاینت این امکان را می‌دهد که هنگام شروع ارتباط امن (HTTPS)، نام دامنه موردنظر را به سرور اطلاع دهد. تا پیش از معرفی SNI، مشکل بزرگی وجود داشت: اگر چند وب‌سایت با دامنه‌های مختلف روی یک سرور میزبانی می‌شدند، سرور قبل از شروع ارتباط رمزنگاری‌شده نمی‌دانست که باید کدام گواهی SSL را ارسال کند. در نتیجه، یا تنها یک دامنه می‌توانست ارتباط امن داشته باشد یا نیاز به IPهای مجزا برای هر دامنه بود. تکنولوژی SNI این مشکل را برطرف کرد.

تکنولوژی SNI چگونه کار می‌کند؟

برای درک نحوه‌ی عملکرد SNI، ابتدا باید بدانیم که ارتباط امن بین مرورگر و سرور از طریق پروتکل TLS یا Transport Layer Security برقرار می‌شود. در ابتدای این ارتباط، پیش از آنکه هرگونه داده‌ای بین مرورگر و سرور ردوبدل شود، مرحله‌ای به نام TLS handshake یا «دست‌دهی اولیه» انجام می‌شود. در این مرحله، مرورگر باید از سرور یک گواهی SSL معتبر دریافت کند تا مطمئن شود که به مقصد درستی متصل شده است.

اما اینجا مشکلی به‌وجود می‌آید:

اگر یک سرور، میزبان چندین دامنه مختلف باشد (مثلاً example.com و example.net) و برای هر کدام گواهی SSL جداگانه داشته باشد، از کجا بداند مرورگر به کدام دامنه می‌خواهد وصل شود، وقتی هنوز ارتباط رمزنگاری‌نشده‌ای بین آن‌ها برقرار نشده است؟

SNI دقیقاً برای حل همین مشکل طراحی شده است.

مراحل عملکرد SNI به‌صورت خلاصه:

  1. ارسال درخواست اولیه از مرورگر:
    وقتی کاربر آدرس یک وب‌سایت HTTPS را وارد می‌کند، مرورگر در ابتدای دست‌دهی TLS، نام دامنه (مانند example.com) را به‌صورت واضح و خوانا برای سرور ارسال می‌کند. این کار بخشی از اطلاعات SNI است.
  2. دریافت و تحلیل SNI توسط سرور:
    سرور، با بررسی نام دامنه‌ای که از طریق SNI دریافت کرده، تشخیص می‌دهد که باید از کدام گواهی SSL استفاده کند. سپس همان گواهی مخصوص آن دامنه را به مرورگر می‌فرستد.
  3. شروع ارتباط رمزنگاری‌شده:
    پس از تأیید گواهی توسط مرورگر، فرآیند رمزنگاری کامل شده و تبادل داده‌ها به‌صورت امن آغاز می‌شود.

نکته مهم: SNI تنها در مراحل اولیه TLS کار می‌کند و نام دامنه را به‌صورت رمزنگاری‌نشده ارسال می‌کند (در نسخه‌های قبل از TLS 1.3). به‌همین دلیل، فناوری‌های جدیدتری  مانند ESNI یا Encrypted SNI و ECH یا Encrypted Client Hello معرفی شده‌اند تا این بخش نیز به‌صورت رمزنگاری‌شده منتقل شود.

آبالون ارائه‌دهنده شبکه توزیع محتوا (CDN)

سرویس CDN ایرانی آبالون با بیش از ۴۰ پاپ‌سایت فعال در ایران و ۵ قاره جهان، محتوای وب‌سایت و سرویس‌های آنلاین سازمان شما را با کمترین تأخیر، سریع‌تر و ایمن‌تر به کاربران می‌رساند. شبکه توزیع محتوا آبالون با آپ‌تایم تضمین‌شده ۹۹.۹٪، از وب‌سایت شما در برابر تهدیدات سایبری مانند حملات DDoS محافظت می‌کند، مصرف منابع و پهنای باند را بهینه می‌سازد و مدیریت دامنه‌های شما را ساده‌تر می‌کند.

خرید CDN

مزایای استفاده از SNI چیست؟

مزایای SNI چیست

۱. پشتیبانی از چند دامنه HTTPS روی یک IP

پیش از ظهور SNI، برای میزبانی هر وب‌سایت با گواهی SSL جداگانه، نیاز به یک آدرس IP مجزا بود. SNI این محدودیت را برطرف کرد. با استفاده از آن، سرور می‌تواند چندین دامنه با گواهی‌های مختلف را روی یک IP مشترک میزبانی کند. این امکان به‌ویژه برای هاست‌های اشتراکی و خدمات CDN بسیار حیاتی است.

۲. صرفه‌جویی در هزینه و منابع

خرید یا اجاره‌ی چندین آدرس IP عمومی (به‌ویژه در محیط‌های ابری یا در کشورهای با منابع محدود IP) می‌تواند هزینه‌بر و پیچیده باشد. استفاده از SNI، نیاز به چند IP را حذف می‌کند و در نتیجه باعث کاهش هزینه زیرساختی و ساده‌سازی پیکربندی سرور می‌شود.

۳. سازگاری کامل با مرورگرهای مدرن

SNI امروزه توسط تمامی مرورگرهای مدرن (مانند Chrome ،Firefox ،Safari ،Edge و غیره) و سیستم‌عامل‌های اصلی (Windows ،macOS ،Android ،iOS ،Linux) پشتیبانی می‌شود. این یعنی پیاده‌سازی آن بدون نگرانی از ناسازگاری گسترده، کاملاً عملی و ایمن است.

۴. امکان استفاده در هاست‌های اشتراکی

یکی از مزایای کلیدی تکنولوژی SNI این است که شرکت‌های هاستینگ می‌توانند برای هر کاربر یا دامنه، گواهی SSL جداگانه ارائه دهند، بدون نیاز به سرور یا IP اختصاصی. این قابلیت زیرساختی مهم برای خدمات ابری و اشتراکی به‌شمار می‌آید.

۵. بهینه‌سازی عملکرد با CDNها

خدمات شبکه توزیع محتوا (CDN) مانند Cloudflare ،Akamai یا AWS CloudFront، با استفاده از SNI می‌توانند به‌راحتی برای هر دامنه‌ای گواهی TLS مستقل ارائه دهند. این امر بهبود امنیت و سرعت تحویل محتوا را برای وب‌سایت‌های توزیع‌شده ممکن می‌سازد.

۶. ارتقای امنیت بدون نیاز به تغییرات فیزیکی

با SNI، می‌توان امنیت سایت را با استفاده از HTTPS و گواهی‌های معتبر افزایش داد بدون نیاز به جابجایی سایت به سرور اختصاصی یا ارتقای ساختار شبکه.

 

محدودیت‌های SNI چیست؟

با اینکه SNI تحول مهمی در امنیت وب بود، اما محدودیت‌هایی نیز دارد:

  • پشتیبانی سیستم‌های قدیمی: سیستم‌عامل‌ها یا مرورگرهای بسیار قدیمی (مثل IE روی ویندوز XP) از SNI پشتیبانی نمی‌کنند.
  • عدم رمزنگاری نام دامنه در نسخه‌های ابتدایی: در نسخه‌های اولیه TLS، دامنه در درخواست اولیه قابل مشاهده بود، اما در TLS 1.3 با ترکیب SNI و فناوری‌هایی مثل ESNI این مشکل نیز تا حد زیادی برطرف شده است. همین موضوع نشان می‌دهد که در معماری‌های مدرن وب، استفاده از امنیت ابری در کنار فناوری‌هایی مثل SNI اهمیت زیادی دارد تا محرمانگی و پایداری ارتباطات حفظ شود.

جمع‌بندی

SNI چیست؛‌ SNI یکی از مهم‌ترین فناوری‌هایی است که امکان رشد وب مدرن، به‌ویژه با گسترش HTTPS، را فراهم کرده است. این فناوری نه‌تنها امنیت ارتباط را برای صدها میلیون دامنه تضمین می‌کند، بلکه از لحاظ اقتصادی و فنی نیز امکان میزبانی مؤثرتر و امن‌تر را فراهم می‌سازد.

مطالب مرتبط

کلید API چیست؛ معرفی API Key و کاربردهای آن در توسعه وب و نرم‌افزار

کلید API یکی از مفاهیم کلیدی در توسعه وب و نرم‌افزار است که برای احراز هویت و مدیریت دسترسی به سرویس‌های خارجی به‌کار می‌رود. در این مقاله از بلاگ آبــالون بررسی می‌کنیم که کلید API چیست، چه کاربردهایی دارد و چرا امنیت آن اهمیت ویژه‌ای دارد. همچنین به تفاوت API Key با روش‌های دیگر احراز هویت مثل OAuth و JWT می‌پردازیم و نکات مهمی برای استفاده ایمن از آن ارائه می‌دهیم.

29 فروردین 1405

FaaS چیست؟ 

FaaS (Function as a Service) یک مدل اجرایی در معماری Serverless است که به توسعه‌دهندگان اجازه می‌دهد بدون نگرانی درباره‌ی مدیریت سرورها، تنها با نوشتن توابع کوچک و ارسال آن‌ها به ارائه‌دهنده‌ی ابری، اپلیکیشن‌های مقیاس‌پذیر و کم‌هزینه بسازند. این مدل مناسب اپلیکیشن‌های رویدادمحور است و با اجرای خودکار توابع، صرفه‌جویی در منابع و کاهش هزینه‌ها را ممکن می‌کند. مقاله به بررسی مزایا، معایب، تفاوت FaaS با IaaS و PaaS، کاربردهای عملی و محبوب‌ترین پلتفرم‌های FaaS می‌پردازد.

آپاچی اسپارک چیست؟

آپاچی اسپارک (Apache Spark) یک فریمورک پردازش توزیع‌شده و سریع برای تحلیل داده‌های بزرگ است. در این مقاله در آبالون توضیح می‌دهیم Spark چیست، معماری و اجزای اصلی آن کدام‌اند، چه تفاوتی با Hadoop دارد، چه مزایا و محدودیت‌هایی دارد و در علم داده و یادگیری ماشین چه کاربردهایی پیدا می‌کند.

2 اسفند 1404

دریافت سرویس تست رایگان

ارتباط با ابر زَس

تلفن:        91078149 –  021

ایمیل:       Sales@XaaS.ir