23 पॉइंट द्वारा GN⁺ 2024-05-29 | 5 टिप्पणियां | WhatsApp पर शेयर करें
  • TL;DR : API कॉल्स को HTTP से HTTPS पर रीडायरेक्ट करने के बजाय उन्हें fail करना चाहिए। HTTP को पूरी तरह disable करें या साफ़ HTTP error response लौटाएँ, और unencrypted connection पर भेजी गई API keys को revoke करें। दुर्भाग्य से, आज कई प्रसिद्ध API providers ऐसा नहीं करते।

पृष्ठभूमि

  • जब web browser किसी HTTP URL पर जाता है, तो service अक्सर उस request को HTTPS page पर redirect कर देती है।
  • शुरुआती HTTP traffic encrypted नहीं होता, इसलिए यह network man-in-the-middle (MITM) attacks के लिए vulnerable होता है।
  • HSTS (HTTP Strict Transport Security) जैसी technologies लाई गईं, जिससे security मज़बूत हुई।

एक साधारण टाइपो का जोखिम

  • काम के दौरान third-party API integration करते समय API base URL को https:// की जगह http:// लिख दिया गया।
  • Node.js का fetch चुपचाप HTTPS redirect को follow कर गया।
  • API key plain text में transmit हो गई, जिससे security risk पैदा हो सकता था।
  • code review के दौरान यह गलती पकड़ी गई और समस्या ठीक की गई।

fail fast सिद्धांत

  • अगर API, HTTP requests को HTTPS पर redirect करती है, तो इस तरह का typo आसानी से छूट सकता है।
  • fail fast principle अपनाना बेहतर है: unencrypted API calls को स्पष्ट रूप से fail होना चाहिए।
  • API server का HTTP interface disable करना, या HTTP requests पर error message लौटाना बेहतर है।

अन्य APIs के उदाहरण

  • कई प्रसिद्ध APIs HTTP requests पर 403 error message लौटाती हैं या HTTP interface disable कर देती हैं।
  • लेकिन कुछ APIs अब भी HTTP से HTTPS पर redirect करती हैं।

best practices की ज़रूरत

  • user-facing applications में HTTP से HTTPS redirect आम बात है।
  • लेकिन APIs के मामले में, HTTP से HTTPS पर redirect करना उल्टा हानिकारक हो सकता है।
  • OWASP जैसे security projects से APIs के लिए स्पष्ट guidelines की ज़रूरत है।

निष्कर्ष

  • APIs को HTTP से HTTPS पर redirect करने के बजाय, unencrypted requests को स्पष्ट रूप से fail करना चाहिए।
  • अगर API keys unencrypted connection के ज़रिए भेजी जाएँ, तो उन्हें तुरंत revoke कर देना चाहिए।
  • API security best practices को update करके स्पष्ट guidance देने की ज़रूरत है।

GN⁺ की राय

  • security मज़बूत करने की ज़रूरत: API security बहुत महत्वपूर्ण है, और HTTP से HTTPS redirect security vulnerabilities पैदा कर सकता है।
  • fail fast सिद्धांत: development के शुरुआती चरण में errors पकड़ने और ठीक करने के लिए fail fast principle अपनाना महत्वपूर्ण है।
  • best practices update: OWASP जैसे security projects को API security पर स्पष्ट guidelines देनी चाहिए।
  • automated key revocation: unencrypted connection के ज़रिए भेजी गई API keys अपने-आप revoke होनी चाहिए।
  • अन्य APIs के उदाहरणों से सीख: दूसरे APIs के security practices को देखकर अपनी API security मज़बूत करने की ज़रूरत है।

5 टिप्पणियां

 
wkang586 2024-06-03

लगता है यह ऐसा क्षेत्र है जिसे कानून के जरिए रेगुलेट किया जाना चाहिए।
फिलहाल, नोट... API में https redirect पर रोक

 
koxel 2024-05-31

तकनीकी रूप से यह बात सही है
लेकिन ज़्यादातर enterprise clients के लिए security policy के तहत यह गाइडलाइन होती है कि http access होने पर हमेशा https पर redirect भेजा जाए।
साथ ही वे अपनी साइट इस्तेमाल करने वाले ग्राहकों को error screen दिखाना भी पसंद नहीं करते, इसलिए अगर आप अपनी खुद की service नहीं चला रहे हैं, तो supplier की स्थिति में यह कुछ दूर की बात जैसा है..

 
thxgeeknews 2024-05-29

काम करते समय एक third-party API के साथ integration की प्रक्रिया में API base URL को "http://";; की जगह गलती से "https://"; के रूप में दर्ज कर दिया।
लगता है http <-> https उलट गया है।

 
xguru 2024-05-29

अरे, AI ने ऐसी गलती कर दी, हाहा, उसे ठीक कर दिया है।

 
GN⁺ 2024-05-29
Hacker News राय
  • OpenAI API को अपडेट किया गया है ताकि HTTP अनुरोधों पर 403 error लौटाया जाए।
  • Stack Exchange API का तरीका बेहतर है, जिसमें HTTP से भेजी गई API key को रद्द कर दिया जाता है और एक error message लौटाया जाता है।
  • ध्यान रखना चाहिए कि HTTP से HTTPS पर redirect अपने-आप सेट न हो।
  • cURL का default behavior अपने-आप redirect न करना है, और यह जानबूझकर रखा गया अच्छा default है।
  • HTTP access को block करना और केवल HTTPS उपलब्ध कराना महत्वपूर्ण है।
  • यह चौंकाने वाला है कि "Provider B" ने जवाब दिया कि MITM attack program scope के बाहर है।
  • यह सवाल है कि क्या HTTP sniffing, MITM attack का ही एक प्रकार है।
  • उम्मीद है कि समय के साथ HTTPS और SVCB DNS records पारंपरिक HTTP server redirect की जगह ले सकेंगे।
  • API providers को पुराने HTTP access logs की जांच करनी चाहिए और देखना चाहिए कि plain-text HTTP का उपयोग कितना व्यापक है।
  • कई APIs web application firewall के पीछे host की गई हैं, जहाँ automatic HTTPS redirect को default rule के रूप में सेट किया जाता है।
  • API को HTTP से HTTPS पर automatically redirect नहीं करना चाहिए, और client libraries को भी default रूप से redirects follow नहीं करने चाहिए।
  • HTTP से HTTPS पर redirect सेट करना लंबे समय में traffic कम करने में मदद करता है।
  • infrastructure में URL typo से होने वाली समस्याओं को जल्दी सुलझाने के लिए अक्सर redirect सेट कर दिया जाता है।