
सिक्योर कोडिंग डोजो सुरक्षित कोडिंग ज्ञान प्रदान करने के लिए एक प्लेटफॉर्म है।
सुरक्षित कोडिंग डोजो सुरक्षित कोडिंग प्रशिक्षण देने के लिए एक प्लेटफॉर्म है। हालांकि इसके साथ अपना स्वयं का कमजोर प्रशिक्षण एप्लिकेशन (Insecure.Inc वेबसाइट) आता है, प्रशिक्षण पोर्टल का उपयोग अन्य प्रशिक्षण एप्लिकेशनों के साथ भी किया जा सकता है। प्लेटफॉर्म की ताकत इसकी विस्तार-क्षमता और सामान्यतः उपयोग किए जाने वाले डेवलपमेंट सहयोग प्लेटफॉर्म स्लैक के साथ एकीकरण है। प्रशिक्षण पोर्टल को क्लाउड में आसानी से सेट किया जा सकता है और AWS Elastic Beanstalk सेटअप के निर्देश नीचे उपलब्ध हैं।
डोजो को तैनात करने और स्थापित करने के बारे में अधिक जानकारी के लिए विकि भी देखना सुनिश्चित करें।
प्रशिक्षण पोर्टल और Insecure.Inc एप्लिकेशन की झलक पाने के लिए डेमो डाउनलोड करें।
/screenshots में भी देखें

निम्नलिखित चरण आपको डोजो के लिए बुनियादी कॉन्फ़िगरेशन देंगे। उन्नत कॉन्फ़िगरेशन और एकीकरण के लिए विकि देखें।
Docker का नवीनतम संस्करण स्थापित करें।
रिपॉजिटरी को Git क्लोन करें
निर्देशिका को रिपो रूट डायरेक्ट्री में बदलें
डोजो फ़ाइलों के लिए माउंट पॉइंट के रूप में एक पर्यावरण चर DATA_DIR कॉन्फ़िगर करें। *nix/mac पर .bash_profile को निम्नानुसार संशोधित करें
export DATA_DIR="/YOUR_DATA_DIR"
Mac पर आपको Docker > Preferences > File Sharing में इस निर्देशिका तक Docker की पहुंच अनुमति देनी होगी
अपना टर्मिनल पुनरारंभ करें
इसके साथ चलाएं
docker-compose up
हालांकि एप्लिकेशन सुरक्षा अवधारणाओं को सिखाने के लिए ओपन सोर्स प्रशिक्षण साइटें नई नहीं हैं, इन साइटों का लक्षित दर्शक पेन-टेस्टर और एथिकल हैकर रहे हैं। सुरक्षित कोडिंग डोजो मुख्य रूप से डेवलपर्स के लिए एक वितरण प्लेटफॉर्म के रूप में अभिप्रेत है और इसका कारण यह है:
हालांकि हम अनुपालन की गारंटी नहीं देते हैं, प्रशिक्षण का उपयोग PCI 6.5.a जैसी अनुपालन आवश्यकताओं को पूरा करने के लिए किया जा सकता है। SANS 25 / OWASP Top 10 / PCI 6.5 पर मैपिंग के लिए Insecure.Inc पाठ्यक्रम दस्तावेज़ देखें।
प्रशिक्षण पोर्टल
Insecure.Inc
प्रशिक्षण पोर्टल
Insecure.inc
प्रशिक्षण पोर्टल
Insecure.Inc
विकि देखें।
विकि पर अधिक जानकारी।
आपको प्रमाणीकरण के लिए एक Slack ऐप बनाना होगा।
Google प्रमाणीकरण भी config.json में कॉन्फ़िगर किया जा सकता है। आपको एक Google डेवलपर खाता चाहिए और Google API कंसोल से OAuth क्रेडेंशियल्स प्राप्त करने होंगे: https://console.developers.google.com
उसी स्थान पर आप अपना डोमेन और अधिकृत रीडायरेक्ट URI सेटअप करेंगे। उदाहरण के लिए localhost सेटअप के लिए रीडायरेक्ट url होगा: http://localhost:8081/public/google/callback
छोटी टीमों या पूर्व-कॉन्फ़िगर छवियों के लिए स्लैक या Google प्रमाणीकरण एक विकल्प नहीं हो सकता है। इस परिदृश्य के लिए आप स्थानीय फ्लैट फ़ाइल के साथ काम करने वाले प्रमाणीकरण को कॉन्फ़िगर कर सकते हैं।
अधिक जानकारी के लिए विकि देखें।
यदि आप DB कॉन्फ़िगर नहीं करते हैं तो प्रशिक्षण पोर्टल बस एक स्थानीय SQLite DB का उपयोग करेगा
आप MySQL भी स्थापित कर सकते हैं और उस DB के लिए एक DB और क्रेडेंशियल्स बना सकते हैं। अपने उपयोगकर्ता नाम और पासवर्ड को नोट करें क्योंकि आपको उनकी बाद में आवश्यकता होगी।
आपको OS पर्यावरण चर के रूप में एन्क्रिप्शन कुंजियां सेटअप करनी होंगी। *nix/mac पर .bash_profile को निम्नानुसार संशोधित करें
export ENC_KEY="put something random here"
export ENC_KEY_IV="put something random here"
निम्नलिखित प्रतिभागियों को अपनी स्वयं की चुनौती कोड उत्पन्न करने से रोकने के लिए है।
export CHALLENGE_MASTER_SALT="put something random here"
आप मौजूदा पाठों के मॉडल का अनुसरण करके नए पाठ जोड़ सकते हैं।
चुनौतियाँ ./trainingportal/static/lessons में परिभाषित हैं फ़ाइल definitions.json संबंधित html चुनौती विवरण, प्ले लिंक और कोड ब्लॉक आईडी द्वारा संबंधित कोड ब्लॉक की ओर इशारा करती है। एक नया बनाने के लिए पहले से परिभाषित उदाहरणों का अनुसरण करें।
.
+-- /trainingportal/static/lessons
| +-- modules.json //कॉन्फ़िगरेशन फ़ाइल जहां पाठ मॉड्यूल परिभाषित हैं
| +-- /attack-grams //चुनौती विवरणों में शामिल हमलों के दृश्य प्रतिनिधित्व
| +-- /blackBelt //पाठ मॉड्यूल
| +--definitions.json //व्यक्तिगत पाठ परिभाषाएँ
| +--cwe494.md // पाठ विवरण सहित html या मार्कडाउन फ़ाइल
| +--cwe494.sol.md //पाठ के लिए समाधान
| ....
| +--quiz.html
| +-- /secondDegreeBlackBelt
कोड ब्लॉक ./trainingportal/static/codeBlocks में परिभाषित हैं। इस फ़ोल्डर में एक परिभाषा json और प्रत्येक चुनौती के लिए कुछ html फ़ाइलों के साथ समान संरचना है।
.
+-- /trainingportal/static/codeBlocks
| +-- codeBlocksDefinitions.json //कॉन्फ़िगरेशन फ़ाइल जहां कोड ब्लॉक परिभाषित हैं
| +-- authenticationByDefault.html //कोड ब्लॉक विवरण html
| ...
| +-- useStrongDataEncryption.html