एसएलएसए स्तर तक पहुंचने के लिए आपको क्या करने की आवश्यकता है - एक बहुत ही व्यावहारिक मार्गदर्शिका

सभी पद

पृष्ठभूमि

एसएलएसए (सॉफ्टवेयर कलाकृतियों के लिए आपूर्ति-श्रृंखला स्तर) एक सुरक्षा ढांचा है जिसका लक्ष्य छेड़छाड़ को रोकना, अखंडता में सुधार करना और पैकेज और बुनियादी ढांचे को सुरक्षित करना है। एसएलएसए की मूल अवधारणा यह है कि किसी सॉफ़्टवेयर आर्टिफैक्ट पर तभी भरोसा किया जा सकता है जब वह तीन आवश्यकताओं का अनुपालन करता हो:

  1. कलाकृति में इसकी उत्पत्ति और निर्माण प्रक्रिया (एल1) का वर्णन करने वाला एक उद्गम दस्तावेज़ होना चाहिए।
  2. प्रोवेंस दस्तावेज़ भरोसेमंद और सत्यापित डाउनस्ट्रीम (L2) होना चाहिए।
  3. निर्माण प्रणाली भरोसेमंद (L3) होनी चाहिए।

एसएलएसए ढांचा स्तरों को परिभाषित करता है, जो दर्शाता है कि सॉफ्टवेयर आपूर्ति श्रृंखला कितनी सुरक्षित है। ये स्तर इन आवश्यकताओं के कार्यान्वयन के स्तर के अनुरूप हैं (ऊपर L1-L3 के रूप में उल्लेखित)।

मुंशी का valint slsa कमांड का उपयोग प्रोवेंस दस्तावेज़ तैयार करने के लिए किया जा सकता है। निम्नलिखित, हम वर्णन करते हैं कि इस उपकरण का उपयोग करके एसएलएसए स्तर कैसे प्राप्त किया जाए।

नोट: हम यहां SLSA V1.0 फ्रेमवर्क का संदर्भ दे रहे हैं।

एसएलएसए एल1

RSI आवश्यकताओं एसएलएसए एल1 के लिए शामिल हैं:

  • सॉफ़्टवेयर निर्माता एक सुसंगत निर्माण प्रक्रिया का पालन करते हैं।
  • बिल्ड प्लेटफ़ॉर्म स्वचालित रूप से उद्गम डेटा उत्पन्न करता है जो बताता है कि कलाकृतियों का निर्माण कैसे किया गया था।
  • सॉफ़्टवेयर निर्माता उपभोक्ताओं को उद्गम डेटा वितरित करते हैं।

एसएलएसए एल1 प्राप्त करने के लिए चेकलिस्ट:

  • सीआई प्रणाली का उपयोग करके अपना सॉफ़्टवेयर बनाएं। अधिमानतः ऐसी बिल्ड स्क्रिप्ट का उपयोग करें जो स्रोत-नियंत्रित हो।
  • सक्रिय करें valint slsa प्रोवेंस दस्तावेज़ बनाने के लिए आपकी बिल्ड स्क्रिप्ट के भाग के रूप में कमांड। ध्यान दें कि valint slsa  कमांड प्रोवेंस दस्तावेज़ में अतिरिक्त जानकारी जोड़ने की अनुमति देता है - आप प्रोवेंस दस्तावेज़ की सामग्री को अपनी आवश्यकताओं के अनुसार तैयार कर सकते हैं।

एसएलएसए एल2

RSI आवश्यकताओं एसएलएसए एल2 के लिए शामिल हैं:

  • एसएलएसए एल1 आवश्यकताएँ।
  • बिल्ड एक होस्टेड बिल्ड प्लेटफ़ॉर्म पर चलता है जो उत्पत्ति को स्वयं उत्पन्न करता है और उस पर हस्ताक्षर करता है।
  • उद्गम के डाउनस्ट्रीम सत्यापन में उद्गम की प्रामाणिकता को मान्य करना शामिल है।

एसएलएसए एल2 प्राप्त करने के लिए चेकलिस्ट:

  • एसएलएसए एल1 चेकलिस्ट।
  • होस्टेड बिल्ड सेवा का उपयोग करें (डेवलपर मशीन पर बिल्ड करने के विपरीत)।
  • एक हस्ताक्षरित प्रोवेंस दस्तावेज़ बनाएं (अहस्ताक्षरित दस्तावेज़ के बजाय, जो एसएलएसए एल1 के लिए पर्याप्त है) इसे चलाकर प्राप्त किया जा सकता है valint slsa ... -o attest. मुंशी का वैलेंट टूल में हस्ताक्षर करने की क्षमताओं का एक विस्तृत सेट है; किसी उद्यम के लिए, हम X.509 PKI कुंजी और प्रमाणपत्र का उपयोग करने की अनुशंसा करते हैं। 
  • का उपयोग करके डाउनस्ट्रीम प्रोवेंस दस्तावेज़ की प्रामाणिकता को सत्यापित करें valint verifyआज्ञा। सत्यापन में हस्ताक्षर और हस्ताक्षर पहचान के साथ-साथ अन्य सत्यापन नियम शामिल हो सकते हैं जो एसएलएसए प्रोवेंस दस्तावेज़ की सामग्री को सुनिश्चित करते हैं। कुछ उदाहरण स्क्राइब में पाए जा सकते हैं नीति सूची.

