2015-12-18 14 views
20

img-src में सामग्री-सुरक्षा-नीति शीर्षलेख के निर्देशों को Google AdWords रूपांतरण ट्रैकिंग की अनुमति देने के लिए आवश्यक डोमेन/प्रोटोकॉल आवश्यक हैं?Google Adwords CSP (सामग्री सुरक्षा नीति) img-src

परीक्षण से, जब हम google_trackConversion कहते हैं, ऐसा लगता है कि ब्राउज़र एक स्रोत है कि इस प्रकार 302 की एक श्रृंखला विभिन्न डोमेन के बीच पुनर्निर्देश साथ एक छवि बनाता है ...

www.googleadservices.com -> 
googleads.g.doubleclick.net -> 
www.google.com -> 
www.google.co.uk 

अंतिम .co.uk मेरे लिए संदिग्ध लग रहा है । चूंकि हम ब्रिटेन से परीक्षण कर रहे हैं, हम चिंतित हैं कि अन्य देशों से कॉल किया जा रहा ट्रैकिंग अन्य डोमेन पर रीडायरेक्ट करेगी।

ट्रैकिंग के काम के लिए हमें खोलने की आवश्यकता वाले डोमेन की पूरी सूची क्या है?


के रूप में टिप्पणी में अनुरोध किया है, पहले अनुरोध का एक उदाहरण पथ घटक है:

pagead/conversion/979383382/?random=1452934690748&cv=8&fst=1452934690748&num=1&fmt=3&label=jvoMCNP4umIQ1uiA0wM&guid=ON&u_h=1080&u_w=1920&u_ah=1033&u_aw=1920&u_cd=24&u_his=18&u_tz=0&u_java=false&u_nplug=5&u_nmime=7&frm=0&url=https%3A//beta.captevate.com/payment%3Flevel%3Da00&async=1 

और रूपांतरण दूसरी बार दोहरा, पहली अनुरोध के पथ घटक

pagead/conversion/979383382/?random=1452934959209&cv=8&fst=1452934959209&num=1&fmt=3&label=jvoMCNP4umIQ1uiA0wM&guid=ON&u_h=1080&u_w=1920&u_ah=1033&u_aw=1920&u_cd=24&u_his=26&u_tz=0&u_java=false&u_nplug=5&u_nmime=7&frm=0&url=https%3A//beta.captevate.com/payment%3Flevel%3Da00&async=1 
है

मैंने कुछ देशों (नीदरलैंड्स और सिंगापुर) से कनेक्ट करने के लिए एक मुफ्त वीपीएन सेवा का उपयोग किया, और अंतिम रीडायरेक्ट नहीं होता है: www.google.com का अंतिम अनुरोध 200 है। हालांकि, मैंने स्पष्ट रूप से से प्रत्येक देश से कनेक्ट करने का प्रयास नहीं किया है, इसलिए मेरा मूल प्रश्न खड़ा है।

+0

क्या आप मूल ट्रैकिंग छवि के पथ घटक को पोस्ट करना चाहते हैं? या क्या Google एक अप्रत्याशित तरीके से बदल सकता है, संभावित रूप से डोमेन के साथ? – sgammon

+0

क्या आपने विदेशी आईपी प्राप्त करने और अपने संदेह की जांच करने के लिए किसी प्रकार के वीपीएन या प्रॉक्सी का उपयोग करने की कोशिश की है? शायद आपको .co.uk डोमेन पर रीडायरेक्ट किया जाएगा। – Phonolog

+0

@sgammon मैंने मूल अनुरोध –

उत्तर

11

दुर्भाग्यवश, इसके आसपास कई तरीके नहीं हैं। संसाधनों को या तो श्वेतसूची (दूरस्थ संसाधनों के मामले में, इस तरह की) या इनलाइनिंग चाल (यानी nonce या sha256-...) की आवश्यकता होती है जब सीएसपी सक्रिय होता है। दिन के अंत में, हालांकि, सीएसपी शायद आपकी साइट को सुरक्षित रख सकती है और अधिकांश संसाधनों की रक्षा कर सकती है।

