
एक संगठनात्मक परिसंपत्ति और भेद्यता प्रबंधन उपकरण, जिसमें जीरा एकीकरण है, जो एप्लिकेशन सुरक्षा रिपोर्ट तैयार करने के लिए डिज़ाइन किया गया है।
एक संगठनात्मक परिसंपत्ति और भेद्यता प्रबंधन उपकरण, Jira एकीकरण के साथ, एप्लिकेशन सुरक्षा रिपोर्ट तैयार करने के लिए डिज़ाइन किया गया।
कृपया ध्यान रखें, यह परियोजना प्रारंभिक विकास में है।


.env फ़ाइल बनाएं और निम्नलिखित गुण प्रदान करें:MYSQL_DATABASE="bulwark"
MYSQL_PASSWORD="bulwark"
MYSQL_ROOT_PASSWORD="bulwark"
MYSQL_USER="root"
MYSQL_DB_CHECK="mysql"
DB_PASSWORD="bulwark"
DB_URL="172.16.16.3"
DB_ROOT="root"
DB_USERNAME="bulwark"
DB_PORT=3306
DB_NAME="bulwark"
DB_TYPE="mysql"
NODE_ENV="production"
DEV_URL="http://localhost:4200"
SERVER_ADDRESS="http://localhost"
PORT=4500
JWT_KEY="changeme"
JWT_REFRESH_KEY="changeme"
CRYPTO_SECRET="changeme"
CRYPTO_SALT="changeme"
Bulwark कंटेनर बनाएं और शुरू करें:
docker-compose up
Bulwark कंटेनर शुरू/बंद करें:
docker-compose start
docker-compose stop
Bulwark कंटेनर हटाएं:
docker-compose down
Bulwark localhost:4500 पर उपलब्ध होगा।
$ git clone (url)
$ cd bulwark
$ npm install
npm install चलाने से सर्वर-साइड और क्लाइंट-साइड दोनों मॉड्यूल इंस्टॉल होंगे। इसके अलावा, यह स्क्रिप्ट npm run config चलाएगा जो Angular environment को अपडेट करने के अलावा पर्यावरण चर को गतिशील रूप से सेट करेगा।
NODE_ENV="development" सेट करें
$ npm run config
$ npm run start:dev
NODE_ENV="production" सेट करें
कृपया ध्यान दें: npm install स्वचालित रूप से उत्पादन मोड में बिल्ड करेगा
$ npm run config
$ npm run build:prod
$ npm start
रूट निर्देशिका पर एक .env फ़ाइल बनाएं। एप्लिकेशन द्वारा इसे dotenv के साथ पार्स किया जाएगा।
DB_PASSWORDDB_PASSWORD="somePassword"
डेटाबेस पासवर्ड के लिए यह चर सेट करें
DB_USERNAMEDB_USERNAME="foobar"
डेटाबेस उपयोगकर्ता नाम के लिए यह चर सेट करें
DB_URLDB_URL=something-foo-bar.dbnet
डेटाबेस URL के लिए यह चर सेट करें
DB_PORTDB_PORT=3306
डेटाबेस पोर्ट के लिए यह चर सेट करें
DB_NAMEDB_NAME="foobar"
डेटाबेस कनेक्शन नाम के लिए यह चर सेट करें
DB_TYPEDB_TYPE="mysql"
एप्लिकेशन MySQL डेटाबेस का उपयोग करके विकसित किया गया था। अधिक डेटाबेस विकल्पों के लिए typeorm दस्तावेज़ देखें।
NODE_ENVNODE_ENV=production
नोड पर्यावरण निर्धारित करने के लिए यह चर सेट करें
DEV_URL="http://localhost:4200"Angular द्वारा एप्लिकेशन बनाने और प्रदान करने के लिए उपयोग किया जाता है
SERVER_ADDRESS="http://localhost"यदि भिन्न सर्वर पते की आवश्यकता हो तो अपडेट करें
PORT=4500यदि भिन्न सर्वर पोर्ट की आवश्यकता हो तो अपडेट करें
JWT_KEYJWT_KEY="changeMe"
JWT रहस्य के लिए यह चर सेट करें
JWT_REFRESH_KEYJWT_REFRESH_KEY="changeMe"
रिफ्रेश JWT रहस्य के लिए यह चर सेट करें
CRYPTO_SECRETCRYPTO_SECRET="randomValue"
Scrypt पासवर्ड के लिए यह चर सेट करें।
CRYPTO_SALTCRYPTO_SECRET="randomValue"
Scrypt सॉल्ट के लिए यह चर सेट करें।
.env फ़ाइल टेम्पलेटDB_PASSWORD=""
DB_URL=""
DB_USERNAME=""
DB_PORT=3306
DB_NAME=""
DB_TYPE=""
NODE_ENV=""
DEV_URL="http://localhost:4200"
SERVER_ADDRESS="http://localhost"
PORT=4500
JWT_KEY=""
JWT_REFRESH_KEY=""
CRYPTO_SECRET=""
CRYPTO_SALT=""
Install sqlite3:
brew install sqlite3
Export compiler related env variables:
export LDFLAGS="-L/opt/homebrew/opt/sqlite/lib"
export CPPFLAGS="-I/opt/homebrew/opt/sqlite/include"
export PKG_CONFIG_PATH="/opt/homebrew/opt/sqlite/lib/pkgconfig"
export NODE_OPTIONS=--openssl-legacy-provider
Prepare for a fresh install:
rm -rf node_modules
npm cache verify
npm i --force
$ npm run migration:init
$ npm run migration:run
प्रारंभिक स्टार्टअप पर निम्नलिखित क्रेडेंशियल्स के साथ एक उपयोगकर्ता खाता बनाया जाता है:
[email protected]changeMeपहली बार लॉगिन करने पर, प्रोफ़ाइल अनुभाग के अंतर्गत डिफ़ॉल्ट उपयोगकर्ता पासवर्ड अपडेट करें।
एप्लिकेशन टीम-आधारित प्राधिकरण के साथ न्यूनतम विशेषाधिकार पहुंच का उपयोग करता है। टीमों को एक भूमिका सौंपी जाती है जो उस विशिष्ट टीम के लिए उपलब्ध सुविधाओं को निर्धारित करती है। एक उपयोगकर्ता टीम सदस्यता से भूमिकाएँ प्राप्त करेगा। व्यवस्थापकों के पास टीम प्रबंधन पहुंच होती है और उन्हें उपयोगकर्ताओं को टीमों में असाइन करना होता है। प्रारंभ में, उपयोगकर्ता बिना किसी टीम संबद्धता के बनाए जाते हैं और उनके पास एप्लिकेशन में किसी भी सुविधा तक पहुंच नहीं होगी।
तीन भूमिकाएँ शामिल हैं:
एक टीम केवल एक ही संगठन से संबद्ध हो सकती है। हालांकि, एक टीम एक ही संगठन के भीतर कई परिसंपत्तियों से संबद्ध हो सकती है। एक उपयोगकर्ता कई टीमों का सदस्य हो सकता है। यदि किसी उपयोगकर्ता को एक ही संगठन की कई टीमों में असाइन किया जाता है, तो सिस्टम सबसे उच्च अधिकृत टीम का चयन करेगा।
कृपया ध्यान दें: प्रारंभिक स्टार्टअप पर डिफ़ॉल्ट उपयोगकर्ता स्वचालित रूप से Administrators टीम को असाइन किया जाता है
एक उपयोगकर्ता एक एकल API कुंजी उत्पन्न कर सकता है जिसका उपयोग उनके प्राधिकरण टोकन के स्थान पर किया जा सकता है। यह API कुंजी उन सभी कार्यों की अनुमति देती है जिनके लिए उपयोगकर्ता अधिकृत है।
उपयोगकर्ता प्रोफ़ाइल अनुभाग पर जाएंAPI कुंजी उत्पन्न करें चुनेंयह क्रिया कुंजियों की एक जोड़ी उत्पन्न करेगी:
Bulwark-Api-Key
Bulwark-Secret-Key
उत्पन्न कुंजियों को सुरक्षित स्थान पर लिख लें। आप बाद में कुंजियों को पुनः प्राप्त नहीं कर पाएंगे।
API कुंजी जोड़ी मानों को मिलान किया जाना चाहिए और निम्नलिखित HTTP अनुरोध हैडर में जोड़ा जाना चाहिए:
Bulwark-Api-KeyBulwark-Secret-Keyउदाहरण:
GET /api/assessment/1 HTTP/1.1
Host: localhost:4500
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Bulwark-Api-Key: {{changeMe}}
Bulwark-Secret-Key: {{changeMe}}
Origin: http://localhost:4200
Connection: close
Referer: http://localhost:4200/
Pragma: no-cache
Cache-Control: no-cache
पुल अनुरोधों का स्वागत है। बड़े बदलावों के लिए, कृपया पहले एक मुद्दा खोलें ताकि चर्चा की जा सके कि आप क्या बदलना चाहते हैं। अधिक जानकारी के लिए योगदान दिशानिर्देश पढ़ें।
| व्यवस्थापक | परीक्षक | केवल-पढ़ने | |
|---|---|---|---|
| उपयोगकर्ता-प्रोफ़ाइल प्रबंधन | x | x | x |
| टीम प्रबंधन | x | ||
| उपयोगकर्ता प्रबंधन | x | ||
| उपयोगकर्ता को आमंत्रित करें | x | ||
| उपयोगकर्ता बनाएं | x | ||
| ईमेल सेटिंग्स प्रबंधन | x | ||
| Jira एकीकरण | x | ||
| संगठन: पढ़ें | x | x | x |
| संगठन: पूर्ण लेखन | x | ||
| परिसंपत्ति: पढ़ें | x | x | x |
| परिसंपत्ति: पूर्ण लेखन | x | ||
| मूल्यांकन: पढ़ें | x | x | x |
| मूल्यांकन: पूर्ण लेखन | x | x | |
| भेद्यता: पढ़ें | x | x | x |
| भेद्यता: पूर्ण लेखन | x | x | |
| भेद्यता को Jira में निर्यात करें | x | x | |
| रिपोर्ट निर्माण | x | x | x |