SlideShare a Scribd company logo
1 of 13
Anar Godjaev
http://anargodjaev.wordpress.com/
Verinin Güvenliği / 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
Günümüzde verinin kendisi, sürekliliği, bulunduğu yer, saklanması ne kadar önemli ise, verinin güvenliği de o kadar
önemlidir. Buna paralel olarak, hepimizin duyduğu/okuduğu siber hırsızlıklar, verilere ulaşıp, veriyi değiştirme veya
kaybetme/silme gibi olaylar yaşandıkça, veritabanı güvenliği de önem kazanmaktadır.
Verinin güvenliği için alınması gereken önlemlerin, donanım, ağ, operasyonel sistem seviyelerinde olduğu gibi,
veritabanı seviyesinde de ele alınması gerekir. Genelde firmalar bir firewall ürünü alarak güvenlikle ilgili sorunlarını
çözdüklerini düşünürler. Ancak sadece firewall ürünlerinin kullanımıyla, verinin korunamadığı bilinen bir gerçektir.
Firewall ürünleri ile dışardan yapılacak saldırılara karşı önlemler alınabiliyorken, içeriden yapılan saldırılara karşı
pek önlem alınmadığı araştırmalarda ortaya çıkmıştır. Özellikle veritabanının çalıştığı sunucu üzerinde verinin
korunması ile ilgili bir çalışma yapılmamaktadır. DBA yetkisine sahip bir kullanıcının, veritabanında her türlü
yetkiye sahip olduğu ve hatta farklı bilgisayarlardan bağlanıp aynı işlemleri yapabileceği düşünüldüğünde,
oluşabilecek güvenlik açıkları düşünülmek zorundadır. Bir database admin’in veritabanında nasıl her veriye ulaşıp
görmesi sakıncalı ise, aynı şekilde farklı bilgisayarlardan bağlanıp aynı işleri yapması da sakıncalıdır ve hatta bir
güvenlik açığıdır.
Oracle Veritabanı güvenliği çözümlerinden biri olan Oracle Database Vault, yukarda bahsedilen sorunları çözmede
yardımcı olacak bir uygulama olarak önerilebilir.
Oracle Database Vault Nedir
Oracle Database Vault, verinizin erişim güvenliği konusunda dinamik ve esnek erişim kontrollerini hayata
geçirmenizi, raporlamanızı sağlayan, Oracle Enterprise sürümleriyle birlikte gelen ve veritabanı kurulumunda
opsiyonel olarak yer alan bir üründür. Veritabanı kernel seviyesinde çalışan bu özellik, PLSQL kullanılarak
uygulanan güvenlik uygulamalarından çok daha etkindir. Her bir veritabanı için ihtiyaç duyulacak güvenlik
seviyesinin farklı olabildiği durumlarda da kullanılan Database Vault, single-instance Oracle veritabanınıza
uygulanabildiği gibi, RAC mimarisindeki yapılarda da başarılı bir şekilde kullanılmaktadır.
 Yaptıkları iş gereği veritabanınıza erişmesine izin vermek durumunda olduğunuz yetkili kullancıların,
çalışanların, müşterilerin, tedarikçilerin ve iş-ortaklarının, sadece izin verdiğiniz verilere eriştiğinden emin
olmanızı sağlar. Bir veritabanı yöneticisinin dahi kritik verilerinize (kredi kartı, müşteri özel bilgileri, hesap
detayları, personel maaş bilgileri, hesaplamalar, harcamalar, görüşme detayları gibi) erişimini engelleyebilir.
 Veritabanınızın bilginiz haricinde izinsiz olarak değiştirilmesini engeller.
 Gerçek zamanlı olarak anlık kontroller eklemenizi, değiştirmenizi ve takibini yapmanızı sağlar.
 Oracle ailesinin bir ürünü olan "Database Vault" kurulumu, yapılandırması ve yönetimi oldukça basit bir ürün
olmakla birlikte sistemin performansına çok düşük etki ile kullanılabilmektedir.
 Database Vault Oracle Veritabanının içerisinde gömülü olarak gelen ve basit bir adımla kurulabilen bu ürün
olup realm, command rule, factor,rule setlerle ve raporlama kısımları ile hizmet vermektedir.
 Oracle Database Vault, uygulamaları ve verileri korumak için çok güçlü güvenli bir ortam sağlar.
 Oracle Database ile yetkili kullanıcılar kısıtlanabilir(SELECT ANY TABLE). En yetkili role sahip DBA
kullanıcıların hakları bile kısıtlanabilir.
 Veritabanındaki objeler üzerinde(alter,drop,truncate v.b.) veya veri içeriğinde yapılacak
değişiklikler(insert,delete,update v.b), nasıl , ne zaman, ne ile yapılacakları belirlenip kısıtlanabilir.
Anar Godjaev
http://anargodjaev.wordpress.com/
 Oracle Database Vault mevcut veritabanı ortamını korur. İstenilmeyen programların bağlanması
engellenebilir. Veritabanını istenilmeyen ataklardan korur.
 Veritabanı Görev ayrılığı prensibi getirir.
DB Vault Kurulumu İçin Ön Uyarılar
Uyarı 1 : /var/opt/oracle/oratab altındaki ilgili satır düzgün $ORACLE_HOME olmalıdır. Aksi takdirde dbca
çalıştırıldığında Configure Option butonu pasif çıkacaktır.
Uyarı 2 : Default profile deki PASSWORD_VERIFY_FUNCTION NULL olmalıdır. Aksi takdirde ORA-29504
hatası alınır. Çözüm Doc ID 1509963.1
Uyarı 3 : DBCA ile konfigurasyonun %85 civarlarında ORA-29504 hatası alınabilir. Bu hata 11g de ignore
edilebilir. 12c de düzeltilmiştir. Çözüm için Doc ID 1509963.1)
Db Vault Option ın Oracle Binary için Kontrol Edilmesi
Kontrol etmek için sqlplus a sysdba ile gireriz.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
Yukarıda Vault la ilgili bir yazı gelmediğini görürüz. Eğer kurulu olsaydı ek olarak With the Oracle Label Security,
Oracle Database Vault options yazısı görülecekti.
Ek olarak Kontrol için aşağıdaki view dan yararlanırız.
SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault';
Oracle Database Vault ----- FALSE ( yani disabled )
Örnek
Db Vault Option ın Oracle Binary için Enable Edilmesi
ADIM 1-İlgili Database kapanır
SQL> SHUTDOWN IMMEDIATE
Anar Godjaev
http://anargodjaev.wordpress.com/
ADIM 2-Dbconsole (Enterprise Manager) var ise kapanır
$ emctl stop dbconsole
ADIM 3- İlgili Listener kapanır
lsnrctl stop listener
ADIM 4- DB Vault Option Oracle Binary için enable edilir
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk dv_on lbac_on ioracle
GENEL NOT : Oracle binary de option enable ederken Make –f yerine chopt komutu da kullanılabilir. Kullanımı
aşağıdaki Linktedir.
http://docs.oracle.com/cd/E11882_01/install.112/e25666/postinst.htm#BABJIAJB
Örnek :
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
ADIM 5-Database ve Listener açılarak DB Vault un enable olup olmadığı kontrol edilir.
Sqlplus> startup;
SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault'; Oracle Database
Vault -- TRUE ( yani enabled )
Ek olarak sqlplus a girildiğinde With the Oracle Label Security, Oracle Database Vault options geldiği görülür
Örnek
Anar Godjaev
http://anargodjaev.wordpress.com/
Oracle Database Vault veritabanı kurulumunda seçimli olarak gelmektedir. Database vault, Oracle kurulurken
seçilebileceği gibi, Oracle instance kurulduktan sonra da aktif hale getirilebilir. Oracle instance kurulduktan sonra
aktif hale getirilmesi için dbca komutu ile Database Configuration Assistant çalıştırılması gerekir.
Configuration Database Option seçeneği işaretlenip next butonuna basılır.
Sunucu üzerinde birden fazla Oracle instance varsa, Database Vault aktif edilecek Oracle Instance seçilir.
Anar Godjaev
http://anargodjaev.wordpress.com/
Database Vault, Oracle Label Security seçildikten sonra aktif hale gelecektir.
Database Vault Owner ve opsiyonel olarak Account Manager(Girilmesi önerilir) için kullanıcı / parola tanımı
yapılır.
Anar Godjaev
http://anargodjaev.wordpress.com/
Kurulum bittikten sonra, https://hostname(veya host ip):port number/dva herhangi bir browser’a yazarak Oracle
Database Vault ekranına girilir.
Datatabase Vault Görev Ayrılığı
Oracle Database Vault görev ayrımları özelliği, veritabanı üzerinde güvenlik yönetimi, hesap yönetimi ve veritabanı
yönetimi olarak üç farklı sorumluluk ortaya çıkarır.
Güvenlik yöneticisi(Security Administration), Güvenlikten sorumlu kişi aynı zamanda Oracle Database Vault'un da
sahibidir. Veritabanındaki bütün güvenlik operasyonundan sorumludur. Realms, komut kuralları ve faktörleri
yönetebilir ve Database Vault raporlarını çalıştırabilir fakat uygulama verilerine erişme hakkı yoktur.
Hesap yöneticisi(Account Management), kullanıcı hesaplarını oluşturma, silme ve değiştirme yetkilerine sahiptir.
Veritabanı yöneticisi(Database Administration) ise, yedekleme/iyileştirme, yama uygulama ve performans yönetimi
gibi dba görevlerini yürütür.
Anar Godjaev
http://anargodjaev.wordpress.com/
Database Vault Ana bileşenleri
Realms, veritabanında bir çeşit firewall gibi çalışır ve dba gibi yüksek erişim hakkına sahip kullanıcıların uygulama
verilerine erişimlerini kontrol altına alır. Realm’ler kullanılarak tüm bir uygulama ya da uygulama içerisinde belirli
tablo grupları koruma altına alınabilir. Örneğin; uygulama içerisinde bir şemanın bir realm ile koruma altına
alınması durumunda, DBA dahil herhangi bir kullanıcı kendisine özel yetki verilmeden bu şemadaki herhangi bir
tabloyu sorgulayamaz. Bu sayede DBA'ler bile uygulama verisindeki hassas verilere erişememiş olurlar.
Örnek, DATA_OWNER scheması reals ile koruma altına alınacak. Sadece bu schema’a SYS,SYSTEM ve U1
kullanıcıları özel yetkiye sahiptir.
Anar Godjaev
http://anargodjaev.wordpress.com/
Örnekleme:
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
----------
Anar Godjaev
http://anargodjaev.wordpress.com/
1
1
1
1
1
Rule Sets, Rule setler, realms,factors,command rules ve security application roller tarafından kullanılır. Rule setlere
birden fazla rule eklenebildiği gibi var olan rule’ler de eklenebilir.
Bir rule set yaratılırken, rule set’in adı, içeriği, statusu(enable,disable) ve evaluation option kısımları girilmelidir.
Rule setler’deki evaluation option kısmında All true ve Any true seçenekleri bulunur. All true opsiyonu seçildiğinde,
kullanıcının veriye erişebilmesi için, bu rule set’teki tüm kuralların true değerini sağlamış olması gereklidir. Any
true opsiyonu seçildiğinde ise var olan rulelar’dan en az birinin true olması yeterlidir.
Factors, Çevresel parametrelerin (IP adresi, kimlik doğrulama metodu, makine ismi, bağlantı adı vb.)
tanımlanmasını sağlar. Bu sayede güvenli erişim yolundan, kimlerin, ne zaman, nasıl ve nereden geçtiğinin
algılanması sağlanır.
Command Rules, veritabanı komutlarının çalıştırılmasını kontrol eden güvenlik kurallarıdır.
Örnek, Rule sets, Factors ve Command Rules beraber kullanılarak yapılan bir örnek çalışma.
195.87.212.68 ip no’lu ‘Highly Secured Internal Network’ domain’den bağlanan DBSMAPS kullanıcısı hafta içi
hegün saat 09:00 – 19:00 arasından DBSMAPS schemasından table truncate yapabilsin. Bu kural dışındaki
kullanıcılar truncate yapamasın.
Yapılacaklar;
1. Kullanıcı için bir factor tanımlanır. Factor tanımlamalarında bağlanılacak session’in ip no ve domain adı belirtilir.
2. Bir rule set tanımlanır. Evaluation Option all true seçeneği işaretlenir.
3. Hafta içi günleri, kullanıcı adı ve hafta içi çalışma saatleri için rule yaratılıp , rule set’e eklenir
4. Command Rule ile truncate table komutu, bu örnek için yaratılan rule set ile ilişkilendirilir.
Not:SELECT OBJECT_NAME, OBJECT_TYPE FROM DBA_OBJECTS WHERE OWNER='DVF' AND
OBJECT_NAME LIKE 'F$%'
Anar Godjaev
http://anargodjaev.wordpress.com/
Anar Godjaev
http://anargodjaev.wordpress.com/
Anar Godjaev
http://anargodjaev.wordpress.com/
Örnekleme:
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;
Anar Godjaev
http://anargodjaev.wordpress.com/
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 Raporlar
Oracle Database Vault ile birlikte kurulu olarak gelen birçok rapor bulunmaktadır. Bu raporlar Realm'lere olan
yetkisiz erişim denemelerini içermektedir. Örneğin bir DBA'in yetkisi olduğu halde erişmemesi gereken bir yere
erişmeye çalışması (maaş bilgisi gibi). Aynı şekilde Command Rules, factors, rule sets’ler tarafından engellenen
kullanıcılar ve yaptıkları işlemler raporlarda görülebilir.

More Related Content

What's hot

Performance Tuni̇ng
Performance Tuni̇ngPerformance Tuni̇ng
Performance Tuni̇ngAnar Godjaev
 
Orneklere Oracle 11gR2 ve Genel Kavramlar Isimli kitabdan
Orneklere Oracle 11gR2 ve Genel Kavramlar Isimli kitabdanOrneklere Oracle 11gR2 ve Genel Kavramlar Isimli kitabdan
Orneklere Oracle 11gR2 ve Genel Kavramlar Isimli kitabdanAnar Godjaev
 
Failover Clustering Sql Server
Failover Clustering Sql ServerFailover Clustering Sql Server
Failover Clustering Sql ServerHakan Yüksel
 
Oracle Enterprise Manager Cloud Control 12c
Oracle Enterprise Manager Cloud Control 12cOracle Enterprise Manager Cloud Control 12c
Oracle Enterprise Manager Cloud Control 12cOrhan ERIPEK
 
Oracle 12c Database In Memory DBA SIG
Oracle 12c Database In Memory DBA SIGOracle 12c Database In Memory DBA SIG
Oracle 12c Database In Memory DBA SIGGokhan Atil
 
İleri Seviye T-SQL Programlama - Chapter 20
İleri Seviye T-SQL Programlama - Chapter 20İleri Seviye T-SQL Programlama - Chapter 20
İleri Seviye T-SQL Programlama - Chapter 20Cihan Özhan
 
İleri Seviye T-SQL Programlama - Chapter 01
İleri Seviye T-SQL Programlama - Chapter 01İleri Seviye T-SQL Programlama - Chapter 01
İleri Seviye T-SQL Programlama - Chapter 01Cihan Özhan
 

What's hot (12)

Performance Tuni̇ng
Performance Tuni̇ngPerformance Tuni̇ng
Performance Tuni̇ng
 
Exadata Performance Notes
Exadata Performance NotesExadata Performance Notes
Exadata Performance Notes
 
Konu anlatım
Konu anlatımKonu anlatım
Konu anlatım
 
Raid technologies
Raid technologiesRaid technologies
Raid technologies
 
Orneklere Oracle 11gR2 ve Genel Kavramlar Isimli kitabdan
Orneklere Oracle 11gR2 ve Genel Kavramlar Isimli kitabdanOrneklere Oracle 11gR2 ve Genel Kavramlar Isimli kitabdan
Orneklere Oracle 11gR2 ve Genel Kavramlar Isimli kitabdan
 
Failover Clustering Sql Server
Failover Clustering Sql ServerFailover Clustering Sql Server
Failover Clustering Sql Server
 
Oracle Enterprise Manager Cloud Control 12c
Oracle Enterprise Manager Cloud Control 12cOracle Enterprise Manager Cloud Control 12c
Oracle Enterprise Manager Cloud Control 12c
 
11 g RAC -ASM
11 g RAC -ASM11 g RAC -ASM
11 g RAC -ASM
 
Oracle 12c Database In Memory DBA SIG
Oracle 12c Database In Memory DBA SIGOracle 12c Database In Memory DBA SIG
Oracle 12c Database In Memory DBA SIG
 
İleri Seviye T-SQL Programlama - Chapter 20
İleri Seviye T-SQL Programlama - Chapter 20İleri Seviye T-SQL Programlama - Chapter 20
İleri Seviye T-SQL Programlama - Chapter 20
 
İleri Seviye T-SQL Programlama - Chapter 01
İleri Seviye T-SQL Programlama - Chapter 01İleri Seviye T-SQL Programlama - Chapter 01
İleri Seviye T-SQL Programlama - Chapter 01
 
Unix Denetim Dokümanı
Unix Denetim DokümanıUnix Denetim Dokümanı
Unix Denetim Dokümanı
 

Similar to Database Vault / Verinin Güvenliği

Kod günleri veritabnı
Kod günleri veritabnıKod günleri veritabnı
Kod günleri veritabnıMustafa Tepe
 
Oracle database architecture
Oracle database architectureOracle database architecture
Oracle database architectureHızlan ERPAK
 
Expert one-on-one Oracle / Redo ve Rollback
Expert one-on-one Oracle / Redo ve RollbackExpert one-on-one Oracle / Redo ve Rollback
Expert one-on-one Oracle / Redo ve RollbackCansu Arslan
 
SQL Server 2012 ile Gelen Yeni Özellikler
SQL Server 2012 ile Gelen Yeni ÖzelliklerSQL Server 2012 ile Gelen Yeni Özellikler
SQL Server 2012 ile Gelen Yeni Özelliklerturgaysahtiyan
 
Security Misconfiguration (Güvenlik Yalnış Yapılandırma)
Security Misconfiguration (Güvenlik Yalnış Yapılandırma)Security Misconfiguration (Güvenlik Yalnış Yapılandırma)
Security Misconfiguration (Güvenlik Yalnış Yapılandırma)Abdullah Celik
 
SIEM olarak adlandırılan çözümler ve birbirlerine göre avantaj/dezavantajları...
SIEM olarak adlandırılan çözümler ve birbirlerine göre avantaj/dezavantajları...SIEM olarak adlandırılan çözümler ve birbirlerine göre avantaj/dezavantajları...
SIEM olarak adlandırılan çözümler ve birbirlerine göre avantaj/dezavantajları...Ertugrul Akbas
 
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma son
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma   sonAçık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma   son
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma sonBGA Cyber Security
 
Veritabanı kurulumu (1)
Veritabanı kurulumu (1)Veritabanı kurulumu (1)
Veritabanı kurulumu (1)alinizam99
 
Dağıtık Veritabanı Sistemleri
Dağıtık Veritabanı SistemleriDağıtık Veritabanı Sistemleri
Dağıtık Veritabanı Sistemleriİsmail ŞEN
 
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMI
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMISINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMI
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMIErtugrul Akbas
 
Oracle Mimarisi "Orneklerle Oracle 11g R2 ve Genel kavramlar isimli KItabdan"
Oracle Mimarisi  "Orneklerle Oracle 11g R2 ve Genel kavramlar isimli KItabdan"Oracle Mimarisi  "Orneklerle Oracle 11g R2 ve Genel kavramlar isimli KItabdan"
Oracle Mimarisi "Orneklerle Oracle 11g R2 ve Genel kavramlar isimli KItabdan"Anar Godjaev
 
DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02
DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02
DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02Önder Değer
 

Similar to Database Vault / Verinin Güvenliği (20)

Kod günleri veritabnı
Kod günleri veritabnıKod günleri veritabnı
Kod günleri veritabnı
 
Kod günleri veritabnı
Kod günleri veritabnıKod günleri veritabnı
Kod günleri veritabnı
 
Oracle database architecture
Oracle database architectureOracle database architecture
Oracle database architecture
 
Ajansız log toplama
Ajansız log toplamaAjansız log toplama
Ajansız log toplama
 
0439
04390439
0439
 
Oracle Weblogic Server
Oracle Weblogic ServerOracle Weblogic Server
Oracle Weblogic Server
 
Expert one-on-one Oracle / Redo ve Rollback
Expert one-on-one Oracle / Redo ve RollbackExpert one-on-one Oracle / Redo ve Rollback
Expert one-on-one Oracle / Redo ve Rollback
 
Oracle11g
Oracle11gOracle11g
Oracle11g
 
SQL Server 2012 ile Gelen Yeni Özellikler
SQL Server 2012 ile Gelen Yeni ÖzelliklerSQL Server 2012 ile Gelen Yeni Özellikler
SQL Server 2012 ile Gelen Yeni Özellikler
 
Security Misconfiguration (Güvenlik Yalnış Yapılandırma)
Security Misconfiguration (Güvenlik Yalnış Yapılandırma)Security Misconfiguration (Güvenlik Yalnış Yapılandırma)
Security Misconfiguration (Güvenlik Yalnış Yapılandırma)
 
SIEM olarak adlandırılan çözümler ve birbirlerine göre avantaj/dezavantajları...
SIEM olarak adlandırılan çözümler ve birbirlerine göre avantaj/dezavantajları...SIEM olarak adlandırılan çözümler ve birbirlerine göre avantaj/dezavantajları...
SIEM olarak adlandırılan çözümler ve birbirlerine göre avantaj/dezavantajları...
 
Sunu
SunuSunu
Sunu
 
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma son
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma   sonAçık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma   son
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma son
 
Veritabanı kurulumu (1)
Veritabanı kurulumu (1)Veritabanı kurulumu (1)
Veritabanı kurulumu (1)
 
Radore Workshop: Wordpress Nereye Koşuyor?
Radore Workshop: Wordpress Nereye Koşuyor? Radore Workshop: Wordpress Nereye Koşuyor?
Radore Workshop: Wordpress Nereye Koşuyor?
 
Dağıtık Veritabanı Sistemleri
Dağıtık Veritabanı SistemleriDağıtık Veritabanı Sistemleri
Dağıtık Veritabanı Sistemleri
 
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMI
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMISINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMI
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMI
 
Konu anlatımı
Konu anlatımıKonu anlatımı
Konu anlatımı
 
Oracle Mimarisi "Orneklerle Oracle 11g R2 ve Genel kavramlar isimli KItabdan"
Oracle Mimarisi  "Orneklerle Oracle 11g R2 ve Genel kavramlar isimli KItabdan"Oracle Mimarisi  "Orneklerle Oracle 11g R2 ve Genel kavramlar isimli KItabdan"
Oracle Mimarisi "Orneklerle Oracle 11g R2 ve Genel kavramlar isimli KItabdan"
 
DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02
DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02
DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02
 

More from Anar Godjaev

Asm disk group migration from
Asm disk group migration from Asm disk group migration from
Asm disk group migration from Anar Godjaev
 
How to protect your sensitive data using oracle database vault / Creating and...
How to protect your sensitive data using oracle database vault / Creating and...How to protect your sensitive data using oracle database vault / Creating and...
How to protect your sensitive data using oracle database vault / Creating and...Anar Godjaev
 
how to protect your sensitive data using oracle database vault
how to protect your sensitive data using oracle database vaulthow to protect your sensitive data using oracle database vault
how to protect your sensitive data using oracle database vaultAnar Godjaev
 
DataPump ile Single Parititon Export
DataPump ile Single Parititon ExportDataPump ile Single Parititon Export
DataPump ile Single Parititon ExportAnar Godjaev
 
Instance ve Media Bozukluklarını Inceleme
Instance ve Media Bozukluklarını IncelemeInstance ve Media Bozukluklarını Inceleme
Instance ve Media Bozukluklarını IncelemeAnar Godjaev
 
Conditional Control
Conditional ControlConditional Control
Conditional ControlAnar Godjaev
 
Audit Mekani̇zmasi
Audit Mekani̇zmasiAudit Mekani̇zmasi
Audit Mekani̇zmasiAnar Godjaev
 
Backup and Recovery
Backup and RecoveryBackup and Recovery
Backup and RecoveryAnar Godjaev
 

More from Anar Godjaev (20)

Oracle GoldenGate
Oracle GoldenGateOracle GoldenGate
Oracle GoldenGate
 
Asm disk group migration from
Asm disk group migration from Asm disk group migration from
Asm disk group migration from
 
How to protect your sensitive data using oracle database vault / Creating and...
How to protect your sensitive data using oracle database vault / Creating and...How to protect your sensitive data using oracle database vault / Creating and...
How to protect your sensitive data using oracle database vault / Creating and...
 
