فناوری Sni چیست؟

SNI مخفف Server Name Indication است و افزونه پروتکل TLS است. این نشان می دهد که در ابتدای فرآیند دستیابی با نام میزبان با مرورگر چه ارتباط برقرار می شود. این فناوری به یک سرور اجازه می دهد تا چندین گواهی SSL را به یک آدرس و دروازه IP وصل کند. فناوری SNI تا حدودی مانند ارسال نامه بسته به آپارتمان به جای خانه است. هنگام ارسال نامه به خانه شخصی ، آدرس خیابان تنها کافی است تا بسته را به شخص مناسب برساند. اما وقتی یک بسته به یک آپارتمان می رود ، علاوه بر آدرس خیابان ، به شماره آپارتمان نیز نیاز دارد. در غیر این صورت ، بسته ممکن است به سمت شخص مناسب نرود یا اصلاً تحویل داده نشود.

 

 

معرفی فناوری sni

بسیاری از سرورهای وب ( سرور مجازی ، سرور ابری ) بیشتر به خانه های آپارتمان شبیه هستند: آنها میزبان چندین نام دامنه هستند ، بنابراین آدرس IP به تنهایی برای نشان دادن اینکه به کدام دامنه برسد کافی نیست. این امر می تواند منجر به نشانگر اشتباه SSL شود ، که از اتصال HTTPS جلوگیری می کند یا خاتمه می یابد .

 

هنگامی که چندین وب سایت بر روی یک سرور میزبانی می شوند و یک آدرس IP واحد به اشتراک می گذارند ، هر وب سایت دارای گواهینامه SSL مخصوص به خود است ، ممکن است سرور ( سرور مجازی ، سرور اختصاصی ) نتواند وقتی یک دستگاه مشتری به اتصال ایمن به یکی از وب سایت ها وصل میشود، کدام گواهی SSL را نشان دهد. این امر به این دلیل است که قبل از اینکه دستگاه مشتری از طریق HTTP به وب سایتی که به آن متصل است ، خطای دستی SSL / TLS رخ دهد.

 

(Indication Name Indication (SNI برای حل این مشکل طراحی شده است. SNI پسوندی برای پروتکل TLS (که قبلاً با آن پروتکل SSL شناخته می شد) است که در HTTPS استفاده می شود. به منظور اطمینان از اینکه دستگاههای مشتری قادر به دیدن گواهینامه صحیح SSL برای وب سایت مورد نظر برای دستیابی به آن هستند ، در فرآیند دستیابی TLS / SSL گنجانده شده است.فناوری SNI در سال ۲۰۰۳ به عنوان افزونه TLS / SSL اضافه شد. در اصل بخشی از پروتکل نبود. تقریباً همه مرورگرها ، سیستم عامل ها و سرورهای وب از آن پشتیبانی می کنند ، به استثنای برخی از قدیمی ترین مرورگرها و سیستم عامل هایی که هنوز در حال استفاده هستند.

 

نحوه عملکرد قبل از اجرای SNI

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

 

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

 

برای جلوگیری از این امر ، وب سایت هایی که از SSL استفاده می کنند ، موظفند آدرس IP خود را داشته باشند. این به سرور وب اجازه می دهد تا از آدرس IP استفاده کند تا بررسی کند که کدام وب سایت بازدید کننده می خواهد به آن متصل شود و گواهی مناسب را به مرورگر یا مشتری ارسال کند.

 

پسوند TLS SNI چه کاری انجام می دهد؟

غالباً یک سرور وب مسئول چندین نام میزبان – یا نام دامنه (که اسامی قابل خواندن انسان از وب سایت ها هستند) است. اگر وب سایت ها از HTTPS استفاده کنند ، هر نام میزبان دارای گواهینامه SSL خاص خود خواهد بود. مشکل این است که تمام این نامهای میزبان در یک سرور ( سرور مجازی ، سرور اختصاصی )  در یک آدرس IP مشابه هستند. این مشکلی در مورد HTTP نیست ، زیرا به محض باز شدن اتصال TCP ، مشتری نشان می دهد که در صورت درخواست HTTP به کدام وب سایت دسترسی دارند.

 

اما در HTTPS ، قبل از شروع مکالمه HTTP ، ابتدا دستکاری TLS صورت می گیرد (HTTPS هنوز هم از HTTP استفاده می کند – فقط پیام های HTTP را رمزگذاری می کند). بنابراین بدون فناوری SNI ، هیچ راهی برای مشتری وجود نخواهد داشت تا به سرور نشان دهد که میزبان با آنها صحبت می کند. در نتیجه ، سرور ممکن است گواهی SSL را برای نام میزبان اشتباه تولید کند. اگر نام موجود در گواهی SSL با نامی که مشتری در تلاش برای دستیابی به آن است مطابقت ندارد ، مرورگر مشتری خطایی را برمی گرداند و معمولاً اتصال را خاتمه می دهد.

 

SNI نام دامنه را به فرآیند دستیابی TLS اضافه می کند ، به طوری که فرایند TLS به نام دامنه مناسب می رسد و گواهی SSL صحیح را دریافت می کند ، بقیه دستبندهای TLS را قادر می سازد که به حالت عادی پیش روند. به طور خاص ، SNI شامل نام میزبان در پیام Client Hello یا همان اولین مرحله از دست زدن به TLS است.

 

SNI به عنوان یک راه حل

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

 

برنامه هایی که SNI را پشتیبانی می کنند

 Internet Explorer 7 or later, on Windows Vista or higher.
Mozilla Firefox 2.0 or later
Opera 8.0 (2005) or later (the TLS 1.1 protocol must be enabled)
Opera Mobile, at least version 10.1 beta on Android
Google Chrome (Vista or higher. XP on Chrome 6 or newer OS X 10.5.7 or higher on Chrome 5.0.342.1 or newer)
Safari 3.0 or later (Mac OS X 10.5.6 or higher and Windows Vista or higher)
Konqueror/KDE 4.7 or later
MobileSafari in Apple iOS 4.0 or later
Android default browser on Honeycomb (v3.x) or newer
BlackBerry 10 and BlackBerry Tablet OS default browser
Windows Phone 7 or later
MicroB on Maemo
Odyssey on MorphOS

نوین هاست ارائه دهنده انواع هاست ، سرور مجازی ، سرور ابری ، سرور اختصاصی و ….. در کشور با بهترین کیفیت و خدمات پس از فروش

برگرفته از : https://www.ssls.com/knowledgebase/what-is-sni-technology/

نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *