SlideShare a Scribd company logo
1
<Insert Picture Here>

http://www.youtube.com/user/BilisimSohbetleri
https://www.facebook.com/groups/BilisimSohbetleri

Oracle Veritabanı Güvenliği Çözümleri – Oracle Audit Vault ve Oracle Database Vault

Orhan Eripek, Senior Oracle DBA, Aksigorta
http://orhaneripek.com/
Audit (Denetim)
Şirketler;
• Denetim kapsamına alacakları en önemli ve kritik
gördükleri tablolarını belirlemelidir, bu listeyi zaman zaman
güncellemelidir,
• Veritabanlarında kullanıcı aktivitelerini denetlemeli,
loglarını tutmalıdır, logların günlük, aylık, yıllık periyotlarda
büyüme hızlarını izlemeli ve buna göre gerekli kaynak
(Disk, RAM, vs…) artışına gitmelidir,
• Bu logların backup’larını almalıdır,
• Anlık kritik işlemler hakkında Alert mailler ile haberdar
olmalıdır,
• Tüm bu aktiviteleri raporlayabilmelidir.
3
Veritabanı Güvenliği için Kullanılan Uygulamalar
• Veritabanı Güvenliğini, dış kaynaklı felaketlerden ve kötü
niyetli kullanıcılardan korumak için sağlarız.
• Biz bu sunumda kötü niyetli kullanıcılardan veritabanımızı,
dolayısıyla tablespace, tablo, index, package, procedure,
function, vs… tüm objelerimizi nasıl korumaya alırız,
bunlar üzerinde yapılan aktiviteleri (transaction) nasıl
izleriz, nasıl loglarız ve nasıl raporlarız, bunları
inceleyeceğiz,
• Kötü niyetli kullanıcı neler yapabilir? En önemli tablo ve
veritabanı objelerini silebilir, erişmesi yasak olan
tablolarda işlem yapabilir, başka kullanıcılara gizli yetkiler
verebilir, Audit loglarını silebilir, gizli bilgilere erişebilir…

4
En çok bilinen Veritabanı Güvenliği Uygulamaları;

5
Oracle Audit Vault 10.3
Özet olarak açıklamak gerekirse, veritabanı denetim ayarlarını yapabileceğimiz ve
kullanıcıların tüm veritabanı aktivitelerini raporlayabileceğimiz uygulamadır.

6
Oracle Database Vault 10.3
Özet olarak açıklamak gerekirse, DBA veya kullanıcıların şirket uygulamalarına doğrudan
erişimlerinin OS user ve IP bazında kısıtlanabileceği, veritabanı seviyesinde bazı yetki
kurallarını tanımlayarak güvenliği sağlayabileceğimiz uygulamadır.

7
Oracle Audit Vault and Database Firewall 12.1.1
Bu son versiyon ile yapılan temel değişiklikler; Agent’ların çalışma mantığı değiştirildi, artık
Collector+Agent değil de sadece Agent yönetiliyor, raporlama ekranları daha kullanışlı ve
yeni Database Firewall özelliğinin eklenmesi.

8
Oracle Audit Vault 12.1.1 ile beraber gelen Database Firewall uygulaması network
üzerinde yetkisiz SQL trafiğini database’e ulaşmadan önce izler ve bloke eder. fwadmin
(Firewall Admin) en yetkili kullanıcı olarak tüm gerekli sistem ayarlarını yapabilir.

9
Oracle Audit Vault Mimarisi

10
Oracle Audit Vault
Kaynak veritaban(lar)ındaki aktiviteleri izler (monitoring), loglar
(logging), raporlar (reporting) ve uyarır (alerting),
AVADMIN yönetir, AVAUDITOR raporlar.

!

HR Data

CRM Data

ERP Data

Databases

Audit
Data

Alerts
Built-in
Reports
Custom
Reports
Policies

Auditor

11
AUDIT_TRAIL (Denetim İzi):
None: Denetime Kapalı
DB: Kayıtlar SYS.AUD$ tablosunda tutulur
DB, EXTENDED: Kayıtlar SYS.AUD$ tablosunda SQL bind ve SQL text kolon bilgileri ile
birlikte tutulur
OS: *.aud uzantılı audit dosyaları Operating sistemde audit_file_dest dizininde tutulur
XML: Kayıtlar Operating sistemde XML formatında tutulur
XML, EXTENDED: Kayıtlar Operating sistemde XML formatında SQL bind ve SQL text
kolon bilgileri ile birlikte tutulur
show parameter audit;

veya

SQL> select name, value from v$parameter where lower(name) like 'audit%';
audit_file_dest

string

/oracle/db/admin/<instance_name>/adump

audit_syslog_level

string

audit_sys_operations

boolean TRUE

audit_trail

string

OS

ALTER SYSTEM SET AUDIT_TRAIL=OS SCOPE=SPFILE;

12
Alert Mekanizması
İstenmeyen durumların bildirimlerini almak için Alert mekanizması oluşturabiliriz.
Belli periyotlarda grafiksel olarak Alert’lerin istatistiğini görebiliriz.

13
14
15
Mail’imize raporun linki gönderildiği gibi raporun kendisi de attach edilmiş olarak pdf
formatında gönderilebilmektedir, mail hesabımızın kotasının raporlardan dolayı
büyümemesi için raporun linkinin gönderilmesi de tercih edilebilir.

16
Otomatik Alert Mail
Audit Vault Tablespace Size durumu için Alert Mail:
Audit Vault tablespace doluluk oranı belli bir eşik değeri (örnek olması
açısından aşağıdaki örnekte %60 limiti verildi, biz kullanımda %90 limitini
vereceğiz) aştığında otomatik Alert mailini alabiliriz.

17
Audit Vault Uygulaması için Alert Mail:
Audit Vault uygulamalarının data toplayıcı kollektor’ları (Collectors) herhangi bir
sebepten dolayı duracak olursa otomatik mail ile Alert durumu öğrenebiliriz.

18
Triger ile Denetleme
Çok önemli gördüğümüz 2-3 tablo için trigger yapısıyla ‘old value’ , ‘new value’
değerlerini loglayabiliriz, ‘ORHAN_TRIGGER_DENEME’ isminde oluşturduğum triger’ın
demosunu inceleyelim;
1

-- ÖRNEK TABLO YARATILIYOR
CREATE TABLE ORHAN_DENEME

2

(

-- AUDIT KAYITLARINI TUTACAK BIR TABLO OLUSTURULUR
CREATE TABLE ORHAN_AUDIT_TABLE (
OWNER VARCHAR2(30),

OWNER
OBJECT_NAME

VARCHAR2(128 BYTE),

SUBOBJECT_NAME

VARCHAR2(30 BYTE),

OBJECT_ID

NUMBER,

DATA_OBJECT_ID

NUMBER,

OBJECT_TYPE

VARCHAR2(19 BYTE),

CREATED

DATE,

LAST_DDL_TIME

DATE,

TIMESTAMP

VARCHAR2(19 BYTE),

STATUS

VARCHAR2(7 BYTE),

TEMPORARY

VARCHAR2(1 BYTE),

FOR EACH ROW

GENERATED

VARCHAR2(1 BYTE),

DECLARE

SECONDARY

VARCHAR2(1 BYTE),

NAMESPACE

NUMBER,

EDITION_NAME
)

VARCHAR2(30 BYTE),

VARCHAR2(30 BYTE)

TABLE_NAME VARCHAR2(30),
MODIFYING_USER VARCHAR2(30),
MODIFY_TIME DATE DEFAULT SYSDATE,
COLUMN_NAME varchar2(30),
BEFORE_VALUE varchar2(30),
AFTER_VALUE varchar2(30));

3

CREATE OR REPLACE TRIGGER ORHAN_TRIGGER_DENEME
AFTER UPDATE ON ORHAN_DENEME

v_username varchar2(10);

BEGIN
SELECT user INTO v_username FROM dual;
INSERT INTO ORHAN_AUDIT_TABLE ( OWNER, TABLE_NAME,
MODIFYING_USER, MODIFY_TIME, COLUMN_NAME, BEFORE_VALUE, AFTER_VALUE )
VALUES ( 'AV_SRV', 'ORHAN_AUDIT_TABLE', v_username, SYSDATE,
'OBJECT_NAME', :OLD.OBJECT_NAME, :NEW.OBJECT_NAME );
END;

19
4

-- ORNEK OLMASI ACISINDAN BİRKAÇ KAYIT GIRILIYOR

