أخبارالمطورينإدخالالمشروع Blockchain شرح الأحداث والمؤتمرات الصحافةالنشرات الإخبارية
اشترك في نشرتنا الإخبارية.
عنوان بريد الكتروني
نحن نحترم خصوصيتك
الرئيسيةالمدونةتطوير Blockchain
كيفية تجنب تحميل مفتاحك الخاص على GitHub: طرق لمنع نشر أسرارك على الملأ
حافظ على أمان مفاتيحك الخاصة وأسرار واجهة برمجة التطبيقات أثناء تطوير العقود الذكية بواسطة ConsenSys أكتوبر 7 ، 2020 نُشر في 7 أكتوبر 2020
بقلم كوجان برينان وتوماس هاي
بضع مرات في السنة, أ قصة يصنع ال جولات أحد مطوري Ethereum المؤسف الذي ، أثناء بناء مشروع blockchain ، يقوم بطريق الخطأ بتحميل عبارة ذاكري فائقة السرية – تُستخدم لإنشاء محفظته – إلى صفحة GitHub العامة الخاصة بهم. في غضون ثوان ، تم “اختراق” محفظتهم واستنزاف أموالها.
لم يتم اختراق أي شيء حقًا ، على الرغم من ذلك: المعاملة التي تنقل جميع الأصول إلى عنوان “المتسلل” سليمة تمامًا. لهذا السبب تقوم الشبكة بمعالجتها وتقبلها. لا تهتم الشبكة بمن يوقع المعاملة أو ما هي نيته ، فقط أن تشفيرها سليم. تفترض الشبكة أن أي شخص يمتلك مفاتيح ذاكري ، أو المفاتيح الخاصة التي تم إنشاؤها ، هو المالك الشرعي للأصول في الحسابات المقابلة.
هذه راحة باردة للشخص الذي فقد السيطرة على محفظته. رد الفعل الفوري هو الاعتقاد بأن محفظتهم قد تم اختراقها. انه مفهوم! ولكن ، قبل الوصول إلى النقطة التي يتعين عليك فيها التساؤل عما إذا كانت محفظتك قد تعرضت للاختراق ، من الجيد التحقق من أنك لست على وشك الكشف عن معلوماتك الخاصة عن غير قصد.
فيما يلي بعض الخطوات المحددة لتجنب الوقوع في موقف مشابه. (نقاط المكافأة: التقنيات الموضحة في هذه المقالة هي نظافة أمنية كبيرة لأي مشروع أو blockchain أم لا!)
أدناه ، نحدد طريقتين لكيفية عدم نشر الأسرار (مفاتيح API ، والمفاتيح الخاصة ، والعبارات الأولية ، وكلمات مرور قاعدة البيانات) إلى مستودع GitHub الخاص بك:
المقاربة 1: استخدام gitignore وملف a.env و dotenv (بافتراض أننا نطور باستخدام أنماط مشتركة في Solidity وسير العمل باستخدام الكمأة و ميتامسك, على الرغم من أن هذا قد تم تعميمه)
الخطوة 1: اقرأ الوثائق الموجودة على.جيتجنور. بجدية ، اقرأ صفحة التوثيق كاملة.
يسمح لك ملف A.gitignore بتحديد الملفات التي لا ينبغي تتبعها. ستقوم بإنشاء ملف a.gitignore داخل الدليل الذي تقوم بتطوير مشروعك فيه. ضمن هذا الملف ، ستحدد الملفات التي لا تريد تتبعها. ستوضح لك الوثائق أنماط النص المختلفة التي يمكنك استخدامها من أجل عدم تتبع (أو تتبع) الملفات.
هنا مثال واحد:
في السطر 20 ، أضفنا ملف a.env
الخطوة 2: قم بإعداد ملف a.env لتخزين متغيرات البيئة الخاصة بك
متغيرات البيئة ، تم تنفيذها في الأصل في الإصدار 7 Unix (تم إصداره عام 1979 بواسطة Bell Labs, انقر هنا للحصول على نسخة من الدليل) تغيير العملية (العمليات) التي يديرها نظام الحوسبة. تم تنفيذ متغيرات البيئة في جميع أنظمة التشغيل التي يستخدمها طلابنا لبناء dApps على Ethereum (Unix و Linux و MacOS و Windows). في هذه الحالة ، يتم التعامل مع أسرارك على أنها متغيرات البيئة ، ويتم وضعها في ملف يسمى env.
فيما يلي مثال على ملف a.env
الخطوة 3: اقرأ الوثائق حول دوتنف. قم بتثبيت dotenv.
دوتنف “هي وحدة نمطية بدون تبعية تقوم بتحميل متغيرات البيئة من ملف a.env إلى process.env.” (استردادها من https://www.npmjs.com/package/dotenv في 25 سبتمبر 2020)
nstall dotenv باستخدام npm install dotenv
الخطوة 4: قم بإضافة (“dotenv”). config () إلى بداية التطبيق الخاص بك. استخدم process.env في هذا الملف.
مثال على الكود: application.js
// هذا هو الجزء العلوي من application.js يتطلب (‘dotenv’). config () // هذا مثال على process.env لاحقًا في الملف var PrivateKey = new Buffer (process.env. ["مفتاح سري"], "عرافة")) // هنا مثال آخر على استخدام process.env const APIKey = process.env.API_KEY ؛ لغة الشفرة: JavaScript (javascript)
الخطوة 5: الآن ، إذا كنت تريد النشر إلى مستودع GitHub موجود أو الدفع إلى مستودع GitHub جديد ، فيمكنك القيام بذلك. لن تظهر أسرارك كجزء من مستودع GitHub الخاص بك.
فيديو تعليمي من مصدر آخر: دانيال شيفمان قطار الترميز يقدم فيديو تعليمي باستخدام تطبيق الطقس في الفيديو الخاص به 3.4 إخفاء مفاتيح API مع متغيرات البيئة (dotenv) ودفع الكود إلى GitHub.
نص تعليمي من مصدر آخر: مدونة Mason لها برنامج تعليمي يسمى كيفية نشر رمز ERC20 في 20 دقيقة. يصف كيفية استخدام ملف a.env و dotenv في سياق نشر عقد ذكي باستخدام Truffle و انفورا.
النهج 2: استخدام الأسرار المشفرة في إجراءات GitHub (مناسب لأولئك الذين لديهم معرفة بـ GitHub على مستوى المؤسسة ، مع الأذونات اللازمة وحساب GitHub حتى يتمكنوا من وضع هذه الأشياء موضع التنفيذ).
يستخدم النهج 2 الأدوات التي تم إنشاؤها خصيصًا بواسطة GitHub لحل مشكلة الأسرار باعتبارها جزءًا ضروريًا من نشر التعليمات البرمجية ، ولكن ليس شيئًا يجب الكشف عنه للأفراد الذين لا ينبغي أن يكون لديهم إمكانية الوصول إليها. هذا النهج هو الأكثر صلة بمؤسسة أو فرد يستخدم GitHub
الخطوة 1: اقرأ الوثائق الموجودة على أسرار مشفرة. بجدية ، اقرأ الوثائق.
تتيح لك ميزة “الأسرار المشفرة” تخزين الأسرار واستخدامها في مستودع GitHub واحد أو عبر العديد من مستودعات GitHub. اقرأ الوثائق حول كيفية استخدامها ، حيث يقوم GitHub بعمل ممتاز في شرح كيفية الاستخدام أسرار مشفرة في غضون إجراءات جيثب
الخطوة 2: افعل ما يخبرك التوثيق بفعله. إنه توثيق جيد جدًا.
استنتاج
أنت تعرف الآن طريقتين لمنع نشر أسرارك على GitHub. هل هناك طرق أخرى للقيام بذلك؟ بالتأكيد. فيما يلي طريقتان تعملان بالنسبة لنا. النقطة الأساسية التي نحاول إيصالها هي التأكد من أنك تفكر في المكان الذي قد تظهر فيه أسرارك ، والتأكد من اتخاذ خطوات لحماية نفسك. ابق آمنًا هناك.
الاشتراك في النشرة الإخبارية الاشتراك في النشرة الإخبارية للحصول على أحدث أخبار Ethereum وحلول المؤسسات وموارد المطورين والمزيد.ندوة عبر الإنترنت
كيفية بناء منتج Blockchain ناجح
ندوة عبر الإنترنت
كيفية إعداد وتشغيل عقدة إيثريوم
ندوة عبر الإنترنت
كيفية بناء Ethereum API الخاصة بك
ندوة عبر الإنترنت
كيفية إنشاء رمز اجتماعي
ندوة عبر الإنترنت
استخدام أدوات الأمن في تطوير العقود الذكية
ندوة عبر الإنترنت