Bir veritabanı bağlantı dizesi güvenliğini sağlamak için en iyi yolu nedir?

3 Cevap php

PHP veritabanı odaklı uygulamalar seti yazıyorum. Bu uygulamalar kendi kullanıcı olarak bir Linux sunucu üzerinde çalışır. Diğer kullanıcılar muhtemelen zamanlarda sistem üzerinde olmak, ama çok kontrollü erişimine sahip olacaktır. Diğer sunucular hepsi erişimi olmayacaktır. Ben de bir DBI ve ben yazmak fonksiyonları bir dizi kullanarak veritabanına erişmek Perl betikleri yazmak gerekir geliştiriciler için bir sınır saklı yordam API gösterecektir.

Benim sorum onlara bağlantı dizeleri var config dosyalarının güvenliğini sağlamak için ne iyi yolu nedir?

Dosya üzerinde [4 +] 00 izinlerine sahip başka bir kullanıcı yeterli mi? Ben onları şifrelemek gerekir? Ben bir şifreleme anahtarı saklamak için nerede endişe böylece sadece başka sorunu kayması gibi görünüyor. Ben Perl geliştiriciler sadece veritabanı izinleri yürütme olacak gibi kendi bir bağlantı dizesi olması gerekir farkındayız.

3 Cevap

Makine gerçekten J. Random kullanıcı her zaman kök su-ing kapalı değil geleneksel Unix moda, tatbik ediliyor, ben o dosya sistemi izinleri en iyi bahis vardır söyleyebilirim. Birisi izinsiz root erişimi alırsa, şifreleme sersemlik hiçbir miktarı bağlantı dizesini "güvenli" gidiyor.

Ben "komut dosyası kullanıcı" sahip olarak bağlantı dizesi w / dosyaları işaretleyin ve tarif olarak onlara erişimi verirdim.

(Bağlantı dizesi şifreleyerek bilinmezlik ile bu örnekte, size. Güvenlik şey satın olmadığını fark Bravo için karşı-üretken.)

İşte bir şifre deposuna erişimi yönetmek için yardımcı olan ücretsiz bir Apache modülü için bir bağlantı:

http://uranus.it.swin.edu.au/~jn/linux/php/passwords.htm

Bu bana biraz ayrıntılı görünüyor ve mod_php altında PHP çalıştırmak gereklidir. Ve hala sunucuya erişimi olan yetkisiz kişi sadece şifre dosyayı okuyabilir olasılığını gidermez.

Ben dosya izinleri dayanmak zorunda düşünüyorum ve yetkisiz insanlar PHP uygulama UID veya kök sudo için yeteneği yok güven.

Insanlar okuyamıyor bu yüzden benim en iyi çözüm şimdiye kadar makineye doğrudan erişimi olan insanlar başka bir bilgisayara sürücüyü bağlayarak şifreleri koparmak, ve dosya sistemi izinleri ile değil böylece şifreli bir bölüm config dosyaları saklamak için olmuştur OS kendisini içinden dosyası.

Sen kadar makineye doğrudan erişimi olan bir saldırganın karşı yapabileceğimiz bir şey yok ki, olsa da, anlamak gerekir. Bu veritabanı sunucusu kendisi çalışıyor ise o veritabanı kendisini değiştirebilirsiniz, daha sonra config dosyalarının güvenliğini çok fazla etkisi olmayacaktır. Sadece her şey olabilir kadar güvenli olduğunu ve muhtemelen iyi olacak emin olun.