১. ভূমিকা ও সংক্ষিপ্ত বিবরণ
ইনফোব্লক্স দ্বারা চালিত ডিএনএস আর্মার একটি সম্পূর্ণ পরিচালিত পরিষেবা, যা আপনার গুগল ক্লাউড ওয়ার্কলোডগুলির জন্য ডিএনএস-স্তরের নিরাপত্তা প্রদান করে। এর উন্নত থ্রেট ডিটেক্টরটি কোনো অতিরিক্ত পরিচালনগত জটিলতা বা পারফরম্যান্সের উপর চাপ না বাড়িয়েই, আক্রমণ শৃঙ্খলের একেবারে প্রাথমিক পর্যায়ে—অর্থাৎ ডিএনএস কোয়েরিতেই—ক্ষতিকর কার্যকলাপ শনাক্ত করার জন্য ডিজাইন করা হয়েছে।
এই কোডল্যাবটি ডিএনএস আর্মার সার্ভিসটি কনফিগার এবং পরীক্ষা করার জন্য ধাপে ধাপে নির্দেশাবলী প্রদান করে। আপনি প্রয়োজনীয় নেটওয়ার্ক পরিকাঠামো স্থাপন করবেন, থ্রেট ডিটেক্টর তৈরি করবেন, ডিএনএস থ্রেট সিমুলেট করে সার্ভিসটি পরীক্ষা করবেন এবং সবশেষে, লগস এক্সপ্লোরার ব্যবহার করে থ্রেট লগগুলো বিশ্লেষণ করবেন।
আপনি যা তৈরি করবেন
এই কোডল্যাবে, আপনি নিম্নলিখিত রিসোর্সগুলো সরবরাহ করবেন:
- দুটি VPC নেটওয়ার্ক:
network-aএবংnetwork-b -
network-aus-east4এবংus-central1অঞ্চলের সাবনেট ও ভার্চুয়াল মেশিনগুলো অন্তর্ভুক্ত থাকবে। -
network-bশুধুমাত্রus-east4এ একটি সাবনেট এবং ভার্চুয়াল মেশিন অন্তর্ভুক্ত থাকবে। - ডিএনএস কোয়েরি পরীক্ষা করার জন্য কনফিগার করা একটি ডিএনএস আর্মার অ্যাডভান্সড থ্রেট ডিটেক্টর।

