شبکه – چرا TLS هنوز هم به عنوان SSL نامیده می شود؟

بهترین پست وبلاگ که در مورد این مطلب خوانده ام، به طور خلاصه بیان می کند که اگر چه TLS به طور موقت SSL را 19 سال پیش جایگزین SSL کرد، TLS هنوز به عنوان SSL نامیده می شود زیرا SSL شناخته شده است که "به معنای بهتر" را از TLS .

این بیشتر توسط شرکت های شناخته شده هنوز هم با استفاده از کنفرانس نامگذاری SSL در محصولات و خدمات خود (به عنوان مثال OpenSSL، ژنراتور پیکربندی موزیلا SSL، SSL آزمایشگاه SSL آزمون) پشتیبانی می کند.

همچنین به نظر می رسد این سوال ممکن است در حال حاضر در اینجا حل و فصل شد و بسته به دلیل آن است که عمدتا مبتنی بر نظر.

Asp.Net Web API استفاده صحيح از فدراسيون WS براي برنامه وب

امیدوارم این یک نسخه کامل نیست. من خواندن مقالات و فقط نمی تواند به طور کامل سر خود را در اطراف این بسته. بسیاری از مقالات به نظر می رسد که نظرات مختلفی دارند.

من یک برنامه وب (Spacing + Backend Web Api) ساختم. در حال حاضر یک راه اندازی IDP (SSO) وجود دارد که من برای شناسایی / ادعاها و یک توالی راه انداز مسیریابی را جستجو می کنم. من از یک حافظه پنهانی در سرور استفاده می کنم تا ادعاهای کاربر وارد شده را ثبت کند و تنها GUID را در کوکی client اجرا کند. Spa نیاز به استفاده از نشانه بوت استرپ (من معتقدم که این SAML 1.0 یا 1.1 است) به سرویس های دیگر برای دسترسی به منابع است، بنابراین من یک ردگیر HTTP را برای اضافه کردن آن نشانه زمانی که لازم است.

حالا، پس از خواندن برخی از مقالات من به سختی می دانم که بهترین روش برای محافظت از برنامه وب با WS-Fed چیست.

آیا من نیاز به استفاده از کوکی ها را دارم، یا می توانم از استفاده از Token برای تأیید اعتبار در back-end خود استفاده کنم؟ من واقعا هیچ ادعایی خاصی ندارم که نیاز به بررسی داشته باشم و تا زمانی که کاربر به سیستم SSO وارد شود و دارای یک نشانه ای باشد که قبلا می تواند بسیاری از خدمات دیگر را تحت تاثیر قرار دهد.

آیا نشانه ذخیره در Spa unsafe است؟ به نظر می رسد که حتی با حفاظت ضد جعل می شود.

کوکی هایی که من استفاده می کنم به نظر می رسد "کوکی های جلسه"، اما همه چیز به طوری انتزاعی است که من حتی نمی توانم بگویم که اگر من استفاده منظم کوکی یا یک کوکی جلسه. چگونه می توانم بگویم؟

آیا تا به حال باید برچسب SAML را به هدر های سرور اضافه کنم؟ من دیگر خدمات دیده ام این کار را انجام می دهم، اما اگر در یک جلسه حضور داشته باشیم، حساس نیستیم.

هر کس که صحبت کنم به نظر می رسد فقط کاری را انجام دهد که دیگران انجام می دهند و واقعا اهداف همه چيز. من می خواهم از آن بگذرم.

بنابراین، عملیات من در حال حاضر است:

  1. کاربر URL من را می بیند. قبل از استفاده از فایل های اسپا، او از طریق SSO هدایت می شود، ادعا می کند / بلیط در سرور قفل شده است.
  2. محدودیت زمانی در ادعا / بلیط بلیط ذخیره شده است.
  3. Spa بعد از ورود به سرویس گیرنده خدمت می شود
  4. یک GUID نماینده یک بلیط ذخیره شده به عنوان یک کوکی به مشتری منتقل می شود.
  5. مشتری درخواست SAML (bootstrap) token را ذخیره می کند و آن را در یک حافظه پنهان در مشتری ذخیره می کند.
  6. مشتری در هنگام صحبت کردن تنها از GUID در هدر استفاده می کند سرور من و با استفاده از نشانه SAML / bootstrap هنگام صحبت کردن با سرویس های دیگر.
  7. زمانی که محدودیت زمانی بر روی بلیط ذخیره شده سرور ذخیره می شود، سرور درخواست ها را از IDP درخواست می کند و اگر کاربر ناموفق باشد، کاربر را مجددا مجددا راه اندازی می کند. (آیا باید از Spas انجام شود تا سرور مجبور نشود)؟

jwt – برنامه ی وب یک درخواست برای یک API REST زمانی که در حال تأیید صحت است

من تازه به ASP.NET هسته و OpenID اتصال / AzureAD، بنابراین من به دنبال برخی از اعتبار سنجی (و یا در غیر اینصورت) از رویکرد من است. خواندن / گوگلینگ گسترده در طول چند هفته گذشته در حالی که من در حال یادگیری این است که پاسخ دقیق نگرفته است (اگر چه بسیاری از تقریبا نادرست است)

من یک برنامه وب مبتنی بر مرورگر است که باید با آن امن AzureAD، به طوری که انتظار می رود، از این استفاده می کند. همه کارها خوب است.

همچنین یک API را در همان نرم افزار قرار می دهم. من نمیخواهم به علت نگرانی CSRF از کوکی استفاده کنم و نیاز به API برای سرویس دهی یک برنامه تلفن همراه در تاریخ بعدی است. من API را برای استفاده از JWT Bearer مبتنی بر auth پیکربندی کردم. همچنین به خوبی کار میکند (به عنوان مثال از پستمن درخواست میکند)

یکی از صفحات در برنامه وب نیاز به برقراری تماس AJAX به API دارد، و من نمیخواهم / باید برنامه را به یک SPA تبدیل کنم. بنابراین رویکردی که در حال حاضر در حال تلاش هستم این است:

وقتی وارد برنامه میشوم، حافظه (از طرف سرور) را از AzureAD دریافت میکنم. وقتی صفحه با تماس AJAX بازدید می شود، من "id_token" را به یک فیلد پنهان می نویسم و ​​هنگامی که نیاز به برقراری تماس AJAX دارم، خواندن id_token در جاوا اسکریپت و اضافه کردن آن به عنوان "مجوز" هدر.

این همه به عنوان یک رویا کار می کند، بنابراین من آن را نگران کرده ام و آن را نگران کرده ام. من نمی توانم مسائل CSRF را ببینم، چون تماس AJAX دیگر کوکی نیست. اگر چه من یک id_token را به صفحه می نویسم، کاربر باید کوکی ها را برای دیدن این صفحه در اولویت قرار دهد.

آیا چیزی است که من از آن چشم پوشی می کنم؟