how to protect your sensitive data using oracle database vault
how to protect your sensitive data using oracle database vaulthow to protect your sensitive data using oracle database vault
how to protect your sensitive data using oracle database vault
 
DataPump ile Single Parititon Export
DataPump ile Single Parititon ExportDataPump ile Single Parititon Export
DataPump ile Single Parititon Export
 
Contraints
ContraintsContraints
Contraints
 
Oracle SQL
Oracle SQLOracle SQL
Oracle SQL
 
Instance ve Media Bozukluklarını Inceleme
Instance ve Media Bozukluklarını IncelemeInstance ve Media Bozukluklarını Inceleme
Instance ve Media Bozukluklarını Inceleme
 
Conditional Control
Conditional ControlConditional Control
Conditional Control
 
PL/SQL Blocks
PL/SQL BlocksPL/SQL Blocks
PL/SQL Blocks
 
Wait Interface
Wait InterfaceWait Interface
Wait Interface
 
Audit Mekani̇zmasi
Audit Mekani̇zmasiAudit Mekani̇zmasi
Audit Mekani̇zmasi
 
Tuning SGA
Tuning SGATuning SGA
Tuning SGA
 
Parallel Server
Parallel ServerParallel Server
Parallel Server
 
Table Partitions
Table PartitionsTable Partitions
Table Partitions
 
Backup and Recovery
Backup and RecoveryBackup and Recovery
Backup and Recovery
 
Memory Management
Memory ManagementMemory Management
Memory Management
 
LogMiner
LogMinerLogMiner
LogMiner
 
Undo Management
Undo ManagementUndo Management
Undo Management
 
ASM
ASMASM
ASM
 

Database Vault / Verinin Güvenliği

  • 1. Anar Godjaev http://anargodjaev.wordpress.com/ Verinin Güvenliği / 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 Günümüzde verinin kendisi, sürekliliği, bulunduğu yer, saklanması ne kadar önemli ise, verinin güvenliği de o kadar önemlidir. Buna paralel olarak, hepimizin duyduğu/okuduğu siber hırsızlıklar, verilere ulaşıp, veriyi değiştirme veya kaybetme/silme gibi olaylar yaşandıkça, veritabanı güvenliği de önem kazanmaktadır. Verinin güvenliği için alınması gereken önlemlerin, donanım, ağ, operasyonel sistem seviyelerinde olduğu gibi, veritabanı seviyesinde de ele alınması gerekir. Genelde firmalar bir firewall ürünü alarak güvenlikle ilgili sorunlarını çözdüklerini düşünürler. Ancak sadece firewall ürünlerinin kullanımıyla, verinin korunamadığı bilinen bir gerçektir. Firewall ürünleri ile dışardan yapılacak saldırılara karşı önlemler alınabiliyorken, içeriden yapılan saldırılara karşı pek önlem alınmadığı araştırmalarda ortaya çıkmıştır. Özellikle veritabanının çalıştığı sunucu üzerinde verinin korunması ile ilgili bir çalışma yapılmamaktadır. DBA yetkisine sahip bir kullanıcının, veritabanında her türlü yetkiye sahip olduğu ve hatta farklı bilgisayarlardan bağlanıp aynı işlemleri yapabileceği düşünüldüğünde, oluşabilecek güvenlik açıkları düşünülmek zorundadır. Bir database admin’in veritabanında nasıl her veriye ulaşıp görmesi sakıncalı ise, aynı şekilde farklı bilgisayarlardan bağlanıp aynı işleri yapması da sakıncalıdır ve hatta bir güvenlik açığıdır. Oracle Veritabanı güvenliği çözümlerinden biri olan Oracle Database Vault, yukarda bahsedilen sorunları çözmede yardımcı olacak bir uygulama olarak önerilebilir. Oracle Database Vault Nedir Oracle Database Vault, verinizin erişim güvenliği konusunda dinamik ve esnek erişim kontrollerini hayata geçirmenizi, raporlamanızı sağlayan, Oracle Enterprise sürümleriyle birlikte gelen ve veritabanı kurulumunda opsiyonel olarak yer alan bir üründür. Veritabanı kernel seviyesinde çalışan bu özellik, PLSQL kullanılarak uygulanan güvenlik uygulamalarından çok daha etkindir. Her bir veritabanı için ihtiyaç duyulacak güvenlik seviyesinin farklı olabildiği durumlarda da kullanılan Database Vault, single-instance Oracle veritabanınıza uygulanabildiği gibi, RAC mimarisindeki yapılarda da başarılı bir şekilde kullanılmaktadır.  Yaptıkları iş gereği veritabanınıza erişmesine izin vermek durumunda olduğunuz yetkili kullancıların, çalışanların, müşterilerin, tedarikçilerin ve iş-ortaklarının, sadece izin verdiğiniz verilere eriştiğinden emin olmanızı sağlar. Bir veritabanı yöneticisinin dahi kritik verilerinize (kredi kartı, müşteri özel bilgileri, hesap detayları, personel maaş bilgileri, hesaplamalar, harcamalar, görüşme detayları gibi) erişimini engelleyebilir.  Veritabanınızın bilginiz haricinde izinsiz olarak değiştirilmesini engeller.  Gerçek zamanlı olarak anlık kontroller eklemenizi, değiştirmenizi ve takibini yapmanızı sağlar.  Oracle ailesinin bir ürünü olan "Database Vault" kurulumu, yapılandırması ve yönetimi oldukça basit bir ürün olmakla birlikte sistemin performansına çok düşük etki ile kullanılabilmektedir.  Database Vault Oracle Veritabanının içerisinde gömülü olarak gelen ve basit bir adımla kurulabilen bu ürün olup realm, command rule, factor,rule setlerle ve raporlama kısımları ile hizmet vermektedir.  Oracle Database Vault, uygulamaları ve verileri korumak için çok güçlü güvenli bir ortam sağlar.  Oracle Database ile yetkili kullanıcılar kısıtlanabilir(SELECT ANY TABLE). En yetkili role sahip DBA kullanıcıların hakları bile kısıtlanabilir.  Veritabanındaki objeler üzerinde(alter,drop,truncate v.b.) veya veri içeriğinde yapılacak değişiklikler(insert,delete,update v.b), nasıl , ne zaman, ne ile yapılacakları belirlenip kısıtlanabilir.
  • 2. Anar Godjaev http://anargodjaev.wordpress.com/  Oracle Database Vault mevcut veritabanı ortamını korur. İstenilmeyen programların bağlanması engellenebilir. Veritabanını istenilmeyen ataklardan korur.  Veritabanı Görev ayrılığı prensibi getirir. DB Vault Kurulumu İçin Ön Uyarılar Uyarı 1 : /var/opt/oracle/oratab altındaki ilgili satır düzgün $ORACLE_HOME olmalıdır. Aksi takdirde dbca çalıştırıldığında Configure Option butonu pasif çıkacaktır. Uyarı 2 : Default profile deki PASSWORD_VERIFY_FUNCTION NULL olmalıdır. Aksi takdirde ORA-29504 hatası alınır. Çözüm Doc ID 1509963.1 Uyarı 3 : DBCA ile konfigurasyonun %85 civarlarında ORA-29504 hatası alınabilir. Bu hata 11g de ignore edilebilir. 12c de düzeltilmiştir. Çözüm için Doc ID 1509963.1) Db Vault Option ın Oracle Binary için Kontrol Edilmesi Kontrol etmek için sqlplus a sysdba ile gireriz. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production Yukarıda Vault la ilgili bir yazı gelmediğini görürüz. Eğer kurulu olsaydı ek olarak With the Oracle Label Security, Oracle Database Vault options yazısı görülecekti. Ek olarak Kontrol için aşağıdaki view dan yararlanırız. SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault'; Oracle Database Vault ----- FALSE ( yani disabled ) Örnek Db Vault Option ın Oracle Binary için Enable Edilmesi ADIM 1-İlgili Database kapanır SQL> SHUTDOWN IMMEDIATE
  • 3. Anar Godjaev http://anargodjaev.wordpress.com/ ADIM 2-Dbconsole (Enterprise Manager) var ise kapanır $ emctl stop dbconsole ADIM 3- İlgili Listener kapanır lsnrctl stop listener ADIM 4- DB Vault Option Oracle Binary için enable edilir cd $ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk dv_on lbac_on ioracle GENEL NOT : Oracle binary de option enable ederken Make –f yerine chopt komutu da kullanılabilir. Kullanımı aşağıdaki Linktedir. http://docs.oracle.com/cd/E11882_01/install.112/e25666/postinst.htm#BABJIAJB Örnek : 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 ADIM 5-Database ve Listener açılarak DB Vault un enable olup olmadığı kontrol edilir. Sqlplus> startup; SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault'; Oracle Database Vault -- TRUE ( yani enabled ) Ek olarak sqlplus a girildiğinde With the Oracle Label Security, Oracle Database Vault options geldiği görülür Örnek
  • 4. Anar Godjaev http://anargodjaev.wordpress.com/ Oracle Database Vault veritabanı kurulumunda seçimli olarak gelmektedir. Database vault, Oracle kurulurken seçilebileceği gibi, Oracle instance kurulduktan sonra da aktif hale getirilebilir. Oracle instance kurulduktan sonra aktif hale getirilmesi için dbca komutu ile Database Configuration Assistant çalıştırılması gerekir. Configuration Database Option seçeneği işaretlenip next butonuna basılır. Sunucu üzerinde birden fazla Oracle instance varsa, Database Vault aktif edilecek Oracle Instance seçilir.
  • 5. Anar Godjaev http://anargodjaev.wordpress.com/ Database Vault, Oracle Label Security seçildikten sonra aktif hale gelecektir. Database Vault Owner ve opsiyonel olarak Account Manager(Girilmesi önerilir) için kullanıcı / parola tanımı yapılır.
  • 6. Anar Godjaev http://anargodjaev.wordpress.com/ Kurulum bittikten sonra, https://hostname(veya host ip):port number/dva herhangi bir browser’a yazarak Oracle Database Vault ekranına girilir. Datatabase Vault Görev Ayrılığı Oracle Database Vault görev ayrımları özelliği, veritabanı üzerinde güvenlik yönetimi, hesap yönetimi ve veritabanı yönetimi olarak üç farklı sorumluluk ortaya çıkarır. Güvenlik yöneticisi(Security Administration), Güvenlikten sorumlu kişi aynı zamanda Oracle Database Vault'un da sahibidir. Veritabanındaki bütün güvenlik operasyonundan sorumludur. Realms, komut kuralları ve faktörleri yönetebilir ve Database Vault raporlarını çalıştırabilir fakat uygulama verilerine erişme hakkı yoktur. Hesap yöneticisi(Account Management), kullanıcı hesaplarını oluşturma, silme ve değiştirme yetkilerine sahiptir. Veritabanı yöneticisi(Database Administration) ise, yedekleme/iyileştirme, yama uygulama ve performans yönetimi gibi dba görevlerini yürütür.
  • 7. Anar Godjaev http://anargodjaev.wordpress.com/ Database Vault Ana bileşenleri Realms, veritabanında bir çeşit firewall gibi çalışır ve dba gibi yüksek erişim hakkına sahip kullanıcıların uygulama verilerine erişimlerini kontrol altına alır. Realm’ler kullanılarak tüm bir uygulama ya da uygulama içerisinde belirli tablo grupları koruma altına alınabilir. Örneğin; uygulama içerisinde bir şemanın bir realm ile koruma altına alınması durumunda, DBA dahil herhangi bir kullanıcı kendisine özel yetki verilmeden bu şemadaki herhangi bir tabloyu sorgulayamaz. Bu sayede DBA'ler bile uygulama verisindeki hassas verilere erişememiş olurlar. Örnek, DATA_OWNER scheması reals ile koruma altına alınacak. Sadece bu schema’a SYS,SYSTEM ve U1 kullanıcıları özel yetkiye sahiptir.
  • 8. Anar Godjaev http://anargodjaev.wordpress.com/ Örnekleme: 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 ----------
  • 9. Anar Godjaev http://anargodjaev.wordpress.com/ 1 1 1 1 1 Rule Sets, Rule setler, realms,factors,command rules ve security application roller tarafından kullanılır. Rule setlere birden fazla rule eklenebildiği gibi var olan rule’ler de eklenebilir. Bir rule set yaratılırken, rule set’in adı, içeriği, statusu(enable,disable) ve evaluation option kısımları girilmelidir. Rule setler’deki evaluation option kısmında All true ve Any true seçenekleri bulunur. All true opsiyonu seçildiğinde, kullanıcının veriye erişebilmesi için, bu rule set’teki tüm kuralların true değerini sağlamış olması gereklidir. Any true opsiyonu seçildiğinde ise var olan rulelar’dan en az birinin true olması yeterlidir. Factors, Çevresel parametrelerin (IP adresi, kimlik doğrulama metodu, makine ismi, bağlantı adı vb.) tanımlanmasını sağlar. Bu sayede güvenli erişim yolundan, kimlerin, ne zaman, nasıl ve nereden geçtiğinin algılanması sağlanır. Command Rules, veritabanı komutlarının çalıştırılmasını kontrol eden güvenlik kurallarıdır. Örnek, Rule sets, Factors ve Command Rules beraber kullanılarak yapılan bir örnek çalışma. 195.87.212.68 ip no’lu ‘Highly Secured Internal Network’ domain’den bağlanan DBSMAPS kullanıcısı hafta içi hegün saat 09:00 – 19:00 arasından DBSMAPS schemasından table truncate yapabilsin. Bu kural dışındaki kullanıcılar truncate yapamasın. Yapılacaklar; 1. Kullanıcı için bir factor tanımlanır. Factor tanımlamalarında bağlanılacak session’in ip no ve domain adı belirtilir. 2. Bir rule set tanımlanır. Evaluation Option all true seçeneği işaretlenir. 3. Hafta içi günleri, kullanıcı adı ve hafta içi çalışma saatleri için rule yaratılıp , rule set’e eklenir 4. Command Rule ile truncate table komutu, bu örnek için yaratılan rule set ile ilişkilendirilir. Not:SELECT OBJECT_NAME, OBJECT_TYPE FROM DBA_OBJECTS WHERE OWNER='DVF' AND OBJECT_NAME LIKE 'F$%'
  • 12. Anar Godjaev http://anargodjaev.wordpress.com/ Örnekleme: 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;
  • 13. Anar Godjaev http://anargodjaev.wordpress.com/ 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 Raporlar Oracle Database Vault ile birlikte kurulu olarak gelen birçok rapor bulunmaktadır. Bu raporlar Realm'lere olan yetkisiz erişim denemelerini içermektedir. Örneğin bir DBA'in yetkisi olduğu halde erişmemesi gereken bir yere erişmeye çalışması (maaş bilgisi gibi). Aynı şekilde Command Rules, factors, rule sets’ler tarafından engellenen kullanıcılar ve yaptıkları işlemler raporlarda görülebilir.