CloudMapper आपको अपने Amazon Web Services (AWS) वातावरण का विश्लेषण करने में मदद करता है।
नोट नेटवर्क विज़ुअलाइज़ेशन कार्यक्षमता (कमांड prepare) अब अनुरक्षित नहीं है।
CloudMapper आपको आपके Amazon Web Services (AWS) वातावरण का विश्लेषण करने में मदद करता है। मूल उद्देश्य नेटवर्क आरेख उत्पन्न करना और उन्हें आपके ब्राउज़र में प्रदर्शित करना था (कार्यक्षमता अब अनुरक्षित नहीं है)। अब इसमें सुरक्षा मुद्दों के ऑडिट सहित और अधिक कार्यक्षमता शामिल है।
audit: संभावित गलत कॉन्फ़िगरेशन की जाँच करें।collect: किसी खाते के बारे में मेटाडेटा एकत्र करें। अधिक विवरण यहाँ।find_admins: IAM नीतियों को देखकर व्यवस्थापक उपयोगकर्ताओं और भूमिकाओं, या विशिष्ट अनुमतियों वाले प्रिंसिपलों की पहचान करें। अधिक विवरण यहाँ।find_unused: खाते में अप्रयुक्त संसाधनों की खोज करें। अप्रयुक्त सुरक्षा समूह, इलास्टिक IP, नेटवर्क इंटरफ़ेस, वॉल्यूम और इलास्टिक लोड बैलेंसर ढूँढता है।prepare/webserver: देखें नेटवर्क विज़ुअलाइज़ेशनpublic: सार्वजनिक होस्ट और पोर्ट रेंज खोजें। अधिक विवरण यहाँ।sg_ips: सुरक्षा समूहों में विश्वसनीय CIDR पर जियोआईपी जानकारी प्राप्त करें। अधिक विवरण यहाँ।stats: खातों के लिए संसाधनों की गणना दिखाएं। अधिक विवरण यहाँ।weboftrust: वेब ऑफ ट्रस्ट दिखाएं। अधिक विवरण यहाँ।report: HTML रिपोर्ट उत्पन्न करें। इसमें खातों का सारांश और ऑडिट निष्कर्ष शामिल हैं। अधिक विवरण यहाँ।iam_report: किसी खाते की IAM जानकारी के लिए HTML रिपोर्ट उत्पन्न करें। अधिक विवरण यहाँ।यदि आप अपने स्वयं के निजी कमांड जोड़ना चाहते हैं, तो आप एक private_commands निर्देशिका बना सकते हैं और उन्हें वहाँ जोड़ सकते हैं।
|
|
|
|
|
|
आवश्यकताएँ:
pip, और virtualenvjq (https://stedolan.github.io/jq/) और लाइब्रेरी pyjq (https://github.com/doloopwhile/pyjq) की भी आवश्यकता होगी, जिनके लिए कुछ अतिरिक्त उपकरण स्थापित करने होंगे जो दिखाए जाएंगे।macOS पर:
# clone the repo
git clone https://github.com/duo-labs/cloudmapper.git
# Install pre-reqs for pyjq
brew install autoconf automake awscli freetype jq libtool python3
cd cloudmapper/
python3 -m venv ./venv && source venv/bin/activate
pip install --prefer-binary -r requirements.txt
Linux पर:
# clone the repo
git clone https://github.com/duo-labs/cloudmapper.git
# (AWS Linux, Centos, Fedora, RedHat etc.):
# sudo yum install autoconf automake libtool python3-devel.x86_64 python3-tkinter python-pip jq awscli
# (Debian, Ubuntu etc.):
# You may additionally need "build-essential"
sudo apt-get install autoconf automake libtool python3.7-dev python3-tk jq awscli
cd cloudmapper/
python3 -m venv ./venv && source venv/bin/activate
pip install -r requirements.txt
डेमो डेटा का एक छोटा सेट प्रदान किया गया है। यह डेमो साइट https://duo-labs.github.io/cloudmapper/ के समान वातावरण प्रदर्शित करेगा।
# Generate the data for the network map
python cloudmapper.py prepare --config config.json.demo --account demo
# Generate a report
python cloudmapper.py report --config config.json.demo --account demo
python cloudmapper.py webserver
यह http://127.0.0.1:8000/ पर एक स्थानीय वेबसर्वर चलाएगा। उस लिंक से नेटवर्क मैप देखें, या http://127.0.0.1:8000/account-data/report.html पर रिपोर्ट देखें।
config.json.demo को config.json में कॉपी करें और इसे अपने खाता आईडी और नाम (जैसे "prod") के साथ-साथ किसी भी बाहरी CIDR नाम को शामिल करने के लिए संपादित करें। CIDR एक IP रेंज है जैसे 1.2.3.4/32 जिसका अर्थ केवल IP 1.2.3.4 है।
यह चरण CLI का उपयोग करके describe और list कॉल करता है और जॉनसन को account-data के अंतर्गत खाता नाम द्वारा निर्दिष्ट फ़ोल्डर में रिकॉर्ड करता है।
आपके पास AWS क्रेडेंशियल्स कॉन्फ़िगर होने चाहिए जो CLI द्वारा एकत्रित करने के लिए विभिन्न मेटाडेटा के लिए पढ़ने की अनुमति के साथ उपयोग किए जा सकें। मैं aws-vault का उपयोग करने की सलाह देता हूँ। CloudMapper IAM जानकारी एकत्र करेगा, जिसका अर्थ है कि आपको MFA का उपयोग करना होगा। केवल collect चरण के लिए AWS एक्सेस की आवश्यकता है।
आपके पास निम्नलिखित विशेषाधिकार होने चाहिए (ये विभिन्न मेटाडेटा की रीड एक्सेस प्रदान करते हैं):
arn:aws:iam::aws:policy/SecurityAuditarn:aws:iam::aws:policy/job-function/ViewOnlyAccessडेटा एकत्र करना इस प्रकार किया जाता है:
python cloudmapper.py collect --account my_account
यहाँ से, विभिन्न कमांड चलाने का प्रयास करें, जैसे:
python cloudmapper.py report --account my_account
python cloudmapper.py webserver
फिर अपने ब्राउज़र में 127.0.0.1:8000/account-data/report.html पर रिपोर्ट देखें।
सीधे config.json को संशोधित करने के बजाय, वहाँ डेटा कॉन्फ़िगर करने के लिए एक कमांड है, यदि आवश्यक हो:
python cloudmapper.py configure {add-account|remove-account} --config-file CONFIG_FILE --name NAME --id ID [--default DEFAULT]
python cloudmapper.py configure {add-cidr|remove-cidr} --config-file CONFIG_FILE --cidr CIDR --name NAME
यह आपको अपने वातावरण में उपयोग किए जाने वाले विभिन्न AWS खातों और ज्ञात CIDR IP को परिभाषित करने की अनुमति देगा।
यदि आप AWS Organizations का उपयोग करते हैं, तो आप config.json में संगठन सदस्य खातों को स्वचालित रूप से जोड़ सकते हैं:
python cloudmapper.py configure discover-organization-accounts
इस कमांड को चलाने से पहले आपको AWS CLI में प्रमाणित होना चाहिए और organization:ListAccounts की अनुमति होनी चाहिए।