Kurukshetra - إطار لتعليم الترميز الآمن بوسائل حل المشكلات التفاعلي



Kurukshetra هو إطار ويب تم تطويره بهدف أن يكون أول إطار مفتوح المصدر يوفر أساسًا صلبًا لاستضافة تحديات التشفير الآمنالمعقدة إلى حد كبير مع توفير القدرة على تنفيذ كل تحدي بفعالية وبشكل ديناميكي على أساس إدخال المستخدم في أمان بيئة sandboxed.
يتألف Kurukshetra من مكونين ، هما إطار الواجهة الخلفية المكتوب بلغة PHP ، والذي يدير نظام رافع أساسي ويستفيد منه لتوفير صندوق الحماية الآمن لتنفيذ التحدي ، والواجهة الأمامية ، التي هي عبارة عن مستخدم يواجه تطبيق ويب يوفر جميع عناصر التحكم الضرورية ، المشرف لاستضافة وتعديل التحديات ، والمستخدم لتنفيذ وعرض كل نتيجة من مدخلاته.

وثائق أداة مفصلة:
 https://docs.kurukshetra.io



المنصات المدعومة للتثبيت
لقد تم اختبار Kurukshetra على كل من Ubuntu / Debian (توزيعات apt-get based based) بالإضافة إلى Mac OS . يجب أن يعمل بشكل مثالي مع أيتوزيعات تستند إلى linux مع PHP 7.2 ، MySQL و Docker (مع تمكين واجهة برمجة التطبيقات عن بعد ) مثبتة. 

المتطلبات الأساسية:
هناك بعض الحزم الضرورية قبل متابعة التثبيت:
  • عميل Git: sudo apt-get install git
  • PHP 7.2: قراءة التعليمات حول كيفية التثبيت على ubuntu (جنبا إلى جنب مع php-curl - sudo apt-ge install php7.2-curl php7.2-mbstring php7.2-mysql)
  • الخلية: sudo apt-get install mysql-server
  • عامل الميناء: اقرأ دليل التثبيت الرسمي (أيضًا: تثبيت أوبونتو )
  • تمكين واجهة تعامل المستخدم الخاصة بـ Docker: اقرأ - كيف أقوم بتمكين واجهة التحكم عن بعد الخاصة بـDocker API
  • إنشاء مجلد /var/config/مع إذن الكتابة www-dataللمستخدم

تثبيت
التثبيت بسيط مثل نقل الملفات التي تم تنزيلها إلى webroot:
git clone https://github.com/a0xnirudh/kurukshetra.git
 cd kurukshetra
 cp -r * /var/www/html/
 chmod 755 -R /var/www/html
  • نقل جميع الملفات إلى webroot (وهو عادة /var/www/html):cp -r kurukshetra/* /var/www/html
  • منح الأذونات المناسبة للملفات المنقولة: chmod 755 -R /var/www/html/
  • إعطاء challenges/uploadsأذونات الكتابة الدليل www-dataللمستخدم (انظر uploads/README.md).
  • زيارة http://localhostأو http://127.0.0.1للانتقال إلى التثبيت (سيتم إعادة التوجيه التلقائي إلى / التثبيت /).
  • أدخل بيانات اعتماد MySQL DB (يجب أن يكون لدى المستخدم الإذن لإنشاء قاعدة البيانات) وانقر فوق التحقق للتحقق مما إذا كانت بيانات الاعتماد صحيحة.
  • أدخل جوجل أوث Client IDو Client secretوتأكد من تعيين URL إعادة توجيه إلى مسارhttp://your-domain.com/login/index.php

تكوين Docker
Kurukshetra يجعل استخدامات Dockers API لتشغيل رمز المقدمة المستخدم. مطلوب تهيئة لمرة واحدة قبل أن نتمكن من استخدام واجهة برمجة التطبيقات الخاصة ببو ونر والتي هي كما يلي:
  • اسحب صورة عامل ميناء: docker pull phusion/baseimage:latest
  • دليل التثبيت غوتو: cd installation/optional/
  • بناء صورة kurukshetra من Dockerfile: docker build -t kurukshetra .
بدلا من ذلك ، يمكنك فقط تشغيل python install.pyمن داخل الدليل installation/optionalالذي سيمضي قدما وتثبيت عامل الميناء (إذا لم يتم تثبيته بالفعل) ، وسوف تكوين صورة عامل ميناء Kurukshetra تلقائيا. 

خارطة الطريق
فيما يلي بعض الأفكار التي نضعها في الاعتبار للقيام بالمضي قدما في Kurukshetra. إذا كان لديك أي أفكار / طلبات ميزة غير مدرجة أدناه ، فلا تتردد في إثارة قضية في جيثب .
  • دعم لمزيد من اللغات بما في ذلك على سبيل المثال لا الحصر JAVA و NodeJs و Ruby on Rails.
  • اكتب المزيد من التحديات بالإضافة إلى unittests لتغطية جميع نقاط الضعف في OWASP Top 10.
  • Gamification of the whole framework عن طريق إدخال scorebard استنادًا إلى نقاط حل المشكلات (توجد نقاط محددة مسبقًا للتحديات بناءً على الصعوبات).





Commentaires

Posts les plus consultés de ce blog