Oracle ma'lumotlar bazasi xavfsizligi bo'yicha eng yaxshi amaliyotlar



Download 259,3 Kb.
Sana13.08.2021
Hajmi259,3 Kb.
#146936
Bog'liq
Oracle ma


Oracle ma'lumotlar bazasi xavfsizligi bo'yicha eng yaxshi amaliyotlar

Oracle ma'lumotlar bazasini xavfsizlik devori hujumga qarshi to'liq kuchga ega. Tabiiyki, bu xavfsizlikka tahdid har doim tashqi bo'ladi, deb taxmin qilsa, haqiqiy statistika shuni ko'rsatadiki, xavfsizlik buzilishi ko'p hollarda ichkaridan sodir bo'ladi. Shuning uchun siz "aniq" autentifikatsiya siyosatiga va ma'lumotlarga asoslangan kirish siyosatiga rioya qilishingiz kerak.

Oracle ma'lumotlar bazasini qattiqlashtirish uchun bir necha asosiy qadamlar mavjud. Ularning aksariyati aql-idrokka asoslangan va ma'lum bo'shliqlar orqali ma'lumotlar bazasini buzish va kirib borishining oldini oladi. Keling, ushbu xavfsizlik ko'rsatmalarini tezda ko'rib chiqamiz.

Avtomatik xavfsiz konfiguratsiya

Bizning bloglarimizda DBCA-dan foydalangan holda yangi ma'lumotlar bazasini yaratishda uning uchun avtomatik xavfsiz konfiguratsiyani amalga oshirishingiz mumkin. Oracle Database 11g uchun yangi xavfsiz konfiguratsiya variantlarini tanlaganingizda, yangi ma'lumotlar bazasida quyidagi xavfsizlik xususiyatlari yoqilgan.

Parol bilan bog'liq xavfsizlik parametrlari. Ma'lumotlar bazasi parolning amal qilish muddati tugashini ta'minlaydi va foydalanuvchilarga tayinlangan standart parol profilini tekshirishda ichki qiyinchiliklarni ta'minlaydigan boshqa parol siyosatini amalga oshiradi.

Audit. Odatiy ma'lumotlar bazasi ma'lum ruxsatnomalar uchun tekshiruv o'tkazishga imkon beradi. Ushbu ma'lumotlar, ma'lumotlar bazasiga ulanish ma'lumotlari kabi, ma'lumotlar bazasi xavfsizligi uchun muhim hisoblanadi. Odatiy bo'lib, ma'lumotlar bazasi auditorlik yozuvlarini AUD $ jadvalida saqlaydi

va audit_trail boshlash parametrini db ga o'rnatadi.

Avtomatik xavfsiz konfiguratsiyadan foydalanish ma'lumotlar bazangiz Internet Security Center (CIS) standartlari tomonidan tavsiya etilgan xavfsizlik texnik shartlariga javob berishini ta'minlaydi.

foydalanuvchi hisoblari

Oracle barcha standart foydalanuvchi hisoblarini blokirovka qilishni va bekor qilishni tavsiya qiladi, albatta, SYS va SYSTEM hisoblaridan tashqari, DBSNMP, SYSMAN va MGMT_VIEW kabi boshqa kerakli hisoblardan tashqari.

Odatiy ravishda aniqlangan hisoblar soni ma'lumotlar bazasi faoliyati va ishlatilgan komponentlar soniga va ma'lumotlar bazasi qanday yaratilganiga bog'liq. Masalan, DBCA yordamida ma'lumotlar bazasini yaratish odatda ma'lumotlar bazasini qo'lda yaratishdan ko'ra ko'proq standart hisoblarni yaratadi.

Parollar

Oracle foydalanuvchisi parollari qobiq skriptida qattiq kodlanmasligi kerak. Aks holda, oddiy buyruq berib, foydalanuvchi parollarini bilib olishingiz mumkin ps -ef | Jarayon ishlayotgan paytda grep.

Ma'lumotlar bazasi yaratilgandan so'ng darhol yaratilgan barcha standart foydalanuvchi hisoblarining parollarini o'zgartiring. Ma'lumotlar bazasini yaratish paytida SYS va SYSTEM foydalanuvchi parollari o'rnatilishi kerak, ammo bu talab qilinmaydi.

Parolning amal qilish muddati va amal qilish muddati tugashiga oid qat'iy qoidalarni qo'llang va foydalanuvchilarni o'z vaqtida parollarini o'zgartirishga majbur qiling. Foydalanuvchi profillarini yaratishda FAILED_LOGIN_ATTEMPTS parametridan foydalanib, muvaffaqiyatsiz kirish urinishlari sonini cheklab qo'ying. FAILED_LOGIN_ATTEMPTS limitiga erishilganda hisoblar blokirovka qilinishi kerak (bu odatiy tartib). Bunday holda, DBA ushbu hisoblarning qulfini ochadigan yagona kishi bo'ladi. Shuningdek, foydalanuvchi parollari standart parol murakkabligi talablariga javob berishini ta'minlash uchun siz Oracle Password Murakkabligini Tasdiqlash Muntazamidan foydalanishingiz mumkin.

Operatsion tizimning autentifikatsiyasi

Ikki ishga tushirish parametrlari operatsion tizim autentifikatsiyasi orqali Oracle ma'lumotlar bazasiga kirishni ochadi. Ulardan biri taniqli OS_AUTHENT_PREFIX variantidir, bu ko'pchilik odamlar shell skriptlarida va boshqa joylarda foydalanish uchun OPS $ hisob qaydnomasini yaratish uchun foydalanadilar. Albatta, OPS $ hisob qaydnomasidan foydalanish operatsion tizimning autentifikatsiyasi va xavfsizligiga bog'liqlikni anglatadi.

Operatsion tizim tomonidan foydalanuvchining autentifikatsiyasiga ta'sir ko'rsatadigan ikkinchi ishga tushirish parametri REMOTE_OS_AUTHENT bo'lib, u o'zini serverda emas, balki uzoqdagi ish stantsiyasida autentifikatsiya qilgan foydalanuvchilarga ma'lumotlar bazasiga kirish imkoniyatini beradi. Ushbu vosita kerak bo'ladigan istisno holatlar paydo bo'lishi mumkin. Ammo, umuman olganda, ushbu parametr uchun noto'g'ri bo'lgan noto'g'ri qiymat o'zgarmasdan qoldirilishi kerak. Aks holda, masofaviy operatsion tizim tomonidan avtorizatsiya qilish orqali masofaviy tizim foydalanuvchisi xavfli protokollardan foydalangan holda ma'lumotlar bazasiga kirish imkoniyatiga ega bo'ladi. Va, ehtimol, bundan ham muhimi, har qanday foydalanuvchi o'z kompyuterida tashqi identifikatsiya qilinadigan ma'lumotlar bazasi foydalanuvchisi bilan bir xil nomdagi qayd yozuvini yaratishi mumkin.

Ma'lumotlar bazasi auditi

Ma'lumotlar bazasiga SYSDBA foydalanuvchisi sifatida faqat vakolatli shaxslar kirishini ta'minlash uchun SYSDBA sifatida jurnallarning auditorlik tekshiruvini tekshiring. Auditorlik tekshiruvi ma'lumotlar bazasi auditni o'chirib qo'yish bilan boshlanganligini aniqlashga imkon beradi.

Ma'lumotlar bazasini tizimga kirishga urinishlarning barchasi Oracle tomonidan tekshirilishi kerak. Bundan tashqari, SYSDBA yoki SYSOPER sifatida ulangan har qanday foydalanuvchi tekshirilishi mumkin. Barcha SYSDBA va SYSOPER foydalanuvchi operatsiyalarini tekshirishni yoqish uchun quyidagi ishga tushirish parametrini o'rnating: AUDIT_SYS_OPERATIONS = TRUE

Qaydda! AUDIT_SYS_OPERATIONS = TRUE-ni o'rnatish barcha SYSDBA va SYSOPER foydalanuvchilari faoliyatini ma'lumotlar bazasini tekshirish jurnalida emas, balki operatsion tizim tekshiruv jurnalida qayd etilishiga olib keladi. Natijada, ma'lumotlar bazasidagi kuchli foydalanuvchilar tomonidan auditorlik izini buzish mumkin emas.

Huquqlar berish

Ma'lumotlar bazasining zaifligini kamaytirish uchun Oracle har qanday turdagi (masalan, har qanday) jadvallarni o'chirish huquqi kabi, har qanday turdagi Oracle foydalanuvchilariga huquqlar berishdan qochishni qat'iy tavsiya qiladi. To'g'ridan-to'g'ri foydalanuvchilarga ob'ekt huquqlarini bermaslik bilan siz ushbu muammodan butunlay qochishingiz mumkin. Bundan tashqari, ADMIN OPTION-ni taqdim etishdan qochishingiz kerak. ADMIN OPTION bilan vakolat, u berilgan foydalanuvchi, o'z navbatida, boshqa foydalanuvchilarga vakolat berishi mumkinligini anglatadi. Natijada, DBA tezda kimga qanday imtiyozlar berilganligi ustidan nazoratni yo'qotishi mumkin.

Foydalanuvchilarga rollarni to'g'ridan-to'g'ri berish kerak, ruxsatlar emas. Bu juda ko'p foydalanuvchilar bilan Oracle ma'lumotlar bazasini boshqarishni ancha osonlashtiradi, bu erda ma'lum bir foydalanuvchiga qaysi ruxsatnomalar to'g'ridan-to'g'ri berilganligini tekshirish qiyin. PUBLIC - ma'lumotlar bazasida yaratilgan har bir foydalanuvchi uchun standart rol. Ushbu rolga keraksiz rollar yoki ruxsatnomalar tayinlanmaganligiga ishonch hosil qiling, chunki har bir foydalanuvchi, shu jumladan jimgina yaratilgan DBSNMP va OUTLN kabi foydalanuvchilar avtomatik ravishda ushbu rollar va ruxsatlarga ega bo'lishadi.

Quyidagi so'rov PUBLIC roli 12000 dan ortiq ob'ekt darajasida ruxsatga ega ekanligini ko'rsatadi:

SQL> SELECT COUNT(*) FROM dba_tab_privs

2 WHERE grantee='PUBLIC';

COUNT(*)

-------------

12814

SQL>

PUBLIC roliga berilgan 12000 dan ortiq ob'ekt ruxsatnomalarining 100 dan ortig'i DBMS_JOB, DBMS_METADATA, DBMS_SNAPSHOT, DBMS_DDL, DBMS_SPACE va DBMS_OBFUSCATION_TOOLKIT kabi DBMS paketlarini bajarish uchun ruxsat. Ijro etuvchi barcha muhim vakolatlarni Ijtimoiy rolidan bekor qiling. Rollardan oqilona foydalanish orqali foydalanuvchilaringizga imkoniyatlarni kengaytiring.

SYSDBA vakolati foydalanuvchiga juda kuchli imkoniyatlarni beradi, jumladan ma'lumotlar bazasi ob'ektlarini o'chirish va ma'lumotlar lug'ati jadvallarini o'zgartirish. Aytish kerakki, siz SYSDBA vakolatiga juda kam berishingiz kerak.

Bir nechta DBA muhiti

Agar siz tashkilotingizda yagona Oracle ma'lumotlar bazasi ma'muri bo'lsangiz, ma'lumotlar bazasini boshqarish uchun tizimning to'liq vakolatiga ega bo'lishingiz kerak. Ammo, agar sizda bir nechta ma'lumotlar bazalarini boshqaradigan Oracle DBA guruhi bo'lsa, siz ularning har biriga bir xil vakolat (masalan, SYSDBA) va bir xil turdagi rollarni (masalan, DBA) bermasligingiz kerak. Siz o'zingizning ixtisoslashtirilgan rollaringizni yaratishingiz kerak, ularning har biri ma'lumotlar bazasini boshqarish bo'yicha aniq vazifalarni hal qilish uchun ma'lum ruxsatnomalar to'plamini o'z ichiga olishi kerak. Natijada, ishlab chiquvchilarga yangi ob'ektlarni yaratishda yordam berish uchun mas'ul bo'lgan DBA ma'lum tiklash vazifalarini bajara olmaydi va aksincha. Keyinchalik ushbu rollar ma'lumotlar bazasi ma'murlariga berilishi mumkin, shu bilan vazifalarning aniq ajratilishini ta'minlaydi.

Ma'lumotlar lug'atini himoya qilish

Har qanday tizim vakolati berilgan foydalanuvchilar ma'lumotlar lug'at jadvallarini o'chirib tashlashlari mumkin. Ma'lumotlar lug'atini himoya qilish uchun parametrlar faylidagi 07_DICTIONARY_ACCESSIBILITY konfiguratsiya parametri FALSE-ga o'rnatilishi kerak. Bu faqat SYSDBA hisob ma'lumotlari bilan tizimga kiradigan foydalanuvchilarga har qanday ma'lumotlarning berilishini cheklaydi.

Ruxsatlarni sozlash

Operatsion tizim darajasida tegishli fayl ruxsatlarini sozlang, chunki xavfsizlik teshiklari ko'pincha ushbu darajada mavjud bo'lishi mumkin. Ko'pgina UNIX tizimlarida yaratilgan faylga standart ruxsatlar rw-rw-rw beriladi. Bu shuni anglatadiki, UNIX serverida ruxsat berilgan har qanday foydalanuvchi barcha fayllarni, shu jumladan ma'lumotlar bazasi fayllarini o'qishi yoki nusxalashi mumkin. UMASK o'zgaruvchisi 022 ga o'rnatilishi kerak, shunda faqat Oracle foydalanuvchi nomi ma'lumotlar bazasi fayllariga o'qishi va yozishi mumkin.

SETUID-larni darhol Oracle-ning barcha fayllaridan o'chirib tashlang. UNIX tizimlaridagi ba'zi SETUID fayllari root foydalanuvchisi sifatida skriptlarni bajarishga imkon berishi mumkin.

UTL_FILE to'plami sizga PL / SQL dasturidan operatsion tizim fayllariga yozish imkonini beradi. UTL_FILE_DIR parametridan foydalanganda hech qachon * belgisini uning qiymati sifatida ishlatmang, demak paket OS fayl tizimining istalgan katalogiga fayllarni chiqarishi mumkin. Bunday kataloglar to'plamini UTL_FILE chiqish fayllaridan butunlay alohida bo'lgan ba'zi taniqli joylarda cheklang.

EXTPROC funktsiyasini PL / SQL-da, agar sizga kerak bo'lmasa olib tashlang. Birinchidan, EXTPROC ma'lumotlarini serverdagi listener.ora faylida va mijozdagi tnsnames.ora faylida o'chirib tashlang. EXTPROC bajariladigan fayllarini keyin $ ORACLE_HOME / bin katalogidan olib tashlash mumkin.

Odatda tizimda bajariladigan fayllar juftligi mavjud - extproc va extproc0. EXTPROC, tajovuzkorlarga operatsion tizimga hech qanday autentifikatsiyasiz kirishga imkon beradi. Agar EXTPROC funktsiyasi hali ham zarur bo'lsa, Oracle-ning MetaLink veb-saytidagi Izoh 175429.1 ga qarang.

Muntazam foydalanuvchilarga eksport va import fayllarini boshqarish elementlariga kirishni taqiqlaganingizga ishonch hosil qiling, chunki ushbu fayllarda siz foydalanadigan parollar bo'lishi mumkin.

Qaydda! Peter Finnegan Oracle xavfsizlik sayti Oracle xavfsizligi bilan bog'liq bir nechta qiziqarli va foydali maqolalar va stsenariylarni, shu jumladan SQL in'ektsiyasini aniqlash va boshqa ko'plab Oracle xavfsizlik mavzularini muhokama qilishni taklif qiladi. Finnegan veb-saytida mavjud bo'lgan Oracle ma'lumotlar bazasini to'liq tekshirish ro'yxati Oracle o'rnatmalarini tekshirish uchun mo'ljallangan va Oracle ma'lumotlar bazasi xavfsizligining barcha jihatlari haqida to'liq ma'lumot beradi.

Tinglovchilar tarmog'i va xizmati

Tarmoq va tinglovchi xizmati (TNS tinglovchi) - Oracle xavfsizligining zaif tomonlari. Ma'lumotlar bazasi hujumlari uchun beixtiyor ochiq yo'llarni qoldirish uchun ko'plab imkoniyatlar mavjud. Keling, tinglovchilarga xizmatni kuchaytirish yo'llarini ko'rib chiqamiz.

Tinglovchini himoya qilish

