تخفیف های داغ در جشنواره تابستانه توسینسو تخفیف های داغ در جشنواره تابستانه توسینسو
مانده تا پایان تخفیف
مشاهده دوره ها
0

در مورد امنیت sql authentication

با سلام و خسته نباشید خدمت شما

سئوالم را در زیر در چند خط می نویسم و اگر زحمت نیست پاسخ دهید.

شما تصور کنید یک نرم افزار تحت شبکه وجود دارد که یک کانکشن استرینگ دارد و ما مثلا 10 کلاینت داریم و یک سرور که بر روی سرور sql server نصب هست و ما 10 نرم افزار را در 10 کلاینت نصب می کنیم

و برای امنیت بیشتر ما 10 user در sql server ایجاد می کنیم نرم افزار یوزرها را تشخیص می دهد که هر یوزر که اگر کانکت نبود به آن کانکت می شود و کلاینتهای بعدی هم به همین صورت کانکت می شوند

کلاینتها به یوزرها به ترتیب وارد می شوند در sql server برای مثال :user1 به اولین کلاینت user2: به دومین کلاینت user3: به سومین کلاینت و همینجور الی آخر و اگر مثلا کلاینت 2 که به یوزر 2 کانکت هست یکدفعه دستگاه هنگ می کند بعد کلاینت 4 درخواست به sql server می دهد پس user2: به کلاینت 4 وصل می شود و همینجو الی آخر

یعنی هر کلاینت به یک user خاص کانکت می شود با پسورد متفاوت آیا این روش بهتر است یا همه کلاینتها به یک user خاص و یک پسورد خاص کانکت بشوند کدام بهتر است

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

ممنون می شوم راهنمایی بفرمایید.

با تشکر از شما

پرسیده شده در 1394/11/01 توسط

5 پاسخ

1

شما چرا Connection String را در AppSetting به صورت Encrypt در نمی آورید تا از این موضوع جلوگیری شود.

البته مشکلی که در توضیح salime وجود دارد که اگر شما بخواهید در آینده بر روی SQL Server قسمت Audit را فعال سازی کنید در تمامی گزارشات فقط یک کاربر را مشاهده می کنید و این باعث سر در گمی شما برای پیدا کردن کاربر خاطی است.

شما می توانید به صورت زیر کاربر بدون لاگین داشته باشید

Create Login AppLogin With Password = 'Pa$$w0rd';

Create User Hamid Without Login;
Create User Hasan Without Login;
Create User Salime Without Login;
پاسخ در 1394/11/03 توسط
2

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

اگر خودتون میخواین بنویسیدش چرا با یوزرهای متفاوت میخواین به sql server وصل بشین!! شما یوزرهای متفاوت برای ورود به نرم افزارتون بزارین

(میتونین یک table از یوزرها در پایگاه داده داشته باشین)

اما connection string داخل نرم افزارتون با یک یوزر خاص و مشخص باشه

پاسخ در 1394/11/01 توسط
1

با سلام و خسته نباشید خدمت شما دوست عزیز

ممنونم که انقدر سریع پاسخ دادید واقعا ممنونم

من نوشته های شما رو قبول دارم که برای هر کاربر یک یوزر تعریف شود برای همین خیالم راحت شد و اصول را فهمیدم اما در مورد کاربر salime توضیح داده بودند که می توانید یک table درست کنید و قبل از مثلا ورود به نرم افزار کاربر یوزر و پسورد خودشو به خاطر امنیت وارد کنه من که اینجوری متوجه شدم البته من قبلا vb6 و vb.net برنامه نویسی می کردم البته چند سال پیش همین دو سال پیش هم برای کسی ه . ک نود32 را نوشتم که خودش هم یوزر و هم پروفایل و همه تنظیمات را انجام می داد و نصب می کرد نود32 را البته به صورت سایلنت و حتی با سرورش که آپدیت نود 32 را به کاربراش می فروخت ارتباط برقرار می کرد

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

با تشکر از شما دوست عزیز و گرامی جناب آقای HamidJFard

پاسخ در 1394/11/03 توسط
0

با سلام و خسته نباشید خدمت آقای مهندس HamidJFard

من فقط برای امنیت سئوال کردم که اگر کسی مثلا به هر نحوی یوزر و پسورد connection string را متوجه بشود یا حتی هک بکند مشکلی برای admin پیش نیاید چون اگر آن کسی که هک کرده است یا متوجه بشود نتواند با sql server ی که در اختیار دارد اطلاعات را بدست بیاورد مثلا مشخصات کاربر و مشخصات دیگر البته کاربر salime خیلی خوب توضیح دادند و من باید همین کار را بکنم برای نرم افزارهایی که بعدا می نویسم

آقای مهندس HamidJFard از شما هم ممنونم که توضیح دادید و خیال من را راحت کردید و همچنین از کاربر salime خیلی تشکر می کنم که من را راهنمایی کردند

با تشکر

پاسخ در 1394/11/03 توسط
2

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

بهتر است هر کاربر یک یوزر در SQL Server داشته باشد. یا اینکه شما یک Login در SQL Server داشته باشید و چندین Database User بدون Login در پایگاه داده. البته این روشی که گفتم نیاز به یک مقدار تغییرات در کد برنامه هم دارد.

یک سوال: شما برای چه دلیل می خواهید این کار را انجام دهید؟

پاسخ در 1394/11/02 توسط

پاسخ شما