واضح آرشیو وب فارسی:سایت ریسک: View Full Version : نگاهي كوتاه به امنيت در اوراكل milade4th April 2008, 06:33 PMايجاد كاربر هر سيستم اوراكل به صورت پيشفرض داراي چندين كاربر مانند SYSTEM و SYS است. كاربر SYS صاحب جداول داخلي بانك اطلاعاتي است (كه وظيفه مديريت بانك اطلاعاتي را به عهده دارند) و كاربر SYSTEM صاحب جداول ديگر مديريتي است و براي اينكه بتوانيم كاربري را در يك بانك اطلاعاتي اضافه كنيم يا تغييراتي را در مجوزهاي آن بدهيم، بايد با اين كاربر به سيستم وارد شويم. فرمت دستوري كه ميتوانيد با آن كاربر جديدي را به سيستم اضافه كنيد، به صورت زير است: در شكل 1 مراحل ساخت يك كاربر به نام Amin نشان داده شده است. در مرحله اول كاربر با استفاده از دستور Create User ساخته شده است. در مرحله دوم رمز كاربر تعويض شده است و در مرحله سوم براي اينكه به كاربر اجازه ورود بدهيم، يك Session جديد به نام او ساختهايم. کاربران ثبت نام کرده قادر به مشاهده لینک می باشند کاربران ثبت نام کرده قادر به مشاهده لینک می باشند شکل 1 مديريت رمزها كاربر بانك اطلاعاتي ميتواند پسورد خود را با استفاده از دستور password عوض كند، ولي در اوراكل ميتوانيم رمزهاي كاربران را به صورت پيشرفته مديريت نماييم. مثلاً ميتوانيم رمز ورودي را منقضي كنيم DBA و... ميتواند پروفايلهاي خاصي را براي مديريت امنيت تعريف نمايد و وقتي كاربر را ايجاد ميكند، آن پروفايل را به آن اختصاص دهد. کاربران ثبت نام کرده قادر به مشاهده لینک می باشند شکل 2 Profile ميتواند محدوديتهايي از قبيل طول عمر يك رمز، مدت زماني كه كاربر بايد رمز خود را عوض كند، تعداد دفعات ورود به سيستم با رمز اشتباه براي قفل كردن سيستم، تعداد روزهايي كه حساب كاربر بسته باشد، تعداد روزهايي كه بايد بگذرد تا كاربر دوباره از يك رمز استفاده كند، طول رشته رمز و محدوديتهاي ديگر را در خود داشته باشد. در شكل 2 طريقه ايجاد يك پروفايل را مشاهده ميكنيد كه تعداد اشتباه در ورود روز را «2» تعيين كرده است. همانطور كه در اين كدها مشخص شده است، اين پروفايل به كاربر amin داده ميشود و حساب او پس از دو اشتباه قفل مي گردد. البته DBA ميتواند با دستور زير Account او را مجدداً باز كند. کاربران ثبت نام کرده قادر به مشاهده لینک می باشند ايجاد نقش براي كاربر در مراحل قبل كاربر amin را ساختيم و رمز جديدي به آن داديم. حال او داراي حساب است، ولي نميتواند كار خاصي انجام دهد؛ چراكه هيچ نقش و مجوزي جز Create Session به او Grant نشده است. مهمترين نقشهاي اوراكل براي كاربران در جدول زير مشاهده ميشود: کاربران ثبت نام کرده قادر به مشاهده لینک می باشند حال فرض كنيد كه كاربر amin صاحب جدول emp و نقش مدير سيستم را عهده دار است. حال مطابق شكل 3 دو كاربر به اسامي zbehro و Parham ميسازيم و به هر دوي آن ها اجازه ورود به سيستم را ميدهيم و به Parham اختيارات ديگري نيز ميدهيم. کاربران ثبت نام کرده قادر به مشاهده لینک می باشند شکل 3 حال سؤال اينجاست كه با وجود اختياراتي كه به Parham داده شده است، آيا او ميتواند به جداول amin دسترسي كامل داشته باشد يا خير؟ براي دسترسي كاربري به جدوال خود از دستور grant به نوعي ديگر استفاده ميكنيم. مثلاً ميتوانيم با دستور زير بگوييم كه كاربر Parham ميتواند از جدول emp كاربر amin استفاده كند: کاربران ثبت نام کرده قادر به مشاهده لینک می باشند اضافه بر نقشهايي كه به صورت پيشفرض در اوراكل وجود دارد، ميتوانيد نقشهاي ديگري نيز در اوراكل درست كنيد. مثلاً دو دستور زير دو نقش جديد به سيستم اضافه ميكند. کاربران ثبت نام کرده قادر به مشاهده لینک می باشند حال همانطور كه در كدهاي زير ميبينيد، ميتوانيد امتيازها را به نقش بدهيد: کاربران ثبت نام کرده قادر به مشاهده لینک می باشند بررسي عملكرد كاربران در اوراكل ميتوانيم به راحتي تمامي اعمالي كه اتفاق افتاده است را بررسي كنيم. تمامي اين اعمال به صورت ركوردهايي در بانك اطلاعاتي ثبت ميشود. در اوراكل امكان بررسي يا Audit سه چيز وجود دارد: برقراري ارتباط با سيستم، دسترسي به اشياي بانك اطلاعاتي، و اعمالي كه روي بانك اطلاعاتي انجام ميگيرد. براي فعالسازي اين گزينه، بايد مقدار AUDIT_TRAIL در فايل Init.ora ،DB يا OS باشد. براي اينكه ارتباطات كاربران به بانك اطلاعاتي را كنترل كنيم، ميتوانيم از دستورات زير استفاده نماييم: کاربران ثبت نام کرده قادر به مشاهده لینک می باشند در اين حالت سيستم از تمامي ارتباطات موفق و غيرموفق كاربران ركورد برداشت مينمايد. براي مشاهده اين اطلاعات ميتوانيم از جدول dba_aduit_session استفاده نماييم و با استفاده از فيلد returncode كه در اين جدول است، خطاي مربوطه كه معمولاً ORA_1017 و ORA_1005 است را استخراج نمود. ORA_1005 وقتي است كه كاربر بدون كلمه عبور ميخواهد وارد شود و خطاي ORA_1017 زماني است كه كاربر رمز اشتباه را وارد مينمايد. براي غير فعال كردن بررسي ارتباطات كاربران، ميتوانيم از دستور NOAUDIT session استفاده نماييم. براي بررسي عمل كاربرها روي اشيايي مانند Database Link ،Tablespace ،User و Index كه غالباً Drop ،Alter وCreate را اجرا ميكنند، بايد دستور AUDIT ROLE را اجرا كنيم و با جستوجوي زير عملكرد كاربران را مشاهده كرد: کاربران ثبت نام کرده قادر به مشاهده لینک می باشند اضافه بر كنترل دسترسي بر اشيا، ميتوانيم اعمال دستكاري داده ها بر اشيا را نيز بررسي نماييم. مثلاً اعمالي مانند Insert ،Select و Delete. براي بررسي اين قسمت مانند دستورات قبلي از دستور Audit استفاده ميكنيم، ولي عبارت اضافي By Session يا By Access نيز به اين دستور اضافه ميشود. اين دستور به سيستم ميگويد: براي هر دسترسي يك ركورد جمعآوري كند. مثلاً براي بررسي اعمالي كه روي جدول emp انجام ميشود، بايد دستورات روبهرو را نوشت: کاربران ثبت نام کرده قادر به مشاهده لینک می باشند با اين كار هر گونه دستكاري از قبيل اضافه كردن ركورد و حذف آن در جدولDBA_AUDIT_OBJECT ذخيره ميشوند و شما ميتوانيد به راحتي اين اطلاعات را مشاهده كنيد. processor2nd June 2009, 01:23 PMمن مي خوام با اوراكل كار كنم به كي بايد التماس كنم processor2nd June 2009, 01:26 PMمن كه مي خوام با اوراكل كار كنم بايد به كي التماس كنم سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 746]