İPUCU

Web & Server Güvenliği Doğru web ve veritabanı sunucusu güvenliği sağlanmadan, bilgisayar korsanları hassas verilerinize erişebilir. Web, Sunucu ve veritabanı güvenliğini nasıl sağlayacağınızı buradan öğrenebilirsiniz.

Seçenekler

Veritabanı Sistemlerinde Ağ Trafiğinin Şifrelenmesi

28-01-2014 13:26
#1
Moyré - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
02/2013
Nereden:
scrabble.psd
Yaş:
30
Mesajlar:
3.269
Teşekkür (Etti):
1273
Teşekkür (Aldı):
1543
Konular:
932
Ticaret:
(0) %
Çoğu veritabanı sisteminde sunucu ile istemci arasındaki ağ trafiği, varsayılan kurulan veritabanları için şifrelenmeden gerçekleşir. Araya girme saldırıları ile bu trafik dinlenilebilir ve veritabanında bulunan bilgiler yetkisiz kişilerce elde edilebilir. Bu durum verinin bütünlüğünü ortadan kaldırır.
Bu yazımızda Oracle ve MSSQL Server veritabanlarında varsayılan kurulumlarda istemci ve sunucu arasındaki trafiğin açık bir halde iletildiğini göstereceğiz. Ayrıca bu trafiğin şifreli şekilde iletilmesi için gerekli adımlardan bahsedeceğiz. Bu yazıda örnek olarak Oracle 11g ve MSSQL Server 2008R2 veritabanları kullanılmıştır.
Oracle veritabanlarında istemci ve sunucu arasındaki trafik varsayılan olarak şifresiz gerçekleşir. Belirtilen duruma örnek bir senaryo şu şekildedir. İlk olarak istemci tarafındaki veritabanı uygulamasından Oracle veritabanında bir sorgu çalıştırılmıştır. Çalıştırılan sorgu Şekil 1’de görülmektedir. İstemci ile veritabanı sunucusu arasındaki trafik pfSense güvenlik duvarının paket yakalama özelliği kullanılarak yakalanmıştır. Elde edilen trafiğin bulunduğu paket Wireshark aracı ile açıldığında, istemci tarafından veritabanı sunucusuna TNS protokolü ile gönderilen sorgunun açık bir şekilde iletildiği Şekil 2’de görülmektedir. Aynı zamanda veritabanı sunucusu tarafından sorguya verilen cevabın da aynı şekilde açık halde istemciye gönderildiği Şekil 3'te görülmektedir.
Şekil 1. İstemci tarafından veritabanında çalıştırılan sorgu
Şekil 2. İstemci tarafından gönderilen sorgunun açık olarak iletilmesi
Şekil 3. Sunucu tarafından sorguya verilen cevabın açık olarak iletilmesi
Oracle veritabanında istemci ve sunucu arasındaki trafiğin şifreli olarak iletilmesini sağlayan yapılandırma ayarları için 4 farklı değer bulunmaktadır: Accepted, Rejected, Requested, Required .
Oracle veritabanlarındaki yapılandırma ayarlarında varsayılan değer “Accepted” değeridir. “Accepted” değeri seçildiği durumda, ağ trafiğinin şifrelenmesi için bağlantının diğer tarafı için “Requested” ya da “Required” değeri seçilmelidir.
“Required” değeri seçildiğinde, bağlantının diğer tarafında “Rejected” değeri seçilmediği durumda ağ trafiği şifrelenerek gönderilir. Bağlantının diğer tarafında “Rejected” değeri seçilirse, bağlantı sona erdirilir.
“Rejected” değeri seçildiğinde, bağlantının diğer tarafında “Required” değeri seçilmediğinde ağ trafiği şifrelenmeden gönderilir. Ancak “Required” değeri seçildiği durumda bağlantı hata verilerek sona erdirilir.
“Requested” değeri seçildiği durumda, bağlantının diğer tarafında “Accepted”, “Requested”, “Required” değerlerinden biri seçilirse ağ trafiği şifrelenerek gönderilir.
Şifreleme mekanizmasının çalışması ile ilgili yapılandırma ayarlarını gösteren tablo referansta[1] belirtilmiştir.
Oracle veritabanında istemci ve sunucu arasındaki trafiğin şifrelenmesini sağlayan güvenlik mekanizması “Oracle Net Manager” ya da “sqlnet.ora” yapılandırma dosyasını kullanarak etkinleştirilebilir. Şekil 4'te “Oracle Net Manager” aracı ile şifreleme mekanizmasının yapılandırılması gösterilmiştir. Ayrıca şifreleme mekanizması “Oracle Net Manager” aracı kullanılmadan “sqlnet.ora” yapılandırma dosyası ile de yapılandırılabilir.
Şekil 4. Oracle Net Manager ile şifreleme mekanizmasının aktifleştirilmesi
Şekil 5. “sqlnet.ora” yapılandırma dosyasındaki şifreleme ayarları
Oracle veritabanında şifreleme mekanizmasının aktifleştirilmesi sonucunda istemci ve sunucu arasındaki trafiğin şifreli olarak iletildiği Şekil 6 ve Şekil 7’de görülmektedir.
Şekil 6. İstemci tarafından gönderilen sorgunun şifreli olarak iletilmesi
Şekil 7. Sunucu tarafından gönderilen cevabın şifreli olarak iletilmesi
MSSQL Server veritabanları da Oracle veritabanları gibi istemci ve sunucu arasındaki trafiği varsayılan olarak açık halde göndermektedir. İstemci tarafında veritabanı üzerinde bir sorgu çalıştırılmış ve oluşan trafik pfSense güvenlik duvarı ile araya girilerek elde edilmiştir. İstemci tarafından oluşturulan trafik Şekil 8’de, sunucu tarafından istemcinin gönderdiği isteğin sonucunu içeren trafik Şekil 9’da verilmiştir. Şekillerden görüldüğü üzere her iki tarafın oluşturduğu trafik açık olarak karşı tarafa iletilmektedir.
Şekil 8. İstemci tarafından oluşturulan trafik
Şekil 9. Sunucu tarafından isteğin sonucunu içeren trafik
MSSQL Server veritabanları üzerinde istemci ve sunucu arasındaki trafiğin şifreli olarak iletilmesini sağlamak için “Force Encryption” değeri aktif hale getirilmelidir. İlgili değer “Sql Server Configuration Manager -> Sql Server Network Configuration -> Protocols for %Instance_Name% -> Properties -> Force Encryption” yolu izlenerek yapılandırılabilir. Şifrelemeyi etkinleştirmek için bu değer “Yes” olarak değiştirilmelidir. Bu işlemin ardından SQL Server servisi yeniden başlatılmalıdır.
MSSQL Server veritabanları şifreleme işlemini öncelikli olarak güvenilir bir sertifikasyon makamı tarafından verilen bir sertifika ile gerçekleştirir. Ancak sistemde böyle bir sertifika bulunmadığı durumlarda kendisinin oluşturduğu bir sertifika (self-signed) ile şifreleme işlemini gerçekleştirir.
Şekil 10 ve Şekil 11’de MSSQL Server veritabanında şifreleme yöntemi aktif hale getirildikten sonra istemci ve sunucu arasındaki trafik gösterilmektedir. Şekillerden görüleceği gibi her iki yönlü trafik de şifreli olarak iletilmektedir.
Şekil 10. Şifreleme yöntemi etkinleştirildikten sonra istemci tarafından oluşturulan trafik
Şekil 11. Şifreleme yöntemi etkinleştirildikten sonra sunucu tarafından oluşturulan trafik
Veritabanı sistemlerinde istemci ve sunucu arasındaki trafiğin şifreli olarak iletilmesi, iletilen verinin bütünlüğünün korunması açısından önemlidir. Ancak trafiğin şifreli olarak iletilmesi sonucunda belirli ölçüde bir performans kaybı yaşanacağı göz önünde bulundurulmalıdır. Ayrıca istemci uygulamaları veritabanına bağlanırken veritabanında belirtilen şifreleme algoritmasını kullanmalıdır.
Kullanıcı İmzası

Ya Allah, Ya Muhammed, Ya Ali!
#Solo-Türk


Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı