2013-04-28 9 views
8

मैं websockets का उपयोग कर रहे एक एप्लिकेशन का निर्माण कर रहा हूँ। मैं केवल प्रमाणित उपयोगकर्ताओं को लॉग इन करने के बाद सर्वर के साथ एक वेबस्केट कनेक्शन खोलने की अनुमति देने जा रहा हूं और सत्र आईडी प्रदान कर रहा हूं।खुले websocket कनेक्शन के आसपास सुरक्षा समस्याएं क्या हैं?

  1. एक बार जब मैंने प्रमाणीकृत उपयोगकर्ता के साथ वेबस्केट कनेक्शन खोला है, तो वर्तमान "पृष्ठ" में खुले वेबसाकेट कनेक्शन का विवरण होता है। इस बिंदु पर, यह कनेक्शन अपेक्षाकृत सुरक्षित है? या क्या मुझे वास्तव में वेबसाइकिल पर आने वाले अपने आवेदन स्तर प्रोटोकॉल के भीतर प्रत्येक संदेश पर कुछ टोकन जांचना चाहिए?

  2. क्या कोई ज्ञात क्रॉस-साइट जालसाजी प्रकार सुरक्षा समस्याएं हैं? जहां कोई प्रमाणीकृत उपयोगकर्ता कुछ तरीकों से कुछ जावास्क्रिप्ट निष्पादित करने के लिए खुली वेबसाइट को खोला जा सकता है - जिसके परिणामस्वरूप खुले वेबसाकेट कनेक्शन का फायदा उठाने की क्षमता होती है?

उत्तर

4

1) कनेक्शन सुरक्षित है, जब आप इसे सर्वर की ओर सुरक्षित करते हैं। तो आपको वेबसाकेट्स के माध्यम से एक सत्र आईडी भेजनी है, सर्वर पक्ष पर सत्यापित करें कि यह सही है और कनेक्शन को मान्य के रूप में चिह्नित करें। HTTP के साथ प्रमाणीकरण अधिक कठिन है, क्योंकि HTTP स्टेटलेस है (कच्चे टीसीपी के विपरीत)। बेशक यह अभी भी टीसीपी कनेक्शन को हाइजैक करना संभव है, लेकिन यह इतना आसान नहीं है (उदाहरण के लिए this article देखें) और यदि ऐसा होता है, तो कुछ भी नहीं (टीएलएस को छोड़कर) आपकी मदद कर सकता है।

2) ठीक है, अगर आप इस तरह एक गुमनाम समारोह के साथ अपने WebSocket कनेक्शन लपेट:

(function() { 
    var ws = new WebSocket("ws://localhost:1000"); 
    // some other stuff 
})(); 

तो कोई बाहरी जावास्क्रिप्ट इसे उपयोग करने में है, तो आप उस के बारे में चिंता करने की ज़रूरत नहीं है सक्षम हो जाएगा।

+1

उपरोक्त # 1 के संबंध में - हाँ, मैं मूल हैंडशेक में कुकी की जांच कर रहा हूं क्योंकि यह कनेक्शन सेट अप करने के लिए एक HTTP GET अनुरोध है। पिछले प्रमाणीकरण के माध्यम से कुकी के पास वैध सत्र आईडी होना चाहिए। इसलिए मैं सुरक्षित रूप से कनेक्शन प्रदान कर रहा हूं ... यह स्पष्ट नहीं था कि इस कनेक्शन के साथ खुले बैठे हुए और प्रत्येक संदेश को प्रमाणित नहीं करने के साथ अब भेद्यताएं क्या मौजूद हो सकती हैं ... – Rocketman

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