
सुरक्षा अनुपालन प्लेटफॉर्म - SOC2, CMMC, ASVS, ISO27001, HIPAA, NIST CSF, NIST 800-53, CSC CIS 18, PCI DSS, SSF ट्रैकिंग
Gapps एक सुरक्षा अनुपालन मंच है जो विभिन्न सुरक्षा ढाँचों के विरुद्ध आपकी प्रगति को ट्रैक करना आसान बनाता है।
❄️ Gapps साइट देखें
🏠 क्या आप मुझसे संपर्क करने में रुचि रखते हैं? कृपया हमारे डिस्कॉर्ड में शामिल हों
| नियंत्रण डैशबोर्ड |
|---|
![]() |
| परियोजना अवलोकन |
|---|
![]() |
| नियंत्रणों की प्रगति ट्रैक करें |
|---|
![]() |
प्रलेखन प्रलेखन का पालन करें
[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?
यह सामान्यतः डॉकर के अंदर चलने पर दो चरों को अनसेट करके ठीक किया जा सकता है। यदि आप बाहरी डेटाबेस का उपयोग करना चाहते हैं, तो अगला सामान्य प्रश्न देखें
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 env चर सेट कर सकते हैं जैसे export RESET_DB=yes।
कभी-कभी आप Gapps को डॉकर के बाहर चलाना चाह सकते हैं। आप 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.sh चलाएँdocker compose up चलाएँdocker 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
1.) Docker Hub से वांछित संस्करण के साथ docker-compose.yml फ़ाइल संपादित करें। कम्पोज़ फ़ाइल में जहाँ भी पुराना संस्करण दिखाई दे (4 उदाहरण होने चाहिए), उसे वांछित संस्करण से अपडेट करें। (जैसे bmarsh13/gapps:3.3.9 -> bmarsh13/gapps:3.4.0)
2.) docker-compose up -d
3.) यदि आवश्यक हो तो डेटाबेस माइग्रेशन करें
आप UI के अंदर हमेशा एक नया ढाँचा और नियंत्रण बना सकते हैं - लेकिन इसमें बहुत समय लगेगा। इसके बजाय, आप Gapps में एक JSON फ़ाइल लोड कर सकते हैं।
प्रारूप में नियंत्रण और उपनियंत्रण शामिल हैं। नीचे दिया गया स्निपेट एक नियंत्रण का उदाहरण दिखाता है जिसमें एक (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 env चर सेट करके लोड निर्देशिका भी बदल सकते हैं। एक बार जब आपका नया ढाँचा एक फ़ाइल में सहेज लिया जाता है और ढाँचा निर्देशिका में रखा जाता है, तो आप UI के अंदर एक नया टेनेंट बना सकते हैं। 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 टोकन उत्पन्न कर सकते हैं
# Create token that expires in 15 minutes
<gapps-host>/api/v1/token
# Create token that expires in 30 seconds
<gapps-host>/api/v1/token?expiration=30
# Create token that never expires
<gapps-host>/api/v1/token?expiration=0
और यहाँ बताया गया है कि आप प्रमाणीकरण के लिए टोकन का उपयोग कैसे करते हैं (उदाहरण के रूप में curl)
TOKEN="TOKEN HERE"
curl <gapps-host>/api/v1/tenants -H "token: $TOKEN"