Terraform की संवेदनशील स्थिति बचाएँ—सिर्फ sensitive लिखना काफी नहीं

|लेखक: QUASA संपादकीय टीम|6 मिनट पढ़ने का समय| 1
Terraform की संवेदनशील स्थिति बचाएँ—सिर्फ sensitive लिखना काफी नहीं

Terraform में किसी मान को संवेदनशील घोषित करने से वह सामान्य प्रदर्शन में छिपता है, लेकिन स्थिति और सहेजी गई योजना में रह सकता है। HashiCorp का सुरक्षा मार्गदर्शन ऐसे मानों के लिए दूरस्थ स्थिति, स्थिर अवस्था में कूटलेखन, सीमित पहुँच और पहुँच के लेखा-अभिलेख सुझाता है। स्थिति फ़ाइल पढ़ सकने वाला व्यक्ति उसमें रखे रहस्य भी पढ़ सकता है।

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

संवेदनशील चिह्न की सीमा समझें

संवेदनशील चिह्न का काम योजना और लागू करने के सामान्य प्रदर्शन में मान को ढकना है। यदि किसी संसाधन को उसका वास्तविक मान चाहिए, तो Terraform उसे स्थिति में दर्ज कर सकता है; सहेजी गई योजना भी उस मान को रख सकती है। इसलिए प्रदर्शन में छिपा हुआ पासवर्ड या टोकन देखकर यह न मानें कि परियोजना की सभी फ़ाइलें साझा करने योग्य हैं। स्थिति और योजना फ़ाइलों को रहस्य वाली फ़ाइलों जैसी पहुँच और भंडारण सुरक्षा दें।

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

दूरस्थ बैकएंड में स्थिति ले जाएँ

बैकएंड वह स्थान तय करता है जहाँ Terraform स्थिति रखता है। स्थानीय व्यवस्था में स्थिति कार्य निर्देशिका की फ़ाइल बनती है। दूरस्थ व्यवस्था से टीम एक नियंत्रित भंडार पर काम कर सकती है और नियमित संचालन में स्थानीय स्थिति प्रति रखने की जरूरत घटती है। इसका लाभ तभी है जब चुने गए भंडार की अनुमति, कूटलेखन और अभिलेख वास्तव में निर्धारित हों। केवल दूरस्थ पता भर देना सुरक्षा नीति नहीं बनाता।

Amazon S3 चुनने पर Terraform का S3 बैकएंड विवरण भंडार, उसके भीतर स्थिति का पथ और क्षेत्र निर्धारित करने के साथ सर्वर-पक्ष कूटलेखन तथा स्थिति लॉक करने के विकल्प बताता है। भंडार और पथ को हर परिवेश के लिए स्पष्ट रखें ताकि उत्पादन की स्थिति किसी दूसरे परिवेश की स्थिति से न मिले। विन्यास में कूटलेखन के लिए encrypt और समवर्ती बदलाव रोकने के लिए use_lockfile सक्षम करें। लॉक स्थिति को एक साथ लिखे जाने से बचाने के लिए है; पढ़ने की अनुमति को वह सीमित नहीं करता।

पहले से स्थानीय स्थिति है तो बदलाव से पहले उसकी सुरक्षित प्रति लें। उसके बाद बैकएंड विन्यास जोड़कर terraform init चलाएँ और स्थानांतरण का संकेत आने पर मौजूदा स्थिति को नए भंडार में ले जाएँ। नए पथ पर अपेक्षित स्थिति मिलने और अगला संचालन उसी से जुड़ने की पुष्टि के बाद पुरानी प्रतियों का निपटान करें। स्थानीय प्रति को साझा परियोजना निर्देशिका या संस्करण नियंत्रण में छोड़ देने से स्थानांतरण का सुरक्षा लाभ अधूरा रहता है।

कूटलेखन के साथ अनुमति और अभिलेख तय करें

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

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

स्थिति तक पहुँच के लेखा-अभिलेख चालू करें ताकि पढ़ने और बदलने की गतिविधि का पता लगाया जा सके। अभिलेख उपलब्ध कराना ही काफी नहीं: उनके संरक्षण की अवधि, उन्हें देखने वाले लोग और असामान्य पहुँच की समीक्षा की जिम्मेदारी भी तय करें। यदि किसी दूसरे विन्यास को केवल चुनिंदा साझा मान चाहिए, तो पूरी स्थिति पढ़ने की अनुमति उसके रहस्य भी खोल सकती है; उन मानों को अलग माध्यम से देना अधिक सीमित व्यवस्था है।

बैकएंड प्रमाण-पत्र स्थानीय प्रतियों से बचाएँ

HashiCorp का बैकएंड विन्यास विवरण बताता है कि विन्यास में या आरंभिक आदेश के बैकएंड तर्क से दिए गए गोपनीय मान स्थानीय .terraform/terraform.tfstate और सहेजी गई योजना फ़ाइलों में साधारण पाठ के रूप में रह सकते हैं। नाम में स्थिति फ़ाइल जैसा अंश होने पर भी यह स्थानीय फ़ाइल वर्तमान कार्य निर्देशिका का बैकएंड विन्यास रखती है; दूरस्थ भंडार वाली वास्तविक स्थिति इससे अलग है। इसलिए दूरस्थ स्थिति पर लागू कूटलेखन स्थानीय विन्यास प्रति में लिखे प्रमाण-पत्र की रक्षा नहीं करता।

जहाँ बैकएंड इसकी अनुमति दे, प्रमाण-पत्र संबंधी तर्क खाली छोड़ें और संबंधित सेवा के पर्यावरण चर या संरक्षित प्रमाण-पत्र फ़ाइल का उपयोग करें। Amazon S3 के लिए AWS की साझा प्रमाण-पत्र फ़ाइल और सेवा के निर्धारित पर्यावरण चर उपलब्ध हैं। स्वचालित कार्य में ऐसे मान उसके चलने के समय ही उपलब्ध कराएँ और अभिलेख में उन्हें उजागर न होने दें। यदि स्थानीय प्रमाण-पत्र फ़ाइल रखनी पड़े, तो उसकी पहुँच भी उसी गंभीरता से सीमित करें जिस गंभीरता से स्थिति की पहुँच सीमित की है।

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

लागू करने से पहले जाँच-सूची

  1. पहचानें कि कौन-से वास्तविक मान स्थिति या सहेजी गई योजना में पहुँच सकते हैं। संवेदनशील चिह्न को प्रदर्शन छिपाने की व्यवस्था मानें।
  2. चुने गए दूरस्थ बैकएंड का भंडार और स्थिति पथ तय करें। स्थानीय स्थिति हो तो सुरक्षित प्रति लेकर स्थानांतरण करें और नए पथ की पुष्टि करें।
  3. स्थिर अवस्था में कूटलेखन, सुरक्षित परिवहन, काम के अनुसार पढ़ने-लिखने की अनुमति और पहुँच के लेखा-अभिलेख जाँचें। समवर्ती बदलाव संभव हों तो लॉकिंग सक्षम करें।
  4. बैकएंड प्रमाण-पत्र विन्यास और आदेश के तर्क से बाहर रखें। पर्यावरण चर या सेवा की प्रमाण-पत्र व्यवस्था अपनाएँ; स्थानीय .terraform निर्देशिका और योजना फ़ाइलों की पहुँच सीमित करें।

यह भी पढ़ें:

साझा करें:

हमारे न्यूज़लेटर की सदस्यता लें

Web3, AI और क्रिप्टो की नवीनतम खबरें सीधे अपने इनबॉक्स में पाएँ।

0