AWS Security: আপনার আমাজন ক্লাউড অ্যাকাউন্টের সর্বোচ্চ নিরাপত্তা নিশ্চিতকরণ!
AWS ক্লাউড অ্যাকাউন্টের নিরাপত্তা নিশ্চিত করার জন্য IAM, S3 ও নেটওয়ার্ক হার্ডেনিংয়ের একটি পূর্ণাঙ্গ প্রায়োগিক গাইড।
ক্লাউড কম্পিউটিংয়ের জগতে Amazon Web Services বা AWS-এর অবস্থান অপ্রতিদ্বন্দ্বী। বিশ্বের কোটি কোটি প্রতিষ্ঠানের গুরুত্বপূর্ণ ডেটা, অ্যাপ্লিকেশন এবং ইনফ্রাস্ট্রাকচার AWS-এর সার্ভারে নিরাপদে চলছে। কিন্তু এই বিশাল প্ল্যাটফর্মের সুবিধা ভোগ করতে গিয়ে অনেক প্রতিষ্ঠান নিরাপত্তার প্রাথমিক ধাপগুলো উপেক্ষা করে বিপদ ডেকে আনে। AWS-এর Shared Responsibility Model অনুযায়ী, ক্লাউডের অবকাঠামোগত নিরাপত্তা AWS-এর দায়িত্ব হলেও, ক্লাউডের ভেতরে আপনার ডেটা ও কনফিগারেশনের নিরাপত্তা সম্পূর্ণভাবে আপনার নিজের দায়িত্ব। এই দায়িত্ব সঠিকভাবে পালন না করার কারণেই Capital One থেকে শুরু করে অনেক বড় বড় প্রতিষ্ঠান লক্ষ লক্ষ ডলারের ক্ষতির সম্মুখীন হয়েছে।
এই বিস্তারিত নিবন্ধে আমরা AWS Security-র মৌলিক স্তম্ভগুলো নিয়ে আলোচনা করব। কীভাবে Identity and Access Management সঠিকভাবে কনফিগার করতে হয়, S3 বাকেট লিকেজ থেকে কীভাবে সুরক্ষিত থাকতে হয়, এবং নেটওয়ার্ক স্তরে কী কী হার্ডেনিং পদক্ষেপ নেওয়া উচিত— সবকিছুই বিশদে জানব।
AWS Security-র মূল ধারণা
AWS-এর নিরাপত্তা স্থাপত্য মূলত Defense in Depth নীতির ওপর প্রতিষ্ঠিত। অর্থাৎ একাধিক স্তরে নিরাপত্তা ব্যবস্থা স্থাপন করা হয়, যাতে একটি স্তর ভেদ করতে পারলেও আক্রমণকারী পরবর্তী স্তরে আটকে যায়। AWS Security-র মূল ভিত্তি হলো Shared Responsibility Model। AWS দায়িত্ব নেয় "Security of the Cloud" অর্থাৎ ডেটা সেন্টার, হার্ডওয়্যার, নেটওয়ার্ক ইনফ্রাস্ট্রাকচার এবং Hypervisor-এর নিরাপত্তার। অন্যদিকে, "Security in the Cloud" অর্থাৎ আপনার ডেটা, অ্যাপ্লিকেশন, অপারেটিং সিস্টেম, নেটওয়ার্ক কনফিগারেশন এবং Access Management-এর দায়িত্ব আপনাকেই বহন করতে হয়।
AWS Security-র কেন্দ্রীয় উপাদান হলো Identity and Access Management বা IAM। IAM-এর মাধ্যমে আপনি নির্ধারণ করেন কে (User) কী (Resource) এবং কীভাবে (Permission) অ্যাক্সেস করতে পারবে। IAM-এ চারটি মূল ধারণা রয়েছে— Users, Groups, Roles এবং Policies। Users হলো ব্যক্তি বা সিস্টেম যারা AWS অ্যাকাউন্টে কাজ করে। Groups হলো একই ধরনের Permission প্রাপ্ত একাধিক User-এর সমষ্টি। Roles হলো অস্থায়ী Permission যা AWS Service বা ফেডারেটেড ইউজাররা গ্রহণ করতে পারে। আর Policies হলো JSON ফরম্যাটে লেখা নথি যা নির্ধারণ করে কোন রিসোর্সে কী ধরনের অ্যাকশন অনুমোদিত।
নিরাপত্তার আরেকটি গুরুত্বপূর্ণ ধারণা হলো Principle of Least Privilege। অর্থাৎ যে User বা Service-কে যতটুকু Permission দরকার ঠিক ততটুকুই দেওয়া উচিত, এর বেশি নয়। অতিরিক্ত Permission দেওয়া মানে আক্রমণকারীর Lateral Movement-এর সুযোগ তৈরি করে দেওয়া।
IAM হার্ডেনিং ও Multi-Factor Authentication
AWS অ্যাকাউন্টের সবচেয়ে শক্তিশালী User হলো Root User। এই অ্যাকাউন্ট সম্পূর্ণ Billing এবং সমস্ত রিসোর্সে অপ্রতিরোধ্য Access রাখে। Root User-এর Credentials যদি কোনো আক্রমণকারীর হাতে পড়ে, তাহলে পুরো AWS অ্যাকাউন্ট নিয়ন্ত্রণে চলে যাবে। তাই Root User-এর Daily Activity-তে ব্যবহার সম্পূর্ণ নিষিদ্ধ। Root User-এর জন্য অবশ্যই hardware-based Multi-Factor Authentication বা MFA সক্রিয় করতে হবে এবং তার Access Keys মুছে ফেলতে হবে।
প্রতিটি Individual User-এর জন্য MFA বাধ্যতামূলক করা উচিত। AWS বিভিন্ন ধরনের MFA সমর্থন করে— Virtual MFA (Google Authenticator, Authy), Hardware MFA (YubiKey), এবং SMS MFA। SMS MFA-কে এড়িয়ে চলা ভালো কারণ SIM Swapping Attack-এর মাধ্যমে এটি বাইপাস করা সম্ভব। সম্ভব হলে FIDO2 Hardware Key ব্যবহার করুন কারণ এটি Phishing-Proof।
Password Policy কনফিগার করার সময় কমপক্ষে ১৪ অক্ষরের পাসওয়ার্ড, Uppercase, Lowercase, Number এবং Special Character বাধ্যতামূলক করুন। Password Rotation প্রতি ৯০ দিনে নির্ধারণ করুন এবং পুরোনো পাসওয়ার্ড পুনরায় ব্যবহার নিষিদ্ধ করুন।
IAM Roles ব্যবহার করার সময় Trust Policy এবং Permission Policy দুটোই কঠোরভাবে পর্যালোচনা করুন। বিশেষ করে EC2 Instance-এ Instance Profile সংযুক্ত করার সময় শুধুমাত্র প্রয়োজনীয় Permission দিন। কারণ EC2 Instance compromised হলে আক্রমণকারী Instance Metadata Service-এর মাধ্যমে এই Role-এর Credentials চুরি করতে পারে। এজন্য IMDSv2 ব্যবহার করুন যা SSRF আক্রমণের বিরুদ্ধে সুরক্ষা প্রদান করে।
S3 Bucket নিরাপত্তা ও ডেটা সুরক্ষা
AWS-এর সবচেয়ে জনপ্রিয় Service হলো Simple Storage Service বা S3। দুর্ভাগ্যবশত এটি ডেটা লিকেজের সবচেয়ে বড় কারণও বটে। Misconfigured S3 Bucket-এর কারণে FedEx, Verizon, Accenture এবং আরও অনেক প্রতিষ্ঠানের সংবেদনশীল ডেটা পাবলিকলি ফাঁস হয়ে গেছে।
S3 Bucket-এর নিরাপত্তা নিশ্চিত করতে প্রথমেই Block Public Access সেটিংস অ্যাকাউন্ট লেভেলে সক্রিয় করুন। এটি ভুলবশত কোনো Bucket পাবলিক হওয়া থেকে রক্ষা করবে। যদি কোনো নির্দিষ্ট Bucket-কে পাবলিক করতে হয়, তাহলে Bucket Policy এবং Access Control List উভয়ই সাবধানে কনফিগার করুন। Bucket Policy লেখার সময় Principal হিসেবে কখনো "*" ব্যবহার করবেন না যদি না অত্যন্ত প্রয়োজন হয়।
Server-Side Encryption সক্রিয় করা অত্যাবশ্যক। AWS তিন ধরনের Encryption সমর্থন করে— SSE-S3 (AWS পরিচালিত Key), SSE-KMS (KMS Key দিয়ে), এবং SSE-C (Customer Provided Key)। সংবেদনশীল ডেটার জন্য SSE-KMS ব্যবহার করুন কারণ এটি Key Rotation, Audit Logging এবং Granular Access Control প্রদান করে।
Versioning সক্রিয় রাখুন যাতে দুর্ঘটনাবশত Delete বা Ransomware আক্রমণের শিকার হলে পুরোনো Version পুনরুদ্ধার করা যায়। MFA Delete সক্রিয় করলে Object Delete করতে অতিরিক্ত নিরাপত্তা স্তর যুক্ত হয়। Cross-Region Replication ব্যবহার করে ডেটার একাধিক কপি বিভিন্ন Region-এ সংরক্ষণ করুন।
নেটওয়ার্ক ও VPC সিকিউরিটি
Virtual Private Cloud বা VPC হলো AWS-এর মধ্যে আপনার নিজস্ব Isolated Network। VPC-এর নিরাপত্তা নিশ্চিত করতে Public এবং Private Subnet-এর মধ্যে পরিষ্কার বিভাজন রাখুন। Internet-facing রিসোর্স (যেমন Load Balancer) Public Subnet-এ এবং Database, Application Server Private Subnet-এ রাখুন।
Security Group এবং Network ACL দুটোই Stateful এবং Stateless Firewall হিসেবে কাজ করে। Security Group Stateful, অর্থাৎ Outbound Allowed হলে Inbound Response স্বয়ংক্রিয়ভাবে অনুমোদিত হয়। NACL Stateless, যেখানে Inbound এবং Outbound আলাদাভাবে নির্ধারণ করতে হয়। কখনো 0.0.0.0/0 দিয়ে SSH (Port 22) বা RDP (Port 3389) Open রাখবেন না। বরং VPN, Bastion Host বা AWS Systems Manager Session Manager ব্যবহার করুন।
VPC Flow Logs সক্রিয় করুন যা নেটওয়ার্ক ট্র্যাফিকের সম্পূর্ণ ডেটা CloudWatch বা S3-তে সংরক্ষণ করে। আক্রমণ বিশ্লেষণ ও Forensics-এর জন্য এটি অমূল্য।
লগিং, মনিটরিং ও Threat Detection
AWS CloudTrail সক্রিয় করা প্রতিটি AWS অ্যাকাউন্টের জন্য বাধ্যতামূলক। এটি প্রতিটি API Call লগ করে— কে, কখন, কোথা থেকে, কী কাজ করেছে। CloudTrail Logs-কে আলাদা একটি Centralized S3 Bucket-এ পাঠান এবং সেই Bucket-এ Object Lock সক্রিয় রাখুন যাতে আক্রমণকারী Log মুছতে না পারে।
Amazon GuardDuty হলো Machine Learning-ভিত্তিক Threat Detection Service। এটি CloudTrail, VPC Flow Logs এবং DNS Logs বিশ্লেষণ করে অস্বাভাবিক আচরণ শনাক্ত করে। যেমন— Cryptocurrency Mining, Reconnaissance, Credential Theft বা Data Exfiltration। AWS Security Hub এই সমস্ত Finding একসাথে সমন্বিত করে দেখায়।
AWS Config Service রিসোর্সের কনফিগারেশনের পরিবর্তন ট্র্যাক করে এবং Compliance Rules অনুযায়ী মূল্যায়ন করে। উদাহরণস্বরূপ, যদি কোনো S3 Bucket পাবলিক হয়ে যায়, AWS Config সাথে সাথে Alert পাঠায় এবং Auto-Remediation ট্রিগার করতে পারে।
Encryption ও KMS ব্যবস্থাপনা
AWS Key Management Service বা KMS হলো একটি Centralized Encryption Service যা Hardware Security Module ব্যবহার করে Cryptographic Key পরিচালনা করে। Customer Managed Key বা CMK তৈরি করার সময় Key Policy সাবধানে নির্ধারণ করুন। কে Key ব্যবহার করতে পারবে এবং কে Key পরিচালনা করতে পারবে— এই দুটো আলাদা Permission যা পৃথক ব্যক্তিকে দেওয়া উচিত। এটি Separation of Duties নিশ্চিত করে।
Automatic Key Rotation প্রতি ৩৬৫ দিনে সক্রিয় রাখুন। সংবেদনশীল ডেটার জন্য Envelope Encryption ব্যবহার করুন যেখানে Data Encryption Key দিয়ে ডেটা এনক্রিপ্ট করা হয় এবং সেই DEK আবার Master Key দিয়ে এনক্রিপ্ট করা হয়।
Data in Transit এর জন্য TLS 1.2 বা TLS 1.3 বাধ্যতামূলক করুন। AWS Certificate Manager দিয়ে বিনামূল্যে SSL Certificate ইস্যু করুন এবং Auto-Renewal নিশ্চিত করুন।
বাস্তব উদাহরণ: Capital One ডেটা ব্রিচ
২০১৯ সালে Capital One-এর ১০৬ মিলিয়ন গ্রাহকের ডেটা ফাঁস হয়ে যায়। আক্রমণকারী Paige Thompson একজন প্রাক্তন AWS কর্মী, একটি Misconfigured Web Application Firewall-এর Server-Side Request Forgery বা SSRF দুর্বলতা ব্যবহার করেছিলেন। এই SSRF আক্রমণের মাধ্যমে তিনি EC2 Instance Metadata Service থেকে IAM Role-এর Temporary Credentials চুরি করেন। সেই Credentials দিয়ে S3 Bucket থেকে গ্রাহকদের সম্পূর্ণ Personally Identifiable Information ডাউনলোড করে নেন।
এই ঘটনা থেকে আমরা শিক্ষা পাই— IMDSv2 ব্যবহার অত্যাবশ্যক, IAM Role-এর Permission যতটা সম্ভব কম রাখা উচিত, এবং S3 Bucket-এ অস্বাভাবিক Download Activity-র জন্য Alert সেট করা প্রয়োজন। GuardDuty সক্রিয় থাকলে এই আক্রমণ অনেক আগেই ধরা পড়ত।
প্রতিরোধ ও প্রতিকার
AWS Security সুনিশ্চিত করতে নিম্নলিখিত Best Practices অনুসরণ করুন। প্রথমত, AWS Organizations ব্যবহার করে Multi-Account Strategy গ্রহণ করুন। প্রোডাকশন, ডেভেলপমেন্ট, লগিং এবং সিকিউরিটি— প্রতিটির জন্য আলাদা AWS অ্যাকাউন্ট রাখুন। Service Control Policy ব্যবহার করে অ্যাকাউন্ট লেভেলে Guardrail স্থাপন করুন।
দ্বিতীয়ত, Infrastructure as Code টুল যেমন Terraform বা AWS CloudFormation ব্যবহার করুন। ম্যানুয়াল কনফিগারেশন এড়িয়ে চলুন কারণ এটি Human Error-এর সম্ভাবনা বাড়ায়। Code-এর মাধ্যমে কনফিগারেশন করলে Version Control, Peer Review এবং Audit Trail নিশ্চিত হয়।
তৃতীয়ত, Regular Security Audit পরিচালনা করুন। AWS Trusted Advisor, AWS Inspector এবং Third-party টুল যেমন Prowler, ScoutSuite বা CloudSploit ব্যবহার করে Security Posture নিয়মিত পরীক্ষা করুন। CIS AWS Foundations Benchmark-এর সাথে সামঞ্জস্য নিশ্চিত করুন।
চতুর্থত, Incident Response Plan তৈরি করুন এবং নিয়মিত মহড়া করুন। AWS-এ Security Incident ঘটলে প্রথম ২৪ ঘণ্টা অত্যন্ত গুরুত্বপূর্ণ। Compromised Credentials সাথে সাথে Rotate করুন, প্রভাবিত EC2 Instance Isolate করুন, এবং Forensics-এর জন্য EBS Snapshot নিয়ে রাখুন।
পঞ্চমত, Cost Anomaly Detection সক্রিয় রাখুন। Cryptocurrency Mining বা অননুমোদিত রিসোর্স ব্যবহারের প্রথম লক্ষণ প্রায়ই Billing-এ ধরা পড়ে।
AWS Security কোনো এককালীন কাজ নয়, এটি একটি চলমান প্রক্রিয়া। প্রতিদিন নতুন নতুন Threat আসছে, নতুন Service যুক্ত হচ্ছে এবং Attack Surface পরিবর্তিত হচ্ছে। সঠিক IAM কনফিগারেশন, S3 হার্ডেনিং, নেটওয়ার্ক সেগমেন্টেশন, Encryption এবং Monitoring— এই পাঁচটি স্তম্ভের ওপর দাঁড়িয়ে আপনার AWS অ্যাকাউন্টকে দুর্ভেদ্য করে তুলতে পারেন। মনে রাখবেন, ক্লাউডে নিরাপত্তা ভঙ্গের অধিকাংশই হয় গ্রাহকের ভুল কনফিগারেশনের কারণে, AWS-এর নিজস্ব দুর্বলতার কারণে নয়। তাই Shared Responsibility Model-এর প্রতিটি অংশকে গুরুত্ব দিয়ে দেখুন এবং Security First মানসিকতা গড়ে তুলুন।
আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ AWS Security MCQ Quiz-টি দিন!
Related articles
Azure Escape: How Hackers Breach Microsoft Cloud Security Boundaries
12 min
Azure Security: Best Practices for Protecting Your Cloud Data
12 min
Cloud Forensics: Collecting Digital Evidence of Cyber Attacks in Cloud Infrastructure
12 min
Cloud IAM: Access Control and Identity Management in Cloud Servers
12 min

