PDA

View Full Version : نیاز به ورود مجدد پسورد برای انجام عملیات های مربوط به ادمین



eshpilen
دوشنبه 09 دی 1392, 08:23 صبح
من توی پروژم برای کارهایی که ادمین میکنه، مثل حذف اکانتها، تایید اکانت، Ban کردن و Unban کردن کاربران و غیره، نیاز به ورود پسورد نذاشتم. ولی تازگی به ذهنم رسید که از نظر اصولیش لازمه برای انجام چنین کارهای مهمی نیاز به ورود مجدد پسورد باشه (مثل عملیات هایی مثل تغییر ایمیل و پسورد که نیاز به ورود پسورد دارن) و نباید صرفا روی لاگین بودن کلاینت اتکا کرد.
درسته نه؟

ولی اینم که ادمین برای هرکدوم از این کارها بخواد زرت و زرت پسورد وارد کنه شاید در بعضی موارد آزاردهنده باشه و لزومی هم نداشته باشه.
بنابراین یه ایده ای بنظرم رسید!
میگم چطوره وقتی پسورد رو برای اینطور کارها وارد میکنه تا یک زمان کوتاهی سیستم این رو بخاطر بسپاره و در اون مدت نیازی به ورود مجدد پسورد برای انجام عملیات جدید نباشه. مثلا چطوره برای 5 دقیقه.
البته طبیعتا برنامهء من که آخر تنظیم و انعطاف هست این مورد رو هم توش قابل کانفیگ میذارم که بشه راحت تغییرش داد. حتی اگر لازم بشه میتونیم این امکان رو برای ادمین موقع وارد کردن پسورد هم بذاریم که خودش تعیین کنه (از میان چند گزینه که توی فایلهای کانفیگ برنامه هست) که زمان عدم نیاز به ورود مجدد پسورد چقدر باشه. اینطور مثلا اگر طرف توی خونش باشه و خیالش از بابت امنیت راحت باشه میتونه این زمان رو بیشتر تعیین کنه. البته این قضیه از نظر امنیتی بنظرم چندان جالب نمیاد چون احتمالا سرسری گرفته میشه و بخاطر تنبلی زمان رو همیشه یا در اغلب موارد روی زیاد تنظیم میکنن و شاید همون بهتر باشه که این گزینه فقط در فایل کانفیگ قابل تنظیم باشه.

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

abolfazl-z
دوشنبه 09 دی 1392, 09:38 صبح
درسته نه؟
100%

یک ایده ای دیگه ام به ذهن من هم رسید این هست که :

تمامی مواردی که انجام آن از دید امنیت حیاتی است را به روش ذیل انجام می دهیم.

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

eshpilen
دوشنبه 09 دی 1392, 11:57 صبح
ایدهء جالبیه شاید جایی به درد بخوره. روی همش فکر میکنم.
ولی زیاد دیگه فکر نمیکنم اونقدر کارها بخواد حجیم و پیچیده باشه که بخوایم اینطوری چند مرحله ایش کنیم.
من فقط به فکر امنیت لازم بودم که درحد ورود مجدد پسورد کفایت میکنه و البته اگر بتونیم یخورده منعطف تر و از نظر یوزرفرندلی بهترش کنیم خب خوبه.
ولی ایدش خوبه یوقت اگر موردی بود که شرایطش رو داشت میتونیم اینطور عمل کنیم که نیاز به ورود پسورد فقط یک بار باشه.

mtnam1372
دوشنبه 09 دی 1392, 14:52 عصر
فقط برای تغییر در اکانت مدیر کل خوبه
اما برای کار های دیگه مخالفم
ضرورتی نمیبینم
وسواس زیادی فقط کاربر رو از برنامه خسته میکنه

abolfazl-z
دوشنبه 09 دی 1392, 16:49 عصر
فقط برای تغییر در اکانت مدیر کل خوبه
اما برای کار های دیگه مخالفم
ضرورتی نمیبینم
وسواس زیادی فقط کاربر رو از برنامه خسته میکنه

خوب ما هم داریم در مورد ادمین بحث می کنیم دیگه :لبخندساده:

mtnam1372
سه شنبه 10 دی 1392, 18:41 عصر
خوب ما هم داریم در مورد ادمین بحث می کنیم دیگه :لبخندساده:

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

eshpilen
چهارشنبه 11 دی 1392, 08:00 صبح
اغلب بطور کلی توصیه میکنن که برای انجام عملیات حساس، پسورد بخوایم، حتی اگر طرف لاگین باشه.
بطور مثال در اغلب سیستمها مشاهده میکنید که برای تغییر پسورد یا ایمیل، پسورد جاری رو میخوان.
حالا اینکه علتش دقیقا چیه و اگر اینطور عمل نکنیم ممکنه چه سوء استفاده هایی صورت بگیره، سوال خوبیه و فکر میکنم جوابش به مورد ما هم ربط داشته باشه.

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


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

mtnam1372
پنج شنبه 12 دی 1392, 07:36 صبح
عزیزم دقت کن کثلا در سیستم های موفق جهانی مثل جوملا یا ورد پرس شما به عنوان مدیر کل راحت میتونید دیگر اکانت هارو حذف کنید بدون اینکه لاگین مجدد انجام بدین

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

به نظر من چون یه سیستم عمومی هست اصلا نیاز به وسواس های اینطوری نیست چون کاربر رو خسته میکنه
گاهی اوقات وسواس ها باعث میشن کاربر از استفاده از سستم شما پشیمون بشه(البته شما میگین سیستمم فیکس نیست)

امنیت خوبه اما باید با توجه به روانشناسی کاربر روشی رو انتخاب کرد که هم امن باشه و هم کاربر رو خسته نکنه

abolfazl-z
پنج شنبه 12 دی 1392, 16:33 عصر
عزیزم دقت کن کثلا در سیستم های موفق جهانی مثل جوملا یا ورد پرس شما به عنوان مدیر کل راحت میتونید دیگر اکانت هارو حذف کنید بدون اینکه لاگین مجدد انجام بدین

من که اصلا به این و اون نگاه نمی کنم ! شاید این و اون (:D) یک درصد اشتباه فکر کرده باشن ! (این نظر شخصیه بنده)


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

بر فرض مثال سشن شما بگیم لو رفته (به سختی) و یکی دیگه مثل شما لاگین کرده و می خواهد یک ضربه بزرگ به شما بزند. خوب اینجا وقت محدود هست چرا طرف پسورد رو نداره و اگر شما خارج بشین درواقع هکر هم خارج شده. حالا هکر میاد پسورد رو تغییر میدهد و شما هم که خارج شده اید و تا بیایید بفهمید که پسوردتان تغییر کرده و .... کار از کار گذشته یا در همان لحظه هکر کل کاربراتون رو پاک می کند و ...

در اکثر سیستم های وبلاگ دهی برای حذف کامل وبلاگ نیاز به وارد کردن دوباره پسورد هست چرا که کاری مهم می باشد.

mtnam1372
پنج شنبه 12 دی 1392, 17:52 عصر
اگه اینطوریه که اصلا باید خیلی کار های دیگم کرد شما فرض کن یکی یه کیلاگر روی سیستم مدیر سایت نصب کرده و.......

چه فرضیاتی میدین!سلیقه جالبی دارین

abolfazl-z
پنج شنبه 12 دی 1392, 23:13 عصر
اگه اینطوریه که اصلا باید خیلی کار های دیگم کرد شما فرض کن یکی یه کیلاگر روی سیستم مدیر سایت نصب کرده و.......

چه فرضیاتی میدین!سلیقه جالبی دارین
دوست خوب من گفتگو رو تند نکنید (داریم بحث می کنیم دیگه):لبخندساده:

خوب نه دیگه اینقدر !

ما تا جایی که میتونیم جلوی ضرر رو میگیریم. یعنی یک چیزی فراتر از حیطه کاریمان در امنیت .

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

eshpilen
شنبه 14 دی 1392, 08:00 صبح
عزیزم دقت کن کثلا در سیستم های موفق جهانی مثل جوملا یا ورد پرس شما به عنوان مدیر کل راحت میتونید دیگر اکانت هارو حذف کنید بدون اینکه لاگین مجدد انجام بدین
اینا که معیار نمیشن.
اولا که کلی نرم افزار معروف و حرفه ای دیگر هم هست که اینطور نیست. مثل همین ویبالتین که توش برای تغییر ایمیل و پسورد باید پسورد جاری رو وارد کنید.
دوما شاید اینا هم قابلیت کانفیگ یا نصب پلاگین برای فعال کردن چنین قابلیتی رو داشته باشن.
شما تمامی جزییات این CMS ها رو میدونید و مطمئنید چنین قابلیتی ندارن؟
سوما امنیت یک مبحث گسترده و پیچیده و تخصصی جدای از برنامه نویسی معمولی هست که حتی بهترین برنامه نویسان و بهترین برنامه ها هم خیلی راحت ممکنه در این زمینه ضعف داشته باشن.
چهارما منابع معتبر امنیتی که تخصص این چیزها رو دارن خلاف این رو میگن.
پنجما مثلا چند وقت پیش بحث سر الگوریتم هشی داشتیم که دروپال هم ازش استفاده میکنه. من میگفتم الگوریتمش بقدر کافی خوب و بهترین نیست. طرف میگفت پس چرا دروپال که در زمینهء امنیت تقریبا همیشه یکی از بهترین ها بوده ازش استفاده کرده. بنده گفتم شاید بخاطر Backward compatibility بوده. اتفاقا طرف رفت مثل اینکه از افراد مطلع و دروپالی ها سوال کرد بعد اومد گفت بله اونا هم همین رو گفتن!
پس باید توجه داشت که خیلی وقتا بخاطر Backward compatibility یک چیزی رو که چندان هم درست یا بهترین نیست ممکنه نگه دارن و تغییر ندن. بعدم بهرحال سویچ کردن و تغییر دادن ساختار و کدها هزینه داره و در خیلی موارد توجیه کافی نداره.
ولی یه برنامه ای که الان و از اول داره نوشته میشه خب این بحثها رو نداره یا خیلی کمتر داره.
ششما...
خلاصه این طرز استدلال بنظر من استدلال چندان قوی ای نیست و قانعم نمیکنه.
درمورد هرچیزی باید تحقیق کرد و همینطور کار رو از سر باز نکرد که بگیم فلان برنامه های معروف دارن استفاده میکنن پس مشکلی نداره.
همونطور که در مورد امنیت هم یا باید از کسی که متخصص امنیت و رمزنگاری است کمک بگیرید/در تیم خودتون داشته باشید و یا خودتون برید و یاد بگیرید. اینطوری وصله و پینه ای و با حدس و تصور چیز خوبی از آب درنمیاد.
یعنی اصولیش اینه. حالا وقت ندارید پول ندارید حال ندارید اون بحث دیگری هست.


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


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

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


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

eshpilen
شنبه 14 دی 1392, 08:06 صبح
ضمنا درمورد اینکه چرا برای اینطور عملیات نیاز به وارد کردن پسورد هست باید تحقیق اصولی تری انجام بشه و کامل و دقیق علت هاش مشخص بشه.
سناریوها باید اول معلوم بشن تا بعد بدونیم چرا باید چکار کنیم.
مثلا علت هایی که من بنظرم میرسه یکی اینه که سیستمی که ادمین توش لاگین است زیر دست کس دیگری بیفته بصورت تصادفی.
چه میدونم حتی بچه ها توی خونه ممکنه بیان به سیستم شما دست بزنن. نباید اینقدر آب زیپو باشه که همینطور تصادفی چندتا کلیک بکنن و اکانت ملت حذف بشه!!
یوقت هم ممکنه کس دیگری سوء استفاده بکنه.
بعد یک احتمال دیگر هم سرقت شدن کوکی احراز هویت هست.
اما شاید سناریوهای دیگری هم درکار باشن.
برای اطمینان باید سوال و تحقیق کنیم.

mtnam1372
شنبه 14 دی 1392, 09:29 صبح
شرمنده من اصلا وقت برای توضیحات اضافه ندارم(تو امتحاناتم-کارمم هست)
کوتاه ومختصر


دوست خوب من گفتگو رو تند نکنید (داریم بحث می کنیم دیگه)

شرمنده تندی در کار نبود همینطوری نوشتم


شما تمامی جزییات این CMS ها رو میدونید

