يه بحث در مورد امنيت تو asp.net (شما هم يه نظري بديد؟)

دوستان سلام
يكي از بزرگان يه بحث راه انداخته تويه اين روم
در مورده امنيت در php
منم مي خواستم اگه شما مايل باشيد
با هم اين بحث در مورد net . دنبال كنيم
اگه پايه ايد بگيد بسم الله
تا همه يه استفاده اي بكنند :lol:
 
باشه مهندس اینم حركت ما
همونطور که همه میدونید ما امنیت رو برای یه سایت میتونیم به سه صورت جهت شناسائی کاربران و اعطای مجوزهای لازم در جهت دستيابی و استفاده از يک برنامه وب ، تعریف کنیم
کد:
·	 Windows Authentication 
·	 Forms Authentication 
·	 Passport Authentication
خوب قبل از هر چیز باید بگم که هدفم برسی موشکافانه تر این قسمت هاست نه صحبت در مورد هرکدوم از اونها
(جهت آموزش در مورد هر یک از این مطالب میتونید به سایت http://www.srco.ir مراجعه کنید)

ما در روش Forms Authentication براي كلمه عبور به تعداد اندك از كد زير استفاده مي كنيم
کد:
Web.Config setting for Forms Authentication
 <authentication mode="Forms">
    <forms loginUrl = Login.aspx" >
          <credentials passwordFormat = "Clear" >
                  <user name = "Ali"       Password ="110" />
                  <user name = "Kaveh" Password ="111" />
         </credentials>
    </forms>
</authentication>
من در مقالات زيادي ديدم كه اين روش رو ناامن به حساب ميارن و ميگن كلمه عبور نبايد تو
Web.config باشه ولي نميگن كه بابا اين پسورد كجا بزاريم البته منظور تو ديتابيس هم نيست
خوب پس به نظر شما در اين روش كلمه عبور بايد كجا باشه؟ :roll:
خوب حالا شما هم يه قدم بيايد تا ما ادامه بديم (آخه من تنهايي خجالت مي كشم :wink: )
 

pedramza

Member
سلام:
درسته كه فايل هاي Web.config از طريق URL قابل دسترسي نيستند ! با اين وجود به نظر من هم بهتر كه password توي Web.config نباشه.
جاش تو همون DB بهتره ...
 
سلام تو Db بهتره اما اينكه بخوايم براي يكي دو تا User از Db استفاده كنيم يه كمي جالب نيست.تازه براي Free Host ممكنه Db رو Suport نكنه و...
البته يه روش ديگه كه من خودم هم از اون استفاده مي كنم اينه كه پسورد تو COde behind(Code Vb) ميزارم اما به امنيت اونم شك دارم.
آقا بازم تاكيد مي كنم من هدفم اين نيست كه من تويه اين قسمت فقط خودم سوال كنم بلكه هر كسي سوال خودش بپرسه تا مواردي كه ممكنه من يا شما بهش توجه نمي كرديم مشخص بشه.....
 
دوباره سلام
من اين بحث يه جا ديگه مطرح كرد ه بودم

با سلام خدمت اساتید و دوستان
می خواستم ببینم امنترين راه استفاده از databaseبه نظر شما چیه
به صورت web server,web app
اصلا چه جوری میشه کاری کرد که db ما قابل دسترسی مستقیم از طریق url نباشه
كلا هر چي مي دونيد خواهشا رو كنيد
و پاسخ شما
سلام دوست عزيز:

به نظر من بهتره كه روي هاستتون DBها رو روي Parent شاخه ريشه سايتتون آپلود كنيد...
من امتحان كردم جواب داده ! فقط اميدوارم كه منظورم رو رسونده باشم !!!
در اين مورد بايد بگم توي همين سايت و جاهاي ديگه خوندم كه ميگن نبايد DBها رو روي Parent شاخه ريشه سايتتون آپلود كنيد و بهتره تو مسير ديگه اي باشه
غير از اون به نظر شما DB رو تو web server كانكت كنيم بعد بيايم بهش يه Refrance بديم بهتره يا همون روش معمول فراخونيهdb تو web app

:?: :?: :?:
 

pedramza

Member
سلام:

من اصلا براي نگهداري password استفاده از code behind ها رو نمي پسندم. از نظر امنيتي مشكلي نداره ! چون در هر صورت تمامي كد شما در DLL ذخيره مي شه و شما ديگه فايل code behind رو آپلود نمي كنيد ... ولي اگر password مورد نظر شما به هر دليلي نياز به تغيير داشته باشه كلي درد سر درست مي شه چون بايد كد را تغيير دهيد بعد كل web app رو build كنيد بعد هم DLL ساخته شده را مجددا آپلود كنيد...
البته اين نظر شخصي هست و باز به شرايط و نيازمنديها بستگي داره ...
 

pedramza

Member
mehrdadneedhelp گفت:
من اين بحث يه جا ديگه مطرح كرد ه بودم

من هم دوباره سلام:
دوست عزيز به قوانين سايت توجه كنيد و هر موضوع را جداگانه دنبال كنيد ! چون اينجوري در پرسش و پاسخ ها تداخل پيش نمي ياد و ...

توي همين سايت و جاهاي ديگه خوندم كه ميگن نبايد DBها رو روي Parent شاخه ريشه سايتتون آپلود كنيد و بهتره تو مسير ديگه اي باشه
من با اين تاپيك برخورد نداشتم و نمي دونم كه دلايل دوستان براي مخالفت با اين كار چيه ! اگر URL مربوط به اون تاپيك را بذاريد براي مطالعه ممنون مي شم . ولي در هر صورت منظور من تنها parent نبوده. هر جا در سرور غير از شاخه root سايت و زير شاخه هاي آن كه از طريق يك URL نشه به اون دسترسي داشت ...

DB رو تو web server كانكت كنيم بعد بيايم بهش يه Refrance بديم بهتره يا همون روش معمول فراخونيهdb تو web app
منظورتون رو روشنتر بيان كنيد ممنون مي شم. چون به نظر من كلمه بهتر به تنهايي معني نمي ده. و هر روشي اگر در جاي درست و شرايط مناسب به كار برده بشه مي تونه تحت اون شرايط بهترين روش باشه ...
هميشه مهمه كه هدف اون DB چيه و چه نوع كارايي روش بيشتر انجام ميشه و دفعات رجوع به اون به چه صورته و كلي از اين حرفها ...
 
سلام
در مورد password من هم گفتم كه براي يكي دو تا password ثابت گفتم اين ترجيع ميدم
در مورد قوانين هم چون ديدم اين قسمت به مساله امنيت مربوط ميشه ترجيح دادم ادامش انجا بحث كنيم.
و در موردDB تو web server مي خوام بدونم به نظر شما براي يك صفحه معمولي كه فقط نمايش تيبل رو داريم يا قراره حالا يه تغييراتي توش انجام بديم خوندن و كاركردن روي DB از طريق web server امنيت رو بالاتر نمي بره يا همون DataSet يا Datareader ما براي پنهان كردن مشخصات DB كافيه
(خصوصي :كلا خيلي باحالي)
 
آقا راستي در مورد روش codebehind يه روش عجيب غريب ولي فكر مي كنم امن باشه ذخيره كردن اونا تو فايله كه حالا اون فايل ميشه با الگوريتم هاي خاص Encrypt كرد و تويه اين روش فكر كنم بشه مثل يك db راحت ما باهاش كار كنيم .تغييرش بديم و ........
چون db مخصوصا تو اكسز حتي اگه پسورد هم داشته باشه قابل باز شدنه
البته من اين روش رو انجام ندادم :wink:
به نظرت اصلا شدنيه :p :p
كاشكي موضوع بحث ميزاشتم امنيت توNET.
 

pedramza

Member
سلام:

در مورد رمزگذاري Data بسيار با شما موافقم و خودم هم براي داده هاي مهم از الگوريتم هاي درهمسازي (Hashing) استفاده مي كنم. فقط دقت در استفاده از اينگونه الگوريتم ها بسيار مهمه. چون اكثر اونا يك طرفه كار مي كنند (يعني داده شما رو رمزگذاري مي كنند ولي براي ديكد كردن اون راهي ارايه نمي دهند) با اين حال در بسياري از موارد كاربرد خوبي دارند (بيشتر در نقل و انتقال داده بر روي وب با امنيت بالا) . و مراقب الگوريتم هايي كه ادعا مي كنند امكان ديكد كردن را دارند باشيد. و هميشه خودتون اون رو با تعداد زيادي داده در شرايط مختلف تست كنيد...
من هم خودم در دوره دانشجويي چند الگوريتم درهمسازي نوشتم كه تا حالا هم خوب كار كرده :wink: شما هم اگر در طراحي الگوريتم تجربه داريد مي تونيد يكي مخصوص كارهاي خودتون طراحي كنيد ...
در مورد اينكه از فايل استفاده كنيد: به اين بستگي داره كه شما در كار با فايل ها راهت تر باشيد يا با DB . چون اگر اين الگوريتم ها رو در همون اكسز هم به كار ببريد ديگه داده هاي اون قابل خوندن نيست :evil:

فقط تنها موردي كه در استفاده از اينگونه الگوريتم ها هست اينكه گاهي (بسته به نوع داده و الگوريتم) به شدت حجم داده ها رو بالا مي برند :( و گاهي تا چند برابر. و همينطور بعضي از اونا اگر خوب پياده ساري نشن سرعت را هم پايين ميارن ...
بايد ديد كجا امنيت مهمتره و كجا سرعت و كجا حجم داده ها :!:
 
سلام
نظرتون رو در اين مورد يادتون رفت بنويسيد
در موردDB تو web server مي خوام بدونم به نظر شما براي يك صفحه معمولي كه فقط نمايش تيبل رو داريم يا قراره حالا يه تغييراتي توش انجام بديم خوندن و كاركردن روي DB از طريق web server امنيت رو بالاتر نمي بره يا همون DataSet يا Datareader ما براي پنهان كردن مشخصات DB كافيه

مي بخشيد اذيتت مي كنم
 

pedramza

Member
سلام:
ببخشيد ! نامه قبليم كمي طولاني شد اين موضوع رو فراموش كردم. فكر مي كنم براي كاري كه مدنظر شماست تا همين حد كافي باشه ...
 

pedramza

Member
mehrdadneedhelp گفت:
سلام
نظرتون رو در اين مورد يادتون رفت بنويسيد
در موردDB تو web server مي خوام بدونم به نظر شما براي يك صفحه معمولي كه فقط نمايش تيبل رو داريم يا قراره حالا يه تغييراتي توش انجام بديم خوندن و كاركردن روي DB از طريق web server امنيت رو بالاتر نمي بره يا همون DataSet يا Datareader ما براي پنهان كردن مشخصات DB كافيه؟
pedramza گفت:
سلام:
ببخشيد ! نامه قبليم كمي طولاني شد اين موضوع رو فراموش كردم. فكر مي كنم براي كاري كه مدنظر شماست تا همين حد كافي باشه ...
 

جدیدترین ارسال ها

بالا