नोट: निर्मित सॉफ़्टवेयर का सत्यापन उपभोक्ता द्वारा किया जाना चाहिए; आंतरिक अनुपालन के लिए, सत्यापन एक परीक्षण पाइपलाइन के हिस्से के रूप में किया जा सकता है।

एसएलएसए एल3

एसएलएसए एल3 आवश्यकताएँ

RSI आवश्यकताओं एसएलएसए एल3 के लिए शामिल हैं:

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

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

  • सत्यापित करो कि मंच का उपयोग टूटने नहीं देता अक्षम्यता और अलगाव आवश्यकताओं.
    • उदाहरण के लिए, अलगाव का सत्यापन पाइपलाइन में कैश के उपयोग का मूल्यांकन करके किया जा सकता है।
    • प्रोवेंस दस्तावेज़ की अक्षम्यता सुनिश्चित करने के लिए, हम इसे एक समर्पित बिल्ड पाइपलाइन में बनाने और हस्ताक्षर करने की सलाह देते हैं।
  • सत्यापित करें बिल्ड प्लेटफ़ॉर्म की विश्वसनीयता.
    •  SaaS CI के लिए, बिल्ड प्लेटफ़ॉर्म विक्रेता के साथ सत्यापन किया जाना चाहिए। ऐसे मामलों में जहां सॉफ्टवेयर निर्माता बिल्ड सिस्टम की तैनाती के लिए जिम्मेदार है, विक्रेता-स्व-सत्यापन के संयोजन और तैनाती पहलुओं का विश्लेषण करने की सिफारिश की जाती है।
    • उदाहरण के लिए, स्व-होस्ट किए गए सीआई को तैनात करते समय, विक्रेता सत्यापन को यह घोषित करना चाहिए कि बिल्ड एक-दूसरे से कैसे अलग हैं, और तैनाती विश्लेषण को सीआई सिस्टम की पहुंच अनुमतियों और लॉग-ऑडिटिंग को सत्यापित करना चाहिए।

ये आवश्यकताएं चुनौतीपूर्ण हैं क्योंकि इन्हें संतुष्ट करना सीआई-प्लेटफ़ॉर्म पर निर्भर है, पूरी तरह से स्वचालित नहीं किया जा सकता है, और बिल्ड सिस्टम और पाइपलाइनों के पेशेवर सुरक्षा विश्लेषण की आवश्यकता होती है। इसीलिए एसएलएसए ढांचा विशेष रूप से सुझाव देता है कि संगठन धीरे-धीरे एसएलएसए एल2 से एसएलएसए एल3 अनुपालन की ओर विकसित हों।

यदि आप इस लेख के माध्यम से यहाँ तक पहुँचे हैं और निर्णय लिया है कि एसएलएसए एल3 आपके लिए सही चीज़ है, तो अपनी आस्तीन ऊपर चढ़ाएँ - यहाँ एक चेकलिस्ट के लिए हमारी अनुशंसा है:

एसएलएसए एल3 प्राप्त करने के लिए चेकलिस्ट:

  • एसएलएसए एल2 चेकलिस्ट।
  • सीआई प्रणाली का आकलन करें. लक्ष्य निम्नलिखित प्रश्नों का उत्तर देना है:
    • किन परिस्थितियों में एक अनधिकृत संस्था निर्माण प्रणाली से बच सकती है?
    • किन परिस्थितियों में भवन एक-दूसरे को प्रभावित कर सकते हैं?

एक बार उत्तर दिया - शेष जोखिमों का प्रबंधन करें।

  • प्रोवेंस दस्तावेज़ की पीढ़ी को अलग करें:
    • प्रोवेंस दस्तावेज़ के निर्माण को एक अलग पाइपलाइन में अलग करें, अधिमानतः एक अलग निर्माण सेवा पर।
      • इस पाइपलाइन में केवल प्रोवेंस दस्तावेज़ पर हस्ताक्षर करने के लिए उपयोग किए गए रहस्यों को उजागर करें।
      • या तो इस पाइपलाइन पर प्रोवेंस दस्तावेज़ सामग्री बनाएं या सत्यापित करें। सत्यापन के मामले में, सीधे बिल्ड प्लेटफ़ॉर्म या अन्य विश्वसनीय स्रोतों से एकत्र किए गए डेटा के साथ इन-पाइपलाइन-जनरेटेड प्रोवेंस दस्तावेज़ के सभी संभावित फ़ील्ड को सत्यापित करें।
  • अन्य पाइपलाइन रन से बिल्ड पाइपलाइन के अलगाव को अलग करें और सत्यापित करें:
    • कैश और साझा वॉल्यूम के उपयोग को सत्यापित करें।
    • सत्यापित करें कि अन्य पाइपलाइनों के साथ साझा किए गए रहस्य पाइपलाइनों को एक-दूसरे को प्रभावित करने की अनुमति नहीं दे सकते।
    • सत्यापित करें कि पाइपलाइन रन एक दूसरे को प्रभावित नहीं कर सकते
      • उदाहरण के लिए, एक पाइपलाइन के माध्यम से किए गए इंस्टॉलेशन को अन्य पाइपलाइन रन को प्रभावित करने से रोकें। यह अल्पकालिक बिल्ड-रनर (जैसे कि प्रत्येक बिल्ड के लिए बनाया गया एक कंटेनर) का उपयोग करके या यह सत्यापित करके किया जा सकता है कि बिल्ड-रनर हर बार पूर्व निर्धारित स्थिति से शुरू होते हैं।

स्क्राइब टूल के साथ एसएलएसए एल3 प्राप्त करने के लिए, हम निम्नलिखित की अनुशंसा करते हैं:

  • प्रोवेंस दस्तावेज़ को पॉप्युलेट करने के लिए आवश्यक सभी सत्यापन तैयार करने के लिए बिल्ड पाइपलाइन का उपकरण तैयार करें। उदाहरण के लिए, आप तय कर सकते हैं कि आप निर्माण के दौरान स्थापित निर्भरताओं की एक सूची चाहते हैं। यह सूची a द्वारा तैयार की जा सकती है valint bom dir:आज्ञा। इसके अलावा, का उपयोग करके पाइपलाइन में एक उद्गम सत्यापन बनाएं valint slsa आदेश।
  • एक अलग विश्वसनीय-प्रोवेंस-पीढ़ी पाइपलाइन बनाएं जो निम्नलिखित कार्य करेगी:
    • बिल्ड पाइपलाइन में बनाए गए दस्तावेज़ के आधार पर एक विश्वसनीय प्रोवेंस दस्तावेज़ तैयार करें;
      • बिल्ड सेवा से डेटा एकत्र करें और प्रोवेंस दस्तावेज़ को सत्यापित और अद्यतन करने के लिए इसका उपयोग करें।
      • बिल्ड पाइपलाइन में बनाए गए सत्यापन की सामग्री को सत्यापित करें। उदाहरण के लिए, बिल्ड पाइपलाइन से एसबीओएम सत्यापन की तुलना अलग से सैंपल किए गए एसबीओएम सत्यापन से करके बिल्ड-रनर की सामग्री को सत्यापित करें।
      • प्रोवेंस दस्तावेज़ को अद्यतन करने के लिए बिल्ड पाइपलाइन से एकत्र किए गए सत्यापन का उपयोग करें।
      • प्रोवेंस दस्तावेज़ को अद्यतन करने का उपयोग करके किया जा सकता है valint slsa आदेश।
    • बिल्ड सेवा से एकत्र किए गए डेटा का मूल्यांकन करके सत्यापित करें कि बिल्ड को अलग किया गया था। उदाहरण के लिए - कैश और रहस्यों के उपयोग को सत्यापित करें।

ऐसे डेटा संग्रह और मूल्यांकन करने के लिए, स्क्राइब ऐसे उपकरण प्रदान करता है जो बिल्ड रन के लिए सत्यापन बनाते हैं और आवश्यक सत्यापन करते हैं।

---

ठीक है। ऐसा लगता है कि आप जाने के लिए पूरी तरह तैयार हैं। निःसंदेह, यदि आपको किसी सहायता की आवश्यकता है, हमें पता है. हम यहां मदद के लिए हैं और सलाह देना या सक्रिय रूप से मदद करना पसंद करेंगे।

यह सामग्री आपके लिए स्क्राइब सिक्योरिटी द्वारा लाई गई है, जो एक अग्रणी एंड-टू-एंड सॉफ्टवेयर आपूर्ति श्रृंखला सुरक्षा समाधान प्रदाता है - जो संपूर्ण सॉफ्टवेयर आपूर्ति श्रृंखलाओं में कोड कलाकृतियों और कोड विकास और वितरण प्रक्रियाओं के लिए अत्याधुनिक सुरक्षा प्रदान करता है। और अधिक जानें.