Nasıl Giriş Olmadan Web Servis Güvenliğini Sağlamak İçin
Bir web hizmetine konuşan bir mobil uygulaması var (şu anda İOS ve yakında) Android. Giriş yok ve veriler gizlidir. Temel olarak, app bir marker (boylam, enlem) ve bir harita üzerinde görüntülemek için en yakın 25 işaretçilerine Alır Nakleder.
Çok saçma bir uygulama var ve herkes web hizmeti kötüye için büyük çaba koyarak hayal edemiyorum. Ancak, birçok işaretleri Gönderme birisi için eğlenceli olduğunu görüyorum. Beni en çok endişelendiren biri birçok istekleri (pahalı bant genişliği kullanan ve uygulama verilerim saçmalık yapma) iten bir script çalışıyor.
Yavaş yavaş bu güvenli olamaz sonuca ulaşan benim. En iyi cevap "bunu yapma". Kimlik doğrulaması olmadan web hizmeti sağlamaz. Pek çok hizmetler açıktır. Google You Tube API ama en çok açık değil. Ne yazık ki, başka seçeneğim yok. Bu yüzden bakıyoruz gün sonra benim düşünce. Çok uzak bir güvenlik uzmanı değilim ve benim yaklaşım geliştirilmiş olabilir eminim farkında olun. Ama doğru yönde bir işaret olabilir. İnşallah biri daha tecrübeli düşmek ve bu geliştirmek doğru olabilir. this article ve yorum özellikle yararlı buldum.
İleti Düzeyi Güvenlik
Karma bir şifreleme ile msj güvenli olacaktır. Müşteriler ve web service URL ve SONRASI tüm argümanları bir karma oluşturmak için bir tuz olarak kullanılan paylaşılan gizli bir kopyasını saklayın. Karma ek bir değişken olarak geçirilen ve karma yeniden inşa ve diğer ucunu (bir tuz olarak paylaşılan anahtar kullanarak) ile karşılaştırılır. Bu herhangi bir mobil istemci kodu ters dakika içinde tasarlanmış olabilir anlayana kadar oldukça iyidir. Tamamen işe yaramaz olan.
İstemci Ölçer
Müşteri oranı iletileri dürüst kullanıcılar tarafından gönderilen sayısını kısıtlamak için bir önlem olarak mesaj sınırlayıcı içerir. Yine bu mobil cihaz jailbreaks saldırganın karşı işe yaramaz.
Yan Güvenlik Sunucusu
Sunucu tarafında mümkün olduğunca ek güvenlik önlemleri, yalnız müvekkiliniz (gizli ortak) tehlikede olduğu varsayımı üzerinde durmak gerekir. Ne var burada:
Bir hata arg yeniden gönderme saldırılarını sınırlamak için kullanılan UTC zaman. Bu sunucuda aynı hata tekrar tekrar ateş, bir saldırganın önlemek gerekir.
Sunucu IP oranı ile sınırlandırılması gerçekleştirir. Evet, IPs kolayca sahte ve proxy değiştirme çocuk oyun ama her şey çok küçük olduğunda yardımcı olur.
Tabii ki, sunucu kesinlikle tüm argümanları doğrular, parametised sorguları kullanır ve istisnalar dönüş yok.
Seviye Güvenlik Taşıma
Maalesef, amir bağımsız istemci SSL sertifikaları bir kayıt işlemi olmadan mümkün olup olmadığından emin değilim. Ve msg karma kontrol kullanıyorum çünkü (ve benim veri özel değil) tamamen SSL masaya getiriyor ne olduğundan emin değilim. Ancak, muhtemelen SSL kullan (bir uygulama geniş cert) çünkü ekler bir düzeyde güvenliği olduğunu kolayca ve ucuza dağıtılan (de olsa bir maliyeti ek bağlantı süresi için her msg).
Benim Yaklaşım Büyük Büyük Büyük Delik
Uygulamanın popüler olması gereken biri istemci paylaşılan gizli uzlaşma konusunda uyardı duyuyorum. Ve muhtemelen internette yayınlayacağız diye. Yani gerçekten tüm sunucu tarafında aşağı gelir. Ne yazık ki,Tanımlamak ve saldırgan engellemek için bir yol var. Ben bunu yürekten isterim.
Son Bir Rica
Araştırma gün sonra sahip olduğum tek şey bu. Ama ben daha fazlasını istiyorum. Özellikle sunucu tarafı güçlendirmek için herhangi bir fikir takdir ediyorum. Bu yüzden, bu YÜZDEN benim puan bir ödül olarak koyduk. Evet efendim, 97 puan!
CEVAP
Şu anda sadece iOS uygulaması olduğu belirli bir durumda, aslında, bir çözüm var.
Kullanıcı ve ilk kez uygulama indirme çalıştıktan sonra, app bir GUID ile geliyor
/access_token/create
bir API vurur ve Apple'ın Push Bildirimleri üzerinden Başvuru geri aktarır.Uygulama mağazaları bu access_token, ve tüm sonraki istekleri kullanır. Bu access_token temelinde gerçek API olabilir sınırı.
Temelde, Apple ilk isteği gerçek bir iOS cihazdan gelen sağlanması, tüm zor işleri yapsın.
Masaüstü istemcileri için bu uzatmak mümkün, ama biraz UX kalıntıları. Sadece değiştirme Adım 1 izin /access_token/create
kabul et keyfi istekleri, ve eğer istek değil, bir iOS cihaz, güç kullanıcı için doğrulama e-posta adresi/çözmek bir kaptan vs vermeden önce onları bir access_token.
Android cihazlar için pek tanıdık ile) olabilir benzer bir İtme Bildirim mekanizması, bu durumda kullanabilirsiniz, ya da olmayabilir, bir İtme Bildirim mekanizması, bu durumda olabilir tabi Android kullanıcıları için rahatsızlık yukarıda listelenen.
nasıl yineleme olmadan hashmap bir gir...
Nasıl stil için bir <select> sad...
Nasıl baskı yeni satır veya boşluk olm...
Nasıl giriş alanına odaklanmak ayarlam...
Nasıl fiiller olmadan huzur URL oluştu...