من سال هاست با جوملا کار میکردم(یک ساله گذاشتم کنار) در مورد مدیریت اکانت هاش مطمئن هستم


دوما شاید اینا هم قابلیت کانفیگ یا نصب پلاگین برای فعال کردن چنین قابلیتی رو داشته باشن.

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



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

مشابه جمله خودم در کتاب امنیت به زبان خودمونی


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

من تحقیق زیادی در مورد روانشناسی کاربر در برنامه نویسی داشتم
یه مثال ساده در رابطه با مخالفتم با این کار میزنم

ویندوز ویستای ماکروسافت رو یادتونه؟؟

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

ماکروسافت همین موضوع رو در ویندوز هفت جای داد اما با این تغییرات
1- شما میتونستین این قابلیت رو غیر فعال کنید
2- این قابلیت سطح بندی شده بود و شما میتونید در سطوح مختلف کانفیگ کنید

نکته اینکه امنیت خیلی خوبه اما به چه قیمتی؟
امنیت خیلی خوبه اما نه باروشی که کاربر روخسته کنه

یه مثال خارج از گودم بزنم واسه در ک بهتر

مردم گوشی های لمسی میخریدن اما این گوشیا یه عیب داشت تاچش بعد از یه مدت خط بر میداشت
یه سری شرکتا اومدن پیشنهاد دادن از پد های پلاستیکی استفاده کنید
اینطوری مشکل حل میشد اما کاربر راحت نبود

در همین حین چنتا شرکت دیگه اومدن از شیشه های ضد خش استفاده کردن
اینطوری دیگه صفحه خش بر نمی داشت کاربر هم هیچ احساس نا خشایندی نداشت چون هی چیز اضافه ای روی صفحه نبود
(روش دوم هم مشکل رو حل کرد اما کاربر درگیری اضافه ای نداشت)




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

mtnam1372
شنبه 14 دی 1392, 09:40 صبح
دوتا نکته از قلم افتاد


چه میدونم حتی بچه ها توی خونه ممکنه بیان به سیستم شما دست بزنن. نباید اینقدر آب زیپو باشه که همینطور تصادفی چندتا کلیک بکنن و اکانت ملت حذف بشه!!

تو خونه ما چیزای خطر ناک زیاد داریم مثل دارو ها - سموم - مواد شوینده و... که اگر بچه بره و بخوره احتمال اینکه بمیره خیلی زیاده(خطر این از خطر پاک شدن یوزر ها بیشتره)

اما شرکت دارو ساز یا سم ساز برای امن سازی این امر چیکار کرده؟
روی در دارو و سموم قفل زده؟
برای باز شدن در دارو یوزر نیم و پسورد میخاد؟
نه!!!
اون فقط روی دارو نوشته هشدار دور از دسترس کودکان
همین
پدر مادر اینقدر متوجه هستن که اونو دور از دسترس کودک بزارن

برای این امر که شما میگین بچه بره یوزر هاروپاک کنه
شما میتونید قبل از نصب یه قسمت هشدار قرار بدین و اطلاعات اینجوری رو به کاربر گوشزد کنین


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

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

برای مثال در مورد سیستم لاگین ورد پرس یه تحقیقی انجام بدین


بازم شرمنده
یا علی

eshpilen
شنبه 14 دی 1392, 10:20 صبح
تو خونه ما چیزای خطر ناک زیاد داریم مثل دارو ها - سموم - مواد شوینده و... که اگر بچه بره و بخوره احتمال اینکه بمیره خیلی زیاده(خطر این از خطر پاک شدن یوزر ها بیشتره)

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

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


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

برای مثال در مورد سیستم لاگین ورد پرس یه تحقیقی انجام بدین

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

mtnam1372
شنبه 14 دی 1392, 11:03 صبح
حذف کردن اکانت دوتا ویژگی داره: 1- کار حساس و معمولا برگشت ناپذیری است 2- کاری نیست که بخوایم روتین و زیاد انجام بدیم.

بله اما منظورم اینکه دنبال راه حل های بهتر باشیم اونم بدون درد و خونریزی

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

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


(البته شما گفتین امکانات رو اپشنال میکنید و این درواقع خیلی خوبه)

