تبلیغات :
خرید لپ تاپ استوک
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 4 از 4

نام تاپيک: مشکل تنظیمات امنیتی ConnectionString

  1. #1
    پروفشنال mahdi7s's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    هر جایی می تونه باشه
    پست ها
    757

    14 مشکل تنظیمات امنیتی ConnectionString

    سلام

    1)اگه در ConnectionString رشته ی زیر رو اضافه کنم :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در صورتی که دیتابیس من اصلا یوزر پسورد نداشته باشه یا یه چیز دیگه باشه ولی بدون هیچ اروری کانکت میشه
    دلیلش چیه؟

    2)چرا برای drop کردن یه لوگین نباید از پسوردش استفاده کنیم؟

    3)چرا وقتی لوگین میسازم server explorer بدون گرفتن هیچ یوزر و پسوردی از من دیتابیس رو باز می کنه و اطلاعات توش رو بهم نشون میده؟


    ممنون

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    در صورتی که دیتابیس من اصلا یوزر پسورد نداشته باشه یا یه چیز دیگه باشه ولی بدون هیچ اروری کانکت میشه
    احتمالاً مشکل شما ناشی از انجا میشود که عبارت Integrated Security=SSPI را در رشته اتصال دارید، این عبارت خودکار امنیت را ویندوز میسپارد و درج User و Pass را نادیده میگیرد!



    2)چرا برای drop کردن یه لوگین نباید از پسوردش استفاده کنیم؟

    3)چرا وقتی لوگین میسازم server explorer بدون گرفتن هیچ یوزر و پسوردی از من دیتابیس رو باز می کنه و اطلاعات توش رو بهم نشون میده؟
    در این حالت شما به دیتابیس master و هسته اصلی SQLServer وصل میشوید، بدیهی است که رمز ورود master و SQLServer ربطی به رمز ورود دیتابیس شما ندارد !!!
    شما برای یک دیتابیس رمز گذاشته اید نه برای کل SQLServer !
    دیتابیس master شما رمز ندارد تقصیر SQLServer نیست!


    اگر SSMS هم داشته باشید، حتماً دقت کردید که زمان لوگین user و pass را خالی رها میکنید.

    User و Pass مورد نیاز برای اتصال به هسته اصلی SQLServer در زمان setup آن قابل تنظیم است و اگر تنظیم نشود، امنیت به ویندوز و اکانتهای آن سپرده خواهد شد ...
    شما میتوانید در ویندوز چندین اکانت بسازید و برای اکانت های ویندوز مجوز دسترسی (تحت یک لوگین) به SQLServer صادر کنید، و انگاه هر کس با آن اکانت ویندوز وارد شود (و یعنی user و pass ورودی ویندوز را داشته باشد) برای SQLServer هم اهراز هویت میشود و دیگر نیازی به وارد کردن نام و رمز ندارد ...

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

    اگر شما قصد دارید این روش را غیر فعال کنید و نیز یک user و pass برای دیتابیستان اختصاص دهید، میتوانید دستورات زیر را پیگیری کنید:
    (اخطار! ترتیب اجرا را تغییر ندهید!)
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    شما احتمالاً یک login با نام WinComputerName\WinAccountName در SQLServer دارید که همین لوگین است که اجازه ورود شما بدون user و pass را میدهد.

    مثلاً اگر نام رایانه شما Vista3000 باشد(!!!) و نام اکانت شما در ویندوز Mahdi77 باشد(!!!) شما یک لوگین با نام Vista3000\Mahdi77 در SQLServer دارید که باید یا حذف و یا حداقل غیر فعالش کنید.
    (حتماً اول لوگین sa را فعال و سپس این لوگین را غیر فعال کنید!)

    با پیگیری دستورات فوق دیگر برای ورود به SQLServer و هرکاری روی پایگاه master نیاز به رمز sa:123 وجود دارد.

  3. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  4. #3
    پروفشنال mahdi7s's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    هر جایی می تونه باشه
    پست ها
    757

    14

    سلام

    1)ممنون


    2 و 3)

    در این حالت شما به دیتابیس master و هسته اصلی SQLServer وصل میشوید، بدیهی است که رمز ورود master و SQLServer ربطی به رمز ورود دیتابیس شما ندارد !!!
    شما برای یک دیتابیس رمز گذاشته اید نه برای کل SQLServer !
    دیتابیس master شما رمز ندارد تقصیر SQLServer نیست!
    مگه همه اطلاعت دیتابیسم توی master هست؟
    من نمی فهمم من روی دیتابیس رمز می زارم خوب چه ربطی به master داره؟
    اصلا وقتی واسه یه دیتابیس لوگین می سازیم باید منتظر چه تغییری در دیتابیس باشیم؟

    اگر شما قصد دارید این روش را غیر فعال کنید و نیز یک user و pass برای دیتابیستان اختصاص دهید، میتوانید دستورات زیر را پیگیری کنید:
    (اخطار! ترتیب اجرا را تغییر ندهید!)
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پس ساختن لوگین به چه دردی می خوره؟

  5. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    مگه همه اطلاعت دیتابیسم توی master هست؟
    من نمی فهمم من روی دیتابیس رمز می زارم خوب چه ربطی به master داره؟
    اصلا وقتی واسه یه دیتابیس لوگین می سازیم باید منتظر چه تغییری در دیتابیس باشیم؟
    ربطش آنجاست که اطلاعات خود SQLServer در دیتابیس master ذخیره میشود!
    یعنی sqlserver برای ذخیره اطلاعات خود از خودش استفاده میکند.
    مثلاً کلیه اطلاعات بانک های attach شده (نام و فایل ها و...) ... اطلاعات امنتیتی شامل لوگین ها و...
    البته برخی موارد هم در جداول مخفی هر دیتابیس ذخیره میشوند.)

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

    مثال:
    شما و برادرتان میتوانید هر کدام یک acount در ویندوز داشته باشید و هر کدام desktop و mydoc خودتان را هم داشته باشید و... و ظاهراً هیچ یک هم نمیتوانید بدون داشتن رمز دیگری وارد acount دیگری شوید...

    ولی معمولاً وقتی account ای اضافه میکنید گزینه administrator را هم فعال میکنید و هر دو شما در رایانه اختیارات administrator ای دارید (البته میشوید این اختیار را نداشته باشید) ...
    در این حالت و با داشتن اختیار فوق هر کدام در رایانه میتوانید هر کاری کنید!
    مثلاً نمیتوانید رمز دیگری را متوجه شوید ولی میتوانید رمز account او را حذف کنید یا عوضش کنید یا کل account اش را حذف کنید و...

    پس حتماً این هم مسخره خواهد بود! وقتی میتوانید رمز دیگری را عوض کنید خوب ...

    اما ...
    مشکل تفکر شما آن است که رایانه شخصی دارید و یا نمیدانید که آزادی عملتان در رایانه خودتان ناشی از چیست و یا گمان میکنید در هر رایانه ای اختیارات administrator ای پشت شماست!

    =====

    اگر یک شبکه رایانه را در نظر بگیرید که سرور بانک sqlserver خود را به اشتراک سایر رایانه ها قرار داده و اکانت های administrator ای و سایر اکانتها همه رمز ورودی دارند و sqlserver هم خودش برای محکم کاری رمز دارد ... یک کلاینت بدون مجوز سرور نمیتوالند یک فیلد را تغییر دهد.
    (یادآور میشوم مجوزهای sqlserver برای تک تک فیلدهای جداول قابل تنظیم هستند.)

    =====

    مطمئن باشید قابلیت های sqlserver را هنوز نشناختید، این بانک اطلاعاتی میتواند سرورهای مختلاف را در نقاط مختلف جهان به هم پیوند دهد و به کلاینت های از قطب جنوب تا شمال سرویس دهد ...

    مکانیزم های امنیتی آن هم برای این عمل طراحی و بهینه شده اند و اگر دنبال password ای مثل فایلهای zip و... میگردید، sqlserver از رمزهای عبوری مثل مدل access و فایلهای mdb.* و یا zip و... که درون خود فایلب دیتا صلی ذخیره میشوند پشتیبانی نمیکند.

  6. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •