Məlumatın Təhlükəsizliyi / Oracle Database Vault

Məlumatın Təhlükəsizliyi / Oracle Database Vault

Kaynak : Oracle® Database Vault Administrator’s Guide 11g Release 2 (11.2)

http://docs.oracle.com/cd/E11882_01/server.112/e23090/dvdisabl.htm#BAJJCDGD

Salam.

Hal-hazırda məlumatın özü, davamlılığı, olduğu yer, saxlanması nə qədər əhəmiyyətli isə, məlumatın təhlükəsizliyi də o qədər əhəmiyyətlidir. Buna paralel olaraq, hamımızın duyduğu / oxuduğu kiber oğurluqlar, məlumatlara çatıb, məlumatı dəyişdirmə və ya itirmə / silmə kimi hadisələr yaşandıqca, verilənlər bazası təhlükəsizliyi də əhəmiyyət kəsb edir.

Məlumatın təhlükəsizliyi üçün alınması lazım olan tədbirlərin, hardware, şəbəkə, əməliyyat sistem səviyyələrində olduğu kimi, verilənlər bazası səviyyəsində də nəzərə alınması lazımdır. Ümumiyyətlə firmalar bir firewall məhsulu alaraq təhlükəsizliklə əlaqədar problemlərini həll etdiklərini düşünürlər. Ancaq yalnız firewall məhsullarının istifadəsiylə, məlumatın qorunamadığı bilinən bir gerçəkdir.

Firewall məhsulları ilə çöldən ediləcək hücumlara qarşı tədbirlər alınabilinərkən, içəridən edilən hücumlara qarşı bir tədbir alınmadığı araşdırmalarda ortaya çıxmışdır. Xüsusilə bazanın çalışdığı server üzərində məlumatın qorunması ilə əlaqədar bir iş aparılmır. DBA səlahiyyətinə sahib bir istifadəçinin, bazasında hər cür səlahiyyətə sahib olduğu və hətta müxtəlif kompüterlərdən bağlanıb eyni əməliyyatları edə biləcəyi düşünüldüyündə, meydana gələ biləcək təhlükəsizlik açıqları düşünülmək məcburiyyətindədir. Bir database admin’in bazasında necə hər məlumata çatıb görməsi təhlükəli isə, eyni şəkildə fərqli kompüterlərdən bağlanıb eyni işləri etməsi də təhlükəlidir və hətta bir təhlükəsizlik açığıdır.

Oracle Verilənlər bazası təhlükəsizliyi həllərindən biri olan Oracle Database Vault, yuxarıda bəhs edilən problemləri həll etmədə köməkçi olacaq bir proqram kimi təklifdir.

Oracle Database Vault Nədir?

Oracle Database Vault, məlumatınızın giriş təhlükəsizliyi mövzusunda dinamik və çevik giriş kontrollarını həyata keçirməyinizi, raporlamanızı təmin edən, Oracle Enterprise distributivləriylə birlikdə gələn və verilənlər bazası quraşdırılmasında opsiyonal olaraq iştirak edən bir məhsuldur. Verilənlər bazası kernel səviyyəsində çalışan bu xüsusiyyət, PLSQL tətbiq edilən təhlükəsizlik tədbirlərindən daha çox təsirlidir. Hər bir verilənlər bazası üçün ehtiyac duyulacaq təhlükəsizlik səviyyəsinin fərqli ola bilən hallarında istifadə edilən Database Vault, single-instance Oracle verilənlər bazasına tədbiq edilə bildiyi kimi, RAC arxitekturasındakı strukturlarda da müvəffəqiyyətli bir şəkildə istifadə edilməkdədir.

 • Etdikləri iş gərəyi verilənlər bazasını istifadə etməyə icazə vermək vəziyyətində olduğunuz səlahiyyətli istifadəçilərin, işçilərin, müştərilərin, təchizatçıların və iş-ortaqlarının, yalnız icazə verdiyiniz məlumatlara çatdığını əmin olmanızı təmin edər. Bir verilənlər bazası idarəçisinin belə kritik məlumatlarınıza (kredit kartı, müştəri xüsusi məlumatları, hesab detalları, personal maaş məlumatları, hesablamalar, xərclər, görüş detalları kimi) girişinə maneə törədə bilər.

• Verilənlər bazasınızın məlumatınız xaricində icazəsiz olaraq dəyişdirilməsinə mane olar.

• Real vaxtda anlıq kontrollar əlavə etməyə, dəyişdirməyə və təqib etmənizi təmin edər.

• Oracle ailəsinin bir məhsulu olan “Database Vault” quraşdırılması, konfiqurasiya və rəhbərliyi olduqca sadə bir məhsul olmaqla birlikdə sistemin performansına çox aşağı təsir ilə istifadə edilə bilər.

• Database Vault Oracle Verilənlər bazasının içərisində basdırılmış olaraq gələn və sadə bir addımla qurula bilən bu məhsul olub realm, command rule, factor, rule ayarları ilə və hesabat qisimləri ilə xidmət verməkdədir.

• Oracle Database Vault, ərizə və məlumatları qorumaq üçün çox güclü etibarlı bir mühit təmin edir.

• Oracle Database ilə səlahiyyətli istifadəçilərin səlahiyyətlərinə limit qoyula bilər (SELECT ANY TABLE). Ən səlahiyyətli rola sahib DBA istifadəçilərin hüquqlarına belə limit qoyula bilər.

• Bazadakı obyektlər üzərində (alter, drop, truncate və s) və ya məlumatların tərkibində ediləcək dəyişikliklər (insert, delete, update və s), necə, nə zaman, nə ilə planlaşdırılmış işlər siyahısını təyin edərək limitlər təyin edilə bilər.

• Oracle Database Vault mövcud baza mühitini qoruyar. Istənilməyən proqramların bağlanmasına maneə törədilə bilər. Verilənlər bazasını istənilməyən hücumlardan qoruyar.

• Baza Vəzifə ayrılığı prinsipi əmələ gətirir.

 DB Vault qurulması üçün İlk Xəbərdarlıqlar

 Xəbərdarlıq 1: / var / opt / Oracle / oratab  altındakı əlaqədar sətir düzgün $ ORACLE_HOME olmalıdır. Əks təqdirdə dbca işlədildiyində Configure Option butonu passiv çıxacaq.

Xəbərdarlıq 2: Default profile dəki PASSWORD_VERIFY_FUNCTION NULL olmalıdır. Əks təqdirdə ORA-29504 xətası alınır. Həll üçün Doc ID 1509963.1

Xəbərdarlıq 3: DBCA ilə konfiqurasiyası  85% ətraflarında ORA-29504 xətası alına bilər. Bu səhv 11g də ignore edilə bilər. 12c də düzəldilmişdir. Həll üçün Doc ID 1509963.1

 

Db Vault Option-ın Oracle Binary üçün Kontrol Edilməsi

 Nəzarət etmək üçün sqlplus a sysdba ilə qoşularıq.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – 64bit Production

Yuxarıda Vault la əlaqədar bir yazı gəlmədiyini görürük. Əgər qurulmuş olsaydı əlavə olaraq With the Oracle Label Security, Oracle Database Vault options yazısı görüləcəkdi.

Əlavə olaraq Kontrol üçün aşağıdakı view dan yararlanırız.

SELECT * FROM V $ OPTION WHERE Parameter = 'Oracle Database Vault';

Oracle Database Vault —– à FALSE (yəni disabled)

Nümunə:

 1

Db Vault Option-ın Oracle Binary üçün Enable Edilməsi

ADIM 1-İlgili Database bağlanar

SQL> SHUTDOWN Immediate

ADIM 2-Dbconsole (Enterprise Manager) var isə bağlanar

$ Emctl stop dbconsole

ADIM 3- İlgili Listener bağlanar

lsnrctl stop listener

ADIM 4- DB Vault Option Oracle Binary üçün enable edilir

cd $ ORACLE_HOME / rdbms / lib

make -f ins_rdbms.mk dv_on lbac_on ioracle

Ümumi Qeyd: Oracle binary də option enable edərkən Make -f yerinə CHOPT əmri də istifadə edilə bilər. Istifadəsi aşağıdakı linkdən.

http://docs.oracle.com/cd/E11882_01/install.112/e25666/postinst.htm#BABJIAJB

 Nümunə:

CHOPT enable lbac

Writing to /u01/app/oracle/product/11.2.0/dbhome_2/install/enable_lbac.log …

/ usr / bin / make -f /u01/app/oracle/product/11.2.0/dbhome_2/rdbms/lib/ins_rdbms.mk lbac_on ORACLE_HOME = / u01 / app / Oracle / product / 11.2.0 / dbhome_2

/ usr / bin / make -f /u01/app/oracle/product/11.2.0/dbhome_2/rdbms/lib/ins_rdbms.mk ioracle ORACLE_HOME = / u01 / app / Oracle / product / 11.2.0 / dbhome_2

CHOPT enable dv

Writing to /u01/app/oracle/product/11.2.0/dbhome_2/install/enable_dv.log …

/ usr / bin / make -f /u01/app/oracle/product/11.2.0/dbhome_2/rdbms/lib/ins_rdbms.mk dv_on ORACLE_HOME = / u01 / app / Oracle / product / 11.2.0 / dbhome_2

/ usr / bin / make -f /u01/app/oracle/product/11.2.0/dbhome_2/rdbms/lib/ins_rdbms.mk ioracle ORACLE_HOME = / u01 / app / Oracle / product / 11.2.0 / dbhome_2

 

ADDIM 5 -Database və Listener açılaraq DB Vault un enable olub olmadığı yoxlanılır.

 

Sqlplus> startup;</span></p></p>

<pre><p class="MsoNormal"><span lang="EN-US">SELECT * FROM V $ OPTION WHERE Parameter = 'Oracle Database Vault';

Oracle Database Vault à TRUE (yəni enabled)

Əlavə olaraq sqlplus a girildiyində With the Oracle Label Security, Oracle Database Vault options gəldiyi görülür

Nümunə:

 2

Oracle Database Vault bazası quraşdırılmasında seçkili olaraq gəlməkdədir. Database vault, Oracle qurularkən seçiləbiləcəyi kimi, Oracle instance qurulduqdan sonra da aktiv hala gətirilə bilər. Oracle instance qurulduqdan sonra aktiv hala gətirilməsi üçün dbca əmri ilə Database Configuration Assistant işlədilməsi lazımdır.

 3

Configuration Database Option variantı işarələnib next düyməsinə basılır.

 4

Server üzərində birdən çox Oracle instance varsa, Database Vault aktiv ediləcək Oracle Instance seçilir.

 5

Database Vault, Oracle Label Security seçildikdən sonra aktiv hala gələcəkdir.

 6

Database Vault Owner və opsional olaraq Account Manager (girilməsi məsləhətdir) üçün istifadəçi / parol tərifi edilir.

 7

Kurulum bittikten sonra, https://hostname(veya host ip):port number/dva bilgilərini browser’a yazarak Oracle Database Vault ekranına girilir.

 8

Datatabase Vault Vəzifə Ayrılığı

Oracle Database Vault vəzifəyə görə ayrılma xüsusiyyəti, verilənlər bazası üzərində təhlükəsizlik rəhbərliyi, hesab rəhbərliyi və verilənlər bazası idarə olaraq üç fərqli məsuliyyət ortaya çıxarar.

Təhlükəsizlik idarəçisi (Security Administration), Təhlükəsizlikdən məsul şəxs eyni zamanda Oracle Database Vault’un da sahibidir. Verilənlər bazasındakı bütün təhlükəsizlik əməliyyatından məsuldur. Realms, əmr qaydaları və faktorları idarə edə və Database Vault hesabatlarını işlədə bilər, lakin tətbiq məlumatlarına çatma haqqı yoxdur.

Hesab idarəçisi (Account Management), istifadəçi hesablarını yaratmaq, silmə və dəyişdirmə səlahiyyətlərinə malikdir.

Verilənlər bazası idarəçisi (Database Administration) isə, backup / yaxşılaşdırma, patch tətbiqi və performans rəhbərliyi kimi DBA vəzifələrini icra edər.

 9

Database Vault Ana komponentləri

 10

Realms, bazasında bir növ firewall kimi çalışır və DBA kimi yüksək çıxış haqqına sahib istifadəçilərin tətbiq məlumatlarına çıxış imkanını nəzarət altına alır. Realm’lar istifadə edilərək bütün bir tətbiq ya da tətbiq içərisində müəyyən cədvəl qrupları qoruma altına alına bilər. Məsələn; tətbiqi içərisində bir səmanın bir realm ilə qoruma altına alınması vəziyyətində, DBA daxil hər hansı bir istifadəçi özünə xüsusi səlahiyyət verilmədən bu sxemadakı hər hansı bir cədvəli sorgulaya bilməz. Bunun sayəsində DBA’lar belə tətbiq bazasındakı həssas məlumatları əldə etmək yetkilərinə sahib olmurlar.

Nümunə, DATA_OWNER schemas reals ilə qoruma altına alınacaq. Yalnız bu schema’a SYS, SYSTEM və U1 istifadəçiləri xüsusi səlahiyyətə malikdir.

11

12 

Nümunə:

sqlplus u3/u3
SQL> select * from data_owner.t1;
select * from data_owner.t1
*
ERROR at line 1:
ORA-01031: insufficient privileges
[oracle@ksoracletest1 ~]$ sqlplus u1/u1
SQL*Plus: Release 11.2.0.2.0 Production on Tue Jul 10 16:24:18 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 – 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
SQL> select * from data_owner.t1;
ID
———-

1
1
1
1
1

Rule Sets, realms, factors, command rules və security application rollar tərəfindən istifadə edilir. Rule setlərə birdən çox rule əlavə oluna bildiyi kimi mövcud olan rule’lar da əlavə oluna bilər.

Bir rule set edilərkən, rule set’in adı, məzmunu, statusu (enable, disable) və evaluation option qisimləri qeyd edilməlidir. Rule setler’deki evaluation option qisimində All true və Any true variantları mövcuddur. All true opsionu seçildiyində, istifadəçinin məlumata çata bilməsi üçün, bu rule set’teki bütün qaydaların true dəyərini təmin olması lazımlıdır. Any true opsionu seçildiyində isə var olan rulelar’dan ən az birinin true olması kifayətdir.

Factors, birəysəl parametrlərin (IP ünvanı, identifikasiyası metodu, komputer adı, əlaqə adı və s.) Təyin olunmasını təmin edir. Bu sayədə təhlükəsiz girişi yolundan, kimlərin, nə zaman, necə və haradan keçdiyini qəbul edilməsi təmin edilir.

Command Rules, verilənlər bazası əmrlərinin işlədilməsini nəzarət edən təhlükəsizlik qaydalarıdır.

Nümunə, Rule sets, Factors və Command Rules birlikdə istifadə edilən bir nümunə iş.

 

195.87.212.68 ip nömrəli “Yüksək Secured Internal Network ‘domain bağlanan DBSMAPS istifadəçisi həftə içi hegün saat 09:00 – 19:00 arasından DBSMAPS schemasından table truncate edə bilsin. Bu qayda xaricindəki istifadəçilər truncate edə bilməsinlər:

1. İstifadəçi üçün bir factor təyin olunar. Factor tanımlamalarında bağlanılacak session’in ip no və domain adı göstərilir.

2. Bir rule set müəyyən edilir. Evaluation Option all true variantı qeyd olunur.

3. Həftə içi günləri, istifadəçi adı və həftə içi iş saatları üçün rule yaradılıb, rule set’e əlavə olunur.

4. Command Rule ilə truncate table əmri, bu nümunə üçün yaradılan rule set ilə əlaqələndirilir.

Not: SELECT OBJECT_NAME, OBJECT_TYPE FROM DBA_OBJECTS WHERE OWNER = ‘DVF’ AND OBJECT_NAME LIKE ‘F $%’

 13

14

15

16

17

 Nümunələr:

sqlplus dbsmaps/dbsmaps
SQL> create table test (aaa char(1));
Table created.
SQL> truncate table test;
truncate table test
*
ERROR at line 1:
ORA-47400: Command Rule violation for TRUNCATE TABLE on DBSMAPS.TEST
SQL> select DVF.F$CLIENT_IP from dual;
F$CLIENT_IP
——————————————————————————–
SQL> select DVF.F$DOMAIN from dual;
F$DOMAIN
——————————————————————————–
Not Secured Network
SQL> exit
oracle@ksoracletest1 ~]$ sqlplus dbsmaps/dbsmaps@ORCL
SQL> truncate table test;
Table truncated.
SQL> select DVF.F$CLIENT_IP from dual;
F$CLIENT_IP
——————————————————————————–
195.87.212.68
SQL> select DVF.F$DOMAIN from dual;
F$DOMAIN
——————————————————————————–
Highly Secured Internal Network
SQL>
sqlplus ANARDB/ksxxxx11@ORCL
SQL> select DVF.F$CLIENT_IP from dual;
F$CLIENT_IP
——————————————————————————–
195.87.212.68
SQL> select DVF.F$DOMAIN from dual;
F$DOMAIN
——————————————————————————–
Highly Secured Internal Network
SQL> truncate table test;
truncate table test
*
ERROR at line 1:
ORA-47400: Command Rule violation for TRUNCATE TABLE on ANARDB.TEST
SQL>

Oracle Database Vault Hesabatlar:

Oracle Database Vault ilə birlikdə qurulu olaraq gələn bir çox məlumatlar vardır. Bu hesabatlar Realm’lara olan icazəsiz giriş sınaqlarından ibarətdir. Məsələn bir DBA’in səlahiyyəti olduğu halda əldə edə bilməməsi lazım olan bir yerə çatmağa çalışması (maaş məlumatı kimi). Eyni şəkildə Command Rules, factors, rule sets’ler tərəfindən maneə törədilən istifadəçilər və etdikləri əməliyyatlar hesabatlarda görülə bilər.

 18

DB Vault quraşdırdıqdan NÖVBƏTİ İLK DƏYİŞİKLİKLƏR:

Database Parametrlərindəki Dəyişikliklər:

-AUDIT_SYS_OPERATIONS  TRUE

-OS_ROLES  FALSE

-RECYCLEBIN  OFF

-REMOTE_LOGIN_PASSWORDFILE  EXCLUSIVE

-SQL92_SECURITY  TRUE

• AUD $ Table SYS user’dan SYSTEM userına daşınar.

• Yeni Audit setting irəli gəlir.

 

Aşağıdakı Role ‘lardan göstərilən səlahiyyətlər alınır.

DBA role

                           ¦BECOME USER

                           ¦SELECT ANY TRANSACTION

                           ¦CREATE ANY JOB

                           ¦CREATE EXTERNAL JOB

                           ¦EXECUTE ANY PROGRAM

                           ¦EXECUTE ANY CLASS

                           ¦MANAGE SCHEDULER

                           ¦DEQUEUE ANY QUEUE

                           ¦ENQUEUE ANY QUEUE

                           ¦MANAGE ANY QUEUE

IMP_FULL_DATABASE

                         To authorize users to export and import data using Oracle Data Pump .

                         ¦BECOME USER

                         ¦MANAGE ANY QUEUE

EXECUTE_CATALOG_ROLE role

                       ¦EXECUTE ON DBMS_LOGMNR

                       ¦EXECUTE ON DBMS_LOGMNR_D

                       ¦EXECUTE ON DBMS_LOGMNR_LOGREP_DICT

                       ¦EXECUTE ON DBMS_LOGMNR_SESSION

                       ¦EXECUTE ON DBMS_FILE_TRANSFER

 

PUBLIC user

                     ¦EXECUTE ON UTL_FILE

SCHEDULER_ADMIN

 

                      To authorize users to schedule database jobs

                      ¦CREATE ANY JOB

                      ¦CREATE EXTERNAL JOB

                      ¦EXECUTE ANY PROGRAM

                      ¦EXECUTE ANY CLASS

                      ¦MANAGE SCHEDULER

Data Pump İstifadəsi

-DB Vault quraşdırılması ilə birlikdə imp və exp əmrləri qətiliklə işləmirlər. Bu əmrlər yerinə Oracle Data Pump; impdp və expdp əmrlərinə keçmək lazımdır.

Data Pump ilə export import etmək istəyən DBA ler üçün aşağıdakı hallar nəzərə alınır.

 19

Ümüd edirəmki işinizə yararlı olacaqdır. Növbəti məqalələrdə görüşmək ümüdi ilə.

 

 

Səs: +50. Bəyənilsin Zəifdir

Müəllif: Anar Qocayev

Şərhlər ( 4 )

  1. Salam Anar bəy, Aramıza xoş gəldin. Xeyirli olsun 🙂

  2. Təşəkkürlər, Anar bəy. İnşAllah maraqlı məqalələriniz davamlı olsun.

  3. Zehninə qüvvət, Anar bəy. Təbriklər, gözəl məqalədir.

  4. Firewall məhsulları ilə çöldən ediləcək hücumlara qarşı tədbirlər alınabilinərkən, içəridən edilən hücumlara qarşı bir tədbir alınmadığı araşdırmalarda ortaya çıxmışdır. Xüsusilə bazanın çalışdığı server üzərində məlumatın qorunması ilə əlaqədar bir iş aparılmır. DBA səlahiyyətinə sahib bir istifadəçinin, bazasında hər cür səlahiyyətə sahib olduğu və hətta müxtəlif kompüterlərdən bağlanıb eyni əməliyyatları edə biləcəyi düşünüldüyündə, meydana gələ biləcək təhlükəsizlik açıqları düşünülmək məcburiyyətindədir. Bir database admin’in bazasında necə hər məlumata çatıb görməsi təhlükəli isə, eyni şəkildə fərqli kompüterlərdən bağlanıb eyni işləri etməsi də təhlükəlidir və hətta bir təhlükəsizlik açığıdır.

    Yaşa qardaş belə bir məsələyə toxunduğun üçün) Ümumiyyətlə istənilən untrusted source-dan trusted və kritiki sistemə administrativ giriş etmək ən böyük insan faktoruna əsaslanan Təhlükəsizlik boşluğudur.

Şərh yazın