در مورد دزدی کوکی یه راه خیلی سادشو من در کتابی که توی همین برنامه نویسم هست نوشتم
یکی از روش های خوبشم همون روش ورد پرس هست که استفاده از httponlyflag هست که کافیه این کلمه رو در گوگل سرچ کنید
شما میتونید روش های مختلف رو ترکیب کنیدو عیبای همدیگرو اینطوری جبران کنید


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

eshpilen
شنبه 14 دی 1392, 11:32 صبح
بله اما منظورم اینکه دنبال راه حل های بهتر باشیم اونم بدون درد و خونریزی یه پسورد وارد کردن هرچند وقت یک بار هم فکر نمیکنم بشه بهش گفت درد و خونریزی.
تازه با انعطاف و کانفیگی که من گذاشتم و گزینهء بخاطرسپاری رو هم داره برای مواقع خاص.


یه مثال خیلی کوچیک میزن تا ذهنتون اماده بشه
شما بجای اینکه دوبار لاگین و ... بذارین یه ری سای کلبین به برنامتون اضافه کنین
وقتی مدیر یه کاربر روپاک میکنه کاربر تماما غیر فعال میشه و تمامی امور مربوط به اون محو میشن اما فقط از دید مدیر
و اطلاعاتش در جایی به نام ری سای کلبین نگهداری میشن (تا یه مدت محدود مثلا یک ماه) اگر مدیر تو این مدت فهمید اشتباه پاک کرده خیلی راحت میتونه کاربر رو برگردونه اما اگر در این مدت اقدامی نکرد برنامه پس از یک ماه به صورت واقعی کاربر خودکار حذف خواهد کرددقت کنی منم بخاطر همین گفتم «معمولا برگشت ناپذیر». چون همین مورد برگشت پذیری توی ذهنم بود و قبلا دیدم چنین چیزهایی.
این بد نیست، اما بازم بنظر من کافی نیست.
در بعضی سیستمها و کاربردها حتی بصورت موقتی هم نباید این ریسک وجود داشته باشه. مثلا درنظر بگیرید در یک سیستم حراجی آنلاین.
بعدم بهرحال آزاره برای اون کاربری که اشتباها اکانتش حذف شده.
حالا باید منتظر باشه تا آیا ادمین متوجه بشه و کی متوجه بشه و حتی بهش ایمیلی چیزی هم زده باشیم باز معلوم نیست کی چک کنه متوجه بشه و درست و به موقع رسیدگی کنه یا نه.
ضمنا ما میتونیم هم گزینهء پسورد و هم سطل آشغال رو با هم داشته باشیم. منافاتی با هم ندارن. هردو میتونن همزمان مفید یا لازم باشن.


در مورد دزدی کوکی یه راه خیلی سادشو من در کتابی که توی همین برنامه نویسم هست نوشتم
یکی از روش های خوبشم همون روش ورد پرس هست که استفاده از httponlyflag هست که کافیه این کلمه رو در گوگل سرچ کنید
شما میتونید روش های مختلف رو ترکیب کنیدو عیبای همدیگرو اینطوری جبران کنید


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

بنده همهء این موارد رو میدونم و در پروژم لحاظ کردم.
خودتم آخرش گفتی که بازم امنیت کامل نداره.
نه فقط کوکی ها امنیت مطلق ندارن، بلکه حتی چون بیشتر سایتها دارن از HTTP (بدون SSL/TLS) استفاده میکنن، اینم خودش یک ضعف امنیتی محسوب میشه که میتونه برای سرقت کوکی استفاده بشه.
البته ما حتی با نیاز به پسورد هم نمیتونیم این ضعف های اساسی رو کاملا پوشش بدیم، اما حداقل از هیچی فکر میکنم خیلی بهتر باشه.
همونطور که گفتم، حداقل باید آپشنش در برنامه باشه.
ما نمیتونیم به این راحتی تمام سناریوها و شرایط رو پیشبینی کنیم و یک فرمول کلی دقیق و ثابت برای همشون بدیم.

dsnweb
شنبه 10 اسفند 1392, 22:27 عصر
سلام
بزرگترین سایت برنامه نویسی و طراحی سایت و گرافیک > به درتون می خوره ....لطفا بازید کنید و نظرتان را در مورد سایت در انجا بگوید ..

*********************************** دیزان وب ************************************