आप जो करने की कोशिश कर रहे हैं उसके आधार पर, फिर भी, आप अभी भी अपना लक्ष्य प्राप्त करने में सक्षम हो सकते हैं।

  1. श्वेतसूची सभी छवियों:

    यहाँ कुछ विकल्प हैं।

    बेशक, आप बस एक "*" अपने img-src निर्देश में जगह सकता है, लेकिन मुझे लगता है कि आप पहले से ही जानते हैं और चयन कर रहे हैं नहीं है क्योंकि यह छवियों के लिए सीएसपी के संरक्षण को हरा दिया है।

  2. छवि को वैकल्पिक माध्यमों के माध्यम से लोड करें।

    सब यदि आप के बाद विशेष रूप से नीचे छवियों को लॉक कर रहा है, और, कहते हैं, परवाह नहीं है के बारे में इतना XMLHttpRequest, आप POST के माध्यम से या यहाँ तक कि एक कस्टम type (AdWords image tag का उपयोग कर के साथ एक <script> टैग के द्वारा पिक्सेल लोड कर सकता है ट्रैकिंग विधि)। यह इस तथ्य का लाभ उठाता है कि Google को केवल Analytics अनुरोधों के लिए HTTP अनुरोध/प्रतिक्रिया (और रीडायरेक्ट) चक्र को पूरा करने के लिए ब्राउज़र की आवश्यकता होती है, और आप वास्तव में परिणामस्वरूप सामग्री को पार्सिंग या निष्पादित करने की परवाह नहीं करते हैं, जो 1x1 पारदर्शी पिक्सेल है । यह आपको अपने img-src निर्देश (यदि यह वास्तव में आपका लक्ष्य है) को लॉक करने की अनुमति देता है, जबकि अभी भी Google जो भी डोमेन रीडायरेक्ट के लिए उपयोग करना चाहेगा, उसे अनुमति देता है।

    मुझे पता है कि यह केवल आपकी समस्या को हल करता है, लेकिन यह उपयोगी है यदि आपका मुख्य खतरा दुर्भावनापूर्ण छवियां हैं।

  3. अपने img-src में सभी Google डोमेन रखें।

    जैसा कि नीचे बताया गया है। शीर्षलेख लंबाई एक समस्या हो सकती है (भले ही चश्मा कहें कि आप ठीक हैं, फिर भी लागूकर्ता हमेशा उदार नहीं होते हैं), और सबसे महत्वपूर्ण बात यह है कि आप नकली असफलताओं का सामना कर सकते हैं क्योंकि Google उनकी डोमेन की सूची बदलता है, जो निश्चित रूप से सार्वजनिक नहीं है या आसानी से ध्यान देने योग्य कार्रवाई (आपके विज्ञापन रूपांतरणों के माध्यम से नहीं आ रहा है!)। चूंकि मुझे लगता है कि आपकी नौकरी नहीं है, तो उस सूची को लगातार अपडेट करने के लिए, शायद आप इस विकल्प के साथ नहीं जाना चाहते हैं।

  4. कुछ महीनों के लिए विफलताओं की रिपोर्ट करें और उसके बाद रोल करें।

    क्योंकि सीएसपी रिपोर्टिंग यूआरआई और Content-Security-Policy-Report-Only संस्करण का समर्थन करता है, तो आप इसे रिपोर्ट-ओनली मोड में रोल और रिपोर्ट में आने के लिए। आप पहले से ही आपके यूज़रबेस के बारे में अच्छा डेटा है, तो इंतजार (और यह बहुत परिवर्तन नहीं करता है सकते हैं), यह एक अच्छा विकल्प हो सकता है - एक बार जब आप उन रिपोर्टों को डोमेन की सूची पर स्थिर करते हैं, तो इसे नियमित सीएसपी शीर्षलेख में सील करें। वैकल्पिक रूप से, आप किसी अतिरिक्त विफलताओं को पकड़ने के लिए अंतिम शीर्षलेख पर एक रिपोर्टिंग यूआरआई डाल सकते हैं। निश्चित रूप से, इस रणनीति का नकारात्मक पक्ष यह है कि आपको रिपोर्ट-केवल मोड में सुरक्षा नहीं मिलती है, और जब आप इसे लागू करने के लिए स्विच करते हैं, तो असफलता रूपांतरण डेटा खो जाती है और आप पकड़ रहे हैं। रिवर्स प्रॉक्सी

    ठीक है के साथ

  5. स्टेटिक पिक्सेल। खैर, उपरोक्त विकल्पों के साथ इतना अच्छा नहीं है (मैं इसे स्वीकार करता हूं), अब बॉक्स के बाहर सोचने का समय है। यहां समस्या यह है कि Google (शेर्डिंग/भू-पिनिंग डोमेन) द्वारा लागू HTTP अनुकूलन तकनीक अच्छी सुरक्षा अभ्यास (यानी सीएसपी) के साथ बाधाओं में हैं। डोमेन अस्पष्टता का मूल कारण क्लाइंट का भौगोलिक स्थान है, तो इसे स्वयं पिन क्यों न करें?

मान लें कि आप अपनी खुद की उन्नत HTTP सर्वर का नियंत्रण है, तो आप स्थिर पिक्सेल दृष्टिकोण पर नज़र रखने और प्रॉक्सी के लिए अनुरोध अपने आप को इतना की तरह इस्तेमाल कर सकते हैं,:

User ---> GET http://your-page/ 

User <--- <html>... 
      pixel: http://your-page/pixel?some=params 

User ---> http://your-page/pixel?some=params 
      ---> fetch http://googleads.g.doubleclick.net/pagead/viewthroughconversion/12345/?some=params 
      <--- redirect to http://google.com, or http://google.co.uk 
User <--- return redirect 

एक static pixel (जैसे दृष्टिकोण # का उपयोग करना 2) और अपनी प्रॉक्सी डालने, कहें, यूएस या यूके में यह सुनिश्चित करना चाहिए कि स्रोत आईपी भौगोलिक दृष्टि से पिन किया गया हो, और Google के किसी भी अग्रभाग के सामने आपको एक स्थिर अंतराल पर पहुंचाया जाना चाहिए। उपयोगकर्ता और Google के बीच प्रॉक्सी रखने से आपको रीडायरेक्ट को फिर से लिखने का मौका मिलता है यदि आप चाहते हैं।

प्रॉक्सी सेटअप को सरल बनाने के लिए (और कुछ प्रदर्शन मसाला जोड़ें), आप Fastly जैसे Origin Shielding के साथ इसे स्वयं बनाने के बजाय कुछ चुन सकते हैं। यदि आप वहां से डबलक्लिक बैकएंड और प्रॉक्सी जोड़ते हैं, तो आप केवल कुछ निश्चित भौगोलिक क्षेत्र से आने के लिए सीडीएन से मूल अनुरोध पिन कर सकते हैं। किसी भी तरह से, आपके उपयोगकर्ता को रीडायरेक्ट का एक स्थिर सेट देखना चाहिए, और आप Google डोमेन की उस सूची को केवल img-src 'self' *.google.com *.doubleclick.net *.googleadservices.net पर ट्रिम कर सकते हैं।

संपादित करें: यह भी ध्यान देने योग्य बात है कि तेजी (और एक growing list of other CDN providers) peer directly with Google Cloud उनके अंक-प्रेजेंस, के कुछ पर अपने प्रॉक्सी यातायात के लिए गूगल की नेटवर्क में एक अनुकूलित पथ की पेशकश के लायक है।

+1

मैं विकल्प 2 से बचूंगा। आपको इसकी आवश्यकता होगी अपने 'कनेक्ट-src' या' form-src 'निर्देशों को आराम दें, और उन पर प्रभाव एक आराम से 'img-src' निर्देश से अधिक हैं। – Polynomial

5

आप विकिपीडिया के List of Google domains का उपयोग कर सकते हैं। Google Adwords से संबंधित कई डोमेन हैं, लेकिन मुझे नहीं लगता कि youtube.com जैसे डोमेन को समस्याएं पैदा हो सकती हैं।

वर्तमान सूची है:

google.com 
google.ac 
google.ad 
google.ae 
google.com.af 
google.com.ag 
google.com.ai 
google.al 
google.am 
google.co.ao 
google.com.ar 
google.as 
google.at 
google.com.au 
google.az 
google.ba 
google.com.bd 
google.be 
google.bf 
google.bg 
google.com.bh 
google.bi 
google.bj 
google.com.bn 
google.com.bo 
google.com.br 
google.bs 
google.bt 
google.co.bw 
google.by 
google.com.bz 
google.ca 
google.com.kh 
google.cc 
google.cd 
google.cf 
google.cat 
google.cg 
google.ch 
google.ci 
google.co.ck 
google.cl 
google.cm 
google.cn 
g.cn 
google.com.co 
google.co.cr 
google.com.cu 
google.cv 
google.com.cy 
google.cz 
google.de 
google.dj 
google.dk 
google.dm 
google.com.do 
google.dz 
google.com.ec 
google.ee 
google.com.eg 
google.es 
google.com.et 
google.fi 
google.com.fj 
google.fm 
google.fr 
google.ga 
google.ge 
google.gf 
google.gg 
google.com.gh 
google.com.gi 
google.gl 
google.gm 
google.gp 
google.gr 
google.com.gt 
google.gy 
google.com.hk 
google.hn 
google.hr 
google.ht 
google.hu 
google.co.id 
google.iq 
google.ie 
google.co.il 
google.im 
google.co.in 
google.io 
google.is 
google.it 
google.je 
google.com.jm 
google.jo 
google.co.jp 
google.co.ke 
google.ki 
google.kg 
google.co.kr 
google.com.kw 
google.kz 
google.la 
google.com.lb 
google.com.lc 
google.li 
google.lk 
google.co.ls 
google.lt 
google.lu 
google.lv 
google.com.ly 
google.co.ma 
google.md 
google.me 
google.mg 
google.mk 
google.ml 
google.com.mm 
google.mn 
google.ms 
google.com.mt 
google.mu 
google.mv 
google.mw 
google.com.mx 
google.com.my 
google.co.mz 
google.com.na 
google.ne 
google.com.nf 
google.com.ng 
google.com.ni 
google.nl 
google.no 
google.com.np 
google.nr 
google.nu 
google.co.nz 
google.com.om 
google.com.pk 
google.com.pa 
google.com.pe 
google.com.ph 
google.pl 
google.com.pg 
google.pn 
google.co.pn 
google.com.pr 
google.ps 
google.pt 
google.com.py 
google.com.qa 
google.ro 
google.rs 
google.ru 
google.rw 
google.com.sa 
google.com.sb 
google.sc 
google.se 
google.com.sg 
google.sh 
google.si 
google.sk 
google.com.sl 
google.sn 
google.sm 
google.so 
google.st 
google.sr 
google.com.sv 
google.td 
google.tg 
google.co.th 
google.com.tj 
google.tk 
google.tl 
google.tm 
google.to 
google.tn 
google.com.tr 
google.tt 
google.com.tw 
google.co.tz 
google.com.ua 
google.co.ug 
google.co.uk 
google.com 
google.com.uy 
google.co.uz 
google.com.vc 
google.co.ve 
google.vg 
google.co.vi 
google.com.vn 
google.vu 
google.ws 
google.co.za 
google.co.zm 
google.co.zw 
admob.com 
adsense.com 
adwords.com 
android.com 
blogger.com 
blogspot.com 
chromium.org 
chrome.com 
chromebook.com 
cobrasearch.com 
googlemember.com 
googlemembers.com 
com.google 
feedburner.com 
doubleclick.com 
igoogle.com 
foofle.com 
froogle.com 
googleanalytics.com 
google-analytics.com 
googlecode.com 
googlesource.com 
googledrive.com 
googlearth.com 
googleearth.com 
googlemaps.com 
googlepagecreator.com 
googlescholar.com 
gmail.com 
googlemail.com 
keyhole.com 
madewithcode.com 
panoramio.com 
picasa.com 
sketchup.com 
urchin.com 
waze.com 
youtube.com 
youtu.be 
yt.be 
ytimg.com 
youtubeeducation.com 
youtube-nocookie.com 
like.com 
google.org 
google.net 
466453.com 
gooogle.com 
gogle.com 
ggoogle.com 
gogole.com 
goolge.com 
googel.com 
duck.com 
googlee.com 
googil.com 
googlr.com 
googl.com 
gmodules.com 
googleadservices.com 
googleapps.com 
googleapis.com 
goo.gl 
googlebot.com 
googlecommerce.com 
googlesyndication.com 
g.co 
whatbrowser.org 
localhost.com 
withgoogle.com 
ggpht.com 
youtubegaming.com 

हालांकि, अगर आप यदि वह वास्तव में सभी डोमेन है सुनिश्चित करना चाहते हैं, तो आप गूगल सीधे पूछना चाहिए।

+0

क्या सीएसपी हेडर लम्बाई की कोई सीमा है जो ऐसा करने से अधिक हो जाएगी? –

+0

@MichalCharemza HTTP शीर्षलेख की लंबाई के लिए कोई सीमा नहीं है, देखें: http://stackoverflow.com/questions/686217/maximum-on-http-header-values ​​ –

10

आप अपना img-src लॉक करके प्राप्त करने का प्रयास कर रहे हैं?

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

  1. ट्रैकिंग और उस की गोपनीयता निहितार्थ:

    कुछ सुरक्षा जोखिम है कि मैं चित्र लोड है, जो करने के लिए नीचे उबाल के साथ के बारे में सोच सकते हैं। यद्यपि आप पहले से ही Google Adwords का उपयोग कर रहे हैं जो बहुत अधिक ट्रैक करता है। और जो लोग इस पर ध्यान देते हैं वे आम तौर पर इसे अपने ब्राउज़र में अवरुद्ध करते हैं।

  2. असुरक्षित सामग्री की लोडिंग (मुझे लगता है कि आप विशेष रूप से HTTPS का उपयोग कर रहे हैं या यह पूरी बातचीत थोड़ा सा व्यर्थ है?)। यह img-src के लिए केवल https की अधिक ढीली सीएसपी नीति के साथ उपचार किया जा सकता है।

  3. उस छवि को लोड करना और बाद में उस नकली छवि के साथ अपनी वेबसाइट का अधिक भाग लेना। लेकिन इसके लिए जावास्क्रिप्ट और/या सीएसएस इंजेक्शन भी आवश्यक है - जिसे सीएसपी में बंद कर दिया जाना चाहिए।

अंत में जब तक आप एक XSS जोखिम लोगों को आसानी से आपके पृष्ठों में छवियों को लोड करने में सक्षम नहीं होना चाहिए। और यहां तक ​​कि अगर वे मुझे लगता है कि जोखिम छोटे हैं।

तो, मैं सिर्फ "img-src 'self' https :;" होने का लुत्फ उठाऊंगा दूसरों के सुझावों के आस-पास के किसी भी अन्य काम की कोशिश करने के बजाय - जिनमें से सभी डाउनसाइड्स हैं और भविष्य के सबूत नहीं हैं।

अंत में अगर आपको लगता है कि आपकी साइट की सुरक्षा है कि नीचे छवियों ताला एक उच्च प्राथमिकता मैं सवाल हैं आप गूगल ऐडवर्ड्स चल जाना चाहिए कि क्या है के बारे में चिंतित हैं।

हालांकि यदि कोई विशिष्ट खतरा है, तो आप इसके खिलाफ सुरक्षा करने की कोशिश कर रहे हैं, जबकि एक ही समय में एडवर्ड्स की अनुमति दे रही है, फिर इसके विवरण प्रदान करें और इसके आसपास अन्य तरीके भी हो सकते हैं। फिलहाल आपने वास्तविक अंतर्निहित समस्या को बताने के बिना विशेष समस्या का हल करने के लिए कहा है, जिसके बारे में आप पूछ रहे हैं उसके अलावा अन्य समाधान हो सकते हैं।

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