Blog postida muhokama qilinganidek, tinglovchi har doim ruxsatsiz foydalanuvchilarning Oracle ma'lumotlar bazasiga ulanishiga yo'l qo'ymaslik uchun paroldan foydalanishi kerak. Xavfsiz TNS Listener xizmatiga hujum qilish juda sodda ekanligini unutmang. Tinglovchi uchun parol o'rnatilgandan so'ng, tinglovchini to'xtatish yoki boshlash kabi imtiyozli harakatlar tegishli parolni kiritmasdan amalga oshirilmaydi.

Shuningdek, tinglovchining ishiga xalaqit berish uchun foydalanuvchini SET buyrug'idan foydalanishiga yo'l qo'ymaslik mumkin. Buning uchun listener.ora konfiguratsiya fayliga quyidagi qator qo'shilishi kerak:



ADMIN_RESTRICTIONS=ON

Odatiy bo'lib, ushbu parametr "false" ga o'rnatiladi. Shuningdek, siz tinglovchi xizmatini masofadan boshqarishdan saqlanishingiz kerak, chunki uning paroli tarmoq orqali o'tayotganda shifrlanmagan. Tinglovchining paroli listener.ora faylida saqlanadi, shuning uchun siz ushbu faylni himoya qilishingiz kerak.

Tarmoq himoyasi

Zamonaviy Internetga yo'naltirilgan ma'lumotlar bazasi dasturlarining asosiy xavfsizlik talablaridan biri bu tizimni tashqi devorlardan himoya devori bilan himoya qilishdir. Xavfsizlik devori o'rnatilgandan so'ng, uni biron bir sababga ko'ra teshikka yo'l qo'ymaslik orqali ishonchli saqlang - masalan, Internetga ulanish uchun tinglovchi foydalanadigan portlardan foydalaning.

Oddiy xavfsizlik devoridan tashqari, siz Oracle Net xizmatidan server tomonidan kirishni boshqarish deb nomlangan qo'shimcha himoya qatlamini ta'minlash uchun foydalanishingiz mumkin. Server tomondan kirishni boshqarish elementlari tinglovchilar xizmati orqali ma'lumotlar bazasiga ulanish imkoniyatini cheklaydi. Ulanishlarni o'rnatish orqali manzillarni cheklashning ikkita usuli mavjud. Sqlnet.ora faylida siz taklif qilingan (qabul qilingan) manzillarni, shuningdek chiqarib tashlangan manzillarni ro'yxatlashingiz mumkin. Taklifnomalar ro'yxatida ko'rsatilgan barcha tarmoq manzillariga ulanishga ruxsat beriladi va o'chirilgan xostlar ro'yxatidagi barcha manzillarga kirish taqiqlanadi.

Ishga tushganda tinglovchi xizmati sqlnet.ora faylini o'qiydi va kirishning belgilangan boshqaruv elementlariga muvofiq kirish huquqini beradi. Taklif qilinuvchilarni ko'rsatishda serverga kirishni boshqarish vositalarini yoqish uchun sqlnet.ora fayliga quyidagi qatorlarni qo'shing:



tcp.validnode_checking = yes

tcp.invited_nodes = (server1.us.wowcompany.com, 172.14.16.152)

Manzillarni chiqarib tashlash uchun quyidagi qatorni qo'shing:



tcp.excluded_nodes = (server1.us.wowcompany.com, 172.14.16.152)

Qaydda! Umuman olganda, ma'lumotlar bazasiga ulanadigan manzillarni bilishingiz ehtimoli katta bo'lgani uchun TCP_INVITED_NODES parametridan foydalanish tizimga kirishni cheklashning eng samarali usuli hisoblanadi.

Masofaviy mijoz tomonidan autentifikatsiyani rad eting

Ushbu maqolada ilgari muhokama qilinganidek, masofaviy mijozlarga hisobga olish ma'lumotlari autentifikatsiyasini amalga oshirishga ruxsat berish xavfli va server har doim ma'lumotlar bazasiga ulangan mijozlarning autentifikatsiyasi uchun javobgar bo'lishi kerak. Init.ora faylida quyidagi parametrni o'rnatish orqali mijozlar uchun operatsion tizim autentifikatsiyasini o'chirib qo'yish mumkin:



REMOTE_OS_AUTHENT=FALSE

Yuqoridagi sozlama server tomonidan foydalanuvchining autentifikatsiyasini rag'batlantiradi, bu mijozning operatsion tizimiga ushbu vazifani ishonib topshirishdan ko'ra xavfsizroqdir.

Xavfsizlik bilan bog'liq boshlang'ich parametrlarini o'rnatish

SEC_CASE_SENSITIVE_LOGON boshlash parametridan tashqari, Oracle ma'lumotlar bazasini qattiqlashtirish uchun quyidagi parametrlardan ham foydalanish mumkin.

sec_protocol_error_further_action

Mijozlardan buzilgan paketlarni qabul qilishda ma'lumotlar bazasi bajarishi kerak bo'lgan harakatlarni belgilashga imkon beradi (o'chirish yoki qabul qilishni davom ettirish). Ushbu paketlar zararli niyat bilan yuborilgan deb taxmin qiladi.

sec_protocal_error_trace_action

Xatolikni kuzatib borish uchun qanday harakatlar qilinishini belgilashga imkon beradi. Masalan, siz xatoni kuzatishingiz yoki xato haqida ogohlantirish yuborishingiz mumkin.



  • sec_max_failed_login_attempts

Hatto foydalanuvchining parol profilini o'chirib qo'ygan bo'lsa ham, foydalanuvchilar o'z kuchlarini saqlab qolishlari mumkin bo'lgan ketma-ket muvaffaqiyatsiz ulanish urinishlari sonini belgilashga imkon beradi.

  • ldap_directory_sysauth

Kuchli autentifikatsiyani yoqadi (Kerberos ma'lumotlari yoki sertifikatlari Secure Sockets Layer (SSL) orqali).

Granüler tarmoqqa kirishni boshqarish

UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP va UTL_INADDR kabi tarmoq bilan bog'liq paketlar xavfsizlik teshiklarini yaratishi mumkin, chunki PUBLIC ushbu paketlarning barchasida ruxsatni amalga oshiradi. Ushbu paketlardan biri orqali tajovuzkor ma'lumotlar bazasiga bemalol kirib borishi mumkin. Siz tashqi tarmoq xizmatlari orqali ma'lumotlar bazasiga foydalanuvchi kirishini boshqarish uchun Oracle-ning granüler tarmoqqa kirishini boshqarish vositasidan foydalanishingiz mumkin. Masalan, ma'lum bir saytlardan ma'lumotlar bazalariga foydalanuvchi kirishini cheklashingiz mumkin.

DBMS_NETWORK_ACL_ADMIN va DBMS_NETWORK_ACL_UTILITY to'plamlari kirishni boshqarish ro'yxatlari (ACL) yaratish uchun ishlatiladi. Kirish nazorati ro'yxati - foydalanuvchilar ro'yxati va ularga berilgan ruxsatlar. ACL-larni Oracle XML JB orqali boshqarish mumkin. Ma'lumotlar bazasi ACL-larni XML hujjati shaklida Oracle XML JB-dagi / sys / acl papkasida saqlaydi.

Kirish nazorati ro'yxatini yaratish

ACL yaratish uchun DBMS_NETWORK_ADMIN paketining CREATE_ACL protsedurasidan foydalaning, quyidagi misolda ko'rsatilgandek:



SQL> begin

dbms_network_acl_admin.create_acl (

acl => 'my_xml',

description => 'Permissions for my network',

principal => 'APPOWNER',

is_grant => 'TRUE',

privilege => 'connect');

end;

SQL>

Create_acl protsedurasi quyida tavsiflangan parametrlarni oladi.

Процедура create_acl принимает описанные ниже параметры.


  • acl

Указывает имя XML-файла, который содержит имена пользователей и полномочия, перечисленные в списке ACL.

  • prinicpal

Указывает имя пользователя и должен совпадать с именем пользователя сеанса.

  • is_grant

Показывает, выдано или запрещено данное полномочие.

  • privilege

Berilishi yoki rad etilishi kerak bo'lgan tarmoq ruxsatlarini belgilaydi. CONNECT-ni ruxsat parametrining qiymatlari sifatida belgilashingiz mumkin

yoki RESOLVE. UTL_MAIL kabi har qanday PL / SQL tarmoq to'plami yordamida ma'lumotlar bazasiga ulanishi kerak bo'lsa, foydalanuvchiga CONNECT vakolati berilishi kerak. RESOLVE vakolati UTL_INADDR to'plami yordamida berilgan IP-manzilning xost nomini olishga va aksincha yordam beradi.

ACL yaratilgandan so'ng, unga ADD_PRIVILEGE protsedurasini ishga tushirish orqali foydalanuvchilar yoki ruxsatlarni qo'shishingiz mumkin:

SQL> begin

dbms_network_acl_admin.add_privilege (

acl => 'test.xml',

prinicpal => 'test_users',

is_grant => true,

privilege => 'connect')

end;

SQL>

Agar add_privilege protsedurasida ko'rsatilgan ACL mavjud bo'lmasa, ma'lumotlar bazasi uni yaratadi.

Xostga kirishni boshqarish ro'yxatini tayinlash

Yangi yaratilgan ACL-ni tarmoq xostiga ulash uchun quyidagi misolda ko'rsatilgandek ASSIGN_ACL protsedurasidan foydalaning:



SQL> begin

dbms_network_acl_admin.assign_acl (

acl => 'test.xml',

host => '*.us.mycompany.com',

lower_port => 80,

upper_port => null);

end;

SQL>

ACL-lar xost, domen yoki IP-tarmoqlarga berilishi mumkin. Bunday holda, agar kerak bo'lsa, siz bir qator TCP portlarini belgilashingiz mumkin. ASSIGN_ACL protsedurasini bajarishda quyidagi fikrlarni yodda tutish kerak.

Har bir xost, domen yoki IP pastki tarmog'iga faqat bitta ACL tayinlanishi mumkin.

Eski ACL-ni yangisiga almashtirishda ma'lumotlar bazasi eski ACL-ni avtomatik ravishda o'chirmaydi. ACL-ni olib tashlash uchun DROP_ACL protsedurasini bajarishingiz kerak.

UNASSIGN_ACL protsedurasi yordamida ACL-ni bekor qilishingiz mumkin.

Xost buyurtmasi

* Kabi xost nomida joker belgini ko'rsatsangiz, ma'lumotlar bazasi belgilangan domendagi barcha xostlarga boshqaruv ro'yxatini tayinlaydi. ACL xost nomlarini quyidagi tartibda baholaydi:

belgilangan portlarga ega bo'lgan to'liq malakali xost nomlari;

to'liq malakali xost nomlari;

domen ichidagi subdomainlar.

Xuddi shu tarzda, individual IP-manzillarga berilgan ACL-lar subnetslarga berilgan ACL-lardan ustun turadi.

Xost ruxsatnomalari va topshiriqlarini tekshirish

Quyidagi misolda ko'rsatilgandek foydalanuvchi ACL-da qanday ruxsatlarga ega ekanligini bilish uchun CHECK_PRIVIELGE funktsiyasidan foydalaning:

SQL> SELECT DECODE(dbms_network_acl_admin.check_privilege (

test.xml', 'hr','resolve'),

1, 'granted', 0, 'denied', null) privilege

FROM DUAL;

Ushbu funktsiyani bajarish, agar ruxsat berilmagan bo'lsa 0 ga, agar berilgan bo'lsa 1 ga teng bo'ladi. Agar ruxsat berilmagan yoki rad etilmagan bo'lsa, funktsiya NULL qiymatini qaytaradi.

MetaLink va muhim yangilanishlar va xatolarni tuzatish

Xavfsizlikni boshqarishning muhim qismi bu zaifliklar haqidagi so'nggi yangiliklardan xabardor bo'lish va ularni tuzatish uchun yamoqlarni o'rnatishdir. Oracle-da tezkor ravishda yangi xavfsizlik tuzatishlarini chiqarish siyosati mavjud, shuning uchun doimiy ravishda Oracle MetaLink-ni so'nggi xavfsizlik tuzatishlarini tekshirishingiz kerak.

Muntazam ravishda joylashtirilgan Oracle xavfsizlik tahdidlari to'g'risida ogohlantirishlarni keyingi sahifada topish mumkin. Xavfsizlikni buzganlik haqidagi yangiliklarni MetaLink veb-saytining Yangiliklar va eslatmalar bo'limida ham topish mumkin. Agar xohlasangiz, Oracle elektron pochta orqali yangi xavfsizlik muammolari to'g'risida ogohlantirishlarni yuboradi. Siz ushbu bepul xizmatga veb-sahifada ro'yxatdan o'tish orqali obuna bo'lishingiz mumkin.

Oracle har chorakda Critical Patch Updates-ni chiqaradi, bu haqda Oracle mijozlariga MetaLink, OTN Security Alerts sahifasi va Oracle Security RSS orqali xabar beriladi. Agar siz allaqachon MetaLink abonenti bo'lsangiz, avtomatik ravishda Critical Patch Updates-ga obuna bo'lasiz. Agar yamoq asosiy tahdidni bartaraf qilsa, Oracle har chorakda Critical Patch Update-ning patch fayllarini yuborishini kutmaydi. Bunday hollarda, Oracle MetaLink veb-sayti orqali rejadan tashqari xavfsizlik to'g'risida ogohlantirish beradi va yamoqni darhol yuklab olishga imkon beradi. Ushbu tuzatish, shuningdek, Critical Patch Update-ning keyingi chorakda chop etilishiga qo'shiladi. Biroq, aksariyat hollarda, Catchical Patch Updates Oracle-ning asosiy tarqatish usuli bo'lib, aksariyat yamalar uchun.Kritik yamoqlarni yangilash - bu jiddiy xavfsizlik teshiklarini tuzatuvchi va foydalanishga yaroqli tuzatishlarni, xavfsizlik teshiklarini tuzatish uchun zarur shartlarni yoki ikkalasini o'z ichiga olgan keng qamrovli yamaqlar to'plami. Natijada, ma'murlar o'zlarining ixtiyorlarida tizimdagi yamoqlarni qo'llash bo'yicha har choraklik jadvalga ega. Har chorakda bitta yamoqni qo'llash sinchkovlik bilan sinab ko'rishni talab qiladigan va bir-biri bilan ziddiyatga olib kelishi mumkin bo'lgan bir nechta yamoqlardan ko'ra qulayroqdir.Har chorakda Critical Patch Updates bilan bir qatorda yangi Risk Matrix ham taqdim etildi. Xatarlar matritsasi mijozlarga har bir muhim nuqta yangilanishi bilan tuzatilgan har bir zaiflikning ko'lami va zo'ravonligini baholashga imkon beradi. Xatarlar matritsasi ma'lumotlarning maxfiyligi, yaxlitligi va mavjudligiga tahdidlarni aniqlaydi va tizim eng zaif bo'lgan sharoitlarni ko'rib chiqadi. Bu sizga ma'lum tizimlar uchun mavjud bo'lgan xavfni baholash va ushbu tizimlarga yamoqlarni qo'llash ustuvorligini aniqlashga imkon beradi.

Kengaytirilgan xavfsizlik Oracle opsiyasi

Ma'lumotlar bazalarini himoya qilish uchun Oracle o'zining Advanced Security parametridan foydalanishni talab qilmaydi. Biroq, ushbu parametr juda ko'p kuchli xavfsizlik xususiyatlarini taqdim etadi, agar sizning biznesingiz yuqori darajadagi ma'lumotlar va tarmoq xavfsizligini talab qilsa, mantiqan to'g'ri keladi.

Advanced Security Oracle opsiyasidan foydalanishda mavjud bo'lgan ba'zi qo'shimcha xavfsizlik xususiyatlari quyida keltirilgan.

Mijozlar, dastur serverlari va ma'lumotlar bazalari o'rtasida tarmoq trafigini shifrlash.

Kengaytirilgan foydalanuvchi autentifikatsiya qilish usullari.

Markazlashtirilgan foydalanuvchi boshqaruvi.

Ochiq kalit infratuzilmasini (PKI) qo'llab-quvvatlash.

Ilova xavfsizligi

Xavfsizlik bo'yicha avvalgi eng yaxshi amaliyotlar asosan tarmoq va ma'lumotlar bazasiga ruxsatsiz kirishni oldini olishga qaratilgan bo'lsa-da, dastur xavfsizligi qoidalarini teshiksizligini ta'minlash uchun ularni ko'rib chiqish juda muhimdir. Ilovalarning ishonchliligini ta'minlash uchun tashkilot rollar va SQL * Plus dan foydalanadigan aql-idrok siyosati to'plamini amalga oshirishi kerak.

Rollar orqali ruxsat berish

Ruxsatlarni to'g'ridan-to'g'ri turli foydalanuvchilarga berish o'rniga ularni kapsulalash uchun rollardan foydalanishni allaqachon ko'rib chiqdik. To'g'ridan-to'g'ri berilgan ob'ekt ruxsatnomalari miqdorini minimallashtirish kerak, masalan, protseduralar va paketlar kabi saqlangan kodlarni foydalanuvchilar uchun DML-bayonotlarni chiqaradigan vositalar. Siz shunchaki foydalanuvchiga har qanday DML amallarini bajarish uchun ma'lum bir paket yoki protsedurani bajarish vakolatini berishingiz mumkin. Paket yoki protsedura tugagandan so'ng, foydalanuvchi endi saqlangan koddan tashqarida biron bir DML amallarini bajara olmaydi.

Rollarni o'chirib qo'yish

Barcha dastur rollari foydalanuvchilarga tayinlangan rollarni faollashtirish uchun SET ROLE operatoridan foydalanishi kerak. Ilova foydalanuvchilariga rollar faqat ma'lum maqsadlar uchun berilishi kerak va kerak bo'lmaganda ularni bekor qilish kerak.

Ilova egalari PL / SQL paketlari yordamida yoqiladigan xavfsiz dastur rollarini yaratishni o'ylashlari kerak. Xavfsiz dastur roli yaratilib, foydalanuvchiga tayinlangandan so'ng, ma'lumotlar bazasiga kirganda avtomatik ravishda foydalanuvchiga tayinlanadi.

SQL * Plus-dan foydalanishni cheklash

Ma'lumotlar bazasini ommaga ochishda qilish kerak bo'lgan birinchi ishlardan biri bu foydalanuvchilar tomonidan SQL * Plus interfeysidan foydalanishni keskin cheklashdir. Product_user_profile jadvalidan foydalanib, foydalanuvchining SQL * Plus dan foydalanish imkoniyatini cheklashingiz mumkin.

Foydalanuvchini boshqarish bo'yicha foydali usullar

Maqolaning ushbu qismida foydalanuvchilarni boshqarishda sizga yordam beradigan oddiy skriptlarni ko'rib chiqamiz. Shuningdek, ushbu sohada duch kelishi mumkin bo'lgan ba'zi odatiy muammolar haqida bilib olasiz.

Profillarni o'zgartirish

Quyidagi kod foydalanuvchi profilini o'zgartirganligini namoyish etadi:



SQL> ALTER PROFILE fin_user

2 LIMIT

3 FAILED_LOGIN_ATTEMPTS 5

4 PASSWORD_LOCK_TIME 1;



Profile altered.

SQL>

Foydalanuvchi ma'lumotlarini ko'rsatish

Ma'lumotlar bazasining foydalanuvchi "populyatsiyasi" haqida juda katta miqdordagi ma'lumot uchun siz DBA_USERS ko'rinishiga murojaat qilishingiz mumkin. DBA_USERS ko'rinishi uchun odatiy so'rov quyidagicha ko'rinadi:

SQL> SELECT username, profile, account, status

FROM dba_users;

USERNAME PROFILE ACCOUNT_STATUS

---------- -------- ---------------

SYS DEFAULT OPEN

SYSTEM DEFAULT OPEN

OUTLN DEFAULT OPEN

DBSNMP DEFAULT OPEN

HARTSTEIN DEFAULT OPEN

FINANCE DEFAULT OPEN

SQL>

Hozirda foydalanuvchi bajarayotgan SQL so'rovini bilish

Quyidagi V $ SESSION va V $ SQLTEXT jadvallariga qo'shilgan so'rov foydalanuvchining ma'lum bir vaqtda bajarayotgan SQL matnini olish uchun ishlatilishi mumkin.

SQL> SELECT a.sid,a.username,

2 s.sql_text

3 FROM v$session a,v$sqltext s

4 WHERE a.sql_address = s.address

5 AND a.sql_hash_value = s.hash_value

6 AND a.username LIKE 'HR%'

7 * ORDER BY a.username,a.sid,s.piece;

SID USERNAME SQL_TEXT

-------- --------- -----------------------------------

8 HR BEGIN dbms_stats.gather_table_stats

('HR','REGIONS'); END;

SQL>

Boshqa foydalanuvchi sifatida ro'yxatdan o'tish

Ba'zan, ba'zi bir harakatlarni amalga oshirish uchun siz boshqa DBA sifatida ro'yxatdan o'tishingiz kerak. Ammo, hatto DBA Oracle foydalanuvchisi ham shifrlangan holda saqlanadigan foydalanuvchi parollariga kirish huquqiga ega emas. Foydalanuvchining parolini o'zgartirish uchun ALTER USER iborasidan foydalanish mumkin edi, lekin parolni keraksiz o'zgartirib, foydalanuvchiga noqulaylik tug'dirishi ma'qul emas.

Bunday hollarda siz parolni vaqtincha o'zgartirishingiz va ushbu foydalanuvchi sifatida ma'lumotlar bazasiga kirish uchun yangi paroldan foydalanishingiz mumkin. Parolni almashtirishdan oldin shifrlangan asl parolni oling, undan foydalanuvchi parolini tiklash uchun foydalanishingiz mumkin. Barcha foydalanuvchilarning shifrlangan parollarini USER $ ko'rinishidan olish mumkin, masalan:



SQL> SELECT 'alter user tester identified by values '||password||';'

2 FROM user$

3 * WHERE username='TESTER';

'ALTERUSERTESTERIDENTIFIEDBYVALUES'||';'

---------------------------------------------------------

alter user tester identified by values 1825ACAA229030F1;

SQL>

Теперь измените пароль пользователя tester, чтобы можно было зарегистрироваться под именем этого пользователя:



SQL> ALTER USER tester IDENTIFIED BY newpassword;

Sinovchi foydalanuvchi hisobini qo'llashni tugatgandan so'ng, ushbu foydalanuvchi uchun parolni asl qiymatiga qaytarish uchun ALTER USER iborasini qayta kiriting. Shifrlangan parolni bitta tirnoq bilan qo'shib qo'yganingizga ishonch hosil qiling.



SQL> ALTER USER tester IDENTIFIED BY VALUES '1825ACAA229030F1';

User altered.

SQL>

Foydalanuvchi sessiyasini tugatish

ALTER SYSTEM buyrug'i foydalanuvchining har qanday sessiyasini to'xtatadi. Birinchidan, foydalanuvchining SID (sessiya identifikatori) va seriya # (seriya raqami) qiymatlari uchun V $ SESSION ko'rinishini so'rashingiz kerak. So'ngra, qabul qilingan seans identifikatori va tartib raqami qiymatlari bilan siz ushbu foydalanuvchi seansini to'xtatishingiz mumkin. Masalan:

SQL> SELECT sid, serial# FROM v$session

2 * WHERE username='SALAPATI';

SID SERIAL#

----------------

10 32

SQL> ALTER SYSTEM KILL SESSION '10,32';

System altered.

SQL>

Agar siz tugatmoqchi bo'lgan seans uzoq muddatli orqaga qaytarish kabi uzoq operatsiyada ishtirok etsa, Oracle sessiyaning tugatilishi uchun belgilanganligini va operatsiya tugagandan so'ng uni to'xtatishini bildiradi. Oracle ma'lumotlar bazasi sessiyani tugatgandan so'ng, u bajarilayotgan barcha operatsiyalarni qaytaradi va sessiyaning barcha qulflarini chiqaradi.

Foydalanuvchining UNIX jarayonini bekor qilish, ehtimol Oracle sessiyasining bekor qilinishiga olib keladi, ammo bu sessiyani yakunlashning eng oqilona usuli emas. Agar sizga foydalanuvchining UNIX sessiyasini tugatish kerak bo'lsa va Oracle KILL SESSION buyrug'i ishlamayotgan bo'lsa yoki uzoq vaqt talab qilsa, UNIX o'ldirish buyrug'i yordamida sessiyani juda tez tugatishingiz mumkin. Shuni unutmangki, o'ldirish buyrug'i o'zi yoki -9 tugmachasi bilan ishlatilishi mumkin, ammo aksariyat hollarda oddiy o'ldirish buyrug'i Oracle foydalanuvchisining UNIX sessiyasini tugatish uchun etarli

$ kill 345678 или $ kill -9 345678

Следующий сценарий позволяет извлечь из динамического представления V$SESSION номер процесса (а также SID и порядковый номер):



SQL> SELECT process, sid, serial# FROM v$session

WHERE username='&user';

Enter value for user: SALAPATI

old 2: username='&user'

new 2: username='SALAPATI'

PROCESS SID SERIAL#

--------- ---- -------

2920:2836 10 34

SQL>

Windows tizimlarida jarayonlar tushunchasi ishlatilmaydi, ammo barcha foydalanuvchi jarayonlari bir xil .exe Oracle jarayonining oqimlari. Windows-da Oracle foydalanuvchi sessiyasini to'xtatish uchun ORAKILL yordam dasturidan Oracle .exe jarayonida ma'lum bir ish zarrachasini to'xtatish uchun foydalanishingiz mumkin.

Siz foydalanuvchi sessiyasini tugatishni xohlaysizmi deylik. Ushbu foydalanuvchi oqimini qanday aniqlash mumkin? Quyidagi ro'yxat Windows tizimidagi har qanday foydalanuvchi uchun mavzuni aniqlash uchun oddiy so'rovdan foydalanishni namoyish etadi.

SQL> SELECT sid, spid as thread, osuser, s.program

2 FROM v$process p, v$session s

3 * WHERE p.addr = s.paddr;

SID THREAD OSUSER PROGRAM

--------- -------- ------ ---------------------

1 1192 SYSTEM ORACLE.EXE

2 1420 SYSTEM ORACLE.EXE

3 1524 SYSTEM ORACLE.EXE

4 1552 SYSTEM ORACLE.EXE

5 1528 SYSTEM ORACLE.EXE

6 1540 SYSTEM ORACLE.EXE

7 1580 SYSTEM ORACLE.EXE

8 1680 SYSTEM ORACLE.EXE

9 2948 NETBSA\SAlapati sqlplusw.exe

10 4072 NETBSA\SAlapati sqlplusw.exe

10 rows selected.

SQL>

Yuqoridagi ro'yxatdagi skript Oracle-ning har bir foydalanuvchisi bilan bog'langan oqim raqamlarini aks ettiradi. Oqim raqamlari olinganidan so'ng, foydalanuvchi sessiyasi quyidagi buyruq yordamida to'xtatilishi mumkin (oqim raqami 2948 deb taxmin qilinadi):



C:> orakill 2948

Xulosa:

Ushbu ishda foydalanuvchini yaratish, imtiyozlar va rollarni berish, Oracle ma'lumotlar bazasini auditi, xavfsizlik mexanizmlari (shu jumladan, virtual shaxsiy ma'lumotlar bazasi kontseptsiyasini), autentifikatsiya qilish usullari va ma'lumotlarni shifrlash bo'yicha keng ma'lumotni taqdim etildi. Oracle foydalanuvchisini boshqarish va xavfsizligi to'g'risida batafsilroq ma'lumot olish uchun Oracle ma'lumotlar bazasi xavfsizligi qo'llanmasiga murojaat qilish kerakligi ko’rib chiqildi. 
Download 259,3 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish