veritabanı güvenliği - wordpress.com · veritabanı güvenliği oracle - kullanıcı yönetimi...

152
Veritabanı Güvenliği Nisan 2018 Y. Anıl Akduygu https ://yusufanilakduygu.wordpress.com/ https://yusufanilakduygu.wordpress.com/2018/05/07/veritabani-guvenligi-notlari/ https://www.dbsecurity.info / https:// github.com/yusufanilakduygu/Oracle-DB-Security-Checks http:// www.dr.com.tr/Kitap/Oracle-Veritabani-Guvenligi/Anil-Akduygu/Egitim-Basvuru/Bilgisayar/urunno=0000000712597 Veritabanı Güvenliği

Upload: others

Post on 13-Jul-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı GüvenliğiNisan 2018

Y. Anıl Akduyguhttps://yusufanilakduygu.wordpress.com/

https://yusufanilakduygu.wordpress.com/2018/05/07/veritabani-guvenligi-notlari/https://www.dbsecurity.info/

https://github.com/yusufanilakduygu/Oracle-DB-Security-Checkshttp://www.dr.com.tr/Kitap/Oracle-Veritabani-Guvenligi/Anil-Akduygu/Egitim-Basvuru/Bilgisayar/urunno=0000000712597

Veritabanı Güvenliği

Page 2: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Güvenlik Tabakaları – Security Layers

Page 3: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Veritabanına Yönelik Tehditler

Page 4: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Veritabanı Server Güvenliği

• Veritabanının bulunduğu server; fiziksel olarak güvenli bir ortamda bulunmalıdır• Server’a gereksiz kişilerin erişimi engellenmelidir.• Veritabanı sunucusunda; uygulama veya web servisi veren yazılımlar çalışmamalıdır.• Veritabanı sunucusu bir Firewall’un arkasında olmalıdır.

• Oracle veritabanı yöneticilerinin; işletim sisteminde ayrı hesapları olmalıdır.• Oracle için ortak kullanılan oracle işletim sistemi kullanıcısı sadece

yazılım güncellemelerinde kullanılmalıdır.• MS SQL Server yönetimi için ayrı bir İşletim sistemi hesabı yaratılmalı ve bu hesap

Administrator’den farklı olmalıdır.

Page 5: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Popüler Veritabanları

Page 6: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

VERİTABANI YAZILIM GÜVENLİĞİ

• Desteklenen Sürümler• Güvenlik Yamaları

Page 7: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Veritabanı Sürümleri

Veritabanlarımız Destek edilen versiyonlarda olmalıdır.

Veritabanı Güvenlik yamaları takip edilmeli ve en son güvenlik yamaları uygulanmalıdır.

Page 8: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Oracle Veritabanı Support Lifecycle

https://www.oracle.com/support/lifetime-support/index.html

Page 9: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

MS SQL Server Support Lifecycle

https://support.microsoft.com/en-us/lifecycle/search/1044

Page 10: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Microsoft SQL Server Sürümleri

https://support.microsoft.com/en-us/lifecycle/search/?ln=en-us&c2=1044

Page 11: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Oracle Veritabanı Sürüm Kontrolleri

Select banner from v$version

Page 12: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

MS SQL Server Sürüm Kontrolleri

Select @@version

Page 13: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Oracle Veritabanı Güvenlik Yamaları

https://www.oracle.com/technetwork/topics/security/alerts-086861.html

Page 14: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Oracle Veritabanı Güvenlik Yamaları

Page 15: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

MS SQL Server Veritabanı Güvenlik Yamaları

https://technet.microsoft.com/en-us/library/ff803383.aspx

Page 16: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

MS SQL Server Veritabanı Güvenlik Yamaları

https://support.microsoft.com/en-us/help/321185/how-to-determine-the-version-edition-and-update-level-of-sql-server-an

Page 17: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Oracle Veritabanı Güvenlik Yamaları Kontrol

Select * from registry$history;

SELECT * FROM DBA_REGISTRY_HISTORY

Page 18: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

MS SQL Server Veritabanı Güvenlik Yamaları Kontrol

SELECTSERVERPROPERTY('ProductVersion') AS ProductVersion,SERVERPROPERTY('ProductLevel') AS ProductLevel,SERVERPROPERTY('edition') AS Edition,SERVERPROPERTY('ProductUpdateLevel') AS ProductUpdateLevel,SERVERPROPERTY('ProductBuildType') AS ProductBuildType,SERVERPROPERTY('ProductUpdateReference') AS ProductUpdateReference,SERVERPROPERTY('ProductMajorVersion') AS ProductMajorVersion,SERVERPROPERTY('ProductMinorVersion') AS ProductMinorVersion,SERVERPROPERTY('ProductBuild') AS ProductBuild

Page 19: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

MS SQL Server Veritabanı Güvenlik Yamaları Kontrol

Page 20: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Veritabanına Erişim – Database Access

Bir Veritabanına Erişirken Kullanılan Parametreler

• Host• Port• Kullanıcı Adı• Şifre• Veritabanı Adı

Bu parametreler bilindiği taktirde ağ üzerinde bir kısıtlama yoksa veritabanına erişim sağlanır.

Page 21: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Oracle ve MS SQL Server Veritabanına Erişim

Oracle Veritabanına Erişirken Kullanılan Parametreler

• Host• Port• Kullanıcı Adı• Şifre• SID veya Servis Adı

MS SQL Server Veritabanına Erişirken Kullanılan Parametreler

• Host• Port• Kullanıcı Adı• Şifre• Veritabanı Adı

Page 22: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Oracle Veritabanına Ağ üzerinde Erişim

Oracle ‘ın koştuğu sunucu üzerinde LISTENER adı verilen bir dinleyici prosess çalışır.Bu prosess’de veritabanına bağlantı için kullanılacak

• Host• Port• SID veya Servis Adı

Parametreleri tanımlanır.

Page 23: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Oracle Veritabanına Ağ üzerinde Erişim

Page 24: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Oracle Veritabanına Ağ üzerinde Erişim

Page 25: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Oracle Veritabanına Ağ üzerinde Erişim Güvenliği sağlamak için

• Default Oracle Listener portlarını kullanmamalıyız• Default Oracle SID ve Server Adlarını kullanmamalıyız• Tahmin edilebilecek ( Örneğin Kurum Adı ) SID ve Servis adları kullanmamalıyız

Oracle Default Portları 1521 ve 1526 arası portlardır.

Default Oracle SID list

http://www.red-database-security.com/scripts/sid.txt

• ORCL

• XE

• ASDB

• IASDB

• OEMREP

Page 26: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Oracle Veritabanı Network üzerinden Bilgi Toplama Port tahmin Etme

nmap -sV -O -p 1521 192.168.0.26

nmap -sV -O -p 1521 – 1527 192.168.0.26

Page 27: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Oracle Veritabanı Network üzerinden Bilgi Toplama SID tahmin Etme

nmap --script=oracle-sid-brute -p 1521 192.200.11.9

Page 28: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

MS SQL Server Veritabana Ağ üzerinden Erişim

Page 29: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

MS SQL Server Veritabana Ağ üzerinden Erişim

Aşağıdaki Default MS SQL Server Database Deafult Portları kapalı olmalıdır.

Page 30: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

MS SQL Server Veritabana Ağ üzerinden Erişim

Eğer bir tek default instance ile çalışıyorsanız SQL Server Browser kapalı olmalıdır.

Page 31: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

MS SQL Server Veritabanı Network Üzerinden Bilgi Toplama

nmap -p 1433 192.168.0.29

Page 32: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

MS SQL Server Veritabanı Network Üzerinden Bilgi Toplama

nmap -p 1433 --script ms-sql-info --script-args mssql.instance-port=1433 192.168.0.29

Page 33: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

MS SQL Server Veritabana Ağ üzerinden Bilgi Paylaşımını Engelleme

Page 34: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

MS SQL Server Veritabanı Network Üzerinden Bilgi Toplama

nmap -p 1433 --script ms-sql-info --script-args mssql.instance-port=1433 192.168.0.29

Page 35: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

MS SQL Server Veritabanı Network Üzerinden Bilgi Toplama

nmap -sV -O -p 1433 192.168.0.24

Page 36: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

VERİTABANI KULLANICILARI

Page 37: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

ORACLE - Kullanıcı Yönetimi – User Management

Oracle 11g sürümünde bulunan varsayılan kullanıcı adları aşağıdaki gibidir.

'ANONYMOUS','CTXSYS','DBSNMP','EXFSYS','LBACSYS','MDSYS','MGMT_VIEW','OLAPSYS',

'OWBSYS','ORDPLUGINS','ORDSYS','OUTLN','SI_INFORMTN_SCHEMA','SYS','SYSMAN',

'SYSTEM','TSMSYS','WK_TEST','WKSYS','WKPROXY','WMSYS','XDB',

'APEX_PUBLIC_USER','DIP','FLOWS_30000','FLOWS_FILES','MDDATA','ORACLE_OCM',

'SPATIAL_CSW_ADMIN_USR','SPATIAL_WFS_ADMIN_USR','XS$NULL','OWBSYS_AUDIT',

'ORDDATA','APEX_030200','APPQOSSYS','DVSYS','DVF'

Page 38: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Kullanıcı Yönetimi – User Management

Oracle 11g sürümünde Kullanıcı listesinin incelenmesi. Gereksiz kullanıcılar veritabanında

olmamalıdır.

Page 39: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Kullanıcı Yönetimi – User Management

Oracle 12c sürümünde Kullanıcı listesinin incelenmesi.

Page 40: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği

Kullanıcı Yönetimi – User Management

Kullanıcı Default Tablespace lerinin incelenmesi

Page 41: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

ORACLE Profillerin incelenmesi

Page 42: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

ORACLE Kaynak Kullanım değerlerinin incelenmesi

Page 43: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

ORACLE Kaynak Kullanım değerlerinin incelenmesi

Kaynak kullanım parametrelerinin adları ve açıklamaları aşağıda verilmiştir.

SESSIONS_PER_USER: Kullanıcını açabileceği maksimum oturum (session) sayısını belirler.

CPU_PER_SESSION: Saniyenin yüzde biri cinsinden kullanıcının kullanabileceği bir oturum başına CPU

süresi.

CPU_PER_CALL: Kullanıcının her bir işlem için harcayacağı süre - saniyenin yüzde biri cinsinden verilir.

CONNECT_TIME: Kullanıcının veritabanına bağlı kalacağı toplam süre, dakika olarak verilir.

IDLE_TIME: Kullanıcının hiçbir iş yapmadan veritabanına bağlı olarak kalacağı maksimum süre, dakika

olarak verilir.

LOGICAL_READS_PER_SESSION: Kullanıcının yapacağı toplam mantıksal okuma (logical reads ) sayısı

veritabanı bloğu cinsinden verilmelidir. Diskten ve bellekten okumalar dâhil.

PRIVATE_SGA: Eğer Shared Server mimarisinde veritabanı kullanılıyorsa, her bir oturumun SGA ’de

alabileceği maksimum shared pool alanını gösterir.

COMPOSITE_LIMIT Oracle service unit bazında hesapladığı kaynak toplamı. Bu hesap yapılırken;

CPU_PER_SESSION, CONNECT_TIME, LOGICAL_READS_PER_SESSION ve PRIVATE_SGA ’in ağırlıklı

ortalaması alınır.

Page 44: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

ORACLE Kaynak Kullanım değerlerinin incelenmesi

Page 45: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

ORACLE Şifre Güvenlik Politikaları

Oracle kullanıcı şifreleri için; Profile’lerdeki aşağıdaki tanımları yapabiliriz.

FAILED_LOGIN_ATTEMPTS: Bir kullanıcının başarısız şifre deneme sayısını gösterir. Şifre bu parametre

kadar denenir ve başarısız olunursa kullanıcı kilitlenir.

PASSWORD_LIFE_TIME: Bir şifrenin kullanım süresini verir. Bu süre sonunda şifre değiştirilmeye zorlanır.

PASSWORD_LOCK_TIME: Bir şifrenin yanlış girilmesi ile beraber kilitlendikten sonra kaç gün kilitli

kalacağını gösterir.

PASSWORD_GRACE_TIME: Bir şifrenin kullanım süresi dolduktan sonra kaç gün daha ek olarak kullanıma

açık kalacağını gösterir. Bu süre boyunca şifre değiştirilmelidir.

PASSWORD_VERIFY_FUNCTION Bir şifrenin ne kadar karışık olacağını gösteren PL/SQL kodunu gösterir.

PASSWORD_REUSE_TIME ve PASSWORD_REUSE_MAX: Beraber kullanılır. Şifre değiştirildiğinde kaç gün

sonra aynı şifreyi tekrar kullanabileceğimizi ve maksimum kaç değişik şifre kullandıktan sonra aynı şifreyi

tekrar kullanabileceğimizi gösterir.

Page 46: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

ORACLE Şifre Güvenlik Politikaları

Page 47: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

ORACLE Şifre Güvenlik Politikaları

PASSWORD_VERIFY_FUNCTION parametresi bir şifrenin karmaşıklığını

belirleyen uygulama kodudur. Bu kod genellikle SYS kullanıcısı altında

bulunur ve veritabanı yöneticileri tarafından yaratılır. Bu kod veritabanı

yöneticilerinden istenmeli ve kurumun şifre politikası ile uyumlu olup

olmadığı kontrol edilmelidir.

PASSWORD_VERIFY_FUNCTION fonksiyonu içinde bir şifrenin aşağıdaki

özelliklerine bakılır.

● Şifrenin minimum boyu kontrol edilir. Varsayılan değeri sekizdir.

● Şifre ile kullanıcı kodunun aynı olup olmadığı kontrol edilir.

● Şifre ile kullanıcı kodunun tersinin aynı olup olmadığına bakılır.

● Şifre ile sunucu adı benzer mi kontrolü yapılır.

● Şifrelerin çok basit kelime içerip içermediklerine bakılır.

● Şifrenin en az bir rakam ve bir karakter içerip içermediği kontrol

edilir.

● Şifrenin daha önceki şifrelerden 3 karakter farklı olup olmadığına

bakılır.

Page 48: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

ORACLE Şifre Güvenlik Politikaları

Page 49: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

ORACLE Varsayılan Uygulama Şifreleri

Page 50: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

MS SQL – Kullanıcı Login Modu

xp_loginconfig 'login mode'

Page 51: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

MS SQL – Sunucuya Bağlanan Kullanıcıların ( Logins )Listelenmesi

xp_loginconfig 'login mode'

Page 52: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

MS SQL – sa hesabı disable edilmelidir

Page 53: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

MS SQL – Kullanıcı Şifre Politikaları

Page 54: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

MS SQL – Kullanıcı Şifre Politikaları

Page 55: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

MS SQL – Kullanıcı Şifre Politikaları

Page 56: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

MS SQL – Password’ü boş olan kullanıcılar

Page 57: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

MS SQL – Kullanıcı adı ile şifresi birbirine eşit kullanıcılar

Page 58: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

MS SQL – Veritabanı Bağlanabilen Kullanıcılarının Listelenmesi

exec sp_msforeachdb 'USE [?] ;SELECT

DB_NAME() DBNAME,DP.NAME DB_USERNAME,DP.TYPE_DESC,SP.NAME SERVER_PRINCIPAL

FROMSYS.DATABASE_PRINCIPALS DP

LEFT JOIN SYS.SERVER_PRINCIPALS SP ON

DP.SID = SP.SIDWHERE

