SaaS custom domain सुरक्षा: tenant host और TLS को सुरक्षित रखें
Customer domains को सुरक्षित रखने के लिए ownership verify करें, hostname को सही tenant से बाँधें, TLS lifecycle संभालें और takeover tests करें।
इस मार्गदर्शिका में
SaaS में customer custom domain को सुरक्षित कैसे करें?
Customer का branded hostname आपके application का प्रवेश-द्वार बनता है। Activation से पहले exact domain का control verify करें, verified hostname को trusted server-side record से एक tenant से जोड़ें और customer के disconnect करने पर mapping हटाएँ। TLS certificate जारी करने के लिए domain control साबित कर सकता है, लेकिन वह अपने-आप tenant data देखने की अनुमति नहीं देता और पुरानी assignment को हमेशा सुरक्षित नहीं रखता।
Domain verification और lifecycle के स्पष्ट चरण रखें
हर hostname को requested, ownership-pending, verified, certificate-pending, active, suspended और removed जैसे states से गुजारें। Unique DNS TXT challenge या दूसरे documented proof से domain owner का control verify करें। किसने बदलाव किया, evidence, tenant ID और समय दर्ज करें; domain वापस लेने या बदलने पर ownership फिर जाँचें।
Verified hostname से tenant server के trusted record में निकालें
Incoming hostname normalize करें, active domain registry में exact match माँगें और tenant वहीं से तय करें। Query parameter, मनमाने Host header या client-controlled X-Forwarded-Host से tenant न चुनें। Trusted proxy forwarding headers को replace करे, केवल expected hosts स्वीकारें और unknown या suspended domain को सुरक्षित error दें।
Certificate control को tenant authorization से अलग रखें
Domain ownership स्थापित और hostname सही tenant को assign होने के बाद ही certificate जारी करें। CloudFront के उदाहरण में alternate hostname को cover करने वाला trusted certificate चाहिए; दूसरे provider के नियम अलग हो सकते हैं। Valid certificate, wildcard या DNS record को tenant data का अधिकार न मानें। Customer domain पर cookies, redirects और absolute links भी जाँचें।
| Hostname और tenant | Ownership proof और तारीख | State और certificate | Trusted routing source | Removal/reclaim test owner |
|---|---|---|---|---|
| portal.customer.example | ||||
| login.customer.example | ||||
| Retired hostname |
Domain changes और certificate lifecycle कैसे संभालें?
Dangling DNS और पुरानी tenant mapping रोकें
Customer CNAME हटाए या service छोड़ दे तो पुराने destination पर किसी और के claim से पहले hostname mapping बंद करें और tenant content serve करना रोकें। Cleanup के दौरान domain unavailable रखें, provider association हटाएँ, जरूरत के अनुसार certificate या validation record हटाएँ और छोटा audit trail सुरक्षित करें। दोबारा activation के लिए fresh verification माँगें।
Certificate renewal automate करें और mismatch monitor करें
हर active hostname के certificate subject name, issuer, expiry और association track करें। Renewal, deployment propagation, failed validation और rollback expiry से पहले test करें। CloudFront में certificate changes asynchronous हो सकते हैं; provider के current operations निर्देशों के अनुसार पहले से alert दें।
Tenant cookies और links को सही origin तक सीमित रखें
Customer hostname पर host-only cookies को प्राथमिकता दें; व्यापक Domain attribute से अलग tenants में authentication state साझा हो सकती है। Password-reset, invitation और callback links request के Host header से नहीं, server-maintained verified origin से बनाएँ। Domain जुड़ने या हटने पर CORS, OAuth redirect, CSP और allowed-origin rules देखें।
Custom-domain से tenant data leak पकड़ने के लिए कौन-से tests करें?
दो customers के साथ host-to-tenant decision test करें
Tenant A और B के verified hosts से एक ही route खोलें। Unknown, mixed-case, trailing-dot, suspended और removed name तथा forged Host और X-Forwarded-Host आजमाएँ। पुष्टि करें कि server default tenant पर fallback नहीं करता और किसी customer का login, content या metadata दूसरे के domain पर नहीं दिखाता।
Reassignment, DNS loss और concurrent changes चलाकर देखें
DNS record गायब होने, domain transfer, दो tenants के एक hostname का दावा और certificate renewal के साथ removal की स्थिति बनाएँ। Active hostname पर atomic uniqueness constraint रखें और activation तथा deletion को idempotent बनाएँ। Background verifier administrator द्वारा suspend किए domain को फिर सक्रिय न कर सके।
Hostname पर निर्भर हर service की समीक्षा करें
Authentication, password reset, email link, callback, static asset, cache, analytics और support tool जाँचें। Safe route भी shared cache key, permissive cookie या absolute URL से leak कर सकता है। Session token या sensitive query log किए बिना hostname ID और tenant reference दर्ज करें।
SaaS custom-domain सुरक्षा के सवाल
क्या valid TLS certificate साबित करता है कि customer tenant खोल सकता है?
नहीं। यह HTTPS के लिए hostname control में मदद करता है, पर कौन-सा customer data serve होगा यह application authorization और active host-to-tenant mapping तय करते हैं।
क्या application Host header से सीधे tenant चुन सकती है?
केवल तब जब normalized host को trusted active domain registry में validate किया गया हो। मनमाने Host या forwarding header पर भरोसा न करें और match न मिलने पर default tenant न चुनें।
Customer DNS record हटा दे तो क्या करें?
Hostname serve करना suspend करें, tenant mapping तथा provider association नियंत्रित तरीके से हटाएँ और किसी दूसरे tenant को देने से पहले ownership फिर verify करें।
क्या एक wildcard certificate सभी customer domains serve कर सकता है?
Provider और certificate के नियम अलग हैं; wildcard केवल अपनी निर्धारित domain सीमा के नाम cover करता है। हर customer domain की ownership, association और renewal अलग control decision मानें और वास्तविक configuration test करें।
संबंधित व्यावहारिक मार्गदर्शिकाएँ
संबंधित मुद्दों की मार्गदर्शिकाएँ
स्रोत और प्रकाशन रिकॉर्ड
27 सितंबर 2026 को तैयार मसौदा; engineering, security और संपादकीय समीक्षा बाकी है · स्रोत जाँचे गए .
- Use custom URLs by adding alternate domain names (CNAMEs)
- Requirements for using SSL/TLS certificates with CloudFront
- Testing for Host Header Injection
- AWS SaaS Lens: अलग tenants के बीच अनधिकृत access रोकना
- OWASP Cheat Sheet: authorization
- AWS SaaS Lens: multi-tenant SaaS की विश्वसनीयता का परीक्षण
- AWS SaaS Lens: tenant-aware operations और onboarding
- OWASP Session Management Cheat Sheet
- OWASP Cheat Sheet: logging