PDA

View Full Version : امنیت اطلاعات در مقابل شنود در طول مسیر



hamed_bostan
دوشنبه 09 مهر 1386, 13:54 عصر
باسلام خدمت دوستان عزیز .
یکی از دغدغه های خیلی مهم برنامه نویسا امنیت اطلاعاتشون از لایه اینترفیس برنامه تا نشستن توی دیتابیس و بالعکس هست . میخواستم اگه میشه یه پیشکسوت این وسط استینی بالا کنه و یه کم من و ما رو در این زیمنه راهنمایی کنه.
من به عنوان یه برنامه نویس تحت وب چطور میتونم برنامهام رو در برابر شنود اطلاعاتم در مسیر و ... ایمن کنم . ممنون از توجهتون

Behrouz_Rad
دوشنبه 09 مهر 1386, 15:01 عصر
از SSL استفاده کن. اگر هزینش رو نداری، داده ها رو در سمت کلاینت کد کن و سپس منتقل کن.
معمولا این مورد برای امنیت کلمه های عبور و کارت های اعتباری هست که در 99 درصد موارد صفحه ای که اطلاعات حساس از طریق اون منتقل میشه از SSL استفاده می کنه.

موفق باشید.

hamed_bostan
دوشنبه 09 مهر 1386, 20:57 عصر
بهروز جان منظورت از کد کردن چیه؟ ببین سایتی که من رو اینترنت دارم و داره اطلاعات یه کاربر رو میگیه یه سمتش اینترفیس برنامه ام هست و یه سمت دیگه اش دیتابیس . خوب من فرضا بیام اطلاعات رو تو اینترفیس زمان ارسال کد کنم اونوقت در سمت دیتابطس چطور decode کنم؟؟؟
ضمنا هاست من فرض کن ssl رو ساپرت کنه چطور باید ازش استفاده کنم؟ کد نویسی خاصی داره؟؟؟
اگه مقاله ای چیزی سراغ داری واسه امنیت در این مورد ممنون میشم و اینکه چطوری در این وسط افراد اطلاعات رو شنود میکنن؟
ممنون از توجهت

Behrouz_Rad
دوشنبه 09 مهر 1386, 21:34 عصر
کد کردن در سمت کلاینت برای زمانی مناسب هست که قرار نباشه داده ها در سمت سرور Decode بشن!
مثل مثال هایی که در پست قبلیم گفتم. در این حالت میشه با استفاده از الگوریتمی مثل MD5، داده ها رو در سمت کلاینت کد کرد.
برای امنیت به شکلی که میگی، تنها راه استفاده از SSL هست که هاست مربوطه هزینه ای رو برای اعطای Certificate ازت دریافت می کنه.
برای اطلاع از نحوه ی استفاده از SSL مقاله ی ذیل رو بخون:
http://www.codeproject.com/aspnet/WebPageSecurity_v2.asp

موفق باشید.

houtanal
دوشنبه 09 مهر 1386, 22:04 عصر
اگر اطلاعات خیلی حساسی داری احتمالا ً استفاده از روش های معمول SSL هم نمی تونه در مقابل کسی که بخواد این اطلاعات در بین راه شنود کنه خیلی کمکت کنه و باید بسته به مجموعه سیستمت دنبال راه حل ایمن تری باشی.

Behrouz_Rad
دوشنبه 09 مهر 1386, 22:07 عصر
اگر اطلاعات خیلی حساسی داری احتمالا ً استفاده از روش های معمول SSL هم نمی تونه در مقابل کسی که بخواد این اطلاعات در بین راه شنود کنه خیلی کمکت کنه و باید بسته به مجموعه سیستمت دنبال راه حل ایمن تری باشی.
هوتن، چه روشی رو پیشنهاد می کنی؟

houtanal
دوشنبه 09 مهر 1386, 22:22 عصر
http://barnamenevis.org/forum/showthread.php?t=45371
http://barnamenevis.org/forum/showthread.php?t=5181&highlight=%D8%A7%D9%85%D9%86%DB%8C%D8%AA+%D9%88%D8 %A8

البته منطقی ترین راهش اینه که پول بدی یک آدم اینکاره که درک مناسبی از این مفاهیم داره (نه امثال من) یه حالی به سیستمت بده.

Behrouz_Rad
دوشنبه 09 مهر 1386, 23:02 عصر
بی خیال هوتن... ;)
اون روش ها خیلی خاصن و مورد کاربرد محدودی دارن... همون SSL کفایت می کنه. ;)

hamed_bostan
سه شنبه 10 مهر 1386, 00:06 صبح
نه بهروزجونم . من دقیقا منظورم لینک اولی بود که اقا هوتن گذاشتن . هرچند روش ssl رو هم بلد نبودم و با مثالی که واسه ام گذاشتی متوجه شدم اما خوب منم مشکلم دقیقا مشکل تاپیک اولیه که اقا هوتن گذاشته . من می خوام یه سری سیستم های خاص دسترسی داسته باشند و نتونن حتی تو خونه با سیستم خودشون هم وارد بشن و سرویس بگیرن یا به کسی بدن .
اما خوب فکر کنم ساده ترین روش واسه امنیت در مسیر جهت جلوگیری ازشنود ssl باشه درسته؟
ممنون میشم اگه بازم در مورد امنیت و امنیت انتقال دیتااگه موردی هست توضیح بدین چون مطمعنم خیلی از دوستان برنامه نویس منهم به امنیت خیلی توحه ندارن چون روش های امن کرن سایت رو بلد نیستن و حفره ها رو نمیدونن . ممنون میشیم یکی که حوصله داره و اطلاعاتش رو داره به صورت جامعی راهنمایی مون کنه که این حفره ها رو بدونیم تا جلوشو بگیریم
ممنون

hamed_bostan
سه شنبه 10 مهر 1386, 01:07 صبح
بهروزجان اون برنامه توی code projct رو گرفتم اما به یه namespase خطا میگیره و منم نتونستم تو فایلا و .. پیداش کنم . حتی demo اش هم کار نکرد .چی کنم؟

houtanal
سه شنبه 10 مهر 1386, 02:16 صبح
همون SSL کفایت می کنه.
همین SSL ؟

illegalyasync
سه شنبه 10 مهر 1386, 04:04 صبح
houtanal من منظورت از عکس بالا رو متوجه نشدم
اما بر اساس اطلاعات امروز SSL یکی از بهترین روشهای حفظ ایمنی ارتباط است به شرط اینکه CA معتبر باشه و کاربر هم احمق نباشه . اگر با وجود این فرضها کسی ادعا میکنه خللی در ایمنی SSL هست خیلی دوست دارم بنویسه و منم بخونم
ممنون

houtanal
سه شنبه 10 مهر 1386, 04:14 صبح
کاربر هم احمق نباشه
مهمترین مشکل هم همینه که عموم کاربرها زمانی که اخطار مرورگرشونو در مورد عدم صحت SSL می بینند توجهی بهش نمی کنند.
اکثر سیستم های وبی که من دیدیم با همین SSL کارشون راه می افته اما تو بهتر از من میدونی برای سیستم هایی که واقعا ً نیاز به امنیت دارند(در نتیجه کسانی هستند که دانش ، وقت و توجیه نفوذ به اون ها رو واقعا ً داشته باشند) SSL به تنهایی مثل بستن در ورودی یک خونه معمولی بدون قفل کردنشه که می تونی هر وقت خواستی از کارت ملیت بعنوان کلیدش استفاده کنی.

illegalyasync
سه شنبه 10 مهر 1386, 04:32 صبح
آره کاربر احمق که هزینه بی دقتی یا بی سوادیشو میده
اما یه نکته هست که من بارها دیدم مطرح شده ( مثل الان ) و باعث قاطی شدن دو تا مسئله جدا از هم میشه

وظیفه SSL نگهداری امنیتی سرور یا حفاظت از برنامه وب نیست . اصلا بطور کل SSL نه کاری به سرور داره نه خود برنامه . تنها و تنها وظیفه SSL رمزنگاری و رمزگشائی و سازوکار بین این دو هنگام مبادله هستش . برای همین اگر به SSL فقط از دید وظیفه ای که داره نگاه کنیم کاملا راه حل خوبی هست یعنی الان کسی نمیتونه ادعا کنه میتونه ترافیک یه لینک SSL با CA معتبر و کاربر با سواد رو اسنیف کنه
بله امنیت یه برنامه وب مفهوم خیلی بزرگی هستش که SSL فقط یه قسمتیشه و قطعا خودش به تنهائی معجزه نمیکنه . این حرف کاملا درستی هست

hamed_bostan
سه شنبه 10 مهر 1386, 05:04 صبح
کاربر هم احمق نباشهمن شرمنده ام که وسط بحث مهندسیتون با کلنگ اومدم وسط اما اگه ممکنه بگطن ssl چه ربطی به کاربر احمق داره؟ مگه چیزی دست کاربره؟
میشه واضح تر توضیحش بدین چون مطمعنم خیلی های دیگه هم مثل من این مفاهیم و مسائل رو نمیدونن چیه .

Behrouz_Rad
سه شنبه 10 مهر 1386, 10:55 صبح
نه بهروزجونم . من دقیقا منظورم لینک اولی بود که اقا هوتن گذاشتن . هرچند روش ssl رو هم بلد نبودم و با مثالی که واسه ام گذاشتی متوجه شدم اما خوب منم مشکلم دقیقا مشکل تاپیک اولیه که اقا هوتن گذاشته .

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


من به عنوان یه برنامه نویس تحت وب چطور میتونم برنامهام رو در برابر شنود اطلاعاتم در مسیر و ... ایمن کنم .

و من گفتم که باید از SSL استفاده کنی... اینکه وسط راه سوالت عوض شده مرا چه تقصیر؟ ;)


بهروزجان اون برنامه توی code projct رو گرفتم اما به یه namespase خطا میگیره و منم نتونستم تو فایلا و .. پیداش کنم . حتی demo اش هم کار نکرد .چی کنم؟

اگر مشکلی در رابطه با اون مقاله یا کدهاش داری، در همون مقاله Comment بگذار تا نویسنده ی مقاله بهت پاسخ بده.


من شرمنده ام که وسط بحث مهندسیتون با کلنگ اومدم وسط اما اگه ممکنه بگطن ssl چه ربطی به کاربر احمق داره؟ مگه چیزی دست کاربره؟

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

در نهایت SSL در حال حاضر بهترین راه برای فراهم نمودن یک بستر امن برای رد و بدل اطلاعات در سایت های اینترنتی محسوب میشه.

موفق باشید.

hamed_bostan
سه شنبه 10 مهر 1386, 13:11 عصر
من گفتم که باید از SSL استفاده کنی... اینکه وسط راه سوالت عوض شده مرا چه تقصیر؟
ما چاکر اقای راد هم هستیم


به کارش ادامه بده خودش رو در سراشیبی سقوط قرار داده ;)

سراشیبی سقوط طعنی چی؟ یعنی چی میشه؟


در نهایت SSL در حال حاضر بهترین راه برای فراهم نمودن یک بستر امن برای رد و بدل اطلاعات در سایت های اینترنتی محسوب میشه.

ممنونم

Behrouz_Rad
سه شنبه 10 مهر 1386, 13:22 عصر
سراشیبی سقوط طعنی چی؟ یعنی چی میشه؟
یعنی اطلاعات به صورت Plain Text (متن ساده) رد و بدل میشن.

موفق باشید.

hamed_bostan
سه شنبه 10 مهر 1386, 15:34 عصر
Oopse. اها حاال افتاد.
پس در اینجا به هرحال بستکی به کاربر داره
ممنون

hamed_bostan
سه شنبه 10 مهر 1386, 23:25 عصر
اینو توی search هام پیدا کردم . فکر کنم واه دوستای تازه کاری مثل خودم خوب باشه:

http://msdn2.microsoft.com/en-us/library/aa302409.aspx