
akto vdata-ingestion-1.5.0
استباقي، مفتوح المصدر لأمان API ← اكتشاف API، وضع أمان API، الاختبار في CI/CD، مكتبة اختبار تحتوي على 1000+ اختبار، إضافة اختبارات مخصصة، تعرض البيانات الحساسة
Akto.io أمن واجهات برمجة التطبيقات
المساهمون
ما هو Akto؟
كيف يعمل • البدء • مخزون واجهات برمجة التطبيقات • اختبار واجهات برمجة التطبيقات • إضافة اختبار • انضم إلى مجتمع Discord •
Akto هي منصة أمنية مفتوحة المصدر وفورية لواجهات برمجة التطبيقات، لا يستغرق البدء بها سوى 60 ثانية. تستخدم فرق الأمان Akto للحفاظ على مخزون مستمر من واجهات برمجة التطبيقات، واختبارها بحثاً عن الثغرات الأمنية، واكتشاف مشكلات وقت التشغيل. تغطي Akto جميع فئات OWASP Top 10 وHackerOne Top 10 بما في ذلك BOLA والمصادقة وSSRF وXSS والإعدادات الأمنية وغيرها. يشغّل محرك الاختبار القوي في Akto مجموعة متنوعة من اختبارات منطق الأعمال من خلال قراءة بيانات الحركة المرورية لفهم نمط حركة واجهات برمجة التطبيقات، مما يؤدي إلى تقليل النتائج الإيجابية الخاطئة. يمكن لـ Akto التكامل مع مصادر متعددة للحركة المرورية - burpsuite وAWS وpostman وGCP والبوابات وغيرها. إليكم خارطة الطريق العامة الخاصة بنا لهذا الربع.
تمكّن Akto فرق الأمان والهندسة من تأمين واجهات برمجة التطبيقات الخاصة بهم من خلال ثلاثة أمور:
- مخزون واجهات برمجة التطبيقات
- تشغيل اختبارات منطق الأعمال في CI/CD
- اكتشاف الثغرات الأمنية في وقت التشغيل
كيف يعمل؟
الخطوة 1: إنشاء المخزون
الخطوة 2: تشغيل الاختبارات
كيف تبدأ؟
استخدام docker-compose (يعمل على أي جهاز مثبت عليه Docker)
شغّل الأوامر التالية لتثبيت Akto. ستحتاج إلى تثبيت curl وDocker لتشغيل الحاوية..
- استنسخ مستودع Akto باستخدام هذا الأمر
git clone https://github.com/akto-api-security/akto.git - انتقل إلى المجلد المستنسخ
cd akto - شغّل
docker-compose up -d
إذا كنت تقوم بإعداد هذا في السحابة الخاصة بك (AWS/GCP/Heroku)، فاقرأ هذا القسم
يرجى التأكد مما يلي لاتباع ممارسات أمنية جيدة
-
افتح قاعدة الأمان للاتصالات الواردة للمنفذ 9090 فقط. واقتصر CIDR المصدر على CIDR الخاص بـ VPC أو عنوان IP الخاص بك فقط.
-
استخدم EC2 من شبكة فرعية خاصة -
أ. بهذه الطريقة، لن يتمكن أي شخص من إرسال طلب وارد إلى جهازك.
ب. تأكد من أن هذه الشبكة الفرعية الخاصة لديها إمكانية الوصول إلى الإنترنت حتى تنجح الاتصالات الصادرة!
ج. قد تحتاج إلى إعداد نفق للوصول إلى المثيل عبر VPN باستخدام
ssh -i pemfile ec2-user@vpn-public-instance -L 9090:private-instance:9090د. في متصفحك، قم بزيارة
http://private-instance:9090 -
استخدم EC2 من شبكة فرعية عامة - من فضلك لا تفعل! إذا كنت لا تزال ترغب في القيام بذلك، يمكنك تخطي 2.ب و2.ج. ببساطة قم بالوصول إلى مثيلك عبر
http://ip:9090
تكون Akto قوية حقاً في النشر السحابي إذا كان بإمكانك توفير حركة المرور المعكوسة لتطبيقك (بدون أي تأثير على الأداء). ستتمكن أيضاً من جدولة الاختبارات في CI/CD ودعوة المزيد من أعضاء الفريق إلى لوحة التحكم. للقيام بذلك، يجب تثبيت إصدار Akto للمؤسسات المتاح هنا. اقرأ المزيد عنه هنا
دروس اختبار أمن واجهات برمجة التطبيقات
| العنوان | الرابط |
|---|---|
| مقدمة | https://www.youtube.com/watch?v=oFt4OVmfE2s |
| الدرس 1: فحص المنافذ عبر SSRF (OWASP API7:2023) | https://www.youtube.com/watch?v=WjNNh6asAD0 |
التطوير والمساهمة
إعداد سريع باستخدام حاويات التطوير في VSCode
المتطلبات الأساسية:
- تثبيت VSCode
- تثبيت إضافة Dev Containers الخاصة بـ VSCode
- ويندوز: Docker Desktop 2.0+ على ويندوز 10 برو/إنتربرايز. يتطلب ويندوز 10 هوم (2004+) إصدار Docker Desktop 2.3+ والواجهة الخلفية WSL 2.
- macOS: Docker Desktop 2.0+.
- لينكس: Docker CE/EE 18.06+ وDocker Compose 1.21+.
ملاحظة: إذا كنت تستخدم Docker Desktop، ففكر في تغيير تخصيص الذاكرة إلى 8 جيجابايت للحصول على أداء أفضل
الخطوات:
استنساخ المستودع وفتحه في VSCode
- افتح الطرفية
mkdir ~/akto_codecd ~/akto_codegit clone https://github.com/akto-api-security/akto- افتح في VSCode:
code akto
تشغيل حاوية التطوير
- انتقل إلى View > Command Palette واكتب: Dev Containers: Reopen in Container

- انتظر حتى يتم إعداد حاوية التطوير.
- افتح localhost:9090 في متصفح الويب الخاص بك لرؤية لوحة تحكم Akto
تعليمات الإعداد اليدوي
المتطلبات الأساسية
OpenJDK 8، node(v18.7.0+ الرابط)، npm(v8.15.0+)، maven (v3.6.3 الرابط)، MongoDB (v5.0.3+ الرابط)
استنساخ المستودع
mkdir ~/akto_codecd akto_codegit clone https://github.com/akto-api-security/akto
إعداد قاعدة البيانات
افتح علامة تبويب طرفية جديدةcd ~mkdir ~/akto_mongo_data<path_to_mongo_folder>/bin/mongod --dbpath ~/akto_mongo_data
إعداد الواجهة الأمامية
افتح علامة تبويب طرفية جديدةcd ~/akto_code/aktocd apps/dashboard/web/polaris_webnpm installnpm run hot
إعداد لوحة التحكم
افتح علامة تبويب طرفية جديدةcd ~/akto_code/aktoexport AKTO_MONGO_CONN="mongodb://localhost:27017"export DASHBOARD_MODE="local_deploy"mvn clean installmvn --projects :dashboard --also-make jetty:run -Djetty.port=9090
إعداد الاختبار
افتح علامة تبويب طرفية جديدةcd ~/akto_code/aktocd apps/testingexport AKTO_MONGO_CONN="mongodb://localhost:27017"mvn compile; mvn exec:java -Dexec.mainClass="com.akto.testing.Main"
استخدام أداة CLI للاختبار
شغّل الأمر التالي لتشغيل أداة CLI للاختبار
docker run -v ./:/out \ # needed to generate test report on host machine
-e TEST_IDS='JWT_NONE_ALGO REMOVE_TOKENS' \ # space separated test ids
-e AKTO_DASHBOARD_URL='<AKTO_DASHBOARD_URL>' \
-e AKTO_API_KEY='<AKTO_API_KEY>' \
-e API_COLLECTION_ID='123' \ # api collection id on which you want to run tests
-e TEST_APIS='https://demo.com/api/books https://demo.com/api/cars' \ # space separated apis from the api collection on which you want to run tests. If not present, all apis in the collection will be tested. [optional]
-e OVERRIDE_APP_URL='https://dummy.com' \ # If you want to test on a separate host. [optional]
aktosecurity/akto-api-testing-cli
جرّب بنفسك
- افتح
localhost:9090في متصفحك المفضل - ستحتاج إلى إنشاء حساب عند تسجيل الدخول لأول مرة، ومن المرة التالية فصاعداً يمكنك تسجيل الدخول
تصحيح الأخطاء
1. لتصحيح أخطاء الواجهة الأمامية، ثبّت إضافة Vue.js لمتصفح Chrome من [هنا](https://devtools.vuejs.org/guide/installation.html).
2. لتصحيح أخطاء الواجهة الخلفية، شغّل ما يلي قبل تشغيل خادم الويب -
أ. عيّن متغير MAVEN_OPTS لتمكين تصحيح الأخطاء في عملية جافا الخاصة بك
export MAVEN_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8081, -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9010 -Dcom.sun.management.jmxremote.rmi.port=9010 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
ب. في Visual Studio Code، انقر على أي رقم سطر لتعيين نقطة توقف.
ج. اربط مصحح أخطاء جافا من وضع Run and Debug. إذا كنت تفعل هذا لأول مرة، انقر على "Create launch.json file" ثم "Add configuration". اختر "Java: Attach process by ID" واحفظ الملف.

د. ستظهر قائمة بعمليات جافا الجارية. حدد عملية خادم الويب لربط مصحح الأخطاء
المساهمة
نرحب بالمساهمات في هذا المشروع. يرجى قراءة CONTRIBUTING.md لمزيد من المعلومات حول كيفية المشاركة.
الترخيص
هذا المشروع مرخص بموجب رخصة MIT.