TL; DR
Yapılandırma dosyaları yerine ortam değişkenlerini kullanmanın birkaç nedeni vardır, ancak gözden kaçırılması gereken en yaygın iki tanesi bant dışı yapılandırma ve sunucular, uygulamalar veya kurumsal roller arasındaki gelişmiş ayrımın fayda değeridir . Tüm olası nedenlerin ayrıntılı bir listesini sunmak yerine, cevabımdaki sadece bu iki konuyu ele alıyorum ve onların güvenlik etkilerine hafifçe değiniyorum.
Bant Dışı Yapılandırma: Sırları Kaynak Koddan Ayırma
Tüm sırlarınızı bir yapılandırma dosyasında saklarsanız, bu sırları her sunucuya dağıtmanız gerekir. Bu, ya kodunuzun yanı sıra sırları revizyon kontrolünde kontrol etmek ya da sırlar için tamamen ayrı bir depo ya da dağıtım mekanizmasına sahip olmak anlamına gelir.
Sırlarını şifrelemek bunun için gerçekten yardımcı olmuyor. Tek yapmanız gereken, sorunu bir çıkarmaya itmek. Çünkü şimdi de anahtar yönetimi ve dağıtımı konusunda endişelenmeniz gerekiyor!
Kısacası, ortam değişkenleri, gelişimi işlemlerden ayırmak istediğinizde sunucu başına veya uygulama başına verileri kaynak kodun dışına taşımak için bir yaklaşımdır. Bu, özellikle kaynak kodunu yayınladıysanız önemlidir!
Ayrımı Geliştirin: Sunucular, Uygulamalar ve Roller
Sırlarınızı saklamak için kesinlikle bir yapılandırma dosyanız olsa da, sırları kaynak kodunda saklarsanız, bir özgüllük sorununuz olur. Her bir sır için ayrı bir şubeniz veya deponuz var mı? Doğru sır setinin doğru sunuculara ulaşmasını nasıl sağlıyorsunuz? Veya her yerde aynı (ya da hepsini tek bir dosyada okuyorsanız okunabilir) olan "sırları" ile güvenliği azaltıyorsunuz ve bu nedenle herhangi bir sistemin güvenlik kontrolleri başarısız olursa daha büyük bir risk oluşturuyor musunuz?
Her sunucuda veya her uygulama için benzersiz sırlara sahip olmak istiyorsanız, ortam değişkenleri çok sayıda dosyayı yönetme sorununu ortadan kaldırır. Yeni bir sunucu, uygulama veya rol eklerseniz, yeni dosyalar oluşturmanız veya eskilerini güncellemeniz gerekmez: söz konusu sistemin ortamını güncellemeniz yeterlidir.
Güvenlik Üzerine Düşüncelerin Ayrılması
Çekirdek / bellek / dosya güvenliğinin kapsamlı bir araştırması bu cevabın kapsamı dışında kalsa da, uygun şekilde uygulanan, sistem başına ortam değişkenlerinin "şifrelenmiş" sırlardan daha az güvenli olmadığına dikkat çekmek gerekir. Her iki durumda da, hedef sisteminin hala bellekte deşifre sırrı tutmak zorundadır bazı onu kullanmak için nokta.
Ayrıca, belirli bir düğümde değerler geçici bellekte saklandığında, çevrimdışı kopyalanabilecek ve saldırıya uğrayabilecek diskte bir dosya bulunmadığını belirtmekte fayda vardır. Bu genellikle hafıza içi sırlara yönelik bir avantaj olarak kabul edilir, ancak kesin değildir.
Çevre değişkenleri ve diğer sır-yönetim tekniklerine ilişkin sorun, güvenlik ve kullanılabilirlik takasları için mutlak olanlardan çok daha fazla. Kilometreniz değişebilir.