Google ক্লাউডে ফায়ারওয়াল নিয়ম তৈরি করুন

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

ফায়ারওয়াল নিয়ম কি?

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

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

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

  • বিভিন্ন সাবনেটওয়ার্কে দুটি কম্পিউট ইঞ্জিন দৃষ্টান্ত
  • একটি নেটওয়ার্ক পিং পরীক্ষা
  • ইনস্ট্যান্স ট্যাগ ব্যবহার করে ফায়ারওয়াল নিয়ম
  • নিম্নলিখিত স্থাপত্য:

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

  • ফায়ারওয়াল নিয়মের বৈশিষ্ট্য
  • ইনস্ট্যান্স ট্যাগ ব্যবহার করে দৃষ্টান্তগুলিতে ফায়ারওয়াল নিয়মগুলি কীভাবে প্রয়োগ করবেন
  • ফায়ারওয়াল নিয়মের জন্য সর্বোত্তম অনুশীলন

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

  • একটি Google অ্যাকাউন্ট
  • দুটি কম্পিউট ইঞ্জিন দৃষ্টান্ত

স্ব-গতিসম্পন্ন পরিবেশ সেটআপ

আপনার যদি ইতিমধ্যে একটি Google অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে। Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন:

প্রোজেক্ট আইডি মনে রাখবেন, সমস্ত Google ক্লাউড প্রোজেক্ট জুড়ে একটি অনন্য নাম। এই কোডল্যাবগুলিতে এটিকে PROJECT_ID হিসাবে উল্লেখ করা হবে৷

এর পরে, Google ক্লাউড সংস্থানগুলি ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে৷

এই কোডল্যাবের মাধ্যমে চালানোর জন্য আপনার কয়েক ডলারের বেশি খরচ করা উচিত নয়, তবে আপনি যদি আরও সংস্থান ব্যবহার করার সিদ্ধান্ত নেন বা আপনি সেগুলিকে চলমান রেখে দেন তবে এটি আরও বেশি হতে পারে (এই কোডল্যাবের শেষে ক্লিনআপ বিভাগটি দেখুন)। Google ক্লাউডের নতুন ব্যবহারকারীরা $300 বিনামূল্যের ট্রায়ালের জন্য যোগ্য৷

আপনার প্রকল্প পরিবেশ শুরু করুন

কম্পিউট > কম্পিউট ইঞ্জিন > ভিএম ইনস্ট্যান্সে নেভিগেট করুন।

আপনি Compute Engine API সক্ষম করার পরে, আপনি Cloud Shell এর সাথে বেশিরভাগ কাজ করবেন, যা আপনাকে যেকোনো ব্রাউজারে কমান্ড-লাইন থেকে আপনার অবকাঠামো এবং অ্যাপ্লিকেশনগুলি পরিচালনা করতে দেয়। ডেবিয়ান-ভিত্তিক VM আপনার প্রয়োজন হবে এমন সমস্ত ডেভেলপমেন্ট টুলের সাথে লোড করা হয়েছে ( gcloud কমান্ড-লাইন টুল, Git এবং অন্যান্য) এবং একটি অবিরাম 5 GB হোম ডিরেক্টরি অফার করে। স্ক্রিনের উপরের ডানদিকে আইকনে ক্লিক করে ক্লাউড শেল খুলুন।

আপনি বাছাই এবং বিভিন্ন জোন চয়ন করতে পারেন, এছাড়াও. আরও তথ্যের জন্য, অঞ্চল এবং অঞ্চল দেখুন।

নেটওয়ার্কিং > ভিপিসি নেটওয়ার্ক > ফায়ারওয়াল নিয়মে গিয়ে বিদ্যমান ফায়ারওয়াল নিয়ম দেখুন।

লক্ষ্য করুন যে ডিফল্ট নেটওয়ার্কের জন্য শুধুমাত্র ফায়ারওয়াল নিয়ম তৈরি করা হয়েছে।

আপনার বিদ্যমান কম্পিউট ইঞ্জিন দৃষ্টান্তগুলির জন্য ফায়ারওয়াল নিয়ম তৈরি করতে হবে যাতে আপনি custom-network1

এরপরে, ট্যাগ করা উদাহরণগুলিতে ssh অ্যাক্সেসের অনুমতি দিয়ে একটি ফায়ারওয়াল নিয়ম তৈরি করুন।

ফায়ারওয়াল নিয়ম পৃষ্ঠায় থাকুন. ফায়ারওয়াল নিয়ম তৈরি করুন ক্লিক করুন।

নিম্নলিখিত স্পেসিফিকেশন যোগ করুন:

  • নাম: অনুমতি-ssh
  • নেটওয়ার্ক: কাস্টম-নেটওয়ার্ক1
  • ট্রাফিকের দিক: প্রবেশ
  • ম্যাচে অ্যাকশন: অনুমতি দিন
  • টার্গেট: নির্দিষ্ট টার্গেট ট্যাগ
  • টার্গেট ট্যাগ: iperf-access
  • উৎস আইপি রেঞ্জ: 0.0.0.0/0
  • প্রোটোকল এবং পোর্ট: নির্দিষ্ট প্রোটোকল এবং পোর্ট: tcp: 22

আপনার দুটি বিদ্যমান উদাহরণে ট্যাগ প্রয়োগ করুন।

Compute > Compute Engine > VM ইন্সট্যান্সে গিয়ে কম্পিউট ইঞ্জিন ইনস্ট্যান্স পেজে নেভিগেট করুন।

ইনস্ট্যান্স-১-এ ক্লিক করুন এবং ভিএম ইনস্ট্যান্সের বিবরণ দেখুন। সম্পাদনা ক্লিক করুন.

নেটওয়ার্ক ট্যাগ বিভাগে স্ক্রোল করুন এবং এটিকে iperf-access নামে একটি ট্যাগ দিন।

নীচে সংরক্ষণ ক্লিক করুন. VM ইনস্ট্যান্স পৃষ্ঠায় ফিরে যান, এবং ইডিট-এ ক্লিক করে এবং আবার ইনস্ট্যান্স ট্যাগ হিসেবে iperf-access যোগ করে instance-2-এর জন্য পুনরাবৃত্তি করুন।

iPerf

iPerf হল একটি সাধারণভাবে ব্যবহৃত নেটওয়ার্ক-টেস্টিং টুল যা TCP/UDP ডেটা স্ট্রীম তৈরি করতে পারে এবং যে নেটওয়ার্কগুলিকে বহন করে তার থ্রুপুট পরিমাপ করতে পারে। আপনি custom-network1 আপনার উদাহরণগুলির মধ্যে একটি দ্রুত পরীক্ষা চালানোর জন্য এটি ব্যবহার করবেন।

iPerf ইনস্টল করুন

কম্পিউট ইঞ্জিন ইনস্ট্যান্স পৃষ্ঠায় নেভিগেট করুন।

প্রতিটি ইনস্ট্যান্স তালিকার পাশের ssh বোতামে ক্লিক করে আপনি শেষ কোডল্যাবে যে দুটি VM তৈরি করেছেন তাতে Ssh করুন।

আপনি দুটি ssh উইন্ডো পপ আপ দেখতে হবে. নিম্নলিখিত কমান্ডের মাধ্যমে তাদের উভয়েই iPerf ইনস্টল করুন:

sudo apt-get install iperf

একটি iPerf পরীক্ষা চালান

instance-2 এ, instance-2 ssh টার্মিনালে নিম্নলিখিতটি প্রবেশ করে উল্লেখ করুন যে এটি iPerf সার্ভার:

iperf -s

instance-1 ssh উইন্ডোতে, instance-2 এর অভ্যন্তরীণ আইপি সহ নিম্নলিখিত কমান্ডটি লিখুন:

iperf -c [INSTANCE-2 INTERNAL IP]

এটি হ্যাং হয়ে যাবে কারণ আপনি instance-1 এবং instance-2 এর মধ্যে যোগাযোগের অনুমতি দেওয়ার জন্য অন্য ফায়ারওয়াল নিয়ম প্রয়োগ করেননি। কন্ট্রোল+জেড (ম্যাকিন্টোশে কমান্ড+জেড) প্রবেশ করে কমান্ডটি বন্ধ করুন।

এই সময়, আপনি ক্লাউড শেল দিয়ে ফায়ারওয়াল নিয়ম তৈরি করবেন।

নিশ্চিত করুন যে আপনি ক্লাউড শেলে আছেন এবং আপনার ইনস্ট্যান্স ssh সেশনে নয়। নিম্নলিখিত প্রবেশ করে একটি ফায়ারওয়াল নিয়ম তৈরি করুন:

gcloud compute firewall-rules create iperf-access --allow tcp:5001 \
      --source-ranges 0.0.0.0/0 \
      --network custom-network1 \
      --target-tags=iperf-access

নিশ্চিত করুন যে এটি নিম্নলিখিতগুলির সাথে তৈরি করা হয়েছিল:

gcloud compute firewall-rules list

NAME                         NETWORK          DIRECTION  PRIORITY  ALLOW                         DENY  DISABLED
allow-ssh                    custom-network1  INGRESS    1000      tcp:22                              False
default-allow-icmp           default          INGRESS    65534     icmp                                False
default-allow-internal       default          INGRESS    65534     tcp:0-65535,udp:0-65535,icmp        False
default-allow-rdp            default          INGRESS    65534     tcp:3389                            False
default-allow-ssh            default          INGRESS    65534     tcp:22                              False
iperf-access                 custom-network1  INGRESS    1000      tcp:5001                            False

