واضح آرشیو وب فارسی:سایت ریسک: salim_a13-01-2009, 08:10 PMسلام دوستان مقاله ی در خصوص امنیت در اوراکل می خوام هر چی مگرم چیز بدرد بخوری پیدا نمی کنم ممنون میشم دوستان زحمنتشو بکش با تشکر Oracle_Eldorado13-01-2009, 08:56 PMمحافظت از پایگاه داده (در اوراکل) برای چندین نسخه اصلی پایگاه داده، پایگاه داده اوراكل ، لیست كنترل امنیتی را برای مشتریان ارائه كرده تا بتواند امنیت پایگاه داده را بهبود بخشد.از اوراكل نسخه ۹i ، اوراكل برای شناخت بهترنیازهای پیش فرض كاربران و محكم سازی پایگاه داده خود همكاری نزدیك تری را شروع كرد. پایگاه داده اوراكل نسخه ۱۰g Release۱ ، دارای بسته مدیریتی قدرتمندی است كه به راحتی می تواند سیاست های لازم را بیان كرده و علاوه بر آن توانایی پویش پایگاه داده را برای پیدا كردن تنظیماتی كه با امنیت پایگاه داده مرتبط است دارا می باشد .اوراكل به این بسته مدیریت قدرتمند، هر روز قابلیت های بیشتری را در جهت كمك به مدیران پایگاه داده اضافه می كند . از جمله این قابلیت ها ، می توان به پویش نحوه نصب اوراكل اشاره كرد كه می توان مواردی را كه دارای نواقص امنیتی است تشخیص و برطرف سازد. از جمله این حفره های امنیتی می توان به فعال كردن دسترسی های از پیش تعریف شده اوراكل اشاره كرد. استفاده از ابزار EM policy manager می تواند تا حد زیادی امنیت اوراكل را بهبود بخشد. http://sgnec.net/admin/images/arts/oracle.jpg اوراكل ابزارهایی نظیر: Client identifier Secure application roles Oracle database auditing را برای پیشبرد اهداف امنیتی خود در دسترس كاربران قرار داده است. اگرچه برای رسیدن به حداكثر امنیتی كه اوراكل پیشنهاد كرده است، لازم است خود پایگاه داده نیز امنیت مورد قبول داشته باشد. ده قدم برای امنیت پایگاه داده پیشنهاد شده است ، كه عنوان و توضیح كوتاهی در مورد هر كدام آورده شده است. Step ۱: Install only what is required Step ۲: Lock and Expire Default User Accounts Step ۳: Change Default User Passwords Oracle Database ۱۰g enables you to use the same or different passwords for administrative accounts such as SYSTEM, SYSMAN and DBSNMP. Use different passwords for each: in any Oracle environment (production or test), assign strong and distinct passwords to these administrative accounts. Step ۴: Enable Data Dictionary Protection Oracle recommends that customers implement data dictionary protection to prevent users having the ANY system privileges from using such privileges on the data dictionary. To enable dictionary protection, set the following configuration parameter to FALSE, in the init.ora control file: O۷_DICTIONARY_ACCESSIBILITY = FALSE Step ۵: Practice the principle of least privilege Step ۶: Enforce access controls effectively and authenticate clients stringently Step ۸: Restrict Network Access Step ۹: Apply all security patches !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! Step ۱۰: Contact Oracle Security products if you come across vulnerability in Oracle Database جدول زیر حاوی نام های كاربری پیش فرض و وضعیت هر یك در اوراكل ۱۰G-R۱,۲ می باشد: http://sgnec.net/admin/images/arts/table1.jpg http://sgnec.net/admin/images/arts/table2.jpg نامهای كاربری پیش فرض و وضعیت آنها در اوراكل ۹i R۲ در جدول زیر آمده است: http://sgnec.net/admin/images/arts/table3.jpg http://sgnec.net/admin/images/arts/table4.jpg و همین اطلاعات در مورد اوراكل ۹i-R۱ : http://sgnec.net/admin/images/arts/table5.jpg http://sgnec.net/admin/images/arts/table6.jpg Oracle_Eldorado13-01-2009, 09:04 PMنگاهي كوتاه به امنيت در اوراكل ماهنامه شبکه - مرداد ۱۳۸۶ شماره 78 اشاره : اطلاعات صحيح در هر سازماني بسيار مفيد است و باعث موفقيت آن سازمان ميگردد. اما اگر اين اطلاعات دستكاري شود، بدون شك تأثيرات بدي در سازمان خواهد داشت. بانك اطلاعاتي اوراكل با محدود كردن دسترسي به دادهها ميتواند از اطلاعات شما محافظت كند. اوراكل با استفاده از Granting، يا محدود كردن مجوزهاي كاربران و فراهم كردن دستوراتي مانند Create User ،Create Role و Grant براي مديران پايگاهداده ميتواند دسترسي به اطلاعات را مديريت كند. هر كاربر اوراكل داراي نام و رمز ورودي است و صاحب چند جدول، View يا اجزاي ديگري است كه به وجود ميآورد. يك Oracle Role (يا نقش) در واقع شامل امتيازاتي است كه كاربر ميتواند براي دسترسي به اشياي بانك اطلاعاتي داشته باشد. ميتوانيد امتيازي (Privilege) را به نقشي بدهيد و سپس آن نقش را به يك كاربر اهدا كنيد. در اين مقاله قصد ندارم شما را با مباحث پيچيده امنيت در اوراكل آشنا كنم، هدف، آشنا كردن شما به صورت كاملاً عملي با پايه امنيت در اوراكل 10g است. ايجاد كاربر هر سيستم اوراكل به صورت پيشفرض داراي چندين كاربر مانند SYSTEM و SYS است. كاربر SYS صاحب جداول داخلي بانك اطلاعاتي است (كه وظيفه مديريت بانك اطلاعاتي را به عهده دارند) و كاربر SYSTEM صاحب جداول ديگر مديريتي است و براي اينكه بتوانيم كاربري را در يك بانك اطلاعاتي اضافه كنيم يا تغييراتي را در مجوزهاي آن بدهيم، بايد با اين كاربر به سيستم وارد شويم. فرمت دستوري كه ميتوانيد با آن كاربر جديدي را به سيستم اضافه كنيد، به صورت زير است: در شكل 1 مراحل ساخت يك كاربر به نام Amin نشان داده شده است. در مرحله اول كاربر با استفاده از دستور Create User ساخته شده است. در مرحله دوم رمز كاربر تعويض شده است و در مرحله سوم براي اينكه به كاربر اجازه ورود بدهيم، يك Session جديد به نام او ساختهايم. http://www.shabakeh-mag.com/Data/Gallery/2008/2/s78_oracle02_s.jpg مديريت رمزها كاربر بانك اطلاعاتي ميتواند پسورد خود را با استفاده از دستور password عوض كند، ولي در اوراكل ميتوانيم رمزهاي كاربران را به صورت پيشرفته مديريت نماييم. مثلاً ميتوانيم رمز ورودي را منقضي كنيم DBA و... ميتواند پروفايلهاي خاصي را براي مديريت امنيت تعريف نمايد و وقتي كاربر را ايجاد ميكند، آن پروفايل را به آن اختصاص دهد. http://www.shabakeh-mag.com/Data/Gallery/2008/2/s78_oracle03_s.jpg Profile ميتواند محدوديتهايي از قبيل طول عمر يك رمز، مدت زماني كه كاربر بايد رمز خود را عوض كند، تعداد دفعات ورود به سيستم با رمز اشتباه براي قفل كردن سيستم، تعداد روزهايي كه حساب كاربر بسته باشد، تعداد روزهايي كه بايد بگذرد تا كاربر دوباره از يك رمز استفاده كند، طول رشته رمز و محدوديتهاي ديگر را در خود داشته باشد. در شكل 2 طريقه ايجاد يك پروفايل را مشاهده ميكنيد كه تعداد اشتباه در ورود روز را «2» تعيين كرده است. همانطور كه در اين كدها مشخص شده است، اين پروفايل به كاربر amin داده ميشود و حساب او پس از دو اشتباه قفل مي گردد. البته DBA ميتواند با دستور زير Account او را مجدداً باز كند. http://www.shabakeh-mag.com/Data/Gallery/2008/2/s78_oracle04_s.jpg ايجاد نقش براي كاربر در مراحل قبل كاربر amin را ساختيم و رمز جديدي به آن داديم. حال او داراي حساب است، ولي نميتواند كار خاصي انجام دهد؛ چراكه هيچ نقش و مجوزي جز Create Session به او Grant نشده است. مهمترين نقشهاي اوراكل براي كاربران در جدول زير مشاهده ميشود: http://www.shabakeh-mag.com/Data/Gallery/2008/2/s78_oracle05_s.jpg حال فرض كنيد كه كاربر amin صاحب جدول emp و نقش مدير سيستم را عهده دار است. حال مطابق شكل 3 دو كاربر به اسامي zbehro و Parham ميسازيم و به هر دوي آن ها اجازه ورود به سيستم را ميدهيم و به Parham اختيارات ديگري نيز ميدهيم. http://www.shabakeh-mag.com/Data/Gallery/2008/2/s78_oracle06_s.jpg حال سؤال اينجاست كه با وجود اختياراتي كه به Parham داده شده است، آيا او ميتواند به جداول amin دسترسي كامل داشته باشد يا خير؟ براي دسترسي كاربري به جدوال خود از دستور grant به نوعي ديگر استفاده ميكنيم. مثلاً ميتوانيم با دستور زير بگوييم كه كاربر Parham ميتواند از جدول emp كاربر amin استفاده كند: http://www.shabakeh-mag.com/Data/Gallery/2008/2/s78_oracle07_s.jpg اضافه بر نقشهايي كه به صورت پيشفرض در اوراكل وجود دارد، ميتوانيد نقشهاي ديگري نيز در اوراكل درست كنيد. مثلاً دو دستور زير دو نقش جديد به سيستم اضافه ميكند. http://www.shabakeh-mag.com/Data/Gallery/2008/2/s78_oracle08_s.jpg حال همانطور كه در كدهاي زير ميبينيد، ميتوانيد امتيازها را به نقش بدهيد: http://www.shabakeh-mag.com/Data/Gallery/2008/2/s78_oracle09_s.jpg بررسي عملكرد كاربران در اوراكل ميتوانيم به راحتي تمامي اعمالي كه اتفاق افتاده است را بررسي كنيم. تمامي اين اعمال به صورت ركوردهايي در بانك اطلاعاتي ثبت ميشود. در اوراكل امكان بررسي يا Audit سه چيز وجود دارد: برقراري ارتباط با سيستم، دسترسي به اشياي بانك اطلاعاتي، و اعمالي كه روي بانك اطلاعاتي انجام ميگيرد. براي فعالسازي اين گزينه، بايد مقدار AUDIT_TRAIL در فايل Init.ora ،DB يا OS باشد. براي اينكه ارتباطات كاربران به بانك اطلاعاتي را كنترل كنيم، ميتوانيم از دستورات زير استفاده نماييم: http://www.shabakeh-mag.com/Data/Gallery/2008/2/s78_oracle10_s.jpg در اين حالت سيستم از تمامي ارتباطات موفق و غيرموفق كاربران ركورد برداشت مينمايد. براي مشاهده اين اطلاعات ميتوانيم از جدول dba_aduit_session استفاده نماييم و با استفاده از فيلد returncode كه در اين جدول است، خطاي مربوطه كه معمولاً ORA_1017 و ORA_1005 است را استخراج نمود. ORA_1005 وقتي است كه كاربر بدون كلمه عبور ميخواهد وارد شود و خطاي ORA_1017 زماني است كه كاربر رمز اشتباه را وارد مينمايد. براي غير فعال كردن بررسي ارتباطات كاربران، ميتوانيم از دستور NOAUDIT session استفاده نماييم. براي بررسي عمل كاربرها روي اشيايي مانند Database Link ،Tablespace ،User و Index كه غالباً Drop ،Alter وCreate را اجرا ميكنند، بايد دستور AUDIT ROLE را اجرا كنيم و با جستوجوي زير عملكرد كاربران را مشاهده كرد: http://www.shabakeh-mag.com/Data/Gallery/2008/2/s78_oracle11_s.jpg اضافه بر كنترل دسترسي بر اشيا، ميتوانيم اعمال دستكاري داده ها بر اشيا را نيز بررسي نماييم. مثلاً اعمالي مانند Insert ،Select و Delete. براي بررسي اين قسمت مانند دستورات قبلي از دستور Audit استفاده ميكنيم، ولي عبارت اضافي By Session يا By Access نيز به اين دستور اضافه ميشود. اين دستور به سيستم ميگويد: براي هر دسترسي يك ركورد جمعآوري كند. مثلاً براي بررسي اعمالي كه روي جدول emp انجام ميشود، بايد دستورات روبهرو را نوشت: http://www.shabakeh-mag.com/Data/Gallery/2008/2/s78_oracle12_s.jpg با اين كار هر گونه دستكاري از قبيل اضافه كردن ركورد و حذف آن در جدولDBA_AUDIT_OBJECT ذخيره ميشوند و شما ميتوانيد به راحتي اين اطلاعات را مشاهده كنيد. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 3419]