190 likes | 368 Views
Oracle Security. سابقه امن ي ت ي Oracle. رابطه قد ي م شرکت Oracle و سازمان های امنيتی تاث ي ر ا ي ن رابطه در انتخاب مکان ي زمها ي امن ي ت ي از آغاز نوع پ ي امها ي خطا Oracle v.2 در سال 1979 select EMP_LAST_NAME from EMLPOYEES; Error at line 2: ORA-00942 :table or view does not exist
E N D
سابقه امنيتيOracle • رابطه قديم شرکت Oracle و سازمانهای امنيتی • تاثير اين رابطه در انتخاب مکانيزمهاي امنيتي از آغاز • نوع پيامهاي خطا Oracle v.2 در سال 1979 • select EMP_LAST_NAMEfrom EMLPOYEES; • Error at line 2:ORA-00942 :table or view does not exist • دريافت اين پيام در صورتي که دسترسي مجاز نباشد • امکان تشخيص براي مهاجم وجود ندارد (جدول موجود نيست يا دسترسي) • در آن زمان دسترسي فيزيکي به کامپيوترها نيز مشکل بود
پشتيبان گيري (Backup) • به عنوان يک خط مشي امنيتي • عوامل ايجاد خطا • خطاي کاربر : پاک کردن رکوردي از داده ها به طور اتفاقي • خطاي توسعه دهنده : رفتار متفاوت کد در فازهاي تست و عملياتي • خطاي مدير : حذف غير عمد يک جدول عملياتي • خطاي مهاجم : پاک کردن عمدي اطلاعات • خطاي سخت افزاري : خراب شدن تجهيزات • خطاي طبيعي :آتش سوزي، سيل،... • وجود ابزارهايimport و export
حرکت به سمت مکانيزمهاي امنيتي قويترPassword • ارتباط کاربران با پايگاه داده از طريق زبانهايUFI وPUFI ، اجداد SQL و PL/SQL • اجرا بر رويIBM Mainframe و Digital VAX • فايل .aip قابل اجرا با دستورrunform • کاربران يک username و password داشتند. • password توسط DBA بعد از مدتي تغيير و اعلام مي شد. • تغيير به يک مقدار مشترک • تغيير به يک مقدار معين :شماره تلفن فرد • توليد دلخواه Compile .iap .inp IAG
حرکت به سمت مکانيزمهاي امنيتي قويترPrivileges • سه سطح privilege وجود داشت (تا قبل از v.6) • Connect privilege : در حد ايجاد يک session • Resource privilege :ايجاد شاخص،جدول،view • DBA privilege : کنترل کامل • دسترسي ها از طريق يک ترمينال با دسترسی فيزيکي • ترمينال لال (dumb) • امنيت ورود به فضاي ترمينال ها بيشتر از امنيت سيستم • بعدها امکانات زير اضافه شد • FASTFORM: توليد کننده بلاک در SQL*Forms • CRT:امکانات گرافيکي • rpt(Oracle report) :نمايش گزارش ها در يک فرمت انعطاف پذير
نگاهي به تغييرات v.5 • V.5.0.b قابل اجرا بر رويPC • SQL*Net v.1.0 • مدل Client-Server • مسائل جديد امنيتي (Identification) • تسهيل استفاده از Import و Export • (از طريق شبکه به کمک SQL*Net) • فايل Export شده ، قابل اجرا بر روي سيستم عامل هاي مختلف
خط مشي هاي جديد امنيتي در v.6 • تغيير مفهوم سطوح privilege به Role به سه دسته کاربر
ادامه. خط مشي هاي جديد امنيتي در v.6Auditing • ذخيره تماميAudit ها در جدول SYS.AUD$ • انجام Audit بر فعاليت هاي زير در هر دو حالت موفق و نا موفق : • Login attempts • Object access • Database actions • CONNECT • RESOURCE • DBA • مثال :audit CONNECT • audit all onبرايaudit هر فعاليت روي جدول دلخواه • تنظيم Auditing در init.ora • audit_trail=TRUE
ادامه. خط مشي هاي جديد امنيتي در v.6Backup Enhancement • ظهور شکل جديدي از log file ها • Redo logs: ثبت تغييرات جزئي،تا زمان نوشتن در DB • archived log mode • امکان ترميم پايگاه داده • Rollback segments: تامين محل موقت داده ها در هنگام ترميم (recovery) پايگاه داده • مواردي که ثبت مي شدند : • چه کسي، چه زماني،چه چيزهايي در جداول • اما اينکه چه داده هايي تغيير کرده اند،ثبت نمي شد. v.7
امکانات امنيتيOracle7 • نزديک دهه 1990 • ظهور Trigger ها،بهبود قابليتهايAuditing • Hot Backups :پشتيبان گيري در سطح فايل بدون shutdown پايگاه داده • در حالت پشتيبانگيري با استفاده از export مي بايست حتما پايگاه داده در حال اجرا باشد . • يک پروسه زمانبر و طاقت فرسا • مشکلات فراوان در ترميم،در صورتي که در حين Hot Backup،سيستم Crashيا shutdown بشود .
ادامه. امکانات امنيتيOracle7 • User-defined Roles • امکان تعريف role هاي جديد و انتساب آنها به کاربران • Trusted Oracle7 • يک ابزار امنيتي بر اساس مدل BLP • پياده سازي با استفاده از Labeling و رابطه تفوق (domination) • لزوم ترکيب کنترل ها بر Role،Privilege در استخراج داده • نصب مشکل و زمان بر استقبال چنداني نشد • افزايش پيچيدگي در تنظيمات،(با توجه به خاصيت User-defined Roles)
ادامه. امکانات امنيتيOracle7 • Oracle Advanced Networking Option • در v.7.3،سال 1996 • رشد و بلوغ شبکه هايinternet و intranet نيازمندي هاي امنيتي جديد متناسب با اين شرايط • امکانات encryption و authentication قوي • پشتيباني از سيستم هايKerberos ،CyberSafe و SecureID • مشکل کاهش کارايي • رمز کردن query در سمت کارخواه و رمزگشايي در سمت کارپذير • رمز کردن پاسخ در سمت کارپذير و رمزگشايي در سمت کارخواه
امکانات امنيتيOracle8 • بهبود مديريت Password • Password از پيش منقضي شده • اجبار در نوع و طرح خاصي از password • استفاده از تاريخچه password (براي جلوگيري از تکرار password قبلي) • قفل کردن حساب کاربرييک کاربر Oracle • Oracle Security Server tool • Single sign-on • Digital signature • در عمل غير موثر و ناکارآمد
ادامه.امکانات امنيتيOracle8 • بهبود Auditing • امکان جابجاييSYS.AUD$ به tablespace ديگر براي جلوگيري از fragmentation در SYSTEM tablespace • SYS.AUD$ تنها جدول سيستمي با اجازه جابجايي و حذف داده • cataudit.sql : مجموعه script هاي قابل اجرا براي ساختن view هاي مختلف (12 نوع) بر رويSYS.AUD$ • کمبودها: • دقيقا کدام داده تغيير کرده است • کدام سطر اصلاح و يا پاک شده است • محتويات سطر پاک شده؟
ادامه.امکانات امنيتيOracle8 • بهبود پشتيبان گيري و ترميم با RMAN utility • پشتيبان گيري در سطح فايل در زماناجرای پايگاه داده • ترميم با گزينه هايpoint in time و until cancel the operation • ترميم با گزينه only the changed block • Tablespace point-in-time recovery utility • امکان ترميم يک بخشي از پايگاه داده بدون تاثير بر ساير tablespace ها • کاربرد در data warehouses (تعدد tablespaces)
Oracle8i Advanced Security Features • جايگزين Oracle Advanced Networking Option • پشتيباني از ابزارهايAuthentication • SSL (Secure Sockets Layer) • Authentication • Data encryption • Data integrity • RADIUS (Remote Authentication Dial-In User Service) • Token card, Smart card • Kerberos and CyberSpace • Single sign-on • Database link authentications
Oracle8i Advanced Security Features • پشتيباني از DCE Authorization • Distributed Computing Environment • Solaris platform • امکان ترکيب با LDAPv.3 • Lightweight Directory Access Protocol • تنظيم از طريق Oracle Net8 در sqlnet.ora • حذف دستور connect internal • Connect/as sysdba • Connect/as sysoper • قدرت ايجاد ،شروع و خاتمه کار يک پايگاه داده
Oracle8i Advanced Security Features contd.Virtual Private Database • يک نوع مکانيزم کنترل دسترسي • سياستهاي امنيتي مستقيما به جداول متصلند • اعمال سياستها توسط DB نه به وسيله Application • اعمال خودکار در هر بار استفاده از جداول • تصحيح query ها با استفاده از اين سياستها در سمت کارگزار • مثال: queryيک کارمند در دپارتمان IT • select * from EMPLOYEE; • select * from EMPLOYEE where DEPARTMENT=‘IT’; • پياده سازي : • Security Policy Map • Constraint
جمعبندي بخش اول • کنترل پيام هاي خطا • پشتيبان گيري و ترميم • Auditing • Privilege & Roles • مديريت Password • Authentication & Encryption • VPD