نامنویسی انجمن درست شده و اکنون دوباره کار میکند! 🥳 کاربرانی که پیشتر نامنویسی کرده بودند نیز دسترسی‌اشان باز شده است 🌺

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5

پروژهء سیستم رجیستر و لاگین بازمتن
#15

sonixax نوشته: چند راه خیلی خوب برای محافظت از سالت وجود داره :

1 - سالتها رو در پوشه ای یک لول پشت شاخه روت به صورت فایلهای مجزا قرار بدید . (همون طور که میدونید فقط اسکریپت به پوشه های پشت روت دسترسی داره و اگر برنامه شما طوری هست که اجازه دسترسی به پشت روت رو میده با پیچیده ترین روشها هم نمیتونید از شر هکر ها در امان باشید چون احتمالن میتونند روی سرور شما اسکریپت خودشون رو اجرا کنند یا از طریق اکسپلویتها هر فایلی که میخواند رو از روی سرور شما دانلود کنند ، البته تنظیم مجوزهای دسترسی (Permission ها) هم خیلی مهمه) .

2 - در برخی جاها که حفاظت از اطلاعات خیلی مهمه یک سرور دیگه با IP جداگانه درنظر گرفته میشه و سالتها روی اون ذخیره میشند . دسترسی تمام IP ها به جز IP سروری که اسکریپت روش اجرا میشه به سرور ریموت بسته میشه . طبیعی هست که این روش هزینه اش هم بیشتره . حتا ممکنه که بخشی از سالت روی یک ریموت سرور و بخش دیگرش روی یک ریموت سرور دیگه باشه یا اصلن بیش از یک سالت روی بیش از یک ریموت سرور باشه .
هه هه :e057:
دوست عزیز نیازی نیست این همه سالت رو جای دیگه ذخیره کنید.
این فرمول رو ببین:
کد:
hash(pepper+salt+password)
pepper همون سالت ثابت است که در هش تمام پسوردها دخالت میکنه. همونطور که میبینی هر پسورد سالت رندوم خودش رو هم داره.
کافیه فقط یک رشته، یعنی سالت ثابت (pepper)، در جای امنی غیر از دیتابیس ذخیره بشه. در این صورت هکر نمیتونه هیچ کاری با هش ها بکنه، اقدام به Brute-force بکنه، مگر اینکه سالت ثابت رو داشته باشه. دیگه چه نیازی هست که مثلا صدهزار اکانت داریم صدهزارتا سالت هم روی سرور دیگری ذخیره کنیم؟ اگر هکر به سرور دیگر نتونه دسترسی داشته باشه نتونه سالت ثابت رو بدست بیاره نمیتونه هیچ غلطی بکنه، و اگر بتونه و دسترسی بدست بیاره که دیگه فرقی نمیکنه شما اونجا چی رو ذخیره کرده باشی تمام سالتها باشن یا فقط یک سالت ثابت.

نقل قول:3 - من دیده ام که برخی از برنامه نویسان حتا خود هش رو هم روی یک سرور دیگه نگهداری میکنند.
4- تا جای ممکن بهتره که دسترسی فیزیکی به هیچ کدام از سرورها وجود نداشته باشه و حتا بهتره سرورها در یک پایگاه واحد نباشند - که البته این دیگه از نکات برنامه نویسی نیست E056

