
منصة الامتثال الأمني - SOC2, CMMC, ASVS, ISO27001, HIPAA, NIST CSF, NIST 800-53, CSC CIS 18, PCI DSS, SSF تتبع
Gapps هو منصة امتثال أمني تجعل من السهل تتبع تقدمك تجاه أطر الأمان المختلفة.
❄️ عرض موقع Gapps
🏠 مهتم بالتواصل معي؟ يرجى الانضمام إلى discord
| لوحة التحكم بالضوابط |
|---|
![]() |
| نظرة عامة على المشروع |
|---|
![]() |
| تتبع تقدم الضوابط |
|---|
![]() |
اتبع التوثيق التوثيق
[INFO] Checking if we can connect to the database server: postgresql://db1:db1@localhost/db1
[ERROR] could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Cannot assign requested address
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
يمكن إصلاح ذلك عادةً عن طريق إلغاء تعيين متغيرين إذا كنت تعمل ضمن Docker. إذا كنت ترغب في استخدام قاعدة بيانات خارجية، راجع الأسئلة الشائعة التالية
unset SQLALCHEMY_DATABASE_URI
unset POSTGRES_HOST
القيمة db1 هي القيمة الافتراضية لاسم المستخدم وقاعدة البيانات وكلمة المرور. إذا كنت ترغب في تغييرها، قم بتحديث db1 بالقيم المعنية و postgres للمضيف.
export POSTGRES_HOST=${POSTGRES_HOST:-postgres}
export POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-db1}
export POSTGRES_USER=${POSTGRES_USER:-db1}
export POSTGRES_DB=${POSTGRES_DB:-db1}
export SQLALCHEMY_DATABASE_URI="postgresql://db1:db1@postgres/db1"
عند بدء تشغيل Gapps لأول مرة، سيقوم تلقائيًا بإنشاء نماذج قاعدة البيانات. إذا كنت ترغب في إعادة تعيين البيانات (مثل حذف جميع البيانات)، يمكنك تعيين متغير البيئة RESET_DB مثل export RESET_DB=yes.
في بعض الأحيان قد ترغب في تشغيل Gapps خارج Docker. يمكنك القيام بذلك عن طريق بدء حاوية Postgres ثم بدء Gapps في المقدمة.
docker-compose up -d postgresexport POSTGRES_HOST=${POSTGRES_HOST:-localhost}
export POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-db1}
export POSTGRES_USER=${POSTGRES_USER:-db1}
export POSTGRES_DB=${POSTGRES_DB:-db1}
export SQLALCHEMY_DATABASE_URI="postgresql://db1:db1@localhost/db1"
export FLASK_CONFIG=development;bash run.shdocker compose updocker exec -e ONESHOT=yes gapps env
docker exec -e INIT_MIGRATE=yes -e MIGRATE=yes -e ONESHOT=yes gapps bash run.sh
أو
docker-compose up -d
docker exec -it gapps bash
python3 manage.py db migrate
python3 manage.py db stamp head
python3 manage.py db upgrade
exit
تحذير - سيؤدي هذا إلى حذف جميع البيانات في قاعدة البيانات!
docker exec -it gapps bash
python3 tools/check_db_connection.py
python3 tools/check_db_models.py
python3 manage.py init_db
docker-compose.yml بالإصدار المطلوب من Docker Hub. أينما ترى الإصدار القديم في ملف compose (يجب أن يكون 4 مرات)، قم بتحديثه بالإصدار المطلوب. (مثال: bmarsh13/gapps:3.3.9 -> bmarsh13/gapps:3.4.0)docker-compose up -dيمكنك دائمًا إنشاء إطار وعناصر تحكم جديدة داخل واجهة المستخدم - لكن هذا سيستغرق وقتًا طويلاً. بدلاً من ذلك، يمكنك تحميل ملف JSON إلى Gapps.
يتكون التنسيق من عناصر تحكم وعناصر تحكم فرعية. يوضح المقتطف أدناه مثالاً لعنصر تحكم يحتوي على عنصر تحكم فرعي واحد (1) ولكن يمكنك إضافة أي عدد تريده. ليس من الضروري وجود عناصر تحكم فرعية لعنصر التحكم (يمكن أن يكون لديك صفر). ومع ذلك، قد يكون من المنطقي إذا كنت ترغب في تقسيم عنصر تحكم إلى إجراءات محددة يمكن تتبعها. لنأخذ إطار CIS 18 كمثال. يمكنك وضع جميع "المجالات" الـ 18 كعناصر تحكم وستكون عناصر التحكم داخل كل مجال عنصر تحكم فرعي داخل Gapps.
[
{
"name": "Limit information system access to authorized users, processes acting on behalf of authorized users or",
"description": "Maintain list of authorized users defining their identity and associated role and sync with sys",
"guidance": "List approved users, services, and devices, and have logical controls in place to prevent unauthor",
"ref_code": "AC.L1-3.1.1",
"system_level": false,
"subcategory": "Identity & Access Management (IAM)",
"category": "Access Control",
"dti": "easy",
"dtc": "easy",
"meta": {},
"subcontrols": [
{
"ref_code": "3.1.1.a",
"name": "Authorized users are identified.",
"description": "Authorized users are identified.",
"meta": {},
"tasks": [
{
"title": "title of the task",
"description": "description of the task"
}
]
}
]
}
]
بعد ذلك، احفظ تنسيق JSON أعلاه في ملف (مثل my_framework.json ولكن يجب أن ينتهي بـ .json). سيتم أخذ اسم إطارك من اسم الملف عند تحميل Gapps له (my_framework في هذه الحالة). احفظ الملف في دليل app/files/base_controls/. يمكنك أيضًا تغيير دليل التحميل عن طريق تعيين متغير البيئة FRAMEWORK_FOLDER. بمجرد حفظ إطارك الجديد في ملف ووضعه في دليل الأطر، يمكنك المضي قدمًا وإنشاء مستأجر جديد داخل واجهة المستخدم. سيقوم Gapps بتحميل إطارك تلقائيًا. إذا كنت ترغب في إضافة إطار إلى مستأجر موجود، انتقل إلى صفحة "المستأجرون"، وقم بتعديل المستأجر وانقر على زر "إعادة تحميل الأطر".
docker build -t gapps:3.4.3 .
docker tag gapps:3.4.3 bmarsh13/gapps:3.4.3
docker push bmarsh13/gapps:3.4.3
يمكنك إنشاء رمز API عن طريق عرض المسار التالي في متصفحك
# إنشاء رمز ينتهي صلاحيته بعد 15 دقيقة
<gapps-host>/api/v1/token
# إنشاء رمز ينتهي صلاحيته بعد 30 ثانية
<gapps-host>/api/v1/token?expiration=30
# إنشاء رمز لا ينتهي صلاحيته أبدًا
<gapps-host>/api/v1/token?expiration=0
وإليك كيفية استخدام الرمز للمصادقة (curl كمثال)
TOKEN="TOKEN HERE"
curl <gapps-host>/api/v1/tenants -H "token: $TOKEN"