DP.TYPE = ''S'''

Page 59: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

MS SQL – Veritabanı Bağlanabilen Kullanıcılarının Listelenmesi

Page 60: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği Veritabanı Yetkileri

VERİTABANI YETKİLERİ

Page 61: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

ORACLE VERİTABANINDA YETKİLER

• DBA_ROLE_PRIVS

• DBA_TAB_PRIVS

• DBA_SYS_PRIVS

Page 62: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

Page 63: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

DBA_TAB_PRIVS

Page 64: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

Page 65: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

DBA ROLÜNE SAHİP KULLANICILAR

SELECT

DISTINCT A.GRANTEE,

A.GRANTED_ROLE,

'DBA' GRANTED_CRITIC_ROLE

FROM

(

SELECT

DISTINCT LEVEL LEVEL_DEEP,

GRANTEE,

GRANTED_ROLE

FROM

DBA_ROLE_PRIVS START WITH GRANTED_ROLE = 'DBA'

CONNECT BY PRIOR GRANTEE = GRANTED_ROLE

) A,

DBA_USERS B

WHERE

A.GRANTEE = B.USERNAME

AND B.USERNAME NOT IN(

'SYSTEM',

'SYS'

)

AND B.ACCOUNT_STATUS = 'OPEN'

Page 66: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

EXPORT/IMPORT Yetkisine Sahip Kullanıcılar

Page 67: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

VERİTABANI CATALOG YETKİLERİ

Page 68: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

VERİTABANI YÖNETİM YETKİLERİ

Page 69: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

VERİTABANI YÖNETİM YETKİLERİ

Page 70: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

VERİTABANINDAKİ KRİTİK YETKİLERİ

Page 71: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

VERİTABANINDAKİ KRİTİK SİSTEM YETKİLERİ DBA_SYS_PRIVS

• BECOME USER• ALTER USER• DROP USER• CREATE ROLE• ALTER ANY ROLE• DROP ANY ROLE• GRANT ANY ROLE• CREATE PROFILE• ALTER PROFILE• DROP PROFILE• CREATE ANY TABLE• ALTER ANY TABLE• DROP ANY TABLE• INSERT ANY TABLE• UPDATE ANY TABLE• DELETE ANY TABLE• SELECT ANY TABLE

• CREATE ANY PROCEDURE• ALTER ANY PROCEDURE• DROP ANY PROCEDURE• EXECUTE ANY PROCEDURE• CREATE ANY TRIGGER• ALTER ANY TRIGGER• DROP ANY TRIGGER• CREATE TABLESPACE• ALTER TABLESPACE• DROP TABLESPACES• ALTER DATABASE• ALTER SYSTEM• SELECT ANY DICTIONARY• EXEMPT ACCESS POLICY• CREATE ANY LIBRARY• GRANT ANY OBJECT PRIVILEGE• GRANT ANY PRIVILEGE• AUDIT ANY

Page 72: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

VERİTABANINDAKİ KRİTİK SİSTEM PAKETLERİ – PUBLIC’e yetkili olmamalıdır.

DBMS_ADVISOR: Veritabanı sunucusundaki dosyalara yetkisiz kişiler tarafından erişilmesini ve dosyaların bozulmasını neden olabilir.

DBMS_CRYPTO: Bu paket ile veritabanında bilgiler gizlenir ( kripto edilir ). Bu paket tüm kullanıcılara değil sadece gerekli uygulama kullanıcılarına

erişimine izin verilmelidir. Çünkü bu paket yetkisiz kişiler tarafından kullanıldığında veritabanında yapılan kriptolama işlemleri hakkında bilgiler elde

edilir.

DBMS_JAVA: Bu paket ile saldırgan veritabanı sunucusunda işletim sistemi komutları çalıştırabilir.

DBMS_JAVA_TEST: Bu paket ile saldırgan veritabanı sunucusunda işletim sistemi komutları çalıştırabilir.DBMS_JOB: Bu pakete erişen yetkisiz kişiler veritabanındaki iş kuyruklarına gereksiz olarak fazla iş yükleyerek sistemi aşırı yükleyip veritabanını ( Denial-of-Service) cevap veremez duruma getirebilirler.DBMS_LDAP: Veritabanında dışarıya veri aktarmak veya kullanıcıları yanıltmak için çeşitli hata mesajları üretmek amacıyla kullanılır.DBMS_LOB: Veritabanı sunucusu üzerinde yetkisiz kişiler tarafından CLOB, BFILE gibi dosyalara erişmek ve disk sistemlerinin dolmasına neden olarak veritabanını hizmet veremez ( Denial-of-Service) duruma getirmek amacıyla kullanılabilir.DBMS_OBFUSCATION_TOOLKIT: Amacı dışında kullanıldığında disk sistemi üzerinde bozukluklara neden olabilir.DBMS_RANDOM: Bu paket PUBLIC rolüne yetkilendirildiğinde; yetkisiz kişiler tarafından rastgele rakamlar üreten fonksiyon yaratmak için kullanılır. Bu fonksiyon kesinlikle kriptolama amaçlı kullanılmamalıdır.DBMS_SCHEDULER: Yetkisiz kişilerin veritabanı veya işletim sistemi job’larını çalıştırma imkânı sağlar.DBMS_SQL: Bu pakete giren parametre ( Dinamik SQL ) kontrol edilmediği taktirde; bir tür SQL injection olan yetki yükseltme ( privilege escalation) yapılabilir.DBMS_XMLGEN: Bu paket ile SQL-injection yapılıp tüm veritabanı üzerinde taramalar yapılabilir.DBMS_XMLQUERY: Veritabanındaki kritik bilgileri aramak için kullanılabilir ( Müşteri bilgileri, kredi kart numaraları gibi)

Page 73: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

VERİTABANINDAKİ KRİTİK SİSTEM PAKETLERİ

UTL_FILE: İşletim sisteminde bulunan dosyalara erişimi sağlar. Bu paket ile saldırgan hassas bilgilerin bulunduğu dosyaları okuyabilir.UTL_INADDR: Paketi ile SQL-injection saldırıları yapılabilir.UTL_TCP: Paketi veritabanının kurulduğu sunucudan TCP paketleri okunmasını veya yazılmasını sağlarUTL_MAIL: Paketi ile mail hizmeti veren bir sunucudan mail gönderimi yapılabilir.UTL_SMTP: Paketi ile mail hizmeti veren bir sunucudan mail gönderimi yapılabilir.UTL_DBWS: Web servislerinden gelen paketlere erişim sağlanabilir ve bu paketlerin içeriği bozulabilir.UTL_ORAMTS: Veritabanındaki hassas bilgilerin web servislerine gönderilmesi amacı ile kullanılabilir.UTL_HTTP: Veritabanındaki hassas bilgilerin web servislerine gönderilmesi amacı ile kullanılabilir.HTTPURITYPE: Veritabanındaki hassas bilgilerin web servislerine gönderilmesi amacı ile kullanılabilir.DBMS_SYS_SQL: Veritabanında başka bir kullanıcının kimliği ile kod çalıştırmak için kullanılabilir.DBMS_BACKUP_RESTORE: Veritabanı sunucusundaki dosyalara erişim amaçlı kullanılabilir.DBMS_AQADM_SYSCALLS: Yetkisiz kişilerin SYS kullanıcı gibi SQL komutları çalıştırmasını sağlar.DBMS_REPCAT_SQL_UTL: Yetkisiz kişilerin SYS kullanıcısı gibi SQL komutları çalıştırmasını sağlar.INITJVMAUX: Yetkisiz kişilerin SYS kullanıcısı gibi SQL komutları çalıştırmasını sağlar.DBMS_STREAMS_ADM_UTL: Yetkisiz kişilerin SYS kullanıcısı gibi SQL komutları çalıştırmasını sağlar.DBMS_AQADM_SYS: Yetkisiz kişilerin SYS kullanıcısı gibi SQL komutları çalıştırmasını sağlar.DBMS_STREAMS_RPC: Yetkisiz kişilerin SYS kullanıcısı gibi SQL komutları çalıştırmasını sağlar.DBMS_PRVTAQIM: Yetkisiz kişilerin SYS kullanıcısı gibi SQL komutları çalıştırmasını sağlar.LTADM: Yetkisiz kişilerin SYS kullanıcısı gibi SQL komutları çalıştırmasını sağlar.WWV_DBMS_SQL: Oracle Application Express modülün ’den dinamik SQL lerin çalıştırılması için kullanılabilir.WWV_EXECUTE_IMMEDIATE: Oracle Application Express modülün ‘den dinamik SQL lerin çalıştırılması için kullanılabilir.DBMS_IJOB: Saldırganın veritabanı job’larını başka kullanıcılar ile çalıştırıp, job’larını özelliklerini değiştirmek için kullanılabilir.DBMS_FILE_TRANSFER: Bir veritabanı sunucusundan başka bir veritabanı sunucusuna dosya aktarmak için kullanılır.

Page 74: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

KRİTİK TABLOLARA ERİŞİMİN İNCELENMESİ

Veritabanında aşağıdaki listede verilen kritik tablolara erişen kullanıcılar belirlenmelidir.

• AUD$ • USER_HISTORY$• LINK$ • USER$• SCHEDULER$_CREDENTIAL

Page 75: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

PUBLIC Rolüne Atanmış Yetkilerin İncelenmesi

Veritabanında aşağıdaki listede verilen kritik tablolara erişen kullanıcılar belirlenmelidir.

SELECT

GRANTEE,

GRANTED_ROLE

FROM

DBA_ROLE_PRIVS

WHERE

GRANTEE = 'PUBLIC';

SELECT

GRANTEE,

PRIVILEGE

FROM

DBA_SYS_PRIVS

WHERE

GRANTEE = 'PUBLIC'

SELECT

GRANTEE,

OWNER,

TABLE_NAME,

PRIVILEGE

FROM

DBA_TAB_PRIVS

WHERE

GRANTEE = 'PUBLIC'

Page 76: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

ADMIN OPTION ile atanmış Sistem / Rol Yetkilerinin İncelenmesi

Page 77: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri - ORACLE

WTH GRANT OPTION ile Atanmış Nesne Yetkilerinin İncelenmesi

Page 78: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

SUNUCU Bazlı Roller

Page 79: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

Page 80: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

SUNUCU Bazlı Roller

Page 81: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

SUNUCU Bazlı Roller

SELECTROLE.NAME AS ROLE,LOGIN.NAME AS LOGIN

FROMSYS.SERVER_ROLE_MEMBERS SRM,SYS.SERVER_PRINCIPALS ROLE,SYS.SERVER_PRINCIPALS LOGIN

WHERESRM.ROLE_PRINCIPAL_ID = ROLE.PRINCIPAL_IDAND SRM.MEMBER_PRINCIPAL_ID = LOGIN.PRINCIPAL_ID;

select suser_name(role_principal_id),suser_name(member_principal_id) from sys.server_role_members;

Page 82: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

SUNUCU Yetkilerinin Kontrolü

Page 83: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

SUNUCU Yetkilerinin Kontrolü

SELECTS.NAME,P.CLASS_DESC,P.PERMISSION_NAME,P.STATE_DESC

FROMSYS.SERVER_PERMISSIONS P

JOIN SYS.SERVER_PRINCIPALS S ONP.GRANTEE_PRINCIPAL_ID = S.PRINCIPAL_ID

ORDER BYS.NAME;

Sunucu bazında Public’e atanan yetkilerin ( Server Permissions ) sorgulanması.

SELECTSP.STATE_DESC,SP.PERMISSION_NAME,SP.CLASS_DESC,SP.MAJOR_ID,SP.MINOR_ID,E.NAME

FROMSYS.SERVER_PERMISSIONS AS SP

JOIN SYS.SERVER_PRINCIPALS AS L ONSP.GRANTEE_PRINCIPAL_ID = L.PRINCIPAL_ID

LEFT JOIN SYS.ENDPOINTS AS E ONSP.MAJOR_ID = E.ENDPOINT_ID

WHEREL.NAME = 'public';

Page 84: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

VERİTABANI Bazlı Yetkilerinin Kontrolü

exec sp_msforeachdb 'USE [?] ;SELECT

DB_NAME() DBNAME,USER_NAME(GRANTEE_PRINCIPAL_ID)

GRANTEE,PERMISSION_NAME,STATE_DESC,OBJECT_SCHEMA_NAME(MAJOR_ID)

SCHEMA_NAME,OBJECT_NAME(MAJOR_ID) OBJECT_NAME

FROMSYS.DATABASE_PERMISSIONS

WHEREOBJECT_SCHEMA_NAME(MAJOR_ID)<>

''sys''AND DB_NAME() NOT IN

(''MSDB'',''MASTER'')

Page 85: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

VERİTABANI Yetkileri

• ALTER

• CONTROL

• DELETE

• EXECUTE

• IMPERSONATE

• INSERT

• RECEIVE

• REFERENCES

• SELECT

• TAKE OWNERSHIP

• UPDATE

• VIEW CHANGE TRACKING

• VIEW DEFINITION

Page 86: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

Public ve Guest Kullanıcılarına Atanmış Yetkiler

Public ve Guest kullanıcılarının veritabanı yetkileri olmamalıdır.

exec sp_msforeachdb 'USE [?] ;SELECT

DB_NAME() DBNAME,USER_NAME(GRANTEE_PRINCIPAL_ID) GRANTEE,PERMISSION_NAME,STATE_DESC,OBJECT_SCHEMA_NAME(MAJOR_ID) SCHEMA_NAME,OBJECT_NAME(MAJOR_ID) OBJECT_NAME

FROMSYS.DATABASE_PERMISSIONS

WHEREUSER_NAME(GRANTEE_PRINCIPAL_ID) IN(

''guest'',''public''

)AND OBJECT_SCHEMA_NAME(MAJOR_ID)<> ''sys''AND DB_NAME() NOT IN (''MSDB'',''MASTER'')

Page 87: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

Page 88: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

Veritabanlarındaki Roller

Genel olarak veritabanında atanmış roller aşağıdaki SQL ile listelenir

exec sp_msforeachdb 'USE [?] ;SELECTDB_NAME() DB_NAME,USER_NAME(MEMBER_PRINCIPAL_ID) MEMBER,USER_NAME(ROLE_PRINCIPAL_ID) ROLEFROMSYS.DATABASE_ROLE_MEMBERS;'

Page 89: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

Page 90: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

Page 91: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

Page 92: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

Guest Kullanıcısı ve Public Role

Page 93: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

Veritabanı Rolleri

db_owner ve db_securityadmin rollerine sahip kullanıcılar özellikle incelenir. Bu roller gerekmiyorsa kullanıcılardan alınır.

exec sp_msforeachdb 'USE [?] ;SELECT

DB_NAME() DB_NAME,USER_NAME(MEMBER_PRINCIPAL_ID) MEMBER,USER_NAME(ROLE_PRINCIPAL_ID) ROLE

FROMSYS.DATABASE_ROLE_MEMBERS

WHEREUSER_NAME(ROLE_PRINCIPAL_ID) IN (

''db_owner'',''db_securityadmin'')AND USER_NAME(MEMBER_PRINCIPAL_ID) <> ''dbo''

Page 94: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

Page 95: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

Page 96: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

General Extended Procedure’lere Erişim Kontrolü

Extended Procedurlerin public’e yetkileri varsa alınmalıdır. Yetkiler sadece gerekli kullanıcılara verilmelidir. GRANT ve REVOKE

işlemleri sırasında master DB kullanılmalıdır.

SELECTOBJECT_NAME(MAJOR_ID) AS PROCEDURENAME,PERMISSION_NAME,USER_NAME(GRANTEE_PRINCIPAL_ID) AS PRINCIPAL

FROMSYS.DATABASE_PERMISSIONS

WHEREPERMISSION_NAME = 'EXECUTE'AND USER_NAME(GRANTEE_PRINCIPAL_ID)= 'public'AND OBJECT_NAME(MAJOR_ID) IN(

'xp_availablemedia','xp_dirtree','xp_enumgroups','xp_fixeddrives','xp_servicecontrol','xp_subdirs','xp_regaddmultistring','xp_regdeletekey','xp_regdeletevalue','xp_regenumvalues','xp_regremovemultistring','xp_regwrite','xp_regread','xp_cmdshell'

);

Page 97: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Yetkileri – MS SQL Server

MS SQL Server Opsiyonları(Aşağıdaki Sql Server opsiyonlarının hepsi DISABLE olmalıdır. )

select name,value_in_use from master.sys.configurations WHERE namein('Remote access' , -- 0'Ad hoc distributed queries', --0'clr enabled' , --0'Database Mail XPs' , --0'SQL Mail XPs' , --0'scan for startup procs' , --0'remote admin connections' , --0'Ole Automation Procedures' , --0'Cross db ownership chaining', --0'xp_cmdshell' --0);

Page 98: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Parametreleri– Oracle

ORACLE Veritabanı Parametreleri

O7_DICTIONARY_ACCESSIBILITY

O7_dictionary_accessibility parametresi Oracle kullanıcılarının SYS şemasındaki objelere ( dictionary, veritabanı kataloğu )SELECT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE, INSERT ANY TABLE, EXECUTE ANY PROCEDURE yetkileri olmasına karşın erişmesini engellemek için kullanılır. Bu parametrenin değeri FALSE olmalıdır. Örneğin bu parametrenin değeri FALSE ise; SELECT ANY TABLE yetkine sahip bir kullanıcı SYS şemasındaki objelere erişemez.

OS ROLES Os_roles parametresi ile veritabanındaki rollerin, işletim sistemi ile mi yoksa Oracle veritabanı ile mi yönetileceği belirlenir. OS_ROLES değeri TRUE ise veritabanındaki tüm roller işletim sistemi ile yönetilir. Eğer bu değer FALSE ise veritabanındaki roller Oracle tarafından yönetilir. OS_ROLES parametresinin değeri FALSE olmalıdır.

Page 99: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Parametreleri– Oracle

ORACLE Veritabanı Parametreleri

REMOTE_OS_AUTHENT

Remote_os_authent parametresi veritabanına dışarıdan yapılan bağlantılarda kimlik denetiminin OS_AUTHENT_PREFIX parametresine bakılarak yapılıp yapılmayacağını gösterir.REMOTE_OS_AUTHENT parametresinin değeri FALSE olmalıdır.

REMOTE_OS_ROLES

Remote_os_roles parametresi ile işletim sistemi rollerinin uzak istemciler ( remote clients ) için kullanıp kullanılmayacağını belirlenir. Bu değer FALSE ise uzak istemciler için roller Oracle tarafından yönetilir.REMOTE_OS_ROLES parametresinin değeri FALSE olmalıdır.

Page 100: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Parametreleri– Oracle

ORACLE Veritabanı Parametreleri

UTIL_FILE_DIR

Utl_file_dir parametresi ile PL/SQL prosedürleri içinde I/O işlemleri için kullanılacak dizin adları belirlenir. Güvenlik açısında bu parametrenin kullanımı yerine veritabanında DIRECTORY tanımları yapılmalıdır.UTL_FILE_DIR parametresinin değeri boş olmalıdır.

SEC_CASE_SENSITIVE_LOGON

Oracle veritabanı şifrelerinde büyük ve küçük harf ayrımının yapılmasını sağlayan parametredir.SEC_CASE_SENSITIVE_LOGON parametresinin değeri TRUE olmalıdır. Bunun anlamı şifrelerde büyük ve küçük harflerin kullanılabileceğini gösterir.

Page 101: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Parametreleri– Oracle

ORACLE Veritabanı Parametreleri

SEC_MAX_FAILED_LOGIN_ATTEMPTS

Oracle veritabanında bir istemcinin, veritabanına kimlik denetimi yaparken en fazla kaç tane deneme yapacağını belirler. Bu parametreden fazla sayıda deneme yapılırsa sunucu tarafından, istemcinin bağlantısı kesilir.SEC_MAX_FAILED_LOGIN_ATTEMPTS parametresinin değeri 10 olmalıdır.

SEC_PROTOCOL_ERROR_FURTHER_ACTION

Bir istemciden veritabanına hatalı paketler gönderildiğinde veritabanının bu paketlere nasıl cevap vereceği bu parametre ile belirlenir. Veritabanına yapılacak olan DDOS ataklarını önlemek için kullanılacak bir parametredir.SEC_PROTOCOL_ERROR_FURTHER_ACTION parametresinin değeri '(DROP,3)' olmalıdır.

Page 102: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Parametreleri– Oracle

ORACLE Veritabanı Parametreleri

SEC_PROTOCOL_ERROR_TRACE_ACTION

Bir istemciden kötü amaçlı network paketleri veritabanı gönderildiğinde, veritabanının hangi seviyede log üreteceğini belirleyen parametredir. Veritabanına DDOS atakları yapıldığında minimal seviyede log üretmek için kullanılır.SEC_PROTOCOL_ERROR_TRACE_ACTION parametresinin değeri 'LOG' olmalıdır.

SEC_RETURN_SERVER_RELEASE_BANNER

Veritabanı sürümü hakkında istemcilere detaylı bilgi gönderip gönderilmemesi bu parametre ile belirlenir. Saldırganların veritabanı sürümü hakkında bilgi edinmeleri kullanacakları açıkları daha çabuk seçmelerini sağlar.SEC_RETURN_SERVER_RELEASE_BANNER parametresinin değeri FALSE olmalıdır.

Page 103: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Parametreleri– Oracle

ORACLE Veritabanı Parametreleri

SQL92_SECURITY

Bir kullanıcının bir tablo üzerinde DELETE ve UPDATE komutlarını çalıştırabilmesi için o tabloya SELECT yetkisinin olma zorunluluğunu belirleyen parametredir.SQL92_SECURITY parametresinin değeri TRUE olmalıdır.

RESOURCE_LIMIT

Resource_limit parametresi veritabanı profillerinde kaynak kısıtlamalarının geçerli olup olmamasını belirler.RESOURCE_LIMIT parametresinin değeri TRUE olmalıdır.Oracle 11g ve Oracle 12c sürümünde RESOURCE_LIMIT parametresi aşağıdaki SQL ile kontrol edilir.

Page 104: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği - Audits

AUDITS

Denetleme en genel tanımıyla veri tabanında yapılan işlemlerin belirlenmiş kurallara göre izlenmesi ve kayıt edilmesidir.

Burada önemli noktalardan bir tanesi, hangi kurallara göre izleme ve kayıt yapacağımızın belirlenmesidir. Veritabanında kısa bir süre içinde milyonlarca işlem olabilir; Önemli olan kanıt altına alınmaya değer işlerin belirlenmesidir. Kayıt altına alınması gereken işlemlerin belirlenmesi bizim Denetleme Politikamızı ( Auditing Policy ) bağlıdır.

Denetimde esas

• Denetim kayıtlarının değiştirilemeyeceği ve silinemeyeceği• Denetim kurallarının değiştirilemeyeceği veya devre dışı bırakılamayacağı

Garanti altında olmalıdır.

Page 105: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği - Audits

AUDITS

Veritabanı denetlemesi sayesinde;

• Veritabanında bulunan bilgilerin tutarlı olduğu, yetkisiz kişilerce değiştirilmediği kanıtlanır.• Veritabanında yapılan şüpheli hareketler sorgulanabilir ve kimin tarafında yapıldığı bulunur.• Veritabanında yetkisiz işlem yapmak isteyen kullanıcılar için caydırıcıdır.• Veritabanında yetkisiz kişilerin yaptığı işlemler belirlenir.• Güvenlik yönetmeliklerine uyum sağlanır.• Veritabanı performansı ile ilgili bilgiler toplanır.

Page 106: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Audits

Oracle Standart Auditing

Page 107: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Audits

Page 108: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Audits

Page 109: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Audits

Page 110: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Audits

Page 111: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Audits

Page 112: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Audits

Page 113: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Unified Audit

ORACLE Unified Auditing

Birleşik denetleme multitenant veritabanlarında hem takılabilir veritabanı ( PDB ) hem de Konteyner veritabanı (CDB) etki alanında yönetilebilir.

Birleşik denetleme ile beraber veritabanında yapılan standart işlemlere ( Database kapama açma, veritabanı parametrelerini değiştirme, DML, DDL, logon, logoff ve benzeri ) ek olarak aşağıdaki veritabanı özellikleri de denetlenir ve tek bir görüntü( UNIFIED_AUDIT_TRAIL) ile sorgulanır.

Oracle Database Real Application Security, Oracle Recovery Manager,Oracle Data Pump,Oracle Data Mining, Oracle Database Vault,Oracle Label SecurityOracle SQL*Loader direct path yüklemeleri

Page 114: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Unified Audit

ORACLE Unified Auditing

Veritabanı ilk yaratıldığında birleşik denetleme izleri SYSAUX tablespace içinde SYSAUD kullanıcısında saklanır. Veritabanı denetim izlerine; UNIFIED_AUDIT_TRAIL görüntüsü ile erişilir. Birleşik denetleme ye geçiş ile beraber denetim izlerinin SYSAUX dışında ayrı bir tablespace’e taşınması önerilmektedir. Birleşik denetleme denetim izlerini tutan tablolar Read-only kiptedir.

Denetleme işlemeleri SYS kullanıcısına ek olarak AUDIT_ADMIN rolüne sahip kullanıcılar tarafından yönetilir. Denetim izlerine ise AUDIT_VIEWER rolüne sahip kullanıcılar erişebilir.Veritabanı write kipinde iken denetim izleri veritabanındaki birleşik denetim izine yazılır. Veritabanı write kipinden çıktığında oluşan denetim izleri ise $ORACLE_BASE/audit/$ORACLE_SID dizinindeki dosyalara yazılır. Veritabanı tekrar write kipine getirildiğinde bu dosyalar istenirse veritabanına yüklenir.

SYSDBA rolüne sahip SYS kullanıcısının işlemleri veritabanındaki birleşik denetim izine yazılır ve SYS kullanıcısı da diğer kullanıcılar gibi denetlemeye tabi tutulur.

Birleşik denetlemede denetim izleri Queued Write kipinde SGA’ de tutulur ve toplu olarak veritabanı tablolarınız yazılır. SGA’ de bulunan tüm kayıtlar istenildiği an veritabanına Flush edilebilir. Birleşik denetleme izleri istenirse Immediate-Write kipine getirilip yapılan tüm değişiklikler veritabanına anında yazılır. Queued Write kipinde veritabanı performansı denetlemeden çok az etkilenir.

Page 115: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Unified Audit

ORACLE Unified Auditing

SQL> SELECT VALUE FROM V$OPTION WHERE PARAMETER = 'Unified Auditing';

VALUE----------------------------------------------------------------FALSE

Copyright (c) 1991, 2014, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.200.11.14)(PORT=1521)))The command completed successfully

[oracle@ol7 ~]$ cd $ORACLE_HOME/rdbms/lib

[oracle@ol7 lib]$ make -f ins_rdbms.mk uniaud_on ioracle

Page 116: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Unified Audit

ORACLE Unified Auditing

SQL> CREATE AUDIT POLICY AUDIT_SQLPLUS2 ACTIONS ALL 3 WHEN 'INSTR(UPPER(SYS_CONTEXT(''USERENV'', ''CLIENT_PROGRAM_NAME'')), ''SQLPLUS'') > 0'4 EVALUATE PER SESSION;

Audit policy created.

AUDIT POLICY Komutu

Denetleme politikası yaratıldıktan sonra AUDIT komutu kullanarak denetim politikasını aktif hale getirmemiz gerekir. Ek olarak denetim politikasının hangi kullanıcılar için aktif olacağı ve denetlenecek komutun hangi durumda ( başarılı, başarısız veya hem başarılı hem başarısız olduğunda ) denetleneceği AUDIT komutu ile tanımlanır. Birleşik denetleme kipi haricinde AUDIT komutu ise denetleme politikaları tanımlamak için kullanılmaktadır. Veritabanı birleşik denetlemeye geçtiği andan itibaren AUDIT komutunun kullanımı değişmektedir

Page 117: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – MS SQL Server Audit

MS SQL Server Audits

Server Level Audits

Database Level Audits

Page 118: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – MS SQL Server Audit

Page 119: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – MS SQL Server Audit

Sunucu Seviyesinde Audit Tanımlama

Page 120: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – MS SQL Server Audit

Sunucu Seviyesinde Audit Tanımlama

Page 121: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – MS SQL Server Audit

Server Seviyesinde Audit Tanımlama

Page 122: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – MS SQL Server Audit

Veritabanı Seviyesinde Audit Tanımlama

Page 123: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – MS SQL Server Audit

Veritabanı Seviyesinde Audit Tanımlama

EXEC sp_msforeachdb 'USE [?] SELECTDB_NAME(),*FROMSYS.DATABASE_AUDIT_SPECIFICATIONS;SELECTDB_NAME(),*FROMSYS.DATABASE_AUDIT_SPECIFICATION_DETAILS'

Page 124: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – MS SQL Server Audit

Veritabanı Seviyesinde Audit Tanımlama

Page 125: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Network Encryption

Network Encryption

Page 126: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Network Encryption

Oracle Network Encryption

Page 127: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Network Encryption

Oracle Network Encryption

Page 128: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Network Encryption

Oracle Network Encryption

Page 129: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Network Encryption

Oracle Network Encryption

Page 130: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Network Encryption

Oracle Network Encryption

Page 131: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Network Encryption

Oracle Network Encryption

Page 132: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – MS SQL Server Network Encryption

Page 133: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – MS SQL Server Network Encryption

Page 134: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – MS SQL Server Network Encryption

Page 135: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Data Encryption

Data Encryption- ORACLE Advanced Security

Transparent Data Encryption ( TDE )

Page 136: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Data Encryption

Transparent Data Encryption ( TDE )

Page 137: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Data Encryption

Transparent Data Encryption ( TDE )

Page 138: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Data Encryption

Transparent Data Encryption ( TDE )

Page 139: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Data Encryption

Transparent Data Encryption ( TDE )

Page 140: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Data Encryption

Transparent Data Encryption ( TDE )

Page 141: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Data Encryption

Transparent Data Encryption ( TDE )

Page 142: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Data Encryption

Transparent Data Encryption ( TDE )

Page 143: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Data Encryption

Transparent Data Encryption ( TDE )

Page 144: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Data Encryption

Transparent Data Encryption ( TDE )

Page 145: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Data Encryption

MS SQL Server Transparent Data Encryption ( TDE )

SQL Server’da bir Veritabanının *.mdf datafile’ları başka bir SQL Server’a taşınarak veritabanı erişim sağlanabilir. Burada yapılması gereken nokta; Veritabanı dosyalarına erişimi engellemek veya veritabanı içindeki bilgileri şifreliyerekveritabanı taşınsa bile verilerin decrypt edilmesini engellemektir.

SQL server içinde encryption key master database’de tutulur.

Çalışma adımları:

1. Master database içindeMaster Encyption key yaratCertificate yarat

2. Encrypt edilecek database içindeMaster da bulunan certifikayı kullanarak encryption key yaratDatabase’i encrypt et.

Page 146: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Data Encryption

MS SQL Server Transparent Data Encryption ( TDE )

Page 147: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Data Encryption

MS SQL Server Transparent Data Encryption ( TDE )

Page 148: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Security Assessment Tools

DBSAT ver 2.0http://www.oracle.com/technetwork/database/security/dbsat/overview/index.html

Page 149: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – Oracle Security Assessment Tools

https://github.com/yusufanilakduygu/Oracle-DB-Security-Checks

Page 150: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – MS SQL Server Security Assessment Tools

MS SQL Server Vulnerability Assessment (VA) Toolhttps://yusufanilakduygu.wordpress.com/2018/05/05/ms-sql-server-vulnerability-assessment-va-tool/

Direk SQL Server Management Studio içinden çalışır.

MS SQL Server 2012 and later

SQL Server Management Studio (SSMS)version 17. 4

Page 151: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – MS SQL Server Security Assessment Tools

Page 152: Veritabanı Güvenliği - WordPress.com · Veritabanı Güvenliği ORACLE - Kullanıcı Yönetimi –User Management Oracle 11g sürümünde bulunan varsayılan kullanıcı adları

Veritabanı Güvenliği – MS SQL Server Security Assessment Tools