PDA

View Full Version : گفتگو: چطوری با اینکه سورس کامل برنامه در دست باشد کلمات عبور قابل نفوذ نباشد



alireza_tavakol
پنج شنبه 22 مرداد 1388, 21:45 عصر
این تاپیک به عنوان اولین نتیجه گیری علمی از تاپیک غیر علمی ... (http://www.barnamenevis.org/forum/showthread.php?t=172723) می باشد


طرح سوال :

من یه برنامه Open Source دارم ( سرس کامل برنامه اعم از فایل EXE و DLL و کلیه اجزا برنامه ام با سرس کامل ارائه شده ).

داخل اون برنامه قراره با پایگاه داده ارتباط برقرار کنم .

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


با تشکر از دوستان پاسخ دهند:لبخندساده:

linux
جمعه 23 مرداد 1388, 00:23 صبح
این تاپیک به عنوان اولین نتیجه گیری علمی از تاپیک غیر علمی ... (http://www.barnamenevis.org/forum/showthread.php?t=172723) می باشد


طرح سوال :


من یه برنامه Open Source دارم ( سرس کامل برنامه اعم از فایل EXE و DLL و کلیه اجزا برنامه ام با سرس کامل ارائه شده ).
داخل اون برنامه قراره با پایگاه داده ارتباط برقرار کنم .
به نظر شما من باید کجا و به چه فرمی رشته اتصال پایگاه داده هام رو ذخیره کنم تا هیچ نفوذگر نتواند به اطلاعات ذخیره شده در بانک من دسترسی پیدا کند ؟
با تشکر از دوستان پاسخ دهند:لبخندساده:
در 1001 مثالی که اولین پست این تالار هست وجود داره بگردید پیدا می کنید.

alireza_tavakol
جمعه 23 مرداد 1388, 19:05 عصر
در 1001 مثالی که اولین پست این تالار هست وجود داره بگردید پیدا می کنید.

من توی تاپیک 1001 نکته در سی شارپ (http://www.barnamenevis.org/forum/showthread.php?t=95001) جستجو کردم ولی چیزی پیدا نکردم

لطفا چند تا کلید واژه واسه جستجو بهم معرفی کنید:افسرده:

اَرژنگ
یک شنبه 25 مرداد 1388, 15:09 عصر
http://msdn.microsoft.com/en-us/library/bb655884.aspx
http://msdn.microsoft.com/en-us/library/bb655891.aspx

alireza_tavakol
یک شنبه 25 مرداد 1388, 18:36 عصر
http://msdn.microsoft.com/en-us/library/bb655884.aspx
http://msdn.microsoft.com/en-us/library/bb655891.aspx

با سلام و تشکر من لیکی رو که داده بودید کامل مطالعه کردم ولی اون چیزی نبود که من انتظار داشتم !

در روش گفته شده رشته اتصال در فایل app.config ذخیره میشه و هیچ امنیت وافری دیده نمیشه

پس هر کسی source برنامه من رو ببینه می تونه رمز پایگاه داده من رو هم ببینه

اَرژنگ
جمعه 30 مرداد 1388, 05:13 صبح
با سلام و تشکر من لیکی رو که داده بودید کامل مطالعه کردم ولی اون چیزی نبود که من انتظار داشتم !

در روش گفته شده رشته اتصال در فایل app.config ذخیره میشه و هیچ امنیت وافری دیده نمیشه

پس هر کسی source برنامه من رو ببینه می تونه رمز پایگاه داده من رو هم ببینه

برایه اتصال به داتابیس از رمز استفداه نمیشه، از تراستد کانکشن استفاده میشه:


Trusted Connection
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
هیچ کسی رمزی را در سورس کد نمیگذاره (چه دات.نت و غیره دات نت).
در ضمن، البته با روشی که خودتان استفاده میکنید نتیجه گیریتان درست است، ولی ربطی به روشهایه استاندارد برنامه نویسی ندارد .

linux
جمعه 30 مرداد 1388, 10:42 صبح
من توی تاپیک 1001 نکته در سی شارپ (http://www.barnamenevis.org/forum/showthread.php?t=95001) جستجو کردم ولی چیزی پیدا نکردم

لطفا چند تا کلید واژه واسه جستجو بهم معرفی کنید:افسرده:

خوب نگشتی!
http://barnamenevis.org/forum/showpost.php?p=467921&postcount=29
http://barnamenevis.org/forum/showpost.php?p=467922&postcount=30

alireza_tavakol
جمعه 30 مرداد 1388, 13:32 عصر
خوب نگشتی!
http://barnamenevis.org/forum/showpost.php?p=467921&postcount=29
http://barnamenevis.org/forum/showpost.php?p=467922&postcount=30

با تشکر از حسن توجه شما دوست عزیز ( linux ) :لبخندساده:

راستشو بخواهید من این دو تا پست رو قبلا" دیده بودم ولی اصلا" نفهمیدم چطوری و چگونه باید از Encrypt و Decrypt استفاده کنم تا کسی نفهمه رشته اتصال چی بوده:کف:

منظورم اینکه اگه فرضا" با این روش گفته شده رشته اتصال رو Encrypt کنم و توی app.config ذخیره کنم و در جای دیگه برنامه با این روش گفته شده Decrypt کنم تا رشته اتصال از حالت رمز خارج بشه امنیت حفظ نمیشه ، چون سورس برنامه به صورت open در اختیال همگان قرار داره افراد نفوذگر به راحتی با همون الگوریتمی که من Decrypt کرده ام محتویات app.config رو رمز گشایی میکنن و به رشته اتصال پی میبرند:اشتباه:

alireza_tavakol
جمعه 30 مرداد 1388, 13:36 عصر
برایه اتصال به داتابیس از رمز استفداه نمیشه، از تراستد کانکشن استفاده میشه:


Trusted Connection
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;


با سلام و تشکر

لطفا" در رابطه با تراستد کانکشن توضیح دهید ، یعنی با این رشته اتصال چطوری هویت کسی که قرار به server متصل بشه احراز میشه:متفکر:

alireza_tavakol
دوشنبه 02 شهریور 1388, 02:33 صبح
من همچنان نیاز مند یاری سبزتان هستم

با تشکر

اَرژنگ
دوشنبه 02 شهریور 1388, 08:40 صبح
من همچنان نیاز مند یاری سبزتان هستم

با تشکر

Connect to SQL Server Using Windows Authentication
http://msdn.microsoft.com/en-us/library/ms998292.aspx

alireza_tavakol
دوشنبه 02 شهریور 1388, 12:46 عصر
با تشکر از پاسخ شما

ولی این لینکی که داده بودین برای متصل شدن به SLQ Server بود با این شرط که سرور من با حالت Windows Authentication تنظیم شده باشه ، در صورتی که سرور و پایگاه داده من در حالت SQL Server Authentication تنظیم شده است

اَرژنگ
دوشنبه 02 شهریور 1388, 12:52 عصر
با تشکر از پاسخ شما

ولی این لینکی که داده بودین برای متصل شدن به SLQ Server بود با این شرط که سرور من با حالت Windows Authentication تنظیم شده باشه ، در صورتی که سرور و پایگاه داده من در حالت SQL Server Authentication تنظیم شده است

این روش قدیمی است که دیگر ازش استافده نمیشه.
مایکروسافت این را فقط برایه پشتیبانی از روشهایه قدیمی ورنداشته ولی دیگر کسی از روش SQL Server Authentication استفاده نمیکند.

alireza_tavakol
دوشنبه 02 شهریور 1388, 13:03 عصر
این روش قدیمی است که دیگر ازش استافده نمیشه.
مایکروسافت این را فقط برایه پشتیبانی از روشهایه قدیمی ورنداشته ولی دیگر کسی از روش SQL Server Authentication استفاده نمیکند.

پس امنیت SQL توی شبکه محلی چه طوری حفظ میشه؟:متعجب:

اَرژنگ
دوشنبه 02 شهریور 1388, 13:09 عصر
پس امنیت SQL توی شبکه محلی چه طوری حفظ میشه؟:متعجب:
با استفاده از Windows Authentication.
روش درست استفاده از Windows Authentication است. چرا از Windows Authentication استفاده نمیکنید؟

alireza_tavakol
دوشنبه 02 شهریور 1388, 15:01 عصر
با استفاده از Windows Authentication.
روش درست استفاده از Windows Authentication است. چرا از Windows Authentication استفاده نمیکنید؟

من به صورت حرفه ای با SQL Server کار نکردم ولی تا انجایی که اطلاع دارم

وقتی من نرم افزار SQL server رو نصب میکنم ازم می پرسه ، سرور در حالت SQL Server Authentication یا Windows Authentication قرار بگیره

حالا اگه من از گزینه Windows Authentication استفاده کنم به این معنی هستش که هر کاربری که توانست توسط پنجره user login سیستم عامل ویندوز به این کامپوتر متصل بشه(سرور پایگاه داده) ،به console نرم افزار Microsofte SQL Server یعنی همان Enterprise Manager هم متصل بشه و در نهایت به تمام پایگاه داده های موجود در اون سیستم دسترسی داشته باشه با بالا ترین سطح دسترسی Admin

ولی اگه من گزینه SQL Server Authentication رو انتخاب کنم خود نرم افزار SQL Server مامور حفظ امنیت خودش خواهد شد به شکلی که قابلیت تعریف کاربران متفاوت رو پیدا خواهد کرد ( یعنی مثلا" یک کاربر مخصوص پشتیبان گیرای از پایگاه داده ها میشه یک کاربر دیگه فقط می تواند پایگاه داده جدید تعریف کنه و ...)

حالا اگه من از گزینه Windows Authentication رو انتخاب کنم network administrator قابلیت های DBMS Admin رو هم داره و این یعنی کاهش امنیت داده ها در بانک
__________________________________________________ _
چون بحث در رابطه با رشته اتصال امن مطرح شده امید وارم این توضیحات اف تاپیک حساب نشه

اَرژنگ
دوشنبه 02 شهریور 1388, 15:04 عصر
من به صورت حرفه ای با SQL Server کار نکردم ولی تا انجایی که اطلاع دارم

وقتی من نرم افزار SQL server رو نصب میکنم ازم می پرسه ، سرور در حالت SQL Server Authentication یا Windows Authentication قرار بگیره

حالا اگه من از گزینه Windows Authentication استفاده کنم به این معنی هستش که هر کاربری که توانست توسط پنجره user login سیستم عامل ویندوز به این کامپوتر متصل بشه(سرور پایگاه داده) ،به console نرم افزار Microsofte SQL Server یعنی همان Enterprise Manager هم متصل بشه و در نهایت به تمام پایگاه داده های موجود در اون سیستم دسترسی داشته باشه با بالا ترین سطح دسترسی Admin

ولی اگه من گزینه SQL Server Authentication رو انتخاب کنم خود نرم افزار SQL Server مامور حفظ امنیت خودش خواهد شد به شکلی که قابلیت تعریف کاربران متفاوت رو پیدا خواهد کرد ( یعنی مثلا" یک کاربر مخصوص پشتیبان گیرای از پایگاه داده ها میشه یک کاربر دیگه فقط می تواند پایگاه داده جدید تعریف کنه و ...)

حالا اگه من از گزینه Windows Authentication رو انتخاب کنم network administrator قابلیت های DBMS Admin رو هم داره و این یعنی کاهش امنیت داده ها در بانک
__________________________________________________ _
چون بحث در رابطه با رشته اتصال امن مطرح شده امید وارم این توضیحات اف تاپیک حساب نشه
اطلاعاتتان درست نیست، نتیجه گیریهایی که دارید اصل ندارد، در مورد کار با Windows Authentication مطالعه کنید.