دست آخر بهتره از یکی روشهای یک یا 2 در اسکریپتتون بهره ببرید چون هر هشی با صرف زمان کافی و سخت افزار مناسب قابل هک شدن هست .
حتا روشهای 1 و 2 هم تضمین 100% ای برای حفاظت نمیدند و باید همواره روشها رو عوض کرد و پیچیده ترشون کرد - این یک جنگه و کسی که از یک روش مشخص و همیشگی استفاده میکنه شکست میخوره .
معمولا این روشها در عمل صرف نمیکنه و معقول نیست. گذشته از اینکه اصولا اینکه فرض کنید با اضافه کردن یک سرور دیگر و نیاز به تبادل اطلاعات بین این دو سرور، امنیت لزوما خیلی بالا میره، لزوما فرض درستی نیست. چطوری محاسبه چطوری اثباتش میکنید؟ هر سرور خودش یک نقطهء شکست اضافه میکنه چون میتونه نقاط ضعف و حفره های امنیتی و امکان دسترسی افراد دیگری رو داشته باشه. ارتباط بین دو سرور و تبادل شدن اطلاعات حساس از کانال ارتباطی هم خودش نقطهء شکست دیگری رو ایجاد میکنه و امکان دسترسی غیرمجاز این وسط، که البته میشه با استفاده از رمزنگاری اطلاعات رد و بدل شده تاحد زیادی این ضعف رو برطرف کرد، ولی بهرحال بحث ضعف بیشتر در برابر حمله های DOS هم هست، چون صرف بستن راه ارتباط برنامه و نرسیدن یا خراب کردن اطلاعاتی که نیاز داره میتونه باعث اختلال در سرویس دهی و در نتیجه DOS بشه.
از طرف دیگر بهرحال وابسته شدن کارکرد برنامه به چند سرور و ارتباط بین اونها و ارتباطات شبکه ای یا اینترنتی، از نظر سرعت و پرفورمنس و نیز پایداری و Reliability، خوب نیست، چون اگر قبلا 2% احتمال خرابی چیزی و از کار افتادن سرور و سایت بوده حالا احتمال خرابی بخشهای مربوط به سرور دیگر و تمام کانال های ارتباطی و سیستمهای درگیر هم بهش اضافه میشه و این درصد بالاتر میره (جمع احتمال خرابی تمام سرورها و اتصالات شبکه و سیستمهای درگیر).
و این همه هزینه بخاطر چی؟ بخاطر اینکه امنیت هش ها رو یک مقدار بالا ببریم که چندان هم زیاد نیست و نمیشه دقیق محاسبه و ثابت کرد و مطمئن بود.
در برنامه ها معمولا اونقدری نقاط ضعف و مجهولات وجود دارن که این همه هزینه و محکم کاری در فقط یک بخش، معقول نیست. حداقل نه در برنامه های معمولی در مقیاس معمولی.
منکه میگم حتی سالت ثابت رو هم روی همون سرور ذخیره کنید، ولی خب جدای از هش ها در دیتابیس باشه و ترجیحا در مکانی که تاحدی حفاظت شده باشه. من در برنامهء خودم سالت ثابت رو صرفا در فایلهای کد خود برنامه قرار دادم، ولی متخصصان توصیه میکنن که جای حفاظت شده تری باشه یک سیستم و کنترل دسترسی درست حسابی تری داشته باشه، ولی خب چنین چیزی ساده نیست و بنظر من برای برنامه های معمولی همون حد معقوله و کفایت میکنه چون بیشترش دیگه دردسر و هزینه های جانبی زیاد داره صرف نمیکنه.

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

اینها بیشتر پیچوندن امنیت و توهم امنیت هست که اکثرا افراد ناشی و غیرمتخصص در زمینهء امنیت و رمزنگاری تصور میکنن و انجام میدن. حداقل قبلش برن توی فروم تخصصی ای چیزی از دوتا آدم مطلع سوال کنن، این کارهای بیهوده و مسخره رو نمیکنن اینقدر وقت و انرژی خودشون رو تلف نمیکنن که تازه احتمالا برنامشون رو هم بجای درست تر کردن خراب تر میکنه!

ولی خب یه عده امثال شما هستن دیگه اینقدر ادعاشون میشه اینقدر سطحی هستن اینقدر غرور دارن که اینطور عمل نمیکنن و خودسر و خودمحور هستن.

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


پیام‌های این موضوع
پروژهء سیستم رجیستر و لاگین بازمتن - توسط folaani - 03-21-2013, 08:49 PM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط Mehrbod - 03-21-2013, 09:02 PM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط folaani - 03-21-2013, 09:44 PM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط folaani - 03-21-2013, 10:09 PM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط Mehrbod - 03-21-2013, 10:11 PM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط folaani - 03-21-2013, 10:32 PM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط folaani - 03-21-2013, 11:18 PM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط Mehrbod - 03-22-2013, 10:33 AM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط folaani - 03-22-2013, 06:54 PM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط folaani - 03-22-2013, 07:27 PM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط sonixax - 03-22-2013, 09:59 PM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط folaani - 03-22-2013, 10:45 PM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط sonixax - 05-09-2013, 02:53 PM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط folaani - 12-29-2013, 06:14 AM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط kourosh_iran - 07-20-2015, 07:00 AM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط sonixax - 07-21-2015, 01:35 AM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط kourosh_iran - 07-21-2015, 05:27 AM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط kourosh_iran - 07-21-2015, 07:21 AM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط sonixax - 07-23-2015, 01:12 AM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط kourosh_iran - 07-23-2015, 08:10 AM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط kourosh_iran - 07-23-2015, 08:18 AM
پروژهء سیستم رجیستر و لاگین بازمتن - توسط sonixax - 07-23-2015, 11:44 PM

موضوعات مشابه ...
موضوع / نویسنده پاسخ بازدید آخرین ارسال

پرش به انجمن:


کاربران در حال بازدید این موضوع: