Transparent Data Encryption

Posted by | Nisan 15, 2013 | Database, Security | No Comments

Transparent Data Encryption (TDE) Oracle 10gR2 ile gelen bir opsiyondur. Kısaca verilerin kolon, tablo veya tablespace bazında şifrelenerek yetkisiz kulllanıcılar ve/veya kötü niyetli girişimcilere kullanılabilir şekliyle ulaşmasını engelleyerek veri güvenliğinin sağlanması amaçlanmaktadır.

Bu yapının kullanılabilmesi için öncelikle bir soft wallet oluşturulmalıdır.

Yazının bundan sonraki kısmında sırasıyla wallet oluşturma, kolon, tablo ve tablespace seviyelerinde şifrelemenin nasıl yapılacağı ekran görüntüleri ile anlatılmaktadır.

Bu noktada öncelikle Oracle’ın wallet ile ilgili uyarı ve önerilerini paylaşmanın yerinde olacağını düşünüyorum.

İlk nokta oluşturulacak soft wallet’ın nerede saklanacağı konusudur. ORACLE_BASE veya ORACLE_HOME kesinlikle seçilmemelidir. Özel bir klasör altında saklanması ve silinmeye karşı korunması önerilir.

İkinci önemli nokta ise soft wallet oluşturulurken kullanılacak parolanın olabildiğince kompleks şekilde oluşturulmasıdır.

Sıkça yapılan bir hata olarak da karşımıza çıkan bir diğer nokta ise soft wallet yedeklerinin veritabanı yedekleri ile aynı lokasyonda tutulmamasıdır.  Bu durum anahtarı kapı üzerinde unutmaktan farksız olacaktır.

Bu uyarılardan sonra soft wallet’ın oluşturulması işlemine geçebiliriz. Wallet’I dilerseniz EM üzerinden dilerseniz de scriptler yardımıyla oluşturabilirsiniz.

Burada EM üzerinden yapılandırmayı  sizlerle paylaşacağım.

Öncelikle uyarılarda bahsettiğimiz şekilde wallet için bir klasör oluşturalım.

Örneğin ;

C:OracleWallet_test

Sqlnet.ora klasörüne aşağıdaki şekilde lokasyon bilgisi girişini yapalım.

tde002

Daha sonra Enterprise Manager üzerinden soft walletımızı oluşturalım.

User SYS ile EM’e bağlanalım.

tde003

“Server” tabından Transparent Data Encryption linkine tıklıyoruz.

tde004

tde006

 

 

Create Wallet ölümünde Encryption Wallet seçili iken “Create” butonuna basılır. Gelen ekranda gerekli bilgiler girilir. Burada bir kez daha verilecek parolanın olabildiğince kompleks olmasının önerildiği hususunu bir kez daha hatırlatmak isterim.

tde009

Wallet başarı ile oluşturulmuştur.  Daha önce tanımladığınız yerde ewallet.p12 dosyasını görebilirsiniz. Bu dosya PCKS#5 standartına göre oluşturulmuş bir sertifika dosyasıdır. PCKS#5 standartı Password Based çalışan bir standarttır.

tde011

Neden TDE ?

• Regülasyonlara bağlı bir yapı kurma gerekliliğiniz varsa TDE bir çözümdür.

• Son kullanıcı şifreleme/çözme işleminden habersizdir.

• Uygulama seviyesinde şifrelenmiş verinin değiştirilmesi noktasında herhangi bir ekstra işleme gerek yoktur. Şifreleme/Çözme işlemi veritabanı tarafından otomatik olarak yapılmaktadır.

• Datafile’larınız yetkisiz ve/veya kötü niyetli kişilerin eline geçse dahi verileriniz şifreli olduğu için ele geçirenler için değer taşımayacaktır.

• Şifrelenmiş verinin açık haline ulaşması gereken kullanıcılar için view, trigger vs yazılması gerekmez. Uygulama üzerinden sorunsuzca veriler izlenebilir.

1- Tablespace seviyesinde şifreleme

tde012


tde013

tde014

Şimdi wallet’ı kapatalım. Wallet kapalıyken şifrelenmiş verilere erişemezsiniz.

tde015

Tekrar tabloyu sorguladığımızda

tde016

Aşağıdaki hata mesajını alır ve verilere ulaşamayız.

tde017

Verilere tekrar erişebilmek için wallet’ı açmak gerekir.

tde018

tde019

2- Kolon seviyesinde şifreleme :

tde020

Not: Şifrelenmiş bir kolon üzerine index koymak isterseniz kolonu NO SALT opsiyonu ile şifrelemeniz gerekmektedir

Şimdi wallet’ı kapatalım. Wallet kapalıyken şifrelenmiş verilere erişemezsiniz.

tde015

Tekrar tabloyu sorguladığımızda

tde016

Aşağıdaki hata mesajını alır ve verilere ulaşamayız.

tde017

Verilere tekrar erişebilmek için wallet’ı açmak gerekir.

tde018

Tekrar sorgulama yaparsak verilere ulaşabildiğimizi görürüz.

tde016

tde019

Leave a comment

Your email address will not be published. Required fields are marked.