AWS kimlik doğrulama, veri depolamak için önerileriniz nelerdir?

3 Cevap php

Senaryo: PHP ile yazılmış bir web uygulaması bir Amazon Web Service kullanır ve çalışması için Erişim Anahtarı kimliği ve kullanışlı bir Gizli Erişim Anahtarını tutmalısınız. Güvenli bir şekilde bu verileri depolamak için güncel öneriler ve / veya orada API dışarı var mı?

Benim düşünce simetrik yerel sunucu değişkenleri oluşturulan bir anahtar dayalı bir dosya haline şifrelemek için. Birisi FTP aracılığıyla dosyanın bir kopyasını alırsa [umarım] Anlaşılmaz bu şekilde, ben endişe yetenekli bir saldırganın sadece şifresini kendi upload script olabilir vs, kopyalanan dosyaları ile dizüstü kaybetti.

Bu common situation gibi görünüyor ve bir ben için rahat bir çözüm elde etmedim. Ben AWS göndermek için bir HMAC oluşturmak için özgün verileri gerekir çünkü Açıkçası ben, bir tek yönlü hash kullanamazsınız. Ilgili S.Ö. Linkler sorular çok hoş geldiniz.

3 Cevap

Ah. Güvenlik sorunu.

Ben burada sorması gereken soru mySQL şifreleri php yapılandırma dosyaları, örneğin, diyelim ki ne yapacağız olduğunu düşünüyorum?

Oldukça dürüst olmak gerekirse, ben birisi, dosyaların bir kopyasını almak başardı, daha sonra güvenlik ihtiyaçları neyse yeniden düşünülmesini söyleyebilirim. Benim kendi kullanımı için, ben genelde sadece (onlar kullanılmalıdır sunucuda), tek bir yerde tutmak ve şifreleri ben rasgele oluşturulmuş bir şifre her zaman kullandığınızdan emin olun (işte config dosyasına yapıştırın, ve!)

Kendi ana bilgisayar değil eğer dürüst olmak gerekirse, HERHANGİ hassas veriler tehlikeye girebilir.

Kendi ev sahibi ise, Linux içinde uygun izinlerini kullanarak öneririm, ve PHPSuExec Emin SİZ yazmak yalnızca komut dosyaları erişebilirsiniz emin olmak için.

Neyse, orijinal soruyu cevaplamak için, AWS Erişim / Secret Keys sadece MySQL şifre olarak aynıdır, Tamam, birisi servis erişmek izin potansiyeline sahiptir, ama onlara kişisel bilgilerinize erişim vermez. Lütfen komut bir güvenlik delik varsa bile simetrik şifreleme ile, bilgi ulaşılabilir.

Eğer her yerde bu anahtarları koymak zaman sadece koyun, sen herkes için erişilebilir ama olduğu bir risk almak. Ne kadar Amazon'un sunucuları tehlikeye değil güven mi?

Benim önerim Ben genelde S3 hesabı (yeni kepçeler yüklenen yeni dosyalar için değişiklikler ile bana bir e-posta göndermek için çalışan bir cron işi olacak, denemek ve eklemek gibi çok güvenlik olabildiğince, ama hesabınızda bir göz tutmak olacaktır vs vs) ve bundan ben neler söyleyebilirsiniz.

Kolay bir çözüm Sisteminin her ayrı katmanı güvenliğini bir karışımı vardır. Yani, simetrik şifreleme, bir yerde depolanması gerekir için parola, doğru kullanırsanız? ya da her zaman onu yazın gidiyorsun?

Umarım bu yardımcı olur

My thought is to symmetrically encrypt it into a file based on a key created from local server variables. That way it's [hopefully] gibberish if someone gets a copy of the file through FTP, lost laptop with files copied, etc. The concern I have is that a skilled attacker could just upload their own script to decrypt it.

Bu incitmez, ama dosyayı okuyabilir birileri belki de okuyabilir ve kodunuzu ters mühendislik gibi sonuçta bu bilinmezlik yoluyla sadece güvenlik. Bir şifre yazarak veya başka gizli bir sunucu başladığında her zaman sağlayan kısa, şifreleme yardım edecek değildir. Bu sadece (aynı zamanda sunucuya erişilebilir olması gerekiyor) şifreleme anahtarını koruyacak nasıl sorunu kaydırır?

Eğer uygulama ve sunucu (OS unutmak, ve işletim sistemi uzaktan erişim yok) izinsiz kimse ilk etapta sistemde dosyalarını okuyabilir böylece sertleşmesine ve tasarımı var.

Birinin kutusuna fiziksel erişimi alma konusunda endişeli iseniz, bu olay durdurmak için fiziksel güvenlik konsantre.

Eğer önermek gibi simetrik şifreleme kullanın. Benim sunucu başlattığınızda ben bunu doğrulama verileri içeren dosyaların şifresini çözmek için bir anahtar vermek gerekir.

Tabii ki bir hacker bir bellek dökümü yapmak ve parolayı bu şekilde okudum ama bu bir düz yazı dosyası okuma göre biraz daha sert olabilir. Mükemmel bir çözüm yoktur, güvenlik her zaman risk ve kullanım kolaylığı arasında bir uzlaşmadır.

Yani sunucusu güvenlik hala önemli bir konu, çok güvenlik yeterli olduğunu nasıl onun sadece bir sorudur. Ben sunucu sertleşmesine Bastille Linux ya da bunun gibi bir şey arıyorum öneririz ama bu tamamen başka bir konu.