আপনি যা শিখবেন
- ভিপিসি এবং ভার্চুয়াল মেশিন সহ প্রয়োজনীয় নেটওয়ার্কিং রিসোর্সগুলো কীভাবে সরবরাহ করবেন।
- কীভাবে একটি উন্নত হুমকি শনাক্তকারী যন্ত্র স্থাপন করবেন এবং নির্দিষ্ট নেটওয়ার্কগুলোকে বাদ দেবেন।
- থ্রেট সিমুলেশন স্ক্রিপ্ট ব্যবহার করে থ্রেট ডিটেকশন কনফিগারেশন কীভাবে যাচাই করা যায়।
- লগস এক্সপ্লোরারে থ্রেট লগ কীভাবে বিশ্লেষণ করবেন
আপনার যা যা লাগবে
- একটি গুগল ক্লাউড প্রকল্প।
-
gcloudকমান্ড-লাইন টুলে প্রবেশাধিকার।
২. পূর্বশর্তসমূহ
এই অংশে, আপনি নিম্নলিখিত কাজগুলো সম্পাদন করবেন:
- আপনার গুগল ক্লাউড প্রজেক্টটি প্রয়োজনীয় অর্গানাইজেশন পলিসি সীমাবদ্ধতাগুলো পূরণ করে কিনা তা যাচাই করুন।
- নিশ্চিত করুন যে আপনার ব্যবহারকারী অ্যাকাউন্টে প্রয়োজনীয় IAM রোল এবং অনুমতি রয়েছে।
- এই কোডল্যাবের জন্য প্রয়োজনীয় গুগল ক্লাউড এপিআইগুলো সক্রিয় করুন।
- Compute Engine Service Account-কে
roles/logging.viewerIAM রোলটি বরাদ্দ করুন।
সংগঠনের নীতিগত সীমাবদ্ধতা
এই কোডল্যাবটি সফলভাবে সম্পন্ন করতে, অনুগ্রহ করে আপনার প্রোজেক্টে প্রয়োগ করা অর্গানাইজেশন পলিসি সীমাবদ্ধতাগুলো যাচাই করুন। কিছু পলিসি প্রয়োজনীয় রিসোর্স সরবরাহে বাধা সৃষ্টি করতে পারে। নিম্নলিখিত সীমাবদ্ধতাগুলো এই কোডল্যাবের কনফিগারেশনকে প্রভাবিত করতে পারে:
-
constraints/gcp.resourceLocations: যে অঞ্চলগুলিতে আপনি রিসোর্স তৈরি করতে পারবেন তা সীমাবদ্ধ করে; কোডল্যাবের জন্যus-east4এবংus-central1প্রয়োজন। -
constraints/compute.vmExternalIpAccess: পাবলিক আইপি অ্যাড্রেস সহ ভার্চুয়াল মেশিন তৈরি করা প্রতিরোধ করে, যা সেটআপে সমস্যা তৈরি করতে পারে যদি আপনি কোডল্যাবের--no-addressফ্ল্যাগের ব্যবহার অনুসরণ না করেন। -
constraints/compute.shieldedVm: শিল্ডেড ভিএম (Shielded VM) তৈরি করা বাধ্যতামূলক করে, যা কোডল্যাবের ভিএম তৈরির কমান্ডগুলোতে উল্লেখ করা নেই এবং এর ফলে একটি ত্রুটি দেখা দিতে পারে। -
constraints/gcp.restrictServiceUsage: কোন কোন গুগল ক্লাউড এপিআই (Google Cloud API) চালু করা যাবে তা সীমিত করে, এবং যদিcompute.googleapis.com,networksecurity.googleapis.com,logging.googleapis.com, এবংmonitoring.googleapis.comঅনুমতি না দেওয়া হয়, তাহলে এটি কোডল্যাবটিকে ব্লক করে দিতে পারে।
IAM ভূমিকা এবং অনুমতি
এই কোডল্যাবটি সফলভাবে সম্পন্ন করার জন্য, অনুগ্রহ করে আপনার ব্যবহারকারীকে প্রদত্ত IAM রোল এবং অনুমতিগুলো যাচাই করুন। এই কোডল্যাবটি সম্পন্ন করার জন্য নিম্নলিখিত IAM রোল এবং অনুমতিগুলো প্রয়োজন।
- সার্ভিস ইউসেজ অ্যাডমিন (
roles/serviceusage.serviceUsageAdmin): কোডল্যাবের জন্য প্রয়োজনীয় গুগল ক্লাউড এপিআই (API) সক্রিয় করতে। - কম্পিউট নেটওয়ার্ক অ্যাডমিন (
roles/compute.networkAdmin): VPC নেটওয়ার্ক, সাবনেট এবং ক্লাউড NAT তৈরি ও পরিচালনা করার জন্য। - কম্পিউট সিকিউরিটি অ্যাডমিন (
roles/compute.securityAdmin): ভার্চুয়াল মেশিনগুলিতে SSH অ্যাক্সেসের জন্য ফায়ারওয়াল নিয়মাবলী কনফিগার করতে। - কম্পিউট ইনস্ট্যান্স অ্যাডমিন (v1) (
roles/compute.instanceAdmin.v1): ল্যাবের জন্য প্রয়োজনীয় ভার্চুয়াল মেশিন তৈরি এবং পরিচালনা করার জন্য। - আইএপি-সুরক্ষিত টানেল ব্যবহারকারী (
roles/iap.tunnelResourceAccessor): আইডেন্টিটি-অ্যাওয়্যার প্রক্সি (IAP)-এর মাধ্যমে SSH ব্যবহার করে ভার্চুয়াল মেশিনগুলিতে সংযোগ করার জন্য। - নেটওয়ার্ক সিকিউরিটি অ্যাডমিন (
roles/networksecurity.admin): ডিএনএস আর্মার থ্রেট ডিটেক্টর তৈরি এবং পরিচালনা করার জন্য। - লগস ভিউয়ার (
roles/logging.viewer): লগস এক্সপ্লোরারে থ্রেট লগগুলো দেখতে ও বিশ্লেষণ করতে।
গুগল ক্লাউড এপিআই
অনুগ্রহ করে নিশ্চিত করুন যে আপনার প্রজেক্টে প্রয়োজনীয় গুগল ক্লাউড এপিআইগুলো সক্রিয় করা আছে।
১. প্রয়োজনীয় API-গুলো সক্রিয় করতে , ক্লাউড শেলের মধ্যে নিম্নলিখিত gcloud কমান্ডগুলো চালান।
gcloud services enable compute.googleapis.com \
networksecurity.googleapis.com \
logging.googleapis.com \
monitoring.googleapis.com
২. এপিআইগুলো সক্রিয় আছে কিনা তা যাচাই করতে , ক্লাউড শেলের মধ্যে নিম্নলিখিত gcloud কমান্ডগুলো চালান।
gcloud services list --enabled
কম্পিউট ইঞ্জিন পরিষেবা অ্যাকাউন্ট
টেস্ট স্ক্রিপ্টটির ক্লাউড লগিং থেকে থ্রেট লগ পড়ার অনুমতি প্রয়োজন। যেহেতু স্ক্রিপ্টটি ডিফল্ট কম্পিউট ইঞ্জিন সার্ভিস অ্যাকাউন্ট ব্যবহার করে একটি ভিএম থেকে চালানো হবে, তাই এই সার্ভিস অ্যাকাউন্টটিতে roles/logging.viewer IAM রোলটি অবশ্যই অ্যাসাইন করতে হবে।
১. এনভায়রনমেন্ট ভেরিয়েবল সেট করুন এবং ক্লাউড শেলের মধ্যে নিম্নলিখিত কমান্ডগুলো চালান।
export PROJECT_ID=$(gcloud config get