Insert into ORHAN_DENEME
(OWNER, OBJECT_NAME, OBJECT_ID, DATA_OBJECT_ID, OBJECT_TYPE,
CREATED, LAST_DDL_TIME, TIMESTAMP, STATUS, TEMPORARY,

GENERATED, SECONDARY, NAMESPACE)
Values
('SYS', 'C_OBJ#', 2, 2, 'CLUSTER',
TO_DATE('10/21/2011 03:16:47', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('10/21/2011 03:16:47', 'MM/DD/YYYY
HH24:MI:SS'), '2011-10-21:03:16:47', 'VALID', 'N',
'N', 'N', 5);

20
FGA (Fine Grained) Audit –Detaylı Denetim

İsteğimiz tabloların isteğimiz kolonlarını seçerek veya istediğimiz kolonlar için filtreleme
koyarak denetim sağlayabiliriz, denetim kayıtları sys.fga_log$ view’inde tutulur.
Örneğin orhan user’ının orhan_deneme ismindeki tablosunu FGA denetimine alalım ve
raporunu Audit Vault konsolundan çekelim;
create table orhan_deneme (id number, adi varchar2(20), per_no
number);

select * from orhan_deneme;

BEGIN

insert into orhan_deneme (id, adi, per_no) values (:t1,:t2,
:t3);

DBMS_FGA.ADD_POLICY

insert into orhan_deneme (id, adi, per_no) values
(12,'ahmet', 76);

update orhan_deneme set per_no=38 where id=22;

(object_schema

=> '"ORHAN"',

object_name

=> '«ORHAN_DENEME"',

delete orhan_deneme where id=12;

policy_name

=> '«ORHAN_DENEME_IUD"',

commit;

statement_types => 'DELETE,INSERT,UPDATE',
audit_trail

=> DBMS_FGA.DB,

audit_column_opts =>
DBMS_FGA.any_columns);
END;

Declare
c number;
begin

for rec in 1..100 loop
c:=rec;
insert into orhan_deneme values(c,'orhan'||c,rec+10);

select POLICY_NAME from dba_audit_policies where
OBJECT_NAME=‘ORHAN_DENEME';

end loop;
commit;
end;

21
Örnek Rapor-1

22
Örnek Rapor-2

23
Örnek Rapor-3

24
25
Teşekkürler 

26

More Related Content

What's hot

Triplewave: a step towards RDF Stream Processing on the Web
Triplewave: a step towards RDF Stream Processing on the WebTriplewave: a step towards RDF Stream Processing on the Web
Triplewave: a step towards RDF Stream Processing on the Web
Daniele Dell'Aglio
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
Dr Sukhpal Singh Gill
 
How to Build a Custom Plugin in Rundeck
How to Build a Custom Plugin in RundeckHow to Build a Custom Plugin in Rundeck
How to Build a Custom Plugin in Rundeck
Rundeck
 
Scalable Recommendation Algorithms with LSH
Scalable Recommendation Algorithms with LSHScalable Recommendation Algorithms with LSH
Scalable Recommendation Algorithms with LSH
Maruf Aytekin
 
Rust: Systems Programming for Everyone
Rust: Systems Programming for EveryoneRust: Systems Programming for Everyone
Rust: Systems Programming for Everyone
C4Media
 
Building Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraBuilding Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and Hydra
Markus Lanthaler
 
Event Sourcing with Kotlin, who needs frameworks!
Event Sourcing with Kotlin, who needs frameworks!Event Sourcing with Kotlin, who needs frameworks!
Event Sourcing with Kotlin, who needs frameworks!
Nico Krijnen
 
Refactoring Applications using SOLID Principles
Refactoring Applications using SOLID PrinciplesRefactoring Applications using SOLID Principles
Refactoring Applications using SOLID Principles
Steven Smith
 
Rundeck: The missing tool
Rundeck: The missing toolRundeck: The missing tool
Rundeck: The missing tool
Artur Martins
 
Monitoring What Matters: The Prometheus Approach to Whitebox Monitoring (Berl...
Monitoring What Matters: The Prometheus Approach to Whitebox Monitoring (Berl...Monitoring What Matters: The Prometheus Approach to Whitebox Monitoring (Berl...
Monitoring What Matters: The Prometheus Approach to Whitebox Monitoring (Berl...
Brian Brazil
 
RoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position EmbeddingRoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position Embedding
taeseon ryu
 
Top-k shortest path
Top-k shortest pathTop-k shortest path
Top-k shortest path
redhatdb
 
MuleSoft JWT Demystified
MuleSoft JWT DemystifiedMuleSoft JWT Demystified
MuleSoft JWT Demystified
Patryk Bandurski
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
Harbor Research's Infographic on the Internet of Things and Smart Services
Harbor Research's Infographic on the Internet of Things and Smart ServicesHarbor Research's Infographic on the Internet of Things and Smart Services
Harbor Research's Infographic on the Internet of Things and Smart Services
Harbor Research
 
DDD in PHP
DDD in PHPDDD in PHP
DDD in PHP
Paulo Victor Gomes
 
Windows Attacks AT is the new black
Windows Attacks   AT is the new blackWindows Attacks   AT is the new black
Windows Attacks AT is the new black
Rob Fuller
 
Ontology mapping for the semantic web
Ontology mapping for the semantic webOntology mapping for the semantic web
Ontology mapping for the semantic web
Worawith Sangkatip
 
如何使用 Xhprof 分析網站效能 (真實案例2)
如何使用 Xhprof 分析網站效能 (真實案例2)如何使用 Xhprof 分析網站效能 (真實案例2)
如何使用 Xhprof 分析網站效能 (真實案例2)
Cyril Wang
 
Introduction to natural language processing (NLP)
Introduction to natural language processing (NLP)Introduction to natural language processing (NLP)
Introduction to natural language processing (NLP)
Alia Hamwi
 

What's hot (20)

Triplewave: a step towards RDF Stream Processing on the Web
Triplewave: a step towards RDF Stream Processing on the WebTriplewave: a step towards RDF Stream Processing on the Web
Triplewave: a step towards RDF Stream Processing on the Web
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
 
How to Build a Custom Plugin in Rundeck
How to Build a Custom Plugin in RundeckHow to Build a Custom Plugin in Rundeck
How to Build a Custom Plugin in Rundeck
 
Scalable Recommendation Algorithms with LSH
Scalable Recommendation Algorithms with LSHScalable Recommendation Algorithms with LSH
Scalable Recommendation Algorithms with LSH
 
Rust: Systems Programming for Everyone
Rust: Systems Programming for EveryoneRust: Systems Programming for Everyone
Rust: Systems Programming for Everyone
 
Building Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraBuilding Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and Hydra
 
Event Sourcing with Kotlin, who needs frameworks!
Event Sourcing with Kotlin, who needs frameworks!Event Sourcing with Kotlin, who needs frameworks!
Event Sourcing with Kotlin, who needs frameworks!
 
Refactoring Applications using SOLID Principles
Refactoring Applications using SOLID PrinciplesRefactoring Applications using SOLID Principles
Refactoring Applications using SOLID Principles
 
Rundeck: The missing tool
Rundeck: The missing toolRundeck: The missing tool
Rundeck: The missing tool
 
Monitoring What Matters: The Prometheus Approach to Whitebox Monitoring (Berl...
Monitoring What Matters: The Prometheus Approach to Whitebox Monitoring (Berl...Monitoring What Matters: The Prometheus Approach to Whitebox Monitoring (Berl...
Monitoring What Matters: The Prometheus Approach to Whitebox Monitoring (Berl...
 
RoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position EmbeddingRoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position Embedding
 
Top-k shortest path
Top-k shortest pathTop-k shortest path
Top-k shortest path
 
MuleSoft JWT Demystified
MuleSoft JWT DemystifiedMuleSoft JWT Demystified
MuleSoft JWT Demystified
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Harbor Research's Infographic on the Internet of Things and Smart Services
Harbor Research's Infographic on the Internet of Things and Smart ServicesHarbor Research's Infographic on the Internet of Things and Smart Services
Harbor Research's Infographic on the Internet of Things and Smart Services
 
DDD in PHP
DDD in PHPDDD in PHP
DDD in PHP
 
Windows Attacks AT is the new black
Windows Attacks   AT is the new blackWindows Attacks   AT is the new black
Windows Attacks AT is the new black
 
Ontology mapping for the semantic web
Ontology mapping for the semantic webOntology mapping for the semantic web
Ontology mapping for the semantic web
 
如何使用 Xhprof 分析網站效能 (真實案例2)
如何使用 Xhprof 分析網站效能 (真實案例2)如何使用 Xhprof 分析網站效能 (真實案例2)
如何使用 Xhprof 分析網站效能 (真實案例2)
 
Introduction to natural language processing (NLP)
Introduction to natural language processing (NLP)Introduction to natural language processing (NLP)
Introduction to natural language processing (NLP)
 

Viewers also liked

Oracle Database and Technologies Seminar
Oracle Database and Technologies SeminarOracle Database and Technologies Seminar
Oracle Database and Technologies Seminar
Orhan ERIPEK
 
Oracle Enterprise Manager Cloud Control 12c
Oracle Enterprise Manager Cloud Control 12cOracle Enterprise Manager Cloud Control 12c
Oracle Enterprise Manager Cloud Control 12c
Orhan ERIPEK
 
Oracle Veritabanı Yönetimi
Oracle Veritabanı YönetimiOracle Veritabanı Yönetimi
Oracle Veritabanı Yönetimi
Orhan ERIPEK
 
Oracle veritabani performans kontrol listesi
Oracle veritabani performans kontrol listesiOracle veritabani performans kontrol listesi
Oracle veritabani performans kontrol listesi
Orhan ERIPEK
 
Oracle veritabanı yonetiminde onemli teknikler
Oracle veritabanı yonetiminde onemli tekniklerOracle veritabanı yonetiminde onemli teknikler
Oracle veritabanı yonetiminde onemli teknikler
Orhan ERIPEK
 
Java Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsJava Server Faces (JSF) - Basics
Java Server Faces (JSF) - Basics
BG Java EE Course
 
111111111111111111
111111111111111111111111111111111111
111111111111111111A. Zidan
 
CII Communique December 2016
CII Communique  December 2016CII Communique  December 2016
CII Communique December 2016
Confederation of Indian Industry
 
Keuze tussen het nominale of reële contract
Keuze tussen het nominale of reële contractKeuze tussen het nominale of reële contract
Keuze tussen het nominale of reële contract
Eduard Jansen✔
 
5 Steps to the Business Credit Score You Want
5 Steps to the Business Credit Score You Want5 Steps to the Business Credit Score You Want
5 Steps to the Business Credit Score You Want
Sophia Anne Walker
 
Virtual Reality for Business (VR Infographic by Opace)
Virtual Reality for Business (VR Infographic by Opace)Virtual Reality for Business (VR Infographic by Opace)
Virtual Reality for Business (VR Infographic by Opace)
Opace Web Design
 
Ogilvie ldn 1 12 pt text t5
Ogilvie ldn 1 12 pt text t5Ogilvie ldn 1 12 pt text t5
Ogilvie ldn 1 12 pt text t5elogilvie
 
Personal Learning Network
Personal Learning Network  Personal Learning Network
Personal Learning Network jillennever
 
Observations to Information
Observations to InformationObservations to Information
Observations to Information
Simon Cox
 

Viewers also liked (15)

Oracle Database and Technologies Seminar
Oracle Database and Technologies SeminarOracle Database and Technologies Seminar
Oracle Database and Technologies Seminar
 
Oracle Enterprise Manager Cloud Control 12c
Oracle Enterprise Manager Cloud Control 12cOracle Enterprise Manager Cloud Control 12c
Oracle Enterprise Manager Cloud Control 12c
 
Oracle Veritabanı Yönetimi
Oracle Veritabanı YönetimiOracle Veritabanı Yönetimi
Oracle Veritabanı Yönetimi
 
Oracle veritabani performans kontrol listesi
Oracle veritabani performans kontrol listesiOracle veritabani performans kontrol listesi
Oracle veritabani performans kontrol listesi
 
Oracle veritabanı yonetiminde onemli teknikler
Oracle veritabanı yonetiminde onemli tekniklerOracle veritabanı yonetiminde onemli teknikler
Oracle veritabanı yonetiminde onemli teknikler
 
Java Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsJava Server Faces (JSF) - Basics
Java Server Faces (JSF) - Basics
 
111111111111111111
111111111111111111111111111111111111
111111111111111111
 
CII Communique December 2016
CII Communique  December 2016CII Communique  December 2016
CII Communique December 2016
 
Villa Luna
Villa LunaVilla Luna
Villa Luna
 
Keuze tussen het nominale of reële contract
Keuze tussen het nominale of reële contractKeuze tussen het nominale of reële contract
Keuze tussen het nominale of reële contract
 
5 Steps to the Business Credit Score You Want
5 Steps to the Business Credit Score You Want5 Steps to the Business Credit Score You Want
5 Steps to the Business Credit Score You Want
 
Virtual Reality for Business (VR Infographic by Opace)
Virtual Reality for Business (VR Infographic by Opace)Virtual Reality for Business (VR Infographic by Opace)
Virtual Reality for Business (VR Infographic by Opace)
 
Ogilvie ldn 1 12 pt text t5
Ogilvie ldn 1 12 pt text t5Ogilvie ldn 1 12 pt text t5
Ogilvie ldn 1 12 pt text t5
 
Personal Learning Network
Personal Learning Network  Personal Learning Network
Personal Learning Network
 
Observations to Information
Observations to InformationObservations to Information
Observations to Information
 

Similar to Oracle Audit Vault & Database Vault

DATABASEI ARCHIVE MODA ALMA
DATABASEI ARCHIVE MODA ALMADATABASEI ARCHIVE MODA ALMA
DATABASEI ARCHIVE MODA ALMAAnar Godjaev
 
Database Vault / Verinin Güvenliği
Database Vault /  Verinin GüvenliğiDatabase Vault /  Verinin Güvenliği
Database Vault / Verinin GüvenliğiAnar Godjaev
 
Redologlar ve Yöneti̇mi̇
Redologlar ve Yöneti̇mi̇Redologlar ve Yöneti̇mi̇
Redologlar ve Yöneti̇mi̇Anar Godjaev
 
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
BGA Cyber Security
 
Oracle Golden Gate
Oracle Golden GateOracle Golden Gate
Oracle Golden GateAnar Godjaev
 
Bilgi Güvenliği ve Log Yönetimi Sistemlerinin Analizi
Bilgi Güvenliği ve Log Yönetimi Sistemlerinin AnaliziBilgi Güvenliği ve Log Yönetimi Sistemlerinin Analizi
Bilgi Güvenliği ve Log Yönetimi Sistemlerinin Analizi
Ertugrul Akbas
 
Performance Tuni̇ng
Performance Tuni̇ngPerformance Tuni̇ng
Performance Tuni̇ngAnar Godjaev
 
Güvenlik, uyumluluk ve veritabani loglama
Güvenlik, uyumluluk  ve veritabani loglamaGüvenlik, uyumluluk  ve veritabani loglama
Güvenlik, uyumluluk ve veritabani loglama
Ertugrul Akbas
 
Log yönetimi ve siem
Log yönetimi ve siemLog yönetimi ve siem
Log yönetimi ve siem
Ertugrul Akbas
 
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
 
İ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
Cihan Özhan
 
Oracle 12c Database In-Memory
Oracle 12c Database In-MemoryOracle 12c Database In-Memory
Oracle 12c Database In-Memory
Gokhan Atil
 
Log yonetimi tecrubeleri
Log yonetimi tecrubeleriLog yonetimi tecrubeleri
Log yonetimi tecrubeleri
Ertugrul Akbas
 
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
BTRisk Bilgi Güvenliği ve BT Yönetişim Hizmetleri
 
Veri̇tabani ve Kullanici Yöneti̇mi̇
Veri̇tabani ve Kullanici Yöneti̇mi̇Veri̇tabani ve Kullanici Yöneti̇mi̇
Veri̇tabani ve Kullanici Yöneti̇mi̇Anar Godjaev
 
İleri Seviye T-SQL Programlama - Chapter 11
İleri Seviye T-SQL Programlama - Chapter 11İleri Seviye T-SQL Programlama - Chapter 11
İleri Seviye T-SQL Programlama - Chapter 11
Cihan Özhan
 
Instance ve Media Bozukluklarını Inceleme
Instance ve Media Bozukluklarını IncelemeInstance ve Media Bozukluklarını Inceleme
Instance ve Media Bozukluklarını IncelemeAnar Godjaev
 
9.hafta cüneyt tomruk
9.hafta cüneyt tomruk9.hafta cüneyt tomruk
9.hafta cüneyt tomrukoktaygokgol
 

Similar to Oracle Audit Vault & Database Vault (20)

DATABASEI ARCHIVE MODA ALMA
DATABASEI ARCHIVE MODA ALMADATABASEI ARCHIVE MODA ALMA
DATABASEI ARCHIVE MODA ALMA
 
Database Vault / Verinin Güvenliği
Database Vault /  Verinin GüvenliğiDatabase Vault /  Verinin Güvenliği
Database Vault / Verinin Güvenliği
 
Redologlar ve Yöneti̇mi̇
Redologlar ve Yöneti̇mi̇Redologlar ve Yöneti̇mi̇
Redologlar ve Yöneti̇mi̇
 
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
 
Oracle Golden Gate
Oracle Golden GateOracle Golden Gate
Oracle Golden Gate
 
Bilgi Güvenliği ve Log Yönetimi Sistemlerinin Analizi
Bilgi Güvenliği ve Log Yönetimi Sistemlerinin AnaliziBilgi Güvenliği ve Log Yönetimi Sistemlerinin Analizi
Bilgi Güvenliği ve Log Yönetimi Sistemlerinin Analizi
 
Performance Tuni̇ng
Performance Tuni̇ngPerformance Tuni̇ng
Performance Tuni̇ng
 
Güvenlik, uyumluluk ve veritabani loglama
Güvenlik, uyumluluk  ve veritabani loglamaGüvenlik, uyumluluk  ve veritabani loglama
Güvenlik, uyumluluk ve veritabani loglama
 
Log yönetimi ve siem
Log yönetimi ve siemLog yönetimi ve siem
Log yönetimi ve siem
 
Konu anlatım
Konu anlatımKonu anlatım
Konu anlatım
 
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
 
İ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
 
Oracle 12c Database In-Memory
Oracle 12c Database In-MemoryOracle 12c Database In-Memory
Oracle 12c Database In-Memory
 
Log yonetimi tecrubeleri
Log yonetimi tecrubeleriLog yonetimi tecrubeleri
Log yonetimi tecrubeleri
 
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
 
Veri̇tabani ve Kullanici Yöneti̇mi̇
Veri̇tabani ve Kullanici Yöneti̇mi̇Veri̇tabani ve Kullanici Yöneti̇mi̇
Veri̇tabani ve Kullanici Yöneti̇mi̇
 
İleri Seviye T-SQL Programlama - Chapter 11
İleri Seviye T-SQL Programlama - Chapter 11İleri Seviye T-SQL Programlama - Chapter 11
İleri Seviye T-SQL Programlama - Chapter 11
 
Instance ve Media Bozukluklarını Inceleme
Instance ve Media Bozukluklarını IncelemeInstance ve Media Bozukluklarını Inceleme
Instance ve Media Bozukluklarını Inceleme
 
Audit Policy
Audit PolicyAudit Policy
Audit Policy
 
9.hafta cüneyt tomruk
9.hafta cüneyt tomruk9.hafta cüneyt tomruk
9.hafta cüneyt tomruk
 

Oracle Audit Vault & Database Vault

  • 1. 1
  • 2. <Insert Picture Here> http://www.youtube.com/user/BilisimSohbetleri https://www.facebook.com/groups/BilisimSohbetleri Oracle Veritabanı Güvenliği Çözümleri – Oracle Audit Vault ve Oracle Database Vault Orhan Eripek, Senior Oracle DBA, Aksigorta http://orhaneripek.com/
  • 3. Audit (Denetim) Şirketler; • Denetim kapsamına alacakları en önemli ve kritik gördükleri tablolarını belirlemelidir, bu listeyi zaman zaman güncellemelidir, • Veritabanlarında kullanıcı aktivitelerini denetlemeli, loglarını tutmalıdır, logların günlük, aylık, yıllık periyotlarda büyüme hızlarını izlemeli ve buna göre gerekli kaynak (Disk, RAM, vs…) artışına gitmelidir, • Bu logların backup’larını almalıdır, • Anlık kritik işlemler hakkında Alert mailler ile haberdar olmalıdır, • Tüm bu aktiviteleri raporlayabilmelidir. 3
  • 4. Veritabanı Güvenliği için Kullanılan Uygulamalar • Veritabanı Güvenliğini, dış kaynaklı felaketlerden ve kötü niyetli kullanıcılardan korumak için sağlarız. • Biz bu sunumda kötü niyetli kullanıcılardan veritabanımızı, dolayısıyla tablespace, tablo, index, package, procedure, function, vs… tüm objelerimizi nasıl korumaya alırız, bunlar üzerinde yapılan aktiviteleri (transaction) nasıl izleriz, nasıl loglarız ve nasıl raporlarız, bunları inceleyeceğiz, • Kötü niyetli kullanıcı neler yapabilir? En önemli tablo ve veritabanı objelerini silebilir, erişmesi yasak olan tablolarda işlem yapabilir, başka kullanıcılara gizli yetkiler verebilir, Audit loglarını silebilir, gizli bilgilere erişebilir… 4
  • 5. En çok bilinen Veritabanı Güvenliği Uygulamaları; 5
  • 6. Oracle Audit Vault 10.3 Özet olarak açıklamak gerekirse, veritabanı denetim ayarlarını yapabileceğimiz ve kullanıcıların tüm veritabanı aktivitelerini raporlayabileceğimiz uygulamadır. 6
  • 7. Oracle Database Vault 10.3 Özet olarak açıklamak gerekirse, DBA veya kullanıcıların şirket uygulamalarına doğrudan erişimlerinin OS user ve IP bazında kısıtlanabileceği, veritabanı seviyesinde bazı yetki kurallarını tanımlayarak güvenliği sağlayabileceğimiz uygulamadır. 7
  • 8. Oracle Audit Vault and Database Firewall 12.1.1 Bu son versiyon ile yapılan temel değişiklikler; Agent’ların çalışma mantığı değiştirildi, artık Collector+Agent değil de sadece Agent yönetiliyor, raporlama ekranları daha kullanışlı ve yeni Database Firewall özelliğinin eklenmesi. 8
  • 9. Oracle Audit Vault 12.1.1 ile beraber gelen Database Firewall uygulaması network üzerinde yetkisiz SQL trafiğini database’e ulaşmadan önce izler ve bloke eder. fwadmin (Firewall Admin) en yetkili kullanıcı olarak tüm gerekli sistem ayarlarını yapabilir. 9
  • 10. Oracle Audit Vault Mimarisi 10
  • 11. Oracle Audit Vault Kaynak veritaban(lar)ındaki aktiviteleri izler (monitoring), loglar (logging), raporlar (reporting) ve uyarır (alerting), AVADMIN yönetir, AVAUDITOR raporlar. ! HR Data CRM Data ERP Data Databases Audit Data Alerts Built-in Reports Custom Reports Policies Auditor 11
  • 12. AUDIT_TRAIL (Denetim İzi): None: Denetime Kapalı DB: Kayıtlar SYS.AUD$ tablosunda tutulur DB, EXTENDED: Kayıtlar SYS.AUD$ tablosunda SQL bind ve SQL text kolon bilgileri ile birlikte tutulur OS: *.aud uzantılı audit dosyaları Operating sistemde audit_file_dest dizininde tutulur XML: Kayıtlar Operating sistemde XML formatında tutulur XML, EXTENDED: Kayıtlar Operating sistemde XML formatında SQL bind ve SQL text kolon bilgileri ile birlikte tutulur show parameter audit; veya SQL> select name, value from v$parameter where lower(name) like 'audit%'; audit_file_dest string /oracle/db/admin/<instance_name>/adump audit_syslog_level string audit_sys_operations boolean TRUE audit_trail string OS ALTER SYSTEM SET AUDIT_TRAIL=OS SCOPE=SPFILE; 12
  • 13. Alert Mekanizması İstenmeyen durumların bildirimlerini almak için Alert mekanizması oluşturabiliriz. Belli periyotlarda grafiksel olarak Alert’lerin istatistiğini görebiliriz. 13
  • 14. 14
  • 15. 15
  • 16. Mail’imize raporun linki gönderildiği gibi raporun kendisi de attach edilmiş olarak pdf formatında gönderilebilmektedir, mail hesabımızın kotasının raporlardan dolayı büyümemesi için raporun linkinin gönderilmesi de tercih edilebilir. 16
  • 17. Otomatik Alert Mail Audit Vault Tablespace Size durumu için Alert Mail: Audit Vault tablespace doluluk oranı belli bir eşik değeri (örnek olması açısından aşağıdaki örnekte %60 limiti verildi, biz kullanımda %90 limitini vereceğiz) aştığında otomatik Alert mailini alabiliriz. 17
  • 18. Audit Vault Uygulaması için Alert Mail: Audit Vault uygulamalarının data toplayıcı kollektor’ları (Collectors) herhangi bir sebepten dolayı duracak olursa otomatik mail ile Alert durumu öğrenebiliriz. 18
  • 19. Triger ile Denetleme Çok önemli gördüğümüz 2-3 tablo için trigger yapısıyla ‘old value’ , ‘new value’ değerlerini loglayabiliriz, ‘ORHAN_TRIGGER_DENEME’ isminde oluşturduğum triger’ın demosunu inceleyelim; 1 -- ÖRNEK TABLO YARATILIYOR CREATE TABLE ORHAN_DENEME 2 ( -- AUDIT KAYITLARINI TUTACAK BIR TABLO OLUSTURULUR CREATE TABLE ORHAN_AUDIT_TABLE ( OWNER VARCHAR2(30), OWNER OBJECT_NAME VARCHAR2(128 BYTE), SUBOBJECT_NAME VARCHAR2(30 BYTE), OBJECT_ID NUMBER, DATA_OBJECT_ID NUMBER, OBJECT_TYPE VARCHAR2(19 BYTE), CREATED DATE, LAST_DDL_TIME DATE, TIMESTAMP VARCHAR2(19 BYTE), STATUS VARCHAR2(7 BYTE), TEMPORARY VARCHAR2(1 BYTE), FOR EACH ROW GENERATED VARCHAR2(1 BYTE), DECLARE SECONDARY VARCHAR2(1 BYTE), NAMESPACE NUMBER, EDITION_NAME ) VARCHAR2(30 BYTE), VARCHAR2(30 BYTE) TABLE_NAME VARCHAR2(30), MODIFYING_USER VARCHAR2(30), MODIFY_TIME DATE DEFAULT SYSDATE, COLUMN_NAME varchar2(30), BEFORE_VALUE varchar2(30), AFTER_VALUE varchar2(30)); 3 CREATE OR REPLACE TRIGGER ORHAN_TRIGGER_DENEME AFTER UPDATE ON ORHAN_DENEME v_username varchar2(10); BEGIN SELECT user INTO v_username FROM dual; INSERT INTO ORHAN_AUDIT_TABLE ( OWNER, TABLE_NAME, MODIFYING_USER, MODIFY_TIME, COLUMN_NAME, BEFORE_VALUE, AFTER_VALUE ) VALUES ( 'AV_SRV', 'ORHAN_AUDIT_TABLE', v_username, SYSDATE, 'OBJECT_NAME', :OLD.OBJECT_NAME, :NEW.OBJECT_NAME ); END; 19
  • 20. 4 -- ORNEK OLMASI ACISINDAN BİRKAÇ KAYIT GIRILIYOR Insert into ORHAN_DENEME (OWNER, OBJECT_NAME, OBJECT_ID, DATA_OBJECT_ID, OBJECT_TYPE, CREATED, LAST_DDL_TIME, TIMESTAMP, STATUS, TEMPORARY, GENERATED, SECONDARY, NAMESPACE) Values ('SYS', 'C_OBJ#', 2, 2, 'CLUSTER', TO_DATE('10/21/2011 03:16:47', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('10/21/2011 03:16:47', 'MM/DD/YYYY HH24:MI:SS'), '2011-10-21:03:16:47', 'VALID', 'N', 'N', 'N', 5); 20
  • 21. FGA (Fine Grained) Audit –Detaylı Denetim İsteğimiz tabloların isteğimiz kolonlarını seçerek veya istediğimiz kolonlar için filtreleme koyarak denetim sağlayabiliriz, denetim kayıtları sys.fga_log$ view’inde tutulur. Örneğin orhan user’ının orhan_deneme ismindeki tablosunu FGA denetimine alalım ve raporunu Audit Vault konsolundan çekelim; create table orhan_deneme (id number, adi varchar2(20), per_no number); select * from orhan_deneme; BEGIN insert into orhan_deneme (id, adi, per_no) values (:t1,:t2, :t3); DBMS_FGA.ADD_POLICY insert into orhan_deneme (id, adi, per_no) values (12,'ahmet', 76); update orhan_deneme set per_no=38 where id=22; (object_schema => '"ORHAN"', object_name => '«ORHAN_DENEME"', delete orhan_deneme where id=12; policy_name => '«ORHAN_DENEME_IUD"', commit; statement_types => 'DELETE,INSERT,UPDATE', audit_trail => DBMS_FGA.DB, audit_column_opts => DBMS_FGA.any_columns); END; Declare c number; begin for rec in 1..100 loop c:=rec; insert into orhan_deneme values(c,'orhan'||c,rec+10); select POLICY_NAME from dba_audit_policies where OBJECT_NAME=‘ORHAN_DENEME'; end loop; commit; end; 21
  • 25. 25