اعتصاب کردن بندر چیست؟

در شبکه کامپیوتری، ضربه زدن به پورت یک روش خارج است
  باز کردن پورت ها در یک فایروال با ایجاد یک تلاش اتصال به یک
  مجموعه ای از پورت های مشخص شده بسته. پس از یک توالی صحیح
  تلاش های اتصال پذیرفته شده، قوانین فایروال به صورت پویا هستند
  اصلاح شده به اجازه میزبان فرستاده اتصال تلاش می کند
  اتصال بیش از پورت خاص (ها). یک نوع به نام بسته تنها
  مجوز وجود دارد، جایی که فقط یک "ضربه کش" مورد نیاز است
  متشکل از یک بسته رمز شده است.

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

منبع: https://en.wikipedia.org/wiki/Port_knocking

در طول یک بحث، من سوال زیر را مطرح کردم:
با توجه به مدیر (به عنوان در مدیر سرور) و یا حتی مهاجم (همانطور که در مرد بد در تلاش برای دسترسی به دستگاه) یک روش ضربه زدن به پورت می تواند یک فرم احراز هویت به سمت آن سرور در نظر گرفته شود؟

تأیید اعتبار – آیا این یک پیاده سازی امن از نشانه های تجدید JWT است؟

من یک نشانه ی بازخوانی JWT را اجرا میکنم و روش زیر را برای تشویق نشانه ها توسعه داده ام. زیر برنامه جریان است:

  • هنگامی که سرور اطلاعات ورود را بازیابی می کند، آن را در برابر رمز عبور بررسی می کند
    پایگاه داده و ایجاد Token JWT با یک نشانه تازه کردن به عنوان یکی از آن
    ادعا می کند در محموله. (کاراکترهای تصادفی). این تازه سازی را ذخیره خواهد کرد
    نشانه در یک پایگاه داده.
  • پس از ورود، سرور ورود به سیستم: true و Token access JWT
  • از آنجا که نشانگر refresh در داخل JWT است، دو نشانه لازم نیست
    فرستاده می شود
  • اگر مشتری یک نشانه دسترسی را که تمام شده است، ارسال می کند، سرور خواهد شد
    کد زیر را در ادعا بررسی کنید و ببینید آیا در داخل db است.
    اگر این کار را کرد، یک نشانه جدید با یک نشانه تازه کردن ایجاد خواهد کرد و
  • اگر مشتری بخواهد از همه دستگاه ها بیرون برود، می توانند به راحتی تمام آنها را لغو کنند
    از نشانه های بازخوانی آنها و زمانی که همه آنها بیرون می آیند
    نشانه ها منقضی می شوند (نشانه های 15 دقیقه JWT).

مزایایی که می توانم در این پیاده سازی ببینم عبارتند از:

  • بدون نیاز به ارسال دو نشانه. تازه سازی در داخل JWT جاسازی شده است
    و نمی تواند اصلاح شود زیرا امضای آن نامعتبر است.
  • بدون نیاز به رمز نویسی مجدد در پایگاه داده را رمزگذاری می کند، زیرا اگر یک
    مهاجم نشانه ی refresh را نگه داشته است، آنها نمی توانند کاری انجام دهند
    با آن به دلیل آن است که در داخل JWT است و نمی تواند اصلاح شود. (که در
    پیاده سازی های دیگر با نشانه های جداگانه باید فرض کنیم
    مهاجم به هر حال هر دو را می گیرد)

مشکلاتی که من با آنها می بینم عبارتند از:

  • JWT ها همیشه دارای نشانگر refresh هستند، بنابراین مهاجم همیشه باید باشد
    قادر به انجام یک تازه کردن و استفاده از نشانه refresh تا زمانی که منقضی شود
    مگر اینکه مشتری آن را با ورود به سیستم (از تمام دستگاه ها) لغو می کند.
  • مشتری می تواند تماس ورود به سیستم را در حلقه اجرا کند و پایگاه داده را پر کند
    زیرا هر بار که آنها وارد سیستم می شوند، یک نشانه دسترسی جدید ایجاد می شود و یک
    کد جدید refresh در پایگاه داده ذخیره می شود.

آیا این روش امن است؟ اگر چنین است، من عمدتا با کسی که با پایگاه داده های جدید refresh و پر کردن دیسک پر می کند، نگرانم. چگونه می توانم از وقوع اجتناب کنم؟

احراز هویت Digest با SHA2

آیا DigestClient در حال اجرا است که از خانواده SHA2 الگوریتم های هش پشتیبانی می کند؟ پیاده سازی جاری DigestClient زمانی رخ خواهد داد که چالش الگوریتم چیزی جز "md5" یا "md5-sess" باشد. به DigestClient خط 1134 مراجعه کنید که در مورد چالش سرور شامل الگوریتم = "SHA-256" است.

افکار فعلی این است که خودم IAuthenticationModule -HDM5 و پیاده سازی را با AuthenticationManager ثبت کنید.

تأیید اعتبار – قدرت جفت کلیدی

من سعی می کنم مبنایی برای مقایسه احراز هویت با جفت کلید بر اساس احراز هویت رمز عبور و مقاومت نسبی آنها در برابر حدس زدن / حملات نیروهای شدید پیدا کنم.

من قدردانی می کنم که رمز عبور انتخاب شده توسط کاربر احتمالا خیلی کمتر است آنتروپی نسبت به یک تصادفی – آیا هر تلاشی برای اندازه گیری تفاوت وجود دارد؟

برای یک حمله نیروی محرک، من انتظار دارم که هزینه تولید یک جفت کلیدی خیلی بیشتر از تولید رمز عبور باشد، اما مقدار زیادی از آن تفاوت در هزینه اعتبار سنجی جفت کلید در مقایسه با اعتبار گذرواژه؟

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