در این مقاله به این موضوع که SNI چیست و چگونه در سرور راه اندازی می شود؟ خواهیم پرداخت، همراه ما باشید.
در حال حاضر، امنیت، یکی از مفاهیم مهم در دنیای وب می باشد که کسبوکارها هزینههای زیادی برای آن صرف میکنند. در برخی مواقع، استفاده از تکنولوژیهای امنیتی سبب ایجاد تغییراتی اساسی در کاربردهای مختلف شود. یکی از این تغییرات، برقراری امنیت در ارتباطات می باشد.
اگر توسعه وردپرس به گواهینامه های امنیتی SSL و رمزگذاری نیاز داشته باشد، احتمالاً نارضایتی زیادی وجود خواهد داشت. رمزگذاری وب سایت های بزرگ به دلیل محرک های بازار مانند Google به یک الزام تبدیل شده است. اکثر پیاده سازی های رمزگذاری به آدرس IP اختصاصی متکی هستند که فضای IPv4 را در دسترس قرار می دهد و پذیرش IPv6 توسط ارائه دهندگان صورت می گیرد.
تأثیر آن بر صاحبان وب سایت زمان انتظار طولانی تر برای استقرار SSL و هزینه های بالاتر در قالب هزینه های SSL است. در نتیجه راه حل بهتری برای پیاده سازی رمزگذاری SSL در قالب SNI (Server Name Indicator) وجود دارد.
فهرست مطالب
SNI چیست؟
SNI مخفف عبارت Server Name Indication و به معنای نام میزبان وب سایت یا نام دامنه است و می تواند از Server Name که دامنه را میزبانی می کند جدا باشد. برای یک سرور بسیار معمول است که چندین وب سایت را میزبانی کند و در آن صورت به نام میزبان مجازی شناخته می شود.
Server Name نام یک کامپیوتر می باشد و برای سرورهای وب، معمولاً برای بازدیدکنندگان قابل مشاهده نیست مگر اینکه فقط یک دامنه را میزبانی کنند. همچنین Server Name مشابه نام دامنه ای است که بر روی سرور میزبانی می شود.
همچنین SNI پروتکل توسعه امنیت TLS (Transport Layer Security) می باشد و برخی مشکلات از جمله نحوه سرویس دهی سایت ها از طریق HTTPS را حل می کند و به عنوان افزونه به TLS/SSL در سال 2003 اضافه شده است. در حال حاضر اکثر مرورگرها، سیستم عامل ها و سرورهای وب از آن پشتیبانی می کنند، به جز برخی از مرورگرها و سیستم عامل های قدیمی که مورد استفاده قرار می گیرند.
محدودیت ها
مرورگر وب مورد استفاده باید از SNI پشتیبانی کند، در صورتی که از SNI پشتیبانی نمیکند می توانید یک گواهی پیشفرض بر روی سرور خود که در آن SNI پیکربندی شده است، تنظیم کنید تا بتواند گواهی را ارائه دهد که مرورگرهای غیر سازگار با SNI بتوانند آن را ببینند.
نحوه راه اندازی SNI در سرور به کمک NetScaler
اکنون که تا حدودی با Server name indication آشنا شدید، در ادامه مراحل زیر را برای راه اندازی Server name indication در سرور انجام دهید.
در ابتدا قبل از راه اندازی SSL سرور مجازی را اضافه کنید. برای این کار ازطریق NetScaler GUI، به Traffic Management > Load Balancing > Virtual Servers > Add بروید.
در این مرحله قابلیت Server name indication را در سرور مجازی SSL فعال کنید. برای این کار به Traffic Management > Load Balancing > Virtual Servers > بروید و سرور مجازی را انتخاب کنید، سپس بر روی Edit >SSL Parameters کلیک کنید و SNI Enable را علامت بزنید.
اکنون گواهی SNI را به سرور مجازی SSL متصل کنید، برای این کار به bind sslvserver <ssl vservername> -certkeyname <certkeyname> -SNICert بروید و آن را طبق تصویر متصل کنید. همچنین می توانید چندین گواهی SNI را به سرور مجازی SSL متصل کنید.
در مرحله فوق به Traffic Management > Load Balancing > Virtual Servers > بروید و سرور مجازی را انتخاب کنید، سپس به بخش Edit > Certificates > Server Certificates > Add Binding > بروید و گواهی را انتخاب کنید، همچنین گواهی سرور را برای Server name indication بررسی کنید.
دقت داشته باشید که به صورت اختیاری، می توانید گواهی پیش فرض را نیز متصل کنید. در مواردی که client (مشتری) هیچ نام دامنه ای را مشخص نمی کند، NetScaler گواهی پیش فرضی را ارسال می کند.
اکنون به Traffic Management > Load Balancing > Virtual Servers > رفته و سرور مجازی را انتخاب کنید و سپس بخش Edit > Certificates > Server Certificates > Add Binding > Certificate را انتخاب کرده و کادر گواهی Server را برای SNI تیک نزنید.
پشتیبانی Server name indication از مرورگرها و ابزارها
برخی از مرورگرها و ابزارهایی که Server name indication از آن ها پشتیبانی می کند، در ادامه آورده ایم:
- Android Phones Default Browser
- Android Tablet Default Browser
- BlackBerry 10 Web Browser
- Google Chrome
- Internet Explorer
- Konqueror/KDE
- Mozilla Firefox
- OpenSSL
- Opera
- Safari
سرورهای پشتیبانی شده توسط SNI
- Apache
- Apache Tomcat
- سرور HTTP IBM
- Jetty
- خدمات اطلاعات اینترنتی مایکروسافت (IIS)
- ngix
آذرسیس ارائه دهنده گواهینامه امنیتی، سرور مجازی و اختصاصی با بهترین کیفیت و سخت افزار قدرتمند
نتیجه گیری
در این مقاله به اینکه SNI چیست و چگونه در سرور راه اندازی می شود؟ پرداختیم. به طور کلی نشانگر نام سرور که اغلب به اختصار SNI نامیده میشود، افزونهای برای TLS است که اجازه میدهد چندین نام میزبان از طریق یک آدرس IP از طریق HTTPS ارائه شود که موجب حفظ امنیت در سرور می شود. در صورت داشتن هرگونه سوال از طریق فرم زیر با ما در ارتباط باشید، از همراهی شما سپاس گذاریم.
سوالات متداول
SNI در سرور ویندوز چیست؟
Server name indication به سرور اجازه میدهد تا چندین گواهی TLS را برای چندین وب سایت، تحت یک آدرس IP، میزبانی کند. نام میزبان سرور وب سایت را در TLS handshake به عنوان پسوند در پیام CLIENT HELLO اضافه می کند.
آیا SSH از SNI پشتیبانی می کند؟
SNI افزونهای برای پروتکل TLS است که به مشتری اجازه میدهد تا یک دامنه مجازی را در حین دست دادن اتصال، به عنوان بخشی از پیام ClientHello مشخص کند. SSH و TLS پروتکل های متفاوتی هستند و SSH از SNI پشتیبانی نمی کند.