2013-06-19 15 views
6

मैं S3 में संग्रहीत संवेदनशील संसाधनों के URL presigned करने के लिए उपयोगकर्ताओं रीडायरेक्ट करने के लिए योजना बना रहा हूँ। ये उपयोगकर्ता के अधिकारों की जांच करने के बाद उत्पन्न होते हैं और आक्रामक टाइमआउट (30 सेकंड) होते हैं। मेरी चिंता हालांकि यह है कि यह कुछ मैलवेयर द्वारा संभव होगा जो यूआरएल पर कब्जा करने के लिए मेरे क्लाइंट की मशीन पर मौजूद है और अभी भी यूआरएल के समाप्ति समय के भीतर फ़ाइल डाउनलोड करें। या मैं बस बहुत पागल हो रहा हूँ?एडब्ल्यूएस एस 3 में यूआरएल कितने सुरक्षित हैं?

तो इस से पहले उत्तर दिया गया है, कृपया मुझे उस दिशा में इशारा करते हैं। आपकी सहायता की सराहना।

उत्तर

2

मैं इस पाया - http://docs.aws.amazon.com/AmazonS3/latest/dev/AuthUsingTempFederationTokenRuby.html और यह एक कोशिश दे दी है। ऐसा लगता है कि काम करता है। दस्तावेज़ से कोड टीका -

# Start a session with restricted permissions. 
sts = AWS::STS.new() 
policy = AWS::STS::Policy.new 
policy.allow(
    :actions => ["s3:ListBucket"], 
    :resources => "arn:aws:s3:::#{bucket_name}" 
).condition.add(:like, :referer, "domain.com") 

session = sts.new_federated_session(
    'User1', 
    :policy => policy, 
    :duration => 2*60*60) 

तो नीति है कि हम बनाने के उद्भव आईपी पते जहाँ से ग्राहक डाउनलोड या/और एडब्ल्यूएस हो सकता है हो सकता है: रेफ़रलकर्ता फ़ील्ड मेरे ऐप की डोमेन पर सेट। मुझे लगता है कि यह आपके संसाधन के लिए कम से कम एक स्तर की बाधा प्रदान करता है। मुझे लगता है कि, आईपी पता या रेफरर आसानी से धोखा दिया जा सकता है। लेकिन यह कोई सुरक्षा नहीं होने से बेहतर है।

4

किसी को भी जो समाप्त होने से पहले यूआरएल प्राप्त डेटा का उपयोग करने के लिए इसका इस्तेमाल कर सकते हैं।

http://docs.aws.amazon.com/AmazonS3/latest/dev/AccessPolicyLanguage_UseCases_s3_a.html

हालांकि इस मामले में आप क्लाइंट मशीन पर मैलवेयर के बारे में चिंतित हैं: S3 बाल्टी नीतियों कि IP पते डेटा तक पहुँच की अनुमति है की सीमा का समर्थन करता है। तो वह मदद नहीं करेगा। क्या आपने डेटा एन्क्रिप्ट करने पर विचार किया है कि केवल क्लाइंट प्रक्रिया ही इसे डिक्रिप्ट कर सकती है?

तुम अब भी एक असुरक्षित/लापरवाह ग्राहक किसी भी तरह डेटा लीक की चपेट में हैं।

+0

बिल्कुल, जो वास्तव में बहुत मदद नहीं होगा। वैसे भी जवाब के लिए धन्यवाद। –

+0

बाल्टी नीतियां काम नहीं करतीं, लेकिन क्या आप किसी भी तरह से जानते हैं जहां यूआरएल में एक अस्थायी एसीएल शामिल किया जा सकता है? thx- –

+0

नहीं। क्या वैसे भी आप अनुरोध को प्रॉक्सी कर सकते हैं और अनिवार्य रूप से एक बार यूआरएल बना सकते हैं? – sethwm

संबंधित मुद्दे