اشکال زدایی چرا TLS بین openssl و برخی از سایتهای SSL شکست خورده است

سیستم CentOS 5.11 قدیمی که OpenSSL 0.9.8e را اجرا می کند. من قادر به اتصال بیشتر سایت های SSL بدون هیچ مشکلی هستم. با این حال با برخی از سایت های مانند www.looklinux.com، اگر من سعی می کنم برای اتصال من این خطا:

openssl s_client -connect www.looklinux.com:443
CONNECTED(00000003)
27080:error:14077410 : روال SSL: SSL23_GET_SERVER_HELLO: sslv3 هشدار دست دادن شکست: s23_clnt.c: 586:

حالا از انجام
openssl s_client -connect www.google.com:443 | grep -i "پروتکل"
من در پروتکل "پروتکل: TLSv1" را می بینم. و از
https://www.ssllabs.com/ssltest/analyze.html؟d=www.looklinux.com&latest
من می دانم که www.looklinux.com از TLS 1.0، 1.1 و 1.2 پشتیبانی می کند. بنابراین به نظر می رسد سرویس گیرنده و سرور حداقل یک پروتکل سازگار (TLS v1) را به اشتراک بگذارد و این مشکل نیست.

پس از آن، آنچه اشتباه است و چگونه می توانم آن را حل کنم؟

این پست:
https://stackoverflow.com/questions/48983918/authorize-net-gem-tls- سازگاری 1-2
نشان می دهد گاهی نسخه قدیمی OpenSSL سازگار نیست. آیا آسان توضیح دادن این است که OpenSSL قدیمی تر نمی تواند انجام دهد؟ و واقعا چطوری وجود نداره؟ من از "به روز رسانی" آن از طریق ایجاد OpenSSL از منبع مراقب هستم، زیرا دستورالعمل هایی برای ساختن از منبع معمولا اشتباه یا نادیده گرفته می شود، در حالی که یک خواننده متخصص می داند دستورات قرار است باشد، اما می گویم دستورالعمل ها دقیقا به دست آمده و جذب می شوند. بنابراین امیدوارم بتوانم این را فقط با نصب یک گواهینامه اضافی یا چیزی درست کنم.

TLS – دامنه دات کام تا حدودی پیچیده در HTTP محلی شبکه مشکل است

من سعی کردم تا تنظیمات من را به حداکثر ممکن برسانم، بنابراین فقط به سایت dev من بیش از https خدمت می کنم. راه اندازی مثل این است …

  1. من یک CA اعتماد در ماشین من ساخته شده توسط devcert

  2. من تولید برخی از certs و نصب آنها را در یک کانتینر docker و آنها را در سایت من خدمت می کنند، من یک .dev دامنه به میزبان / etc / hosts در هر دو ظرف، دستگاه محلی من و دستگاه همراه من همه آنها را به محل مناسب هدایت شده زمانی که من مرورگر خود را به دامنه .dev نشان می دهد

مشکلات:

  1. اندیشه من دستگاه تلفن همراه به گواهی اعتماد ندارد من نمی توانم به نظر برسیم از هک chome thisisunsafe استفاده کنم چون نمی توانم یک صفحه کلید در صفحه هشدار دهنده در تلفن همراه دریافت کنم …

سعی کردم اضافه کردن CA به عنوان یک گواهی اعتماد در تلفن من از طریق تنظیمات> secutiry> نصب از کارت SD اما کروم همچنان ناکام است

  1. فایرفاکس (در دستگاه میزبان محلی من) این گواهی را قبول نمی کند و با SEC_ERROR_BAD_SIGNATURE کار می کند حتی اگر کروم کار کند

من به شدت نیاز به انجام برخی از اشکال زدائی تلفن همراه دارم، بنابراین من باید این را در یک شرایط کاری ASAP، ایده هایی که در آن اشتباه می کنم؟

openssl – ایجاد گواهی بدون کلید خصوصی یا استفاده از USB eToken

با توجه به این موضوع:

ایجاد گواهی بدون کلید خصوصی با OpenSSL

وضعیت بسیار شبیه من است. من یک USB eToken 5110 JC (Aladdin) داریم که دارای خصوصی شخصی غیر قابل قبول است، زیرا هدف اصلی آن است. بنابراین، من می توانم از pkcs11-tool استفاده کنم – module /lib/libeToken.so.9 -l –pin -s -i و کار می کند. libeToken.so.9 توسط SAC 9.1 (Safenet Authentication Tool) ارائه می شود. تا کنون خیلی خوب است

