Veritabanı Bağlantısını Şifrelemek: Sunucular Arası Trafik

Veritabanı bağlantılarında şifreleme modları, sertifika yönetimi, performans etkisi ve kurulum adımları rehberi. Veritabanı Bağlantısını Şifrelemek…

Veritabanı Bağlantısını Şifrelemek: Sunucular Arası Trafik
İçindekiler
  1. Ne Zaman Gerekli?
  2. Şifreleme Modları
  3. Sertifika Yönetimi
  4. Performans Etkisi
  5. Kurulum Adımları
  6. Şifrelendiğini Doğrulamak
  7. Alternatif Yaklaşımlar
  8. Sonuç
  9. Sıkça Sorulan Sorular (SSS)
  10. Özel ağ kullanıyorum, yine de gerekli mi?
  11. Hangi şifreleme modunu seçmeliyim?
  12. Şifreleme yavaşlatır mı?
  13. Zorunlu moda geçince ne kesilir?

Veritabanı Bağlantısını Şifrelemek: Sunucular Arası Trafik

Web sitenizde HTTPS var, kullanıcı trafiği şifreli. Ama uygulama sunucunuz ile veritabanı sunucunuz arasındaki trafik düz metin akıyor — ve o trafikte kullanıcı şifreleri, kart bilgileri ve tüm veritabanınız var.

Bu yazı, veritabanı bağlantılarının şifrelenmesini ele alıyor.

Ne Zaman Gerekli?

Durum Gereklilik
Aynı sunucu içinde Gerekmez
Özel ağ üzerinden Önerilir
Paylaşımlı altyapıda Gerekli
İnternet üzerinden Zorunlu
Uyum gereksinimi varsa Zorunlu

İkinci satır sık tartışılır ama net bir gerekçesi vardır: özel ağ, ağ paylaşımlı bir altyapıda bulunuyorsa gerçekten izole değildir — aynı fiziksel ağı kullanan başka bir müşteri trafiği dinleyebilir.

Sağlayıcınızın özel ağı gerçekten yalıttığını doğrulamadan bu katmanı atlamak risklidir.

Dördüncü satır ise tartışmasızdır. Veritabanı portunu internete açmak zaten kötü bir fikirdir; açmak zorundaysanız en azından şifreli olmalıdır.

Şifreleme Modları

Çoğu veritabanı birden fazla mod sunar:

  1. Devre dışı. Hiç şifrelenmez.
  2. Tercihli. Mümkünse şifreler.
  3. Zorunlu. Şifresiz bağlanmaz.
  4. Sertifika doğrulamalı. Karşı tarafı kanıtlar.

İkinci mod yanıltıcı bir güven verir: tercihli modda sunucu şifrelemeyi desteklemiyorsa bağlantı sessizce şifresiz kurulur — siz şifreli sandığınız hâlde trafik düz metin akar.

Bu, yapılandırma hatalarında hiçbir uyarı üretmez ve fark edilmez.

Üçüncü mod bunu çözer ama yeterli değildir. Şifreleme vardır ama karşı tarafın gerçekten sizin veritabanınız olduğu doğrulanmaz.

Dördüncü mod ise araya girme saldırılarını da engeller ve üretim ortamında tercih edilmelidir.

Sertifika Yönetimi

İç servisler için sertifika seçenekleri:

  • Kendi imzalı sertifika. İç kullanım için yeterli.
  • Kendi sertifika otoritesi. Ölçekte daha iyi.
  • Genel sertifika. Gerekmez ama mümkün.

İkinci madde birden fazla sunucusu olanlar için doğru yaklaşımdır: kendi sertifika otoritenizi kurup istemcilere yalnızca onun kök sertifikasını tanıtmak, her sunucu için ayrı sertifika güvenmek zorunda kalmanızı önler.

Yeni bir veritabanı sunucusu eklediğinizde istemci yapılandırmasına dokunmanız gerekmez.

Birinci madde ise tek sunuculu kurulumlarda pratiktir ama sertifika değiştiğinde tüm istemciler güncellenmelidir.

Üçüncü madde gereksizdir; iç servisler için genel bir otoriteye ödeme yapmanın anlamı yoktur.

Performans Etkisi

Maliyet Büyüklük
Bağlantı kurulumu Belirgin ek yük
Veri aktarımı İhmal edilebilir
İşlemci kullanımı Modern donanımda düşük

Birinci satır asıl maliyettir ve çözümü nettir: şifreli bağlantı kurmak şifresize göre belirgin biçimde pahalıdır, ancak bağlantı havuzu kullanıldığında bu maliyet yalnızca bir kez ödenir ve sonraki tüm sorgular ücretsizdir.

Bu nedenle her istekte yeni bağlantı açan bir uygulamada şifreleme gerçekten yavaşlatır; havuz kullanan bir uygulamada ise fark edilmez.

Şifrelemeye geçmeden önce bağlantı havuzunun düzgün çalıştığından emin olmak gerekir.

İkinci ve üçüncü satırlar ise modern işlemcilerde donanım hızlandırma sayesinde önemsizdir.

Kurulum Adımları

  1. Sunucu tarafında sertifika tanımlayın.
  2. Şifrelemeyi etkinleştirin.
  3. İstemciden şifreli bağlanmayı test edin.
  4. Uygulama yapılandırmasını güncelleyin.
  5. Zorunlu moda geçin.
  6. Şifresiz bağlantıların kesildiğini doğrulayın.

Beşinci adım sona bırakılmalıdır: zorunlu moda erken geçmek, henüz güncellenmemiş tüm uygulamaları ve betikleri anında keser — ve bunlar genellikle akla gelmeyen yerlerdedir.

Yedekleme betikleri, raporlama araçları, izleme sistemleri ve zamanlanmış görevler de veritabanına bağlanır.

Altıncı adım ise doğrulamadır. Zorunlu mod açıkken şifresiz bir bağlantı denemesi başarısız olmalıdır; olmuyorsa yapılandırma eksiktir.

Şifrelendiğini Doğrulamak

  • Bağlantı durumu sorgusu çalıştırın.
  • Kullanılan şifre paketini görün.
  • Ağ trafiğini örnekleyin.

Birinci madde en kesin ve en kolay yöntemdir: çoğu veritabanı, mevcut oturumun şifreli olup olmadığını gösteren bir durum değişkeni sunar — tek bir sorgu ile kesin cevap alınır.

Yapılandırma dosyasına bakmak yeterli değildir; asıl önemli olan bağlantının gerçekte nasıl kurulduğudur.

Üçüncü madde ise en kanıtlayıcı olanıdır. Trafiği yakalayıp içinde okunabilir SQL komutları görünüp görünmediğine bakmak, tartışmayı bitirir.

Alternatif Yaklaşımlar

Yöntem Değerlendirme
Yerel şifreleme desteği En temiz
SSH tüneli Hızlı çözüm, kırılgan
Sanal özel ağ Tüm trafiği kapsar
Servis ağı katmanı Karmaşık ortamlar için

İkinci satır geçici çözümlerde kullanılır ama üretimde risklidir: SSH tüneli koptuğunda uygulama veritabanına ulaşamaz ve tünelin yeniden kurulması otomatik değilse kesinti kalıcı olur.

Bir hizmet olarak tanımlanmış ve otomatik yeniden bağlanan bir tünel bu riski azaltır ama yine de ek bir bileşendir.

Üçüncü satır ise birden fazla servisi birden koruduğu için ölçekte mantıklıdır. Veritabanı, önbellek ve iç API trafiği aynı anda şifrelenir.

Birinci satır ise en az bileşenle çalışır ve tercih edilmelidir.

Sunucular arası özel ağ ve şifreli bağlantı kurgusu için altyapı seçeneklerinizi gözden geçirmelisiniz; VDS sunucu seçenekleri arasında özel ağ desteği bu mimariyi kolaylaştırır.

Sonuç

Veritabanı bağlantısını şifrelemek çoğu kurulumda atlanır ama o trafikte tüm verileriniz akar. En tehlikeli ayar "tercihli" moddur: sunucu şifrelemeyi desteklemiyorsa bağlantı sessizce şifresiz kurulur ve siz şifreli sandığınız hâlde trafik düz metin akar. Zorunlu moda geçmeden önce yedekleme betikleri ve izleme araçları dahil tüm istemcileri güncelleyin. Ve performans endişeniz varsa önce bağlantı havuzunu doğrulayın; havuz varken şifrelemenin maliyeti fark edilmez.

Sıkça Sorulan Sorular (SSS)

Özel ağ kullanıyorum, yine de gerekli mi?

Önerilir. Özel ağ, paylaşımlı bir altyapıda bulunuyorsa gerçekten izole değildir — aynı fiziksel ağı kullanan başka bir müşteri trafiği dinleyebilir. Sağlayıcınızın özel ağı gerçekten yalıttığını doğrulamadan bu katmanı atlamak risklidir.

Hangi şifreleme modunu seçmeliyim?

Sertifika doğrulamalı zorunlu mod. "Tercihli" mod yanıltıcıdır — sunucu desteklemiyorsa bağlantı sessizce şifresiz kurulur ve hiçbir uyarı üretilmez. Yalnızca "zorunlu" da yeterli değildir; karşı tarafın gerçekten sizin veritabanınız olduğu doğrulanmaz.

Şifreleme yavaşlatır mı?

Bağlantı kurulumu belirgin biçimde pahalıdır, veri aktarımı ise ihmal edilebilir. Bağlantı havuzu kullanıyorsanız bu maliyet yalnızca bir kez ödenir ve sonraki sorgular etkilenmez. Her istekte yeni bağlantı açan bir uygulamada ise fark gerçekten hissedilir.

Zorunlu moda geçince ne kesilir?

Henüz güncellenmemiş her istemci. Bunlar genellikle akla gelmeyen yerlerdedir: yedekleme betikleri, raporlama araçları, izleme sistemleri ve zamanlanmış görevler de veritabanına bağlanır. Zorunlu moda en son geçin ve önce tüm istemcileri güncelleyin.