Websocket कनेक्शन विफल रहता है के बाद सामग्री जोड़ने-सुरक्षा-नीति में nginx

0

सवाल

मैं जोड़ना चाहते हैं एक नए हेडर सामग्री सुरक्षा नीति के लिए मेरे nginx conf करने के क्रम में सुरक्षा में सुधार. मैं जोड़ दिया है सभी बाहरी स्रोतों और सब कुछ ठीक काम करता है के लिए छोड़कर chatbot है जो infobip. यह का उपयोग करता wss प्रोटोकॉल और के लिए कुछ कारण है कि मैं नहीं मिल सकता है, सही तरीके से इसे विन्यस्त करने के लिए.

इस त्रुटि है कि, मैं मिलता है ।

और यह मेरी शीर्ष लेख में nginx.conf

add_header 'सामग्री-सुरक्षा-नीति' "डिफ़ॉल्ट-स्रोत 'स्व' को 'असुरक्षित-इनलाइन' wss: wss://.infobip.com ws://.infobip.com .infobip.com http://www.w3.org https://fonts.googleapis.com https://stackpath.bootstrapcdn.com .youtube.com https://cdn.jsdelivr.net/; img src 'स्व' डेटा: https://.openstreetmap.org wss://livechat-fr । infobip.com/चैट/वेब/प्रॉक्सी/827/toxgylwd/websocket हमेशा; कनेक्ट-स्रोत 'स्व' wss: ws: wss://.infobip.com ws://*.infobip.com .infobip.com https://.doubleclick.net wss://livechat-fr । infobip.com/चैट/वेब/प्रॉक्सी/492/hybzmnjl/websocket 'असुरक्षित-इनलाइन हमेशा';";

मैंने कोशिश की है कई तरीके की अनुमति के लिए एक websocket कनेक्शन है, लेकिन कोई भी काम करने लगता है.

2
0

के बाद से हर websocket कनेक्शन द्वारा शुरू एक नियमित रूप से http अनुरोध है, तो आप चाहिए जोड़ एक CSP के लिए https://your-websocket-server-domain:port

Http अनुरोध का जवाब दिया जाएगा के साथ एक 101: swtiching protocols और फिर कनेक्शन हो जाएगा एक WebSocket कनेक्शन.

ध्यान दें कि मैं नहीं लगता है कि था: या wss: सीएसपी के निर्देश पर की आवश्यकता है ।

2021-11-20 14:15:38
0

आप 3 मुद्दों:

  1. कंसोल त्रुटियों दिखाया गया है कि आप नहीं कर रहे हैं CSP से संबंधित । "403 Forbidden" का मतलब है आप पहुँच नहीं है करने के लिए से संबंधित Url. "'X-फ्रेम-विकल्प' के लिए 'इनकार'" का अर्थ है आप की कोशिश करने के लिए अपनी वेबसाइट iframe लेकिन उस पृष्ठ disallows embedding के माध्यम से X-Frame-Options: "DENY" HTTP शीर्ष लेख में है ।

  2. गलत प्रारूप के Nginx add_header. यह चाहिए की तरह लग रहा है (ध्यान का भुगतान करने के लिए उद्धरण - always कीवर्ड रखा जाना चाहिए के बाहर CSP सेटिंग):

    add_header Content-Security-Policy "default-src 'self'..." always;

  3. गलत प्रारूप के CSP के मेजबान-सूत्रों का कहना है । मेजबान की तरह स्रोतों .youtube.com शामिल नहीं होना चाहिए एक प्रमुख . बिंदी:
    youtube.com की अनुमति देगा लोड करने के लिए संसाधनों से http(एस)://youtube.com और *.youtube.com की अनुमति देगा संसाधनों से उप के youtube.com.

तो अपने वाक्य रचना सही CSP चाहिए की तरह लग रहा है:

add_header Content-Security-Policy "\
default-src 'self' 'unsafe-inline' https://stackpath.bootstrapcdn.com\
https://fonts.googleapis.com infobip.com ws://infobip.com wss://infobip.com youtube.com\
https://cdn.jsdelivr.net http://www.w3.org;\
connect-src 'self' infobip.com wss://infobip.com ws://*.infobip.com\
wss://livechat-fr.infobip.com/chat/web/proxy/ https://doubleclick.net;\
img-src 'self' data: https://openstreetmap.org;\
" always;

ध्यान दें कि:

  • wss://livechat-fr । infobip.com/चैट/वेब/प्रॉक्सी/492/hybzmnjl/websocket - शामिल नहीं हैं बोल्ड पथ-भाग करने के लिए CSP, क्योंकि यह बदल गया है हर बार.
  • योजना-सूत्रों का कहना है की तरह wss: कवर किसी भी मेजबान स्रोतों के साथ कि योजना (जैसे wss://साइट.com/websocket). तो मैं नष्ट कर दिया योजना-सूत्रों का कहना है और मेजबान छोड़ दिया-सूत्रों का कहना है ।
  • मैं नष्ट कर दिया कुछ असमर्थित स्रोतों, उदाहरण के लिए, 'unsafe-inline' में connect-src.
  • Nginx समर्थन करना चाहिए एक बैकस्लैश \ के रूप में रेखा को तोड़ने, तो मैं इसे इस्तेमाल किया है क्योंकि यह मुश्किल है बनाए रखने के लिए CSP एक लाइन में. जाँच करता है अपने Nginx संस्करण इस सुविधा का समर्थन.

नोट 2: इस CSP को ब्लॉक कर सकते हैं कुछ सूत्रों का कहना है - सिर्फ उन्हें जोड़ने के लिए उचित निर्देश दिये ।

नोट 3: ले जाने पर विचार के स्रोतों से default-src निर्देश के लिए script-src + style-src + font-src निर्देशों. क्योंकि अब आप के लिए वास्तव में अनुमति देता है 'unsafe-inline' में scrit-src तो आपकी CSP खिलाफ की रक्षा नहीं करता XSS. यह भी मुश्किल हो जाएगा प्रबंधन करने के लिए CSP भविष्य में, के बाद से स्रोतों में मिश्रित कर रहे हैं एक निर्देशक.

2021-11-28 23:35:39

धन्यवाद, लेकिन दुर्भाग्य से मैं अभी भी एक ही त्रुटि - WebSocket कनेक्शन के लिए ... विफल रहा है । मैं भी पाने के लिए: प्रदर्शित करने के लिए मना कर दिया 'livechat-fr.infobip.com' एक फ्रेम में सेट क्योंकि 'X-फ्रेम-विकल्प' के लिए इनकार करते हैं'. यह है कि मैं कैसे सेट अप हैडर add_header 'X-फ्रेम-विकल्प' "SAMEORIGIN" हमेशा;
Baseplate

आप सेट X-Frame-Options "SAMEORIGIN" अपने सर्वर पर लेकिन livechat-fr.infobip.com अवरुद्ध नहीं है की सेवा के द्वारा अपने सर्वर. यह livechat-fr.infobip.com प्रकाशित करता है X-Frame-Options "DENY" हैडर को रोकने के लिए एम्बेड. आप कर सकते हैं कॉन्फ़िगर किया गया है, कुछ में गलत तरीके से अपने infobip.com खाते में.
granty

इस मुद्दे को हल है. CSP निर्देशक ठीक काम करता है. यह पता चला है कि कॉर्पोरेट नेटवर्क से यातायात अवरुद्ध हो गया था/करने के लिए infobip और मैं नहीं किया गया था के बारे में सूचित किया है कि. फिर से धन्यवाद आपके प्रयास के लिए, अभी भी मेरी मदद की निर्धारित निर्देशक कठिन है ।
Baseplate

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में