अनधिकृत पहुंच के खिलाफ डब्ल्यूएमएस को सुरक्षित करना?


21

एक परियोजना में ग्राहक चाहता है कि अनधिकृत पहुंच के खिलाफ डब्ल्यूएमएस की छवियों को सुरक्षित किया जाए।

एहसास करने के लिए सामान्य उपाय क्या हैं?

क्या वे ओजीसी-मानकों के अनुरूप हैं?

जवाबों:


17

OGC कल्पना केवल http के उपयोग को अनिवार्य करती है। यदि यह आज्ञाकारी http है तो यह ठीक होना चाहिए।

कुछ संभावित तरीके:

  • HTTP बेसिक ऑथेंटिकेशन (सादे पाठ के रूप में भेजा गया पासवर्ड, सीमित ग्राहक सहायता हो सकती है)
  • HTTP डाइजेस्ट ऑथेंटिकेशन (अधिक सुरक्षित, सीमित ग्राहक सहायता हो सकती है)
  • ग्राहक के आईपी पते को फ़िल्टर करें (लागू करने में आसान लेकिन विशेष रूप से सुरक्षित नहीं)।
  • गुप्त URL। एक अनुमान लगाने योग्य URL उत्पन्न करने के लिए GUID का उपयोग करें । मान लेता है कि क्लाइंट URL को गुप्त रखेंगे। पासवर्ड प्रविष्टि की तुलना में उपयोगकर्ता के लिए बहुत सरल। ग्राहक सहायता की गारंटी।

11

2005 से OGC की यह पोस्ट कहती है:

कोई विशिष्ट सुरक्षा पहलू नहीं हैं जो OGC WMS / WFS / WCS इंटरफ़ेस विनिर्देशों का हिस्सा हैं। इसके बजाय, प्रसंस्करण स्टैक में सुरक्षा और प्रमाणीकरण को किसी अन्य परत पर सबसे अच्छी तरह से नियंत्रित किया जाता है।


4

यदि अस्पष्टता के माध्यम से सुरक्षा आपके उद्देश्यों के लिए पर्याप्त है तो आप परत के लिए गलत विस्तार को कॉन्फ़िगर कर सकते हैं:

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

मैंने कुछ WMS साइटों पर पहले से लागू इस समाधान को देखा है, लेकिन यह संभवतः OGC-मानकों के अनुरूप नहीं है क्योंकि सर्वर एक गलत विस्तार देता है।


3

आप वीपीएन द्वारा सुरक्षित HTTP पर डब्ल्यूएमएस से कनेक्ट कर सकते हैं। यह आईपी नेटवर्क के स्तर पर सुरक्षा परत डालता है, लेकिन निश्चित रूप से जटिलता जोड़ता है।



2

मान लें कि आपके पास निम्नलिखित हैं:

आप एक api_keysतालिका access_tokenऔर expires_atकॉलम बना सकते हैं । फिर एक querystring पैरामीटर जोड़ें &api_key=my_unique_key। टाइलइंडेक्स के लिए आपका मैपफाइल ( उदाहरण देखें ) कुछ इस तरह से कॉन्फ़िगर किया जाएगा:

DATA "geom FROM (
  SELECT
   my_table.geom,
   my_table.gid,
  api_keys.access_token
  FROM my_table
  CROSS JOIN api_keys
  WHERE ST_Intersects(geom, !BOX!) and api_keys.expires_at > now()
) AS subquery USING UNIQUE gid USING SRID=4326"
FILTER "access_token = '%api_key%'
VALIDATION
  'api_key' '^[a-zA-Z0-9\_\-]{33}$'
  'default_api_key' ''
END

यह विचार आपका अलग एप्लिकेशन है जो डेटाबेस में उपयोगकर्ताओं को प्रमाणित करता है कि api_keysटेबल अपडेट होगा , access_tokenmd5 हैश पर सेटिंग करेगा और expires_atकॉलम को भविष्य में किसी बिंदु पर अपडेट रखेगा ।

वैकल्पिक रूप से, आप ट्रैफ़िक को एक अलग फ्रेमवर्क पर प्रॉक्सी कर सकते हैं, जो WMS / OWS प्रमाणीकरण को संभालता है और अधिकृत उपयोगकर्ताओं को आंतरिक Mapserver के लिए अधिकृत करता है। यहां एक पोस्ट से लेकर मानचित्रकार-उपयोगकर्ता मेलिंग सूची तक प्राप्त की गई सूची है , जो कि इस प्रश्न का अन्य लोगों ने क्या जवाब दिया है, इसकी एक विस्तारित / सारांशित सूची है।

  • Mapbender - एक लंबे समय के आसपास रहा है और OWS कार्यक्षमता की एक अद्भुत राशि है
  • Geoprisma
  • secureOWS
  • GeoShield

यदि आप कभी Geoserver का उपयोग करने का निर्णय लेते हैं, तो AuthKey मॉड्यूल पर एक नज़र डालें ।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.