अपडेट पर वापस जाएँ
New releaseJul 27, 2026

scoringengine v2.1.1

लाल/सफेद/नीली टीम प्रतियोगिताओं के लिए स्कोरिंग इंजन

साझा करें

Documentation Status CI Coverage Status

स्कोरिंग इंजन

स्कोरिंग इंजन एक ओपन-सोर्स प्लेटफ़ॉर्म है जो रेड/व्हाइट/ब्लू टीम साइबर सुरक्षा प्रतियोगिताओं को चलाने के लिए है। यह प्रत्येक राउंड में सेवा जाँचों को स्वचालित करता है और एक वेब-आधारित स्कोरबोर्ड और कॉन्फ़िगरेशन इंटरफ़ेस प्रदान करता है।

स्कोरिंग इंजन स्क्रीनशॉट

विशेषताएँ

  • सेवा जाँचों का स्वचालित शेड्यूलिंग और निष्पादन
  • Celery वर्कर्स और Redis के माध्यम से वितरित समानांतर निष्पादन
  • स्कोर देखने और सेवाओं को कॉन्फ़िगर करने के लिए वेब इंटरफ़ेस
  • स्कोर और कॉन्फ़िगरेशन तक प्रोग्रामेटिक पहुँच के लिए JSON API
  • 28 अंतर्निहित सेवा जाँचें (SSH, HTTP, DNS, SMTP, और अधिक)
  • Airgapped/ऑफ़लाइन परिनियोजन के लिए समर्थन
  • पूर्व-जनित डेमो डेटा के साथ उदाहरण मोड

आर्किटेक्चर

स्कोरिंग इंजन निम्नलिखित घटकों के साथ एक वितरित आर्किटेक्चर का उपयोग करता है:

घटकतकनीकउद्देश्य
वेब UIFlaskस्कोरबोर्ड, टीम प्रबंधन, प्रशासन
कार्य कतारCeleryवितरित कार्य शेड्यूलिंग और निष्पादन
संदेश ब्रोकरRedisकार्य कतार बैकएंड और कैशिंग
डेटाबेसMySQL/MariaDBटीमों, सेवाओं और परिणामों के लिए स्थायी भंडारण
रिवर्स प्रॉक्सीNginxHTTP सर्वर और लोड बैलेंसिंग

समर्थित सेवा जाँचें

स्कोरिंग इंजन में सामान्य सेवाओं के लिए बॉक्स से बाहर जाँचें शामिल हैं:

श्रेणीसेवाएँ
नेटवर्कICMP, DNS, NFS
वेबHTTP, HTTPS, Elasticsearch, WordPress
प्रमाणीकरणSSH, Telnet, LDAP, WinRM
फ़ाइल स्थानांतरणFTP, SMB
ईमेलSMTP, SMTPS, IMAP, IMAPS, POP3, POP3S
डेटाबेसMySQL, PostgreSQL, MSSQL
रिमोट डेस्कटॉपRDP, VNC
VPNOpenVPN

कस्टम जाँचें scoring_engine/checks/ में एक Python क्लास बनाकर जोड़ी जा सकती हैं।

पूर्वापेक्षाएँ

Docker स्थापना (अनुशंसित)

स्रोत स्थापना

Docker के बिना स्रोत से स्थापित करने के लिए:

  • Python 3.10 या उच्चतर आवश्यक है
  • MariaDB/MySQL डेटाबेस सर्वर
  • Redis सर्वर
# पैकेज स्थापित करें
pip install -e .

# या परीक्षण निर्भरताओं के साथ स्थापित करें
pip install -e .
pip install -r tests/requirements.txt

त्वरित प्रारंभ

सभी सेवाओं का निर्माण और प्रारंभ करें:

docker compose build
docker compose up

या सुविधा के लिए Makefile का उपयोग करें:

make build
make run

चलने पर, एप्लिकेशन तक http://localhost पर पहुँचें।

डेमो क्रेडेंशियल्स

निम्नलिखित क्रेडेंशियल्स में से किसी का उपयोग करके लॉग इन करें:

उपयोगकर्ता नामपासवर्डभूमिका
whiteteamusertestpassश्वेत टीम (प्रशासक)
team1user1testpassनीली टीम 1
team2user1testpassनीली टीम 2
team2user2testpassनीली टीम 2
redteamusertestpassलाल टीम

पर्यावरण चर

प्रारंभ करने से पहले डेटाबेस रीसेट करें:

SCORINGENGINE_OVERWRITE_DB=true docker compose up

नमूना डेटा (डेमो मोड) के साथ चलाएँ:

SCORINGENGINE_EXAMPLE=true docker compose up

या ताज़ा डेमो के लिए दोनों को मिलाएँ:

make run-demo

पूर्व-निर्मित Docker छवियाँ

दोनों रजिस्ट्रियों से पूर्व-निर्मित छवियाँ उपलब्ध हैं:

  • GitHub Container Registry: ghcr.io/scoringengine/scoringengine/<image>:<tag>
  • Docker Hub: scoringengine/<image>:<tag>

उपलब्ध छवियाँ: base, bootstrap, engine, web, worker

टैग: latest, develop, संस्करण टैग (जैसे, v1.1.0)

Airgapped परिनियोजन

इंटरनेट पहुँच के बिना प्रतियोगिताओं के लिए:

# एक पूर्ण परिनियोजन पैकेज बनाएँ
./bin/create-airgapped-package.sh

# scoringengine-airgapped.tar.gz को airgapped सिस्टम में स्थानांतरित करें
# फिर निकालें और परिनियोजित करें:
tar -xzf scoringengine-airgapped.tar.gz
cd scoringengine-airgapped
./deploy.sh

विस्तृत निर्देशों के लिए Airgapped परिनियोजन मार्गदर्शिका देखें।

विकास

Makefile कमांड

कमांडविवरण
make buildसभी Docker छवियाँ बनाएँ
make runसभी सेवाएँ प्रारंभ करें
make run-demoडेमो डेटा के साथ प्रारंभ करें (डेटाबेस रीसेट करता है)
make stopसभी सेवाएँ रोकें
make cleanसेवाएँ रोकें और वॉल्यूम हटाएँ
make rebuild-newनए डेटाबेस के साथ पूर्ण पुनर्निर्माण
make run-testsकवरेज के साथ यूनिट परीक्षण चलाएँ
make build-integrationएकीकरण परीक्षण वातावरण बनाएँ
make run-integration-testsएकीकरण परीक्षण चलाएँ

परीक्षण चलाना

परिवर्तन सबमिट करने से पहले लिंटर्स और परीक्षण सूट चलाएँ:

# Pre-commit हुक स्थापित करें
pip install pre-commit
pre-commit install

# बदली गई फ़ाइलों पर लिंटर्स चलाएँ
pre-commit run --files <changed-files>

# सभी परीक्षण चलाएँ
pytest tests/

# कवरेज के साथ परीक्षण चलाएँ
make run-tests

सभी फ़ाइलों की जाँच करने के लिए: pre-commit run --all-files

स्थानीय रूप से दस्तावेज़ीकरण बनाना

pip install -r docs/requirements.txt
cd docs
make html

अपने ब्राउज़र में docs/build/html/index.html खोलें।

संस्करण प्रबंधन

यह प्रोजेक्ट सिमैंटिक वर्जनिंग का उपयोग करता है। संस्करण बढ़ाने के लिए:

# विकास निर्भरताएँ स्थापित करें
pip install -r tests/requirements.txt

# संस्करण बढ़ाएँ (patch/minor/major)
bump-my-version bump patch

विस्तृत निर्देशों के लिए VERSION_MANAGEMENT.md देखें।

दस्तावेज़ीकरण

पूर्ण दस्तावेज़ीकरण https://scoringengine.readthedocs.io/en/latest/ पर उपलब्ध है।

लाइसेंस

MIT लाइसेंस के तहत जारी किया गया।

श्रेणियाँ