विषय - सूची[छिपाना][प्रदर्शन]
यदि आप सॉफ्टवेयर उद्योग में काम करते हैं तो आप शायद पहले से ही जानते हैं कि DevOps क्या है।
यह कोई आश्चर्य की बात नहीं है कि अधिकांश बड़ी फर्में अपने कार्यप्रणालियों को अपने वर्कफ़्लोज़ में एकीकृत कर रही हैं, यह देखते हुए कि वे डेवलपर्स के साथ अधिक से अधिक लोकप्रिय हो रही हैं।
कुछ महीने या साल पहले, प्रमुख सॉफ्टवेयर कंपनियां नियमित रूप से नए कार्यक्रम जारी करती थीं।
के लिए पर्याप्त समय था कोड सुरक्षा और गुणवत्ता पास करने के लिए आश्वासन जांच; इन प्रक्रियाओं को स्वतंत्र विशेषज्ञ टीमों द्वारा किया गया था।
सार्वजनिक बादलों के बढ़ते उपयोग के साथ, नए उपकरणों और प्रौद्योगिकियों का उपयोग करके कई प्रवाह स्वचालित हो गए हैं, जिससे व्यवसायों को और अधिक तेज़ी से विकसित करने और प्रतिस्पर्धा से एक कदम आगे रहने में सक्षम बनाया गया है।
कंटेनरों की शुरुआत और माइक्रोसर्विस अवधारणा के बाद मोनोलिथिक कार्यक्रमों को छोटे, स्वायत्त घटकों में विभाजित करना शुरू कर दिया।
इससे सॉफ्टवेयर कैसे बनाया और कार्यान्वित किया गया, इसका लचीलापन बढ़ गया।
हालाँकि, अधिकांश सुरक्षा और अनुपालन निगरानी प्रणालियों ने इस विकास को प्रदर्शित नहीं किया।
उनमें से अधिकांश अपने कोड का परीक्षण उतनी तेजी से करने में असमर्थ थे, जितना कि एक विशिष्ट DevOps वातावरण की मांग थी।
SecDevOps के कार्यान्वयन का उद्देश्य इस समस्या का समाधान करना था और आंतरिक परीक्षण और पैचिंग की सुविधा के लिए विकास टीम के ज्ञान और विशेषज्ञता को बढ़ाने के साथ-साथ निरंतर एकीकरण (CI) और निरंतर वितरण (CD) पाइपलाइनों में सुरक्षा परीक्षण को पूरी तरह से एकीकृत करना था।
आप इस लेख में SecDevOps के बारे में अधिक जानेंगे, जिसमें इसका महत्व, कार्यप्रणाली, सर्वोत्तम अभ्यास और बहुत कुछ शामिल है।
तो, SecDevOps क्या है?
DevOps तेज़, मज़बूत और स्वचालित है, और इसके अपने आप में ढेर सारे फायदे हैं।
हालाँकि, सुरक्षा का एकीकरण बाधित है क्योंकि त्वरित परिनियोजन का अर्थ है सुरक्षा दोषों की पहचान करने और उन्हें दूर करने के लिए कम समय।
यदि तेजी से परिनियोजन (DevOps विधि) के इरादे से ऐप्स विकसित करते समय सुरक्षा को बिल्ड और रिलीज़ प्रक्रिया में शामिल नहीं किया जाता है, तो आप उन्हें महत्वपूर्ण सुरक्षा खामियों के लिए खुला छोड़ सकते हैं।
यह वह जगह है जहां SecDevOps (जिसे DevSecOps या DevOpsSec के नाम से भी जाना जाता है) चलन में आता है। इस पद्धति में विकास और परिनियोजन के लिए प्रक्रियाओं में सुरक्षा को शामिल करना शामिल है, जैसा कि नाम से ही स्पष्ट है।
SecDevOps, DevOps के विकास और परिनियोजन प्रक्रियाओं में सुरक्षित कोडिंग को गहराई से एकीकृत करने के लिए डिज़ाइन की गई सर्वोत्तम प्रथाओं का एक संग्रह है।
इसे अक्सर कठिन DevOps के रूप में जाना जाता है।
जैसे ही वे अपने ऐप बनाते हैं, यह डेवलपर्स को सुरक्षा मानकों और अवधारणाओं पर अधिक अच्छी तरह से विचार करने के लिए प्रोत्साहित करता है। त्वरित DevOps रिलीज़ पद्धति के साथ बने रहने के लिए, सुरक्षा प्रक्रियाओं और जाँचों को जीवनचक्र में बहुत पहले ही शामिल कर लिया जाता है।
SecDevOps को दो मुख्य भागों में बांटा गया है:
कोड के रूप में सुरक्षा (SaC)
इस बिंदु पर, DevOps पाइपलाइन के उपकरण और प्रक्रियाओं में सुरक्षा शामिल होनी चाहिए।
यह इस प्रकार है कि उपकरण स्थिर अनुप्रयोग सुरक्षा परीक्षण (एसएएसटी) और गतिशील अनुप्रयोग सुरक्षा परीक्षण (डीएएसटी) स्वचालित रूप से निर्मित अनुप्रयोगों को स्कैन करें।
इसके कारण, मैन्युअल प्रक्रियाओं पर स्वचालित प्रक्रियाओं को प्राथमिकता दी जाती है (हालांकि एप्लिकेशन के सुरक्षा-महत्वपूर्ण क्षेत्रों के लिए मैन्युअल प्रक्रियाओं की आवश्यकता होती है)।
DevOps प्रक्रियाओं और टूल चेन में कोड के रूप में सुरक्षा शामिल होनी चाहिए। ये उपकरण और उनका स्वचालन सतत वितरण वास्तुकला के अनुकूल होना चाहिए।
कोड के रूप में अवसंरचना (IaC)
एक सुरक्षित और प्रबंधित परिनियोजन वातावरण प्रदान करने के लिए बुनियादी ढांचे के हिस्सों को कॉन्फ़िगर और अपग्रेड करने के लिए उपयोग किए जाने वाले DevOps टूल के संग्रह को यहां संदर्भित किया गया है।
इस प्रक्रिया में बावर्ची, Ansible और कठपुतली जैसे उपकरण अक्सर उपयोग किए जाते हैं।
IaC में मैन्युअल कॉन्फ़िगरेशन अपडेट या वन-ऑफ़ स्क्रिप्ट का उपयोग करके परिवर्तन करने के विरोध में परिचालन बुनियादी ढांचे के प्रबंधन के लिए समान कोड विकास दिशानिर्देशों का उपयोग करना शामिल है।
परिणामस्वरूप, परिनियोजित सर्वरों को पैच और अद्यतन करने के प्रयास के बजाय, एक सिस्टम समस्या के लिए कॉन्फ़िगरेशन-नियंत्रित सर्वर के परिनियोजन की आवश्यकता होती है।
एप्लिकेशन के लॉन्च से पहले, SecDevOps निरंतर और स्वचालित सुरक्षा परीक्षण का उपयोग करता है। किसी भी दोष का शीघ्र पता लगाने की गारंटी के लिए, समस्या ट्रैकिंग का उपयोग किया जाता है।
इसके अतिरिक्त, यह संपूर्ण सॉफ़्टवेयर विकास जीवनचक्र में अधिक कुशल सुरक्षा जाँच प्रदान करने के लिए स्वचालन और परीक्षण का उपयोग करता है।
किसी उद्यम को SecDevOps की आवश्यकता क्यों होती है?
आज के डिजिटल युग में सुरक्षा सबसे आगे होनी चाहिए और हर संगठन की सर्वोच्च प्राथमिकता होनी चाहिए।
एक SecDevOps मॉडल स्थापित करके, एक कंपनी यह प्रदर्शित कर रही है कि सुरक्षा के मामले में वह प्रतिक्रियाशील होने के बजाय सक्रिय है।
"सुरक्षा पहले" कॉर्पोरेट मानसिकता होने से मजबूत प्रणालियों और भरोसेमंद, लचीला अनुप्रयोगों के विकास को प्रोत्साहित किया जाता है।
आज के बहुत प्रतिस्पर्धी आईटी बाजार में, संगठन अपने उत्पादन प्रणालियों में सुरक्षा खामियां नहीं उठा सकते हैं।
शोषण का उपयोग करने वाले हमले महंगे होते हैं और अक्सर एक प्रणाली या संगठन को अनुपयोगी बना देते हैं। एक संगठन के अंदर SecDevOps प्रत्येक पाइपलाइन स्तर पर निरंतर सुरक्षा जोर देता है।
यह जानते हुए कि आप विशिष्ट प्रोग्राम और सिस्टम बना रहे हैं, जो उन सुविधाओं और कार्यात्मकताओं के साथ हैं जिनकी उपभोक्ताओं को आवश्यकता है, आपको मानसिक शांति प्रदान करते हैं।
यह सुनिश्चित करने के लिए कि व्यवसाय सुरक्षा सर्वोत्तम प्रथाओं, मानकों और कानून का अनुपालन करता है, यह सलाह दी जाती है कि सुरक्षा टीम सभी इंजीनियरिंग और गैर-इंजीनियरिंग पहलों में जल्दी और बार-बार शामिल हो।
SecDevOps कैसे काम करता है?
SecDevOps सुरक्षा को बाईं ओर ले जाने से संबंधित है। इसका मतलब यह है कि हर किसी को शुरू से ही सुरक्षा की जिम्मेदारी लेनी चाहिए, यहां तक कि योजना के चरणों के दौरान भी, बजाय एक घटना प्रतिक्रिया प्रणाली को लागू करने के।
ठेठ के विपरीत झरना दृष्टिकोण, जो जीवनचक्र के अंत में सुरक्षा को स्थान देता है, यह एक महत्वपूर्ण परिवर्तन है। सुरक्षा को सभी विकल्पों में और विकास के पूरे जीवनचक्र में ध्यान में रखा जाना चाहिए।
खतरे के मॉडल को नियोजित करने के अलावा, वे सुरक्षा परीक्षण मामलों के साथ एक परीक्षण-संचालित विकास वातावरण को बनाए रखते हैं।
आपको यह सुनिश्चित करना होगा कि स्वचालित सुरक्षा परीक्षण और निरंतर एकीकरण प्रक्रिया में एकीकृत हैं।
एप्लिकेशन की संभावित कमजोरियों का पता लगाने के लिए, SecDevOps को इस बात की पूरी समझ होनी चाहिए कि यह कैसे काम करता है।
अब आप इसे सुरक्षा जोखिमों से बेहतर तरीके से बचा सकते हैं जब आप इसके बारे में जानते हैं। विकास के पूरे जीवनचक्र में ऐसा करने के लिए अक्सर थ्रेट मॉडल का उपयोग किया जाता है।
यह समझने के लिए कि यह कैसे कार्य करता है, आइए एक विशिष्ट SecDevOps प्रक्रिया को देखें।
संस्करण नियंत्रण प्रबंधन के लिए एक प्रणाली का उपयोग डेवलपर्स द्वारा किया जाता है। नतीजतन, ऐसी परियोजनाओं पर संचार की सुविधा होती है और वे सॉफ्टवेयर विकास पहल में किसी भी बदलाव का ट्रैक रखने में सक्षम होते हैं।
एक कोडिंग प्रोजेक्ट पर सहयोगी रूप से काम करते समय, डेवलपर्स आसानी से शाखाओं का उपयोग करके अपनी नौकरी को विभाजित कर सकते हैं।
- एक डेवलपर पहले सिस्टम के लिए कोड लिखेगा।
- सिस्टम तब समायोजन को स्वीकार करेगा।
- फिर कोड को सिस्टम से पुनर्प्राप्त किया जाएगा और किसी अन्य डेवलपर द्वारा जांच की जाएगी। सुरक्षा खामियों या कमजोरियों को खोजने के लिए, इस चरण में स्थिर कोड का विश्लेषण करें।
सामान्य SecDevOps प्रक्रिया इस चरण के बाद निम्न तरीके से जारी रहेगी:
- कठपुतली, रसोइया, और Ansible जैसी IaC तकनीकों का उपयोग करके एप्लिकेशन के लिए एक परिनियोजन वातावरण बनाना और सिस्टम में सुरक्षा सेटिंग्स लागू करना
- एक ताज़ा परिनियोजित एप्लिकेशन के विरुद्ध परीक्षण स्वचालन सूट के भाग के रूप में बैकएंड, एकीकरण, API, सुरक्षा और UI परीक्षण आयोजित करना।
- एक परीक्षण वातावरण में एक एप्लिकेशन को तैनात करना और उस पर स्वचालित गतिशील परीक्षण चलाना।
- एक बार जब ये परीक्षण सफल हो जाते हैं, तो अनुप्रयोग को उत्पादन परिवेश में परिनियोजित करें।
- उत्पादन वातावरण में किसी भी सक्रिय सुरक्षा चिंताओं पर लगातार नजर रखना।
SecDevOps के लाभ
SecDevOps में, सुरक्षा दल मौलिक नीतियों को पहले से स्थापित करता है।
इन विनियमों में कोड मानकों, परीक्षण अनुशंसाओं, स्थिर और गतिशील विश्लेषण के लिए मार्गदर्शन, कमजोर एन्क्रिप्शन और असुरक्षित एपीआई का उपयोग करने पर प्रतिबंध आदि जैसी चीजें शामिल हो सकती हैं।
इसके अतिरिक्त, वे उन कारकों को रेखांकित करते हैं जिनके लिए मैन्युअल सुरक्षा टीम कार्रवाई की आवश्यकता होगी (उदाहरण के लिए, प्रमाणीकरण में परिवर्तन या प्राधिकरण मॉडल, या अन्य सुरक्षा-महत्वपूर्ण क्षेत्रों में)।
प्रक्रिया में इसे शामिल करने के परिणामस्वरूप विकास दल सुरक्षा में विशेषज्ञता हासिल करता है।
ऐसा करके, यह सुनिश्चित किया जाता है कि पाइपलाइन के अंत में कम से कम संभावित सुरक्षा खामियां हों। यदि कोई भेद्यता बनी रहती है, तो जांच करना, प्रक्रिया को अद्यतन करना और सुधार करना आसान होगा।
मूल कारण विश्लेषण की सहायता से सुरक्षा नियमों और मानकों में आवश्यक परिवर्तन करना आसान बना दिया गया है।
दूसरे शब्दों में कहें तो प्रत्येक चक्र के साथ परिणाम बेहतर होता जाएगा। कम विघटनकारी देर-चक्र वृद्धि सुनिश्चित करना पुनरावृत्त सुधार का एक और लक्ष्य है।
SecDevOps के कुछ सबसे प्रमुख लाभ निम्नलिखित हैं:
- परिवर्तनों और मांगों पर शीघ्र प्रतिक्रिया करने की क्षमता
- कोडिंग कमजोरियों का शीघ्र पता लगाना
- सुरक्षा इकाइयों के लिए बेहतर चपलता और शीघ्रता
- अधिक टीम सहयोग और संचार
- स्वचालन के माध्यम से उच्च मूल्य वाली गतिविधियों पर काम करने के लिए टीम के सदस्यों के संसाधनों को मुक्त करना
- गुणवत्ता और सुरक्षा परीक्षण के साथ-साथ स्वचालित बिल्ड के लिए अधिक संभावनाएं
SecDevOps के लिए प्रभावी रणनीतियाँ
SecDevOps सुरक्षा, विकास और संचालन को एकीकृत करता है ताकि उन सभी को टीम वर्क, प्रक्रियाओं और टूलिंग को बढ़ाकर एक ही उद्देश्य की ओर काम करने में मदद मिल सके।
सांस्कृतिक अनिच्छा, अनुचित टीम संचार, या समय की पाबंदी के कारण, आपके DevOps वर्कफ़्लो में सुरक्षा को शामिल करना थोड़ा भयावह हो सकता है।
हालांकि, कोई एकल, सफल तरीका नहीं है जिसका उपयोग प्रत्येक फर्म SecDevOps प्रोग्राम को विकसित करने के लिए कर सकती है, कुछ निश्चित संकेत और रणनीतियाँ हैं जो उपयोगी हो सकती हैं।
सुरक्षित विकास और प्रशिक्षण को लागू करके शुरू करें।
इसका मतलब यह नहीं है कि आपको अपने इंजीनियरों को सुरक्षा विशेषज्ञ बनने या अत्याधुनिक सुरक्षा उपकरणों में कुशल बनने के लिए मजबूर करना चाहिए।
लेकिन आप उन्हें सुरक्षा प्रक्रियाएं सिखाने के बारे में सोचना चाहते हैं जो आपके कार्यक्रम की सुरक्षा में सहायता करेगी। टी
o यह सुनिश्चित करें कि आपके डेवलपर ध्वनि सुरक्षा प्रक्रियाओं को शीघ्रता से समझ सकें और उनका उपयोग कर सकें, आपको सुरक्षा प्रशिक्षण प्रदान करना चाहिए जो उनके लिए विशिष्ट रूप से तैयार किया गया हो।
सभी स्थितियों में संस्करण नियंत्रण का उपयोग करें।
एक DevOps संदर्भ में, प्रत्येक एप्लिकेशन सॉफ़्टवेयर, पैटर्न, आरेख और स्क्रिप्ट को कुशल वर्जनिंग टूल और रणनीतियों का उपयोग करना चाहिए।
कई सुरक्षा लाभ संस्करण नियंत्रण के साथ आते हैं, और यह निर्देशों को सक्षम बनाता है:
- निर्धारित करें कि सुरक्षा समस्या होने पर किस बिल्ड या फीचर का उपयोग किया गया था।
- कानूनी मानकों का पालन करने के लिए विकास गतिविधियों पर नज़र रखें।
- विकास प्रक्रिया में जोड़े गए किसी भी हानिकारक या कमजोर घटकों को देखें और उनका पता लगाएं।
जन-केंद्रित सुरक्षा की अवधारणा को स्वीकार करें
सुरक्षा कार्यान्वयन किसी एक टीम के दायरे में नहीं आना चाहिए।
यह सुनिश्चित करने के लिए कि हर कोई सुरक्षा मानकों का पालन करने की जिम्मेदारी स्वीकार करता है, आपकी फर्म को जन-केंद्रित सुरक्षा संस्कृति अपनानी चाहिए।
सुरक्षा प्रशिक्षण के अलावा सुरक्षा के लिए व्यक्तिगत जिम्मेदारी लेने के लिए डेवलपर्स, परीक्षकों और अन्य स्टाफ सदस्यों को प्रोत्साहित करें।
Sसुरक्षा निगरानी आवश्यक है, लेकिन इसकी उत्पत्ति भी व्यक्ति के भीतर से होनी चाहिए, और टीम के प्रत्येक सदस्य को इसकी जिम्मेदारी लेनी चाहिए।
स्वचालित नियमित कार्य
अधिकांश स्थापित DevSecOps सिस्टम अक्सर और जल्दी स्वचालन को नियोजित करते हैं।
उदाहरण के लिए, सुरक्षा परीक्षणों को स्वचालित करने से आपके कोड में किसी भी दोष का पता लगाना आसान हो जाता है, जो विकास को गति देता है और डेवलपर उत्पादकता बढ़ाता है।
यह बड़ी फर्मों में विशेष रूप से सच है जहां इंजीनियर अक्सर दिन भर में कई कोड संस्करण चलाते हैं।
SecDevOps . की सीमाएं
इस तथ्य के बावजूद कि SecDevOps अनुप्रयोग विकास के लिए नवीनतम पद्धति है और पारंपरिक तकनीकों की तुलना में कई लाभ प्रदान करती है।
हालाँकि, इसकी कुछ सीमाएँ भी हैं, जो नीचे सूचीबद्ध हैं।
- इसे तेजी से तैनात नहीं किया जा सकता क्योंकि यह एक लंबी प्रक्रिया है।
- डेवलपर्स को सुरक्षित कोडिंग तकनीकों और लगातार कमजोरियों पर प्रशिक्षित करना आवश्यक है, जिसके लिए समय और अतिरिक्त संसाधनों की आवश्यकता होती है।
- यदि आवेदन एक स्वतंत्र सुरक्षा मूल्यांकन के अधीन नहीं है, तो हितों का टकराव विकसित हो सकता है।
- नीतियों और प्रक्रियाओं की व्यापक परिभाषा के कारण शुरू में अनुप्रयोग विकास के नियोजन चरण में अधिक समय लग सकता है।
निष्कर्ष
चूंकि सुरक्षा दल लगातार संचालन के नए तरीके खोजते हैं, SecDevOps उत्साह जगा रहा है और रचनात्मकता को बढ़ावा दे रहा है।
चूंकि विभाग प्रतिस्पर्धी संबंध स्थापित करने के बजाय एक दूसरे के साथ सहयोग करते हैं, यह संगठनात्मक विकास को बढ़ावा देता है।
SecDevOps का क्रियान्वयन उद्यमों को प्रमुख तकनीकी और वित्तीय लाभ प्रदान करता है।
SecDevOps के दृष्टिकोण के अनुसार, जब सुरक्षा आधार होती है, तो अनुप्रयोग विकास और संबद्ध प्रक्रियाएं सुरक्षित और अधिक उत्पादक होती हैं।
एक जवाब लिखें