instance-2 এর জন্য আপনার SSH উইন্ডোতে ফিরে যান। আপনার iperf সেশন এখনও সক্রিয় থাকা উচিত। যদি এটি না হয়, তাহলে নিম্নলিখিত কমান্ডটি আবার চালান।

iperf -s

instance-1 ssh উইন্ডোতে, instance-2 এর অভ্যন্তরীণ আইপি সহ নিম্নলিখিত কমান্ডটি লিখুন:

iperf -c [INSTANCE-2 INTERNAL IP]

আপনার দেখতে হবে iPerf instance-2 এর সাথে একটি সংযোগ স্থাপন করে এবং instance-1 এবং instance-2 এর মধ্যে অভ্যন্তরীণ নেটওয়ার্ক পারফরম্যান্সের একটি আউটপুট ফেরত দেয়।

আপনি এখন Google ক্লাউডে ফায়ারওয়াল নিয়ম তৈরি করার প্রাথমিক বিষয়গুলি জানেন৷

আপনি কি আচ্ছাদিত

  • কিভাবে দৃষ্টান্ত ফায়ারওয়াল নিয়ম দ্বারা প্রভাবিত হয়
  • ক্লাউড কনসোল এবং ক্লাউড শেল এর মাধ্যমে কীভাবে একটি ফায়ারওয়াল নিয়ম তৈরি করবেন
  • ফায়ারওয়াল নিয়ম এবং দৃষ্টান্তগুলিতে ট্যাগগুলি কীভাবে প্রয়োগ করবেন
  • উদাহরণগুলির মধ্যে কীভাবে একটি iPerf পরীক্ষা চালাবেন

পরবর্তী পদক্ষেপ

ক্লাউড শেলে নিম্নলিখিত কমান্ডগুলি ব্যবহার করে কম্পিউট ইঞ্জিন উদাহরণগুলি মুছুন:

gcloud compute instances delete instance-1 --zone us-central1-a

The following instances will be deleted. Any attached disks configured
 to be auto-deleted will be deleted unless they are attached to any
other instances or the `--keep-disks` flag is given and specifies them
 for keeping. Deleting a disk is irreversible and any data on the disk
 will be lost.
 - [instance-1] in [us-central1-a]
Do you want to continue (Y/n)?  y
Deleted [https://www.googleapis.com/compute/v1/projects/ypc-demo/zones/us-central1-a/instances/instance-1].
gcloud compute instances delete instance-2 --zone europe-west1-d

The following instances will be deleted. Any attached disks configured
 to be auto-deleted will be deleted unless they are attached to any
other instances or the `--keep-disks` flag is given and specifies them
 for keeping. Deleting a disk is irreversible and any data on the disk
 will be lost.
 - [instance-2] in [europe-west1-d]
Do you want to continue (Y/n)?  y
Deleted [https://www.googleapis.com/compute/v1/projects/ypc-demo/zones/europe-west1-d/instances/instance-2].

নিম্নলিখিত কমান্ড দিয়ে ফায়ারওয়াল নিয়ম মুছুন:

gcloud compute firewall-rules delete allow-ssh

The following firewalls will be deleted:
 - [allow-ssh]
Do you want to continue (Y/n)?  y
Deleted [https://www.googleapis.com/compute/v1/projects/vpc-demo-241520/global/firewalls/allow-ssh].
gcloud compute firewall-rules delete iperf-access

The following firewalls will be deleted:
 - [iperf-access]
Do you want to continue (Y/n)?  y
Deleted [https://www.googleapis.com/compute/v1/projects/vpc-demo-241520/global/firewalls/iperf-access].

নিম্নলিখিত কমান্ড সহ সাবনেটওয়ার্কগুলি মুছুন:

gcloud compute networks subnets delete subnet-us-central-192 --region us-central1

The following subnetworks will be deleted:
 - [subnet-us-central-192] in [us-central1]
Do you want to continue (Y/n)?  y
Deleted [https://www.googleapis.com/compute/v1/projects/vpc-demo-241520/regions/us-central1/subnetworks/subnet-us-central-192].
gcloud compute networks subnets delete subnet-europe-west-192 --region europe-west1

The following subnetworks will be deleted:
 - [subnet-europe-west-192] in [europe-west1]
Do you want to continue (Y/n)?  y
Deleted [https://www.googleapis.com/compute/v1/projects/vpc-demo-241520/regions/europe-west1/subnetworks/subnet-europe-west-192].

নিম্নলিখিত কমান্ড দিয়ে কাস্টম VPC মুছুন:

gcloud compute networks delete custom-network1

The following networks will be deleted:
 - [custom-network1]
Do you want to continue (Y/n)?  y
Deleted [https://www.googleapis.com/compute/v1/projects/vpc-demo-241520/global/networks/custom-network1].