ssl – مجموعه نرم افزارهای unsupported در ویندوز 2012 R2

خیر، متاسفانه مایکروسافت برای پشتیبانی از نسخه های قدیمی ویندوز با استفاده از رمزهای جدید شناخته نشده است، حتی اگر گفته می شود نسخه ها هنوز هم پشتیبانی گسترده ای هستند.

اگر بر روی آن رمز تکیه کنید، اساسا دو گزینه دارید:

  1. ارتقا به ویندوز سرور 2016
  2. از یک پروکسی معکوس استفاده کنید

اگر به آن تکیه نکنید، می توانید امیدوار باشید که MS در آینده به روزرسانی را منتشر کند که رمز را اضافه می کند. ببخشید: اگر کسی به شما می گوید که در رجیستری خود در رجیستری می توانید آن را اضافه کنید: نه. این تنظیمات فقط برای تنظیم رمزهای پذیرفته شده و ترتیب مذاکره وجود دارد، نه افزودن رمزهای جدید به سیستم شما (من فقط این را می گویم چون من افرادی را دیده ام که کارهای داخلی Schannel را نمی فهمند )

من نمی خواهم بیش از حد به قلمرو نظر، اما منحصر به فرد است که اجازه نمی دهد IIS روابط https خود را اداره کند، زیرا شما اغلب به مشکلات مانند این را اجرا کنید. کوین جونز یک مقاله وبلاگ بزرگ در مورد این موضوع نوشت:
https://vcsjones.com/2016/01/05/iis-and-tls/

درک مجموعه SSL Cipher در Apache

بله، منظور از SSLCipherSuite Apache، ترتیب مورد نظر را نشان می دهد. برای نقل قول از لینک شما ارائه شده است (تأکید معدن)،

در حال حاضر جایی که این جالب می شود این است که آنها را می توان با هم
  به دستور و رمزهای مورد نظر شما را مشخص می کند

در طول برقراری ارتباط TLS، مشتری مجموعه سوکت خود را ارائه می دهد، و سپس سرور به لیست به ترتیب آن یک رمز را پیدا می کند که برای هر دو سوئیت مشترک است. پس از آن انتخاب و استفاده می شود.

چگونه یک مشتری (مانند SSLLabs) می داند که تمام سرورهای پشتیبانی از سرور های پشتیبانی کننده را می شناسد، اگر سرور لیستی از سوئیت های پشتیبانی شده را ارسال نمی کند؟

من به دنبال TLS نگاه کردم و متوجه شدم که مشتری لیستی از سوئیت های پشتیبانی شده را ارسال می کند و سرور یک مجموعه رمز را انتخاب می کند. سرور هرگز لیستی از سوئیت های پشتیبانی شده را ارسال نمی کند. چگونه یک مشتری مانند SSLLabs می داند که کد های سری که سرور پشتیبانی می کند؟ همچنین، متوجه شدم SSLLabs فقط یک درخواست را به سرور ارسال می کند.

TLS – توضیحات مربوط به سایفر و اسکن Nmap

من دستور زیر Nmap را اجرا میکنم تا قدرت سوئیتهای سری که در میزبان من استفاده شده است را آزمایش کنم

 nmap -sV - script ssl-enum-ciphers -p 443 

Nmap doc می گوید هر ciphersuite با درجه نامه (A through F) نشان داده شده است که نشان دهنده قدرت اتصال است و خط خروجی از ابتدا شروع می شود. مقاومت کم نشان دهنده قدرت ضعیف ترین رمز شده است

وقتی که من فرمان را در برابر میزبان اجرا کردم، من خروجی را دریافت کردم همانطور که در زیر نشان داده شده است

 | ssl-enum-ciphers:
| TLSv1.0:
| رمزهای عبور:
| TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (dh 768) - E
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 768) - C
| TLS_DHE_RSA_WITH_DES_CBC_SHA (dh 768) - E
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_RC4_128_MD5 (rsa 2048) - C
| TLS_RSA_WITH_RC4_128_SHA (rsa 2048) - C
| کمپرسورها:
| خالی
| اولویت رمز: مشتری
| هشدارها:
| بلوک بلوک 64 بیتی 3DES به حمله SWEET32 آسیب پذیر است
| رمزگذاری بلوک 64 بیتی vulnerable to attack SWEET32
| RF4 رفع شده توسط RFC 7465 رد شده است
| Ciphersuite از MD5 برای صداقت استفاده می کند
| تبادل کلید (dh 768) از قدرت پایین تر از کلید گواهی
| TLSv1.1:
| رمزهای عبور:
| TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (dh 768) - E
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 768) - C
| TLS_DHE_RSA_WITH_DES_CBC_SHA (dh 768) - E
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_RC4_128_MD5 (rsa 2048) - C
| TLS_RSA_WITH_RC4_128_SHA (rsa 2048) - C
| کمپرسورها:
| خالی
| اولویت رمز: مشتری
| هشدارها:
| بلوک بلوک 64 بیتی 3DES به حمله SWEET32 آسیب پذیر است
| رمزگذاری بلوک 64 بیتی vulnerable to attack SWEET32
| RF4 رفع شده توسط RFC 7465 رد شده است
| Ciphersuite از MD5 برای صداقت استفاده می کند
| تبادل کلید (dh 768) از قدرت پایین تر از کلید گواهی
| TLSv1.2:
| رمزهای عبور:
| TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (dh 768) - E
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 768) - C
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_RC4_128_MD5 (rsa 2048) - C
| TLS_RSA_WITH_RC4_128_SHA (rsa 2048) - C
| کمپرسورها:
| خالی
| اولویت رمز: مشتری
| هشدارها:
| بلوک بلوک 64 بیتی 3DES به حمله SWEET32 آسیب پذیر است
| RF4 رفع شده توسط RFC 7465 رد شده است
| Ciphersuite از MD5 برای صداقت استفاده می کند
| تبادل کلید (dh 768) از قدرت پایین تر از کلید گواهی
| حداقل قدرت: E

سوالات من

  1. همانطور که در متن آمده است، کافیست که علامتگذاری شده به عنوان "E" رمز ضعیف است و به شیوه دیگری می توان رمز را به عنوان "A" به عنوان رمزنگاری قوی مشخص کرد
  2. TLS_RSA_WITH_AES_128_CBC_SHA به عنوان "A" در اینجا، اما در برخی از بحث ها، من مشاهده کرده ام آن را به عنوان WEAK ذکر شده است. آیا این به خاطر استفاده از SHA1 است؟ اگر چنین است چرا این به عنوان "A" در NMAP ارزیابی می شود؟
  3. من لیست زیر رمز در سرور من پیکربندی شده است.

    رمزهای = "SSL_RSA_WITH_RC4_128_MD5، SSL_RSA_WITH_RC4_128_SHA، SSL_DHE_RSA_WITH_DES_CBC_SHA، SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA، TLS_RSA_WITH_AES_128_CBC_SHA، TLS_DHE_RSA_WITH_AES_128_CBC_SHA، TLS_RSA_WITH_AES_256_CBC_SHA، TLS_DHE_RSA_WITH_AES_256_CBC_SHA، TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256، TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"

اما رمزهای مانند SSL_RSA_WITH_RC4_128 در خروجی از Nmap در دسترس نیست، در عوض، رمزهای مانند TLS_RSA_WITH_RC4_128 وجود دارد ، دلیل این چیست؟ آیا می توانیم از SSL و TLS به طور تعویض در Ciphers استفاده کنیم؟

  1. اگر چه من TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 را به عنوان یک رمز در سرورم اضافه کرده ام، در نتایج Nmap موجود نبود، چه چیزی ممکن است دلیل آن باشد؟

PS : من از JDK 1.7 به عنوان نسخه اصلی JDK برای سرور استفاده می کنم