مشکل من این است: من نیاز به تولید گواهینامه ها و امضای آنها با این eToken دارم. من سعی کردم از موتور pkcs11 با openssl استفاده کنم، بدون موفقیت. ممکن است به علت اشتباه (من سعی کردم https://github.com/OpenSC/libp11 چگونه، اما من اشتباهات زیادی داشته ام، و من رها کردن)

من سعی کردم به استفاده از gpg اما من اشتباهات در حالی که یادگیری کارت .

بنابراین من این موضوع جالب را رسیده ام. از آنجا که من می توانم به راحتی گواهی و کلید عمومی را از usb Token صادر کنم، نوک والنتین بوسی به نظر می رسد خوب است، زیرا می توانم openssl x509 -force_pubkey اجرا کنم. آیا تا به حال صحیح است؟

بنابراین، مشکلی برای انجام این کار چیست؟ من می دانم که امضای فرآیند ایجاد یک هش از برخی داده ها و رمزگذاری با یک کلید خصوصی است. هنگامی که برخی از داده ها به شخصی که با امضای آن ارسال می شود، گیرنده بررسی خواهد کرد که الگوریتم هش کردن چیست، سپس یک هش از داده ها با یک الگوریتم مشابه تولید می کند و در مقایسه با داده های هش رمزگشایی شده با کلید عمومی فرستنده، درست است؟

بنابراین هنگام تولید یک گواهی بدون توجه به اینکه آیا داده از CSR یا stdin ساخته شده است، امضای ساخته شده از طریق کلید عمومی تأیید نشانه دیجیتال را تأیید نخواهد کرد، زیرا هر کسی می تواند این کلید عمومی را دریافت کند و از طرف صاحب eToken تولید گواهی کند. 19659002] بنابراین، چه چیزی در حال حاضر؟ چه چیزی اشتباه می گویم؟

آخرین سوال، داده های رمز شده با کلید خصوصی را می توان با کلید عمومی آن لغو کرد و بالعکس. اما من نمی دانستم که با استفاده از همان کلید (از آنجا که کلیدهای assymetric هستند) امکان رمزگذاری و رمزگشایی وجود دارد

openssl – دستیابی SSL به صورت متناوب با 502 انجام نشد

من یک مسئله بسیار عجیب و غریب را تجربه می کنم که در آن سرویس من 502 با پیام خطای دستکاری در سرویس پروکسی من (آپاچی) پاسخ می دهد.

با نگاه کردن به سیاهههای مربوط به خطا:

[Mon Apr 30 20:36:02.626518 2018] [ssl:info] [pid 4386] 
    : ] AH02003: اتصال پروکسی SSL شکست خورده است
    [Mon Apr 30 20:36:02.626557 2018] [ssl:info] [pid 4386]  خطا در کتابخانه SSL: خطا: 14094410: روال SSL: SSL3_READ_BYTES: sslv3 هشدار از دست دادن (هشدار شماره 40 SSL)

    [Mon Apr 30 20:36:02.626567 2018] [ssl:info] [pid 4386]  [ازراهدور: ] AH01998: اتصال به کودک 0 با قطع خاموش (میزبان سرور: پورت) بسته شده است
    [Mon Apr 30 20:36:02.626607 2018] [ssl:info] [pid 4386]  [ازراهدور: ] AH01997: دستکاری اس اس ال نتوانست: ارسال 502

این سیاهههای مربوط به apache من است که به عنوان یک سرویس پروکسی معکوس کار می کند

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

من همچنین سعی کردم گرفتن یک tcpdump بر روی مشتری من (آپاچی) و بررسی استفاده از wireshark و من در زیر نتایج:

 TCPdump اسیر تصویر با دستاورد اشتباه

سرور پروکسی من من است: 172.18.0.3 و سرویس پراکنده ip است: 10.xxx

من نمی فهمم که چرا دو مرحله در دست گرفتن SSL شکست خورده است.
من کمی اطمینان دارم که این موضوع قطعا در پروکسی سرور نیست.

سرویس پروکسی من خدمات مبتنی بر جاوا مبتنی بر SAP است

FYI، سرور SNI فعال نیست.

مهمتر از همه، این مسئله مانند 4 بار از 600 درخواست اتفاق می افتد.

هر گونه کمک بسیار قدردانی است. با تشکر از قبل.

مرورگر ناگهان می تواند از سایت معتبر گواهی سرویس گیرنده در Apache Windows Environment بیرون رانده شود

من یک وب سایت در محیط توسعه ما «سرور ویندوز / آپاچی 2.4» داریم که دارای تأیید هویت سرویس دهنده است.

هنگامی که ابتدا به سایت مراجعه می کنید، به خوبی کار می کند. از آنجا که من یک گواهینامه چندگانه را نصب کرده ام، یک گواهی نامه مشتری نمایش داده می شود. من مشتری صحیح را انتخاب می کنم و به عنوان انتظار می رود کار خواهد کرد.

اما برای برخی از زمان تصادفی. این فقط ناگهان کار نخواهد کرد. تمام درخواست سرور شکست خورده است. هنگامی که نوار آدرس را تغییر دهید تا به طور مستقیم به سایت برسد، خطای شکست SSL را نشان می دهد. صفحه نمایش شبیه آنچه نمایش داده می شود زمانی که یک گواهینامه مشتری را در فوریه اول انتخاب نمی کنید.

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

این تنها در محیط توسعه ما اتفاق می افتد. در تولید میزبان در CentOS، خوب است. همچنین این اتفاق در تمام مرورگر رخ می دهد.

آیا شما فکر می کنید که چگونه این مشکل را رفع کنید؟

========== خطای SSL نمایش داده شده ============ ======

برای IE نشان می دهد پیام "این صفحه نمایش داده نمی شود. فعال کردن TLS 1.0، TLS 1.1 …". مرورگر من در زبان دیگری است، بنابراین فقط سعی کردم ترجمه را از اینترنت پیدا کنم.
مشاهده تصویر

========== تنظیمات مرورگر من ==================

  • SSL 2.0 فعال – غیر قابل کنترل
  • SSL 3.0 فعال – غیر قابل کنترل
  • TSL 1.0 فعال – بررسی شده
  • TSL 1.1 فعال – بررسی شده
  • TSL 1.2 فعال – بررسی