Bu tür güvenlik konularına karar vermeden önce tehdit modelini değerlendirmelisiniz. Neye karşı savunduğunuzu bilmeden, aldığınız önlemlerin değeri düşük olabilir.
Şimdi, bu bağlamda endişelenebileceğiniz birkaç şey var:
- Verilerinize fiziksel erişim sağlayan saldırganlar (örn. Veri merkezine girme, yedekleme bantlarını çalma vb.)
- Ham veritabanınıza okuma erişimi kazanan saldırganlar
- SQL enjeksiyonu, arabellek taşmaları vb. Yoluyla uygulamanızın güvenliğini ihlal eden saldırganlar.
İlk senaryoda, sunucunun başsız olması şartıyla veritabanının ve tüm yedeklemelerin depolanması çalışmalıdır - sunucuyu veya bantları çalmak için disk düzeyinde şifrelemenin kırılması gerekir.
İkinci senaryoda, veritabanı verilerini şifrelemek yardımcı olur, ancak yalnızca gerekli anahtarları veya parolaları hiçbir yerde saklamıyorsanız.
Üçüncü senaryoda, her şey saldırının gerçekleştiği bağlama bağlıdır: örneğin bir XSS veya CSRF saldırısı ise, bir saldırgan meşru kullanıcının yapabileceği her şeyi yapabilir ve verilerinizi şifrelemek hiç yardımcı olmaz .
Bu nedenle tehdit modeliniz, oturum açma kimlik bilgilerini bularak ve veritabanı sunucusuna dışarıdan oturum açmayı yöneterek veya veritabanı sunucusuna kök erişimi kazanarak ham veritabanına okuma erişimi kazanan bir saldırgan. Tipik bir yol, önce web sunucusunda kabuk erişimi elde etmektir; oradan, bir saldırgan yapılandırma dosyasından erişim kimlik bilgilerini okuyabilir ve veritabanına bağlanabilir.
Ek bir husus, özellikle PHP gibi durum bilgisi olmayan bir yürütme modeline sahip bir platform kullanıyorsanız, anahtarları ve parolaları sakladığınız yerdir. İdeal olarak, müşterinin parolasını gerektiğinde yazması ve şifre çözme istemcisi tarafından yalnızca bellekte veya daha da iyisi tutması gerekir (ancak bu genellikle uygun değildir). Durum bilgisi olmayan bir platformda durum genellikle oturumlar, memcache, veritabanları veya düz dosyalar kullanılarak taşınır; ancak tüm bunlar durum bilgisi olan bir web uygulamasının kendi belleğinde kalmasından çok daha savunmasızdır. Bundan kaçınmak bir tavuk ve yumurta problemidir, çünkü devleti ısrar etmeden şifrelerseniz, güvenli bir şekilde hatırlamanız gereken başka bir sır oluşturdunuz. İstemcideki parolayı hatırlamak ve her istekle birlikte göndermek, o zaman en az korkunç çözüm olabilir;