एक AKS क्लस्टर में एक पॉड को क्लाइंट सीक्रेट या प्रमाणपत्रों जैसे संग्रहीत क्रेडेंशियल का उपयोग किए बिना Azure Key Vault तक सुरक्षित रूप से पहुंचने की अनुमति दें।
→Azure AD Workload Identity का उपयोग करें। एक उपयोगकर्ता-असाइन की गई प्रबंधित पहचान बनाएं, K8s सेवा खाते और प्रबंधित पहचान के बीच एक Federated Identity Credential स्थापित करें, और Key Vault तक प्रबंधित पहचान पहुंच प्रदान करें।
क्यों: Workload Identity एक Kubernetes टोकन को Azure AD टोकन के लिए आदान-प्रदान करने के लिए OIDC फ़ेडरेशन का उपयोग करती है, जिससे क्लस्टर में सीक्रेट को स्टोर करने, प्रबंधित करने या घुमाने की आवश्यकता पूरी तरह समाप्त हो जाती है।
संदर्भ↗
एक Azure Key Vault को सुरक्षित करें ताकि केवल विशिष्ट VNets से एक्सेस की अनुमति दी जा सके, सभी ऑपरेशंस को लॉग करें, और महत्वपूर्ण कुंजियों के आकस्मिक विलोपन से बचाएं।
→Key Vault फ़ायरवॉल को 'निजी एंडपॉइंट और चयनित नेटवर्क' से एक्सेस की अनुमति देने के लिए कॉन्फ़िगर करें। Log Analytics वर्कस्पेस में डायग्नोस्टिक लॉगिंग सक्षम करें। Soft Delete और Purge Protection दोनों को सक्षम करें।
क्यों: Soft Delete आकस्मिक विलोपन से रिकवरी की अनुमति देता है, लेकिन Purge Protection एक विशेषाधिकार प्राप्त उपयोगकर्ता को भी रिटेंशन अवधि के दौरान वॉल्ट या उसकी सामग्री को स्थायी रूप से हटाने से रोकता है। TDE कुंजियों की सुरक्षा के लिए यह संयोजन महत्वपूर्ण है।
एक Azure App Service को कॉन्फ़िगरेशन में कनेक्शन स्ट्रिंग पासवर्ड संग्रहीत किए बिना डेटा पुनर्प्राप्त करने के लिए Azure SQL Database पर प्रमाणीकरण करने की आवश्यकता है।
→App Service पर एक सिस्टम-असाइन की गई प्रबंधित पहचान सक्षम करें। Azure SQL में, App Service के प्रबंधित पहचान नाम पर मैप किया गया एक निहित उपयोगकर्ता बनाएं और उसे आवश्यक डेटाबेस भूमिकाएँ (जैसे, db_datareader) प्रदान करें।
क्यों: Managed Identity Azure AD में Azure संसाधन के लिए स्वयं एक पहचान प्रदान करती है। Azure क्रेडेंशियल निर्माण और रोटेशन को स्वचालित रूप से संभालता है, जिससे संग्रहीत सीक्रेट समाप्त हो जाते हैं, जो एक प्रमुख सुरक्षा सर्वोत्तम अभ्यास है।
Azure Key Vault में आपके संगठन द्वारा नियंत्रित कुंजी का उपयोग करके Azure VM प्रबंधित डिस्क को स्थिर अवस्था में एन्क्रिप्ट करें।
→एक Disk Encryption Set संसाधन बनाएं। इसे आपके Azure Key Vault से एक ग्राहक-प्रबंधित कुंजी (CMK) का उपयोग करने के लिए कॉन्फ़िगर करें। VM के प्रबंधित डिस्क को Disk Encryption Set असाइन करें।
क्यों: यह CMK के साथ Server-Side Encryption (SSE) है, जो स्टोरेज इंफ्रास्ट्रक्चर में डेटा को एन्क्रिप्ट करता है। यह Azure Disk Encryption (ADE) की तुलना में सरल है, जो गेस्ट OS के अंदर डेटा को एन्क्रिप्ट करने के लिए BitLocker/dm-crypt का उपयोग करता है और आमतौर पर OS और डेटा डिस्क के लिए एक साथ उपयोग किया जाता है।
यह सुनिश्चित करें कि Azure Container Registry (ACR) में संग्रहीत कंटेनर छवियों को डिप्लॉय करने से पहले कमजोरियों के लिए स्कैन किया जाता है।
→Microsoft Defender for Containers सक्षम करें। यह ACR में छवियों को स्वचालित रूप से स्कैन करेगा जब उन्हें पुश किया जाता है, जब उन्हें खींचा जाता है, और नई खोजी गई कमजोरियों के लिए निरंतर आधार पर।
क्यों: यह 'शिफ्ट-लेफ्ट' सुरक्षा अभ्यास CI/CD पाइपलाइन में कमजोरियों की पहचान जल्दी करता है। Defender for Containers Azure इकोसिस्टम के भीतर मूल रूप से यह स्कैनिंग क्षमता प्रदान करता है।
Azure SQL Database पर संभावित SQL इंजेक्शन हमलों और असामान्य एक्सेस पैटर्न के लिए अलर्ट का पता लगाएं और प्राप्त करें।
→लॉजिकल SQL सर्वर पर Microsoft Defender for SQL सक्षम करें। यह उन्नत खतरे की सुरक्षा और भेद्यता मूल्यांकन प्रदान करता है।
क्यों: Defender for SQL समर्पित वर्कलोड सुरक्षा योजना है जो SQL इंजेक्शन, ब्रूट फोर्स हमलों और असामान्य डेटा एक्सेस जैसे खतरों का पता लगाने के लिए व्यवहार विश्लेषण और मशीन लर्निंग का उपयोग करती है, जो नेटवर्क-स्तरीय उपकरणों के लिए दृश्यमान नहीं हैं।
एक स्टोरेज खाते को एक विशिष्ट VNet तक सीमित करें, लेकिन फिर भी Azure Backup जैसी विश्वसनीय Microsoft सेवाओं को उस तक पहुंचने की अनुमति दें।
→स्टोरेज खाता नेटवर्किंग सेटिंग्स में, 'चयनित वर्चुअल नेटवर्क और IP एड्रेस से सक्षम' का चयन करें। आवश्यक VNet/सबनेट जोड़ें। फिर, 'इस स्टोरेज खाते तक पहुंचने के लिए विश्वसनीय Microsoft सेवाओं की अनुमति दें' के लिए बॉक्स को चेक करें।
क्यों: विश्वसनीय सेवाओं का अपवाद विशिष्ट Microsoft सेवाओं के लिए VNet फ़ायरवॉल नियमों को बायपास करने के लिए एक सुरक्षित मार्ग बनाता है। इसके बिना, उपयोगकर्ता की ओर से संचालित होने वाली सेवाएं (जैसे Backup या Portal) ब्लॉक हो जाएंगी।
एक Azure SQL डेटाबेस में विशिष्ट संवेदनशील डेटा कॉलम (जैसे, क्रेडिट कार्ड नंबर) को सुरक्षित रखें, यहां तक कि विशेषाधिकार प्राप्त डेटाबेस प्रशासकों (DBAs) से भी।
→Always Encrypted का उपयोग करें। क्लाइंट एप्लिकेशन ड्राइवर डेटा को डेटाबेस में भेजने से पहले उसे पारदर्शी रूप से एन्क्रिप्ट करता है, और एन्क्रिप्शन कुंजी कभी भी डेटाबेस इंजन को प्रकट नहीं की जाती हैं।
क्यों: Transparent Data Encryption (TDE) पूरे डेटाबेस को स्थिर अवस्था में (डिस्क पर) एन्क्रिप्ट करता है, लेकिन एक्सेस वाला एक DBA अभी भी डेटा देख सकता है। Always Encrypted क्लाइंट-साइड एन्क्रिप्शन प्रदान करता है, डेटा का प्रबंधन करने वालों (DBAs) को उसे देखने वालों से अलग करता है।
एक Azure VM पर अत्यधिक संवेदनशील डेटा को प्रोसेस करें, यह सुनिश्चित करते हुए कि यह हाइपरवाइजर और क्लाउड ऑपरेटरों से मेमोरी में भी एन्क्रिप्टेड और सुरक्षित रहता है।
→एक Azure Confidential VM डिप्लॉय करें। ये VMs एक पृथक, एन्क्रिप्टेड मेमोरी स्पेस बनाने के लिए AMD SEV-SNP जैसे हार्डवेयर-आधारित Trusted Execution Environments (TEEs) का उपयोग करते हैं।
क्यों: Standard VM एन्क्रिप्शन (जैसे ADE या SSE) डेटा को स्थिर अवस्था में सुरक्षित रखता है। Confidential Computing एकमात्र ऐसी तकनीक है जो मेमोरी में *उपयोग के दौरान* डेटा को सुरक्षित रखती है, जो क्लाउड में डेटा गोपनीयता और अलगाव का उच्चतम स्तर प्रदान करती है।
एक App Service को Key Vault से एक सीक्रेट को एप्लिकेशन सेटिंग के रूप में उपयोग करने की आवश्यकता है, एप्लिकेशन कोड को Key Vault SDK का उपयोग करने के लिए बदले बिना।
→App Service पर प्रबंधित पहचान सक्षम करें और इसे Key Vault में सीक्रेट पर 'Get' अनुमतियां प्रदान करें। App Service कॉन्फ़िगरेशन में, Key Vault संदर्भ के रूप में स्वरूपित मान के साथ एक एप्लिकेशन सेटिंग बनाएं: `@Microsoft.KeyVault(SecretUri=...)`।
क्यों: यह सुविधा App Service प्लेटफॉर्म को प्रबंधित पहचान का उपयोग करके रनटाइम पर सीक्रेट मान को हल करने की अनुमति देती है। एप्लिकेशन कोड बस एक मानक पर्यावरण चर को पढ़ता है, Key Vault इंटरैक्शन को अमूर्त करता है।
अनुपालन-संबंधित डेटा को Azure Blob Storage में 7-वर्ष की रिटेंशन अवधि के लिए WORM (Write-Once, Read-Many) स्थिति में संग्रहीत करें।
→स्टोरेज कंटेनर पर, एक immutability नीति कॉन्फ़िगर करें। 7 साल के लिए निर्धारित एक समय-आधारित रिटेंशन नीति का उपयोग करें और नीति को लॉक करें। एक बार लॉक होने के बाद, डेटा को रिटेंशन अवधि समाप्त होने तक किसी भी व्यक्ति द्वारा संशोधित या हटाया नहीं जा सकता है।
क्यों: यह सुविधा विशेष रूप से नियामक अनुपालन आवश्यकताओं (जैसे, SEC 17a-4) को पूरा करने के लिए डिज़ाइन की गई है। नीति को लॉक करना महत्वपूर्ण कदम है जो इसे वास्तव में अपरिवर्तनीय बनाता है।
एक एकल Azure SQL डेटाबेस का उपयोग करने वाले बहु-किरायेदार एप्लिकेशन में, यह सुनिश्चित करें कि एक किरायेदार के उपयोगकर्ता केवल अपने स्वयं के किरायेदार से संबंधित डेटा देख सकते हैं।
→Row-Level Security (RLS) लागू करें। एक प्रेडिकेट फ़ंक्शन के साथ एक सुरक्षा नीति बनाएं जो उपयोगकर्ता के किरायेदार ID के आधार पर पंक्तियों को फ़िल्टर करती है, जो सत्र संदर्भ या उपयोगकर्ता लुकअप तालिका में संग्रहीत होती है।
क्यों: RLS सीधे डेटाबेस इंजन के भीतर एक्सेस लॉजिक को लागू करता है। यह एप्लिकेशन लेयर में फ़िल्टरिंग लागू करने की तुलना में अधिक सुरक्षित और विश्वसनीय है, क्योंकि इसे बायपास नहीं किया जा सकता है और यह एप्लिकेशन कोड के लिए पारदर्शी है।
UEFI से OS कर्नेल तक पूरी बूट चेन की अखंडता सुनिश्चित करके बूट किट और रूटकिट के खिलाफ जनरेशन 2 VMs को सुरक्षित रखें।
→Trusted Launch सक्षम के साथ VM को प्रोविज़न करें। यह Secure Boot को सक्रिय करता है, जो सभी बूट घटकों के हस्ताक्षर को मान्य करता है, और measured boot और अटेंशन के लिए एक वर्चुअल Trusted Platform Module (vTPM) को सक्रिय करता है।
क्यों: Trusted Launch परिष्कृत, निम्न-स्तरीय मैलवेयर को संबोधित करता है जो पारंपरिक OS-स्तरीय सुरक्षा नियंत्रणों को विफल कर सकता है। यह VM के लिए विश्वास का एक हार्डवेयर रूट स्थापित करता है।