ApsaraDB RDS for MySQL; disk şifreleme, şeffaf veri şifreleme (TDE) ve sütun şifreleme olmak üzere üç tamamlayıcı şifreleme yöntemi sunar. Her yöntem, yığının farklı bir katmanında verileri korur. Bu sayfada her yöntemin hangi tehditlere karşı koruma sağladığı, performans maliyeti ve kullanım senaryoları açıklanır.
Veritabanı şifrelemenin çalışma mantığı
Şifreleme, erişim kontrolünün yerini almaz. Bunun yerine, erişim kontrollerinin başarısız olduğu durumlarda (örneğin bir yönetici hesabının ele geçirilmesi veya saldırganın veritabanı dosyalarını doğrudan diskten kopyalaması gibi) oluşacak hasarı sınırlar.
Bu üç yöntem, sistemdeki verileri farklı noktalarda korur:
Disk şifreleme, Hizmet Olarak Altyapı (IaaS) katmanında çalışır ve fiziksel disk üzerindeki verileri güvence altına alır.
TDE, Hizmet Olarak Platform (PaaS) katmanında çalışır ve veriler dosya sistemine yazılmadan önce şifrelenir.
Sütun şifreleme (always-confidential veritabanı özelliğinin temel sürümü), veritabanı ile istemci arasındaki veri aktarımını korur ve sorgu sonuçlarının şifreli metin olarak iletilmesini sağlar.
Aşağıdaki diyagram, her yöntemin ele aldığı saldırı yollarını gösterir.

Saldırı türleri ve kapsam
Veritabanı sistemlerini hedef alan sekiz saldırı kategorisi bulunur:
| Saldırı türü | Açıklama | Yaygın yöntemler |
|---|---|---|
| Yöneticilere Saldırı | Sistem yöneticilerini ele geçirir. Veritabanı yöneticileri (DBA'ler) verilere erişebilir ve yapılandırmaları değiştirebilir. PaaS yöneticileri işletim sistemi düzeyindeki dosyalara erişebilir. IaaS yöneticileri fiziksel disklere erişebilir. | İşletim sistemi güvenlik açıkları, hesap sızıntıları, yanlış yapılandırılmış sistemler |
| Kullanıcılara Saldırı | Veritabanına erişimi olan son kullanıcıları ele geçirir ve SQL enjeksiyonu yoluyla yetkileri yükseltir. | Hesap sızıntıları, mantıksal veri ihlalleri |
| Uygulamalara Saldırı | İnternete açık uygulama sunucularından yararlanır; bu sunucular veritabanının kendisinden daha geniş bir saldırı yüzeyine sahiptir. | Uygulama ve işletim sistemi güvenlik açıkları |
| Ağa Saldırı | Uygulama ile veritabanı arasındaki trafiği dinler. Atlama yöntemleri tespiti zorlaştırır. | Ağ dinleme ve yakalama |
| Veritabanını Atlatma | PaaS personeli, veritabanı disklerinden veri dosyalarını veya yedekleme dosyalarını doğrudan kopyalar. | Fiziksel veri ihlalleri |
| İşletim Sistemini Atlatma | IaaS personeli, verileri doğrudan yerel veya cloud disklerden kopyalar. | Bağlama saldırıları |
| Veritabanından Yararlanma | Verilere doğrudan veya dolaylı olarak erişmek için veritabanı sistemindeki kod hatalarından yararlanır. | Veritabanı işletim sistemi güvenlik açıkları |
| Veri Kopyalarını Hedefleme | Genellikle üretim verilerini yansıtan ancak eşdeğer güvenlik kontrollerinden yoksun olan geliştirme veya test veritabanlarına saldırır. | Yukarıdakilerden herhangi biri |
Şifreleme yöntemi seçimi
Her yöntem, yukarıdaki saldırı türlerinin belirli bir alt kümesine karşı koruma sağlar. Aşağıdaki tabloda, doğru yöntemi veya yöntem kombinasyonunu seçmenize yardımcı olacak temel boyutlar özetlenir.
| **Disk şifreleme** | **TDE** | **Sütun şifreleme (temel sürüm)** | |
|---|---|---|---|
| Ele alınan saldırı türleri | İşletim Sistemini Atlatma, Yöneticilere Saldırı (IaaS) | Veritabanını Atlatma, İşletim Sistemini Atlatma, Yöneticilere Saldırı (PaaS ve IaaS) | Kullanıcılara Saldırı, Uygulamalara Saldırı, Yöneticilere Saldırı (DBA [1]), Ağa Saldırı, Veri Kopyalarını Hedefleme |
| DBA görünürlüğü | Görünür | Görünür | Görünmez |
| PaaS İşletim ve Bakım görünürlüğü | Görünür | Görünmez | Görünür [1] |
| IaaS İşletim ve Bakım görünürlüğü | Görünmez | Görünmez | Görünür [1] |
| Şifreleme granüleritesi | Örnek | Tablo ve veritabanı | Sütun |
| Uygulama değişiklikleri | Yok | Yok | JDBC'nin EncJDBC ile değiştirilmesi (kod değişikliği gerekmez) |
| Tipik performans kaybı | Minimal veya yok | %5'ten az | %7'den az |
| Yoğun yük altında performans kaybı | Minimal | %20'ye kadar | %21'e kadar |
| Daha fazla bilgi için | ECS disk şifrelemeye genel bakış | TDE'yi yapılandırın | Sütun şifrelemeye genel bakış |
[1] Temel sürüm, PaaS veya IaaS İşletim ve Bakım personelinin düz metin verilere erişmesini engelleyemez. Bu katmanlara karşı koruma sağlamak için always-confidential veritabanı özelliğinin donanım destekli sürümünü güvenilir donanım teknolojisiyle birlikte kullanın.
Her yöntemin çalışma şekli
Disk şifreleme
Disk şifreleme IaaS katmanında çalışır. Elastic Compute Service (ECS) sistem veya veri disklerini oluştururken etkinleştirin ya da örnek oluşturulduktan sonra veri disklerine ekleyin. Etkinleştirildiğinde sistem, ECS örneğini barındıran disklerdeki tüm verileri otomatik olarak şifreler; anahtar yönetimi altyapısı gerektirmez.
Temel özellik: Veriler IaaS İşletim ve Bakım personeline (fiziksel süreç mühendislerine) görünmezdir; ancak DBA'ler ve PaaS yöneticileri düz metin verilere hala erişebilir.
Performans: Etkisi minimaldir ve çoğu durumda tespit edilemez.
Şeffaf veri şifreleme (TDE)
TDE, PaaS katmanında çalışır. Veritabanı motoru, verileri bellekte şifreleyerek dosya sistemine yazar ve okurken şifresini çözer. Şifreleme ve şifre çözme işlemleri şeffaf şekilde gerçekleşir; uygulamaların değiştirilmesine gerek yoktur.
Temel özellik: Veriler hem IaaS hem de PaaS İşletim ve Bakım personeline görünmezdir. DBA'ler düz metin verilere hala erişebilir.
Performans: Performans kaybı, hassas tabloların veritabanı önbelleğine göre boyutuna bağlıdır:
Tablo önbelleğe sığıyorsa performans kaybı ihmal edilebilir düzeydedir.
Tablo önbellekten çok daha büyükse kayıp önemli olabilir.
Çoğu iş yükünde kayıp %5'in altında kalır. Son derece yoğun yüklerde %20'ye ulaşabilir.
Sütun şifreleme
Sütun şifreleme (always-confidential veritabanı özelliğinin temel sürümü), veritabanı çekirdek katmanında çalışır. Veritabanı, sorgu sonuçlarını istemciye göndermeden önce verileri şifreler. İstemci, gerekli anahtarı kullanarak sonuçların şifresini çözer. Bu yaklaşım, veri sahipliğini veri yönetiminden ayırır; veritabanını yöneten kişiler içerdiği verileri görüntüleyemez.
Temel özellik: Veriler DBA'lere görünmezdir. Ancak donanım destekli sürüme yükseltmediğiniz sürece PaaS ve IaaS İşletim ve Bakım personeli depolama düzeyinde düz metin verilere hala erişebilir.
Gerekli uygulama değişikliği: Java Database Connectivity (JDBC) sürücüsünü EncJDBC ile değiştirin. Sürücü değişimi dışında kod değişikliği gerekmez.
Performans: Performans kaybı tablo veya veritabanı boyutuna değil, sorgu sonuçlarında bulunan hassas veri hacmine bağlıdır:
Tek bir satır sorgulanırken: minimal kayıp.
Bir milyon satır şifreli veri sorgulanırken: önemli kayıp.
Çoğu iş yükünde kayıp %7'nin altında kalır. Son derece yoğun yüklerde %21'e ulaşabilir.
Teknik mimari
Aşağıdaki tablo, üç yöntemin mimari farklarını gösterir.
| **Disk şifreleme** | **TDE** | **Sütun şifreleme** | |
|---|---|---|---|
| Etkili kapsam | İşletim sistemi | Veritabanı çekirdeği | Veritabanı çekirdeği |
| Şifreleme kapsamı | Host ve ECS örneği | Veritabanı örneği | Veritabanı örneği |
| Şifreleme granüleritesi | Örnek | Veritabanı ve tablo | Sütun |
| Uygulama farkındalığı | Şeffaf | Şeffaf | JDBC'nin EncJDBC ile değiştirilmesi |
Her yöntemin ne zaman kullanılacağı
IaaS katmanı uyumluluk gereksinimlerini karşılamanız veya fiziksel medyanın çalınması/kopyalanması senaryolarına karşı korunmanız gerektiğinde disk şifrelemeyi kullanın.
Uygulamanızı değiştirmeden, işletim sistemi yöneticileri gibi PaaS ve IaaS İşletim ve Bakım personelinin veritabanı dosya içeriğine erişmesini engellemek istediğinizde TDE kullanın.
DBA'lerin hassas verileri görüntülemesini engellemek veya veritabanı ile uygulamanız arasındaki verileri aktarım sırasında korumak istediğinizde sütun şifrelemeyi kullanın.
Bu yöntemler birbirini tamamlar. Sıkı güvenlik gereksinimleri olan bir üretim ortamında üçü birden kullanılabilir.