বর্ণনা #
Imaxe Hardened Memcached হলো Memcached-এর একটি হার্ডেন্ড, প্রোডাকশন-প্রস্তুত AMI, যা «Memcached packaged by Bitnami»-র সরাসরি প্রতিস্থাপন হিসেবে ভাবা হয়েছে। এটি Ubuntu-র মানক প্যাকেজ দিয়ে Memcached ইনস্টল করে — apt, systemd ও FHS পাথ; /opt-এ কোনো মনোলিথিক ট্রি বা প্রোপ্রাইটারি সুপারভাইজার নেই — imaxe-র হার্ডেন্ড ভিত্তির উপরে।
Bitnami-র পণ্যের তুলনায় কারখানা থেকেই দুটি নিরাপত্তা পার্থক্য: SASL প্রমাণীকরণ সক্রিয় অবস্থায় আসে (নিষ্ক্রিয় নয়), প্রতিটি ইনস্ট্যান্সে অনন্য পাসওয়ার্ডসহ, এবং নেটওয়ার্ক ট্রাফিক TLS দিয়ে এনক্রিপ্ট করা, সার্টিফিকেটও প্রতিটি ইনস্ট্যান্সেই তৈরি হয়। যেহেতু memcached-এর একমাত্র SASL মেকানিজম PLAIN, TLS ছাড়া পাসওয়ার্ড প্লেইনটেক্সটে যেত — এখানে সেটা ঘটতে পারে না।
বাকিটা imaxe-র হার্ডেন্ড ভিত্তি: ডিফল্টে-প্রত্যাখ্যান ফায়ারওয়াল, শক্তিশালী SSH, enforce মোডে AppArmor, auditd দিয়ে অডিটিং, AIDE দিয়ে ফাইল ইন্টিগ্রিটি, rkhunter দিয়ে রুটকিট শনাক্তকরণ, ClamAV অ্যান্টিভাইরাস এবং fail2ban দিয়ে ব্রুট-ফোর্স সুরক্ষা। প্রতিটি প্রকাশে সবকিছু Lynis অডিট দিয়ে যাচাই করা হয়, যার সম্পূর্ণ রিপোর্ট নিচে পড়তে পারবেন।
দ্রুত গাইড: 5 মিনিটে চালু #
শূন্য থেকে প্রোডাকশনে একটি হার্ডেন্ড ক্যাশ পর্যন্ত যেতে যা যা লাগে।
AWS কনসোলের সাথে লড়াই করার দরকার নেই। imaxe লঞ্চার একটি গাইডেড ফর্ম, যা শুধু অপরিহার্য বিষয়গুলো জিজ্ঞেস করে — রিজিয়ন, ইনস্ট্যান্স টাইপ, নেটওয়ার্ক ও SSH অ্যাক্সেস — এবং একটি CloudFormation টেমপ্লেট তৈরি করে যা AMI-টি কনফিগার করা অবস্থায় ডেপ্লয় করে। এটি ম্যানুয়াল লঞ্চের সাধারণ ভুলগুলো এড়িয়ে দেয় (ভুল আর্কিটেকচার, অতিরিক্ত খোলা সিকিউরিটি গ্রুপ, keypair বরাদ্দ না করা) এবং পুরো স্ট্যাকটি আপনার নিজের অ্যাকাউন্টে, আপনার নিয়ন্ত্রণে রাখে।
হাতে করতে চাইলে, লম্বা পথটি পাঁচটি ধাপের:
| ধাপ | কাজ | কোথায় | সময় |
|---|---|---|---|
| 1 | সাবস্ক্রাইব করে AMI চালু করুন — যেকোনো arm64 (Graviton) ইনস্ট্যান্স; t4g.medium সুপারিশকৃত। 7 দিনের বিনামূল্যে ট্রায়াল অন্তর্ভুক্ত। | AWS Marketplace → EC2 | ~2 মিনিট |
| 2 | সিকিউরিটি গ্রুপে পোর্ট 22 খুলুন, আপনার IP বা CIDR-এ সীমাবদ্ধ রেখে। 11211 ইচ্ছাকৃতভাবে বন্ধ: আপনার অ্যাপ্লিকেশন অন্য মেশিনে থাকলে শুধু আপনার VPC-র CIDR-এর জন্য খুলুন। | EC2 কনসোল | 1 মিনিট |
| 3 | SASL ক্রেডেনশিয়াল পড়ুন — এটি সিস্টেম কনসোলে (EC2-র System Log) আছে, অথবা SSH দিয়ে sudo imaxe memcached credentials। প্রথম বুটে পাসওয়ার্ড হলো instance-id। | EC2 কনসোল বা SSH | 1 মিনিট |
| 4 | আপনার ক্লায়েন্ট সংযুক্ত করুন TLS + SASL দিয়ে: ব্যবহারকারী memcached, ইনস্ট্যান্সের পাসওয়ার্ড এবং পোর্ট 11211। সার্টিফিকেট সেলফ-সাইনড: আপনার ক্লায়েন্টকে /etc/memcached/tls/server.crt-এ বিশ্বাস করতে বলুন। | আপনার অ্যাপ্লিকেশন | ~1 মিনিট |
| 5 | প্রস্তুত — ক্যাশের আকার ইতিমধ্যে ইনস্ট্যান্স অনুযায়ী সমন্বিত। imaxe memcached status দিয়ে অবস্থা ঘুরে দেখুন। | ইনস্ট্যান্স | — |
কোনো কনফিগারেশন উইজার্ড বা বাধ্যতামূলক পরবর্তী ধাপ নেই: ইমেজ কারখানা থেকেই হার্ডেন্ড ও সঠিক মাপে আসে। এই পাতার বাকিটা ঐচ্ছিক। কিছু ভুল হলে সরাসরি সমস্যা সমাধানে যান।
বৈশিষ্ট্য #
ইমেজে যা যা আছে, কোনটা মানক আর কোনটা আমাদের নিজস্ব — সেভাবে ভাগ করা।
সাধারণ
- Ubuntu 26.04 LTS (resolute, arm64)-এর অফিসিয়াল প্যাকেজ থেকে Memcached 1.6, systemd দিয়ে পরিচালিত —
/opt-এ কোনো ট্রি বা প্রোপ্রাইটারি স্ক্রিপ্ট নেই। - Ubuntu ভিত্তি প্রতিটি বিল্ডে আপডেট, স্বয়ংক্রিয় নিরাপত্তা প্যাচ (
unattended-upgrades) সক্রিয়সহ। ufwফায়ারওয়াল ডিফল্টে-প্রত্যাখ্যান: স্থানীয়ভাবে শুধু 22 (SSH) ও 11211 (memcached) অনুমোদিত; Marketplace-এর সিকিউরিটি গ্রুপ শুধু 22 প্রকাশ করে।- হার্ডেন্ড SSH: root নেই, পাসওয়ার্ড নেই, শুধু পাবলিক কী, আধুনিক ক্রিপ্টোগ্রাফি (ed25519, chacha20-poly1305, পোস্ট-কোয়ান্টাম kex sntrup761x25519)।
- AppArmor অতিরিক্ত প্রোফাইল ইনস্টলসহ, সবগুলো enforce মোডে।
- sysctl দিয়ে হার্ডেন্ড কার্নেল,
noexec,nosuid,nodevসহ মাউন্ট,/prochidepid=2সহ। auditdদিয়ে সম্পূর্ণ অডিটিং, AIDE ও debsums দিয়ে ইন্টিগ্রিটি, rkhunter ও ClamAV দিয়ে অ্যান্টি-ম্যালওয়্যার, ufw-এর সাথে সংহত fail2ban।
বিশেষ
- কারখানা থেকেই বাধ্যতামূলক SASL: ব্যবহারকারী
memcached, প্রতিটি ইনস্ট্যান্সে অনন্য পাসওয়ার্ডসহ (প্রথম বুটে instance-id), যা EC2 সিস্টেম কনসোলে লেখা হয় — Bitnami থেকে আসা ব্যবহারকারীরা যেখানে খোঁজেন। AMI-তে কিছুই বেক করা হয় না: প্রতিটি ইনস্ট্যান্স নতুন ক্রেডেনশিয়াল পায়। - পোর্ট 11211-এ বিল্ট-ইন TLS (ন্যূনতম TLS 1.2): প্রতিটি ইনস্ট্যান্সে ইস্যু করা সেলফ-সাইনড সার্টিফিকেট — EC P-256 কী, CN হিসেবে instance-id, SAN হিসেবে ইনস্ট্যান্সের IP ও নাম — সার্ভিস চালু হওয়ার আগেই। নিজেরটাও ইনস্টল করতে পারেন।
- পোর্ট 11212 প্লেইনটেক্সটে শুধু loopback-এ, সিস্টেম টুলের জন্য (
memcstatও সঙ্গীরা TLS বলে না)। এটিও SASL দাবি করে এবং বাইরে থেকে প্রবেশযোগ্য নয়। - UDP সুস্পষ্টভাবে নিষ্ক্রিয় (
-U 0): memcached-এর UDP প্রোটোকল হলো DDoS অ্যামপ্লিফিকেশনের ক্লাসিক ভেক্টর। - প্রতিটি বুটে স্বয়ংক্রিয় টিউনিং:
imaxe memcached optimizeপ্রকৃত CPU ও RAM দিয়ে ক্যাশ মেমোরি, কানেকশন ও থ্রেড পুনর্গণনা করে — ইনস্ট্যান্স থামান, টাইপ বদলান, চালু করুন, ক্যাশ নিজে থেকেই নতুন মাপ নেয়। - রিস্টার্ট ছাড়াই SASL ব্যবহারকারী ব্যবস্থাপনা:
imaxe memcached users add/rotate/delete— SASL ডেটাবেস প্রতিটি প্রমাণীকরণে পড়া হয় এবং ক্যাশ খালি হয় না। - অন্তর্ভুক্ত
imaxeটুল: সার্ভিস, ক্রেডেনশিয়াল, সার্টিফিকেট ও পুরো হার্ডেনিং হাতে ফাইল সম্পাদনা না করেই পরিচালনার একটি CLI। - প্রতিটি প্রকাশে Lynis অডিট, সম্পূর্ণ রিপোর্ট এই পাতাতেই প্রকাশিত।
imaxe-এর মডিউল
এই AMI-তে বেক করা imaxe টুলের মডিউলগুলো, তাদের ডকুমেন্টেশনসহ:
| মডিউল | কী করে | ডকুমেন্টেশন |
|---|---|---|
| memcached | পণ্যের মডিউল: অবস্থা, ক্রেডেনশিয়াল, SASL ব্যবহারকারী, TLS ও সার্ভিসের স্বয়ংক্রিয় টিউনিং। | ডকুমেন্টেশন দেখুন → |
| os | সিস্টেমের ভিত্তি: আনঅ্যাটেন্ডেড আপডেট, লোকেল, টাইমজোন, হোস্টনেম ও সময়। | ডকুমেন্টেশন দেখুন → |
| ssh | অনুমোদিত কী, হোস্ট কী, সক্রিয় সেশন এবং এক কমান্ডেই sshd হার্ডেনিং। | ডকুমেন্টেশন দেখুন → |
| firewall | ufw-এর অবস্থা, IP ব্লক/আনব্লক এবং পোর্ট খোলা বা বন্ধ করা। | ডকুমেন্টেশন দেখুন → |
| audit | auditctl-এর সাথে না লড়েই auditd ইভেন্ট ও CIS অডিট নিয়ম। | ডকুমেন্টেশন দেখুন → |
| aide | AIDE দিয়ে ফাইল ইন্টিগ্রিটি (FIM)। | ডকুমেন্টেশন দেখুন → |
| rkhunter | রুটকিটের খোঁজে সার্ভার স্ক্যান। | ডকুমেন্টেশন দেখুন → |
| clamav | রানটাইমে ClamAV অ্যান্টিভাইরাস। | ডকুমেন্টেশন দেখুন → |
| lynis | কার্যকর করার মতো রিপোর্টসহ সিস্টেম হার্ডেনিং অডিট। | ডকুমেন্টেশন দেখুন → |
| fail2ban | jail-এর অবস্থা, নিষিদ্ধ IP, হাতে ব্যান ও আনব্যান করা। | ডকুমেন্টেশন দেখুন → |
| secrets | ইনস্ট্যান্সের স্থানীয় সিক্রেট তৈরি, পড়া ও রোটেট করে — SASL পাসওয়ার্ডসহ। | ডকুমেন্টেশন দেখুন → |
| info | /etc/imaxe/info.yaml-এ AMI-র ইনভেন্টরি, কোনো সিক্রেট ছাড়া। | ডকুমেন্টেশন দেখুন → |
| global-alerts | ইনস্ট্যান্সের সর্বজনীন অ্যালার্ট বাস (SNS)। | ডকুমেন্টেশন প্রস্তুত হচ্ছে |
সাইজিং ও খরচ #
AMI-টি AWS-এর যেকোনো arm64 (Graviton) ইনস্ট্যান্সে চলে এবং নিজেই নিজের মাপ ঠিক করে: প্রতিটি বুটে imaxe memcached optimize ব্যবহারযোগ্য RAM-এর 60 % ক্যাশে বরাদ্দ করে (OS ও এজেন্টদের জন্য 512 MB সংরক্ষণের পরে) এবং ইনস্ট্যান্সের আকার থেকে থ্রেড ও কানেকশন নির্ধারণ করে। আপনার দরকারি ক্যাশ অনুযায়ী টাইপ বাছুন: বেশি RAM = বেশি ক্যাশ, কোনো কনফিগারেশন স্পর্শ না করেই। শুরুর জন্য সুপারিশকৃত ইনস্ট্যান্স t4g.medium; এই ইমেজের বিল্ড ও টেস্টও চলে তাতেই।
| খাত | মূল্য |
|---|---|
| ঘণ্টাপ্রতি সাবস্ক্রিপশন | প্রতি ইনস্ট্যান্সে 0,014 $/ঘণ্টা |
| বার্ষিক সাবস্ক্রিপশন | প্রতি ইনস্ট্যান্সে 99 $/বছর |
| বিনামূল্যে ট্রায়াল | 7 দিন |
সাবস্ক্রিপশনের দামের সাথে যোগ হয় AWS-এর স্বাভাবিক খরচ (EC2 ইনস্ট্যান্স, EBS ডিস্ক ও ট্রাফিক), যা আপনি নিজের ট্যারিফ অনুযায়ী সরাসরি AWS-কে দেন। Memcached একটি ইন-মেমোরি ক্যাশ: ইনস্ট্যান্স বাছাইয়ে ডিস্কের চেয়ে RAM-কে অগ্রাধিকার দিন।
Lynis রিপোর্ট #
প্রতিটি প্রকাশিত সংস্করণের Lynis হার্ডেনিং অডিটের ফলাফল: হার্ডেনিং সূচক, সতর্কতা ও পরামর্শ, লাইন-বাই-লাইন সম্পূর্ণ রিপোর্টসহ।
| সংস্করণ | হার্ডেনিং সূচক | টেস্ট | সতর্কতা | পরামর্শ | অডিট | রিপোর্ট |
|---|---|---|---|---|---|---|
| v2.0 | 100/100 | 241 | 0 | 0 | 2026-08-15 | HTML · PDF ↓ |
| v1.0 | 94/100 | 244 | 1 | 1 | 2026-08-05 | HTML · PDF ↓ |
হার্ডেনিং সূচক Lynis উত্তীর্ণ টেস্ট থেকে হিসাব করে। প্রতিটি প্রকাশে আমরা অডিট আবার চালাই এবং ইমেজ Marketplace-এ ওঠানোর আগে প্রতিটি সতর্কতা ও পরামর্শ হাতে পর্যালোচনা করি; খোলা ফাইন্ডিংগুলোর বিস্তারিত রিপোর্টেই আছে।
উপলব্ধ সংস্করণ #
AWS Marketplace-এ প্রকাশিত এই AMI-র সংস্করণগুলো:
| সংস্করণ | Memcached | Ubuntu | আর্কিটেকচার | অবস্থা | প্রকাশ |
|---|---|---|---|---|---|
| v2.0 | 1.6 | 26.04 LTS (resolute) | arm64 | ✓ সক্রিয় | 2026-08 |
| v1.0 | 1.6 | 24.04 LTS (noble) | arm64 | ✓ সক্রিয় | 2026-08 |
জীবনচক্র
v2.0 হলো বর্তমান সংস্করণ, সক্রিয় ও রক্ষণাবেক্ষণে আছে: Ubuntu-র নিরাপত্তা প্যাচ unattended-upgrades-এর মাধ্যমে নিজে থেকেই ইনস্ট্যান্সে পৌঁছায়, আর আমরা নিয়মিত বিরতিতে Marketplace-এ AMI-র নতুন সংস্করণ প্রকাশ করি, প্রতিটির নিজস্ব Lynis অডিটসহ। নতুন সংস্করণ বেরোলে তা এই টেবিলে ও চেঞ্জলগে দেখা যাবে।
AMI কীভাবে চালু করবেন #
AMI-টি arm64 (Graviton) ইনস্ট্যান্সে EC2-এর মানক লঞ্চ প্রক্রিয়া অনুসরণ করে। Marketplace-এর সিকিউরিটি গ্রুপ শুধু একটি পোর্ট প্রকাশ করে:
| ধরন | প্রোটোকল | পোর্ট | উৎস |
|---|---|---|---|
| (*) SSH | TCP | 22 | আপনার CIDR |
| Memcached (ঐচ্ছিক) | TCP | 11211 | শুধু আপনার VPC-র CIDR বা আপনার ক্লায়েন্টদের SG |
সিকিউরিটি গ্রুপে 11211 ইচ্ছাকৃতভাবে বন্ধ রাখা, ঠিক Bitnami-র পণ্যের মতোই। TLS থাকলেও, শুধু আপনার প্রাইভেট নেটওয়ার্কের জন্য খুলুন — কখনোই 0.0.0.0/0 নয়। অভ্যন্তরীণ ফায়ারওয়াল (ufw) এটি আগেই অনুমতি দেয়, তাই সিকিউরিটি গ্রুপের নিয়মটুকুই যথেষ্ট। বাইরে থেকে সাময়িক অ্যাক্সেসের জন্য SSH টানেল ব্যবহার করুন: ssh -i clave.pem -L 11211:127.0.0.1:11211 ubuntu@<ip-publica> (এই AMI-তে পোর্ট ফরোয়ার্ডিং অনুমোদিত, বাকি imaxe ইমেজের বিপরীতে)। ইনস্ট্যান্সের ভিতরে sudo imaxe memcached open-port --cidr <আপনার-নেটওয়ার্ক> ও close-port স্থানীয় ফায়ারওয়াল নিয়ন্ত্রণ করে।
v2.0 প্রকাশিত হয় arm64 আর্কিটেকচারের জন্য: একটি Graviton পরিবার বাছুন (t4g, m7g/m8g, c6g–c8g, r7g/r8g…)। x86_64 ইনস্ট্যান্সে বুট হয় না।
চালু হওয়ার পর — SSH: চালুর সময় বাছাই করা keypair দিয়ে ব্যবহারকারী ubuntu। প্রবেশযোগ্য root ব্যবহারকারী নেই, পাসওয়ার্ড প্রমাণীকরণও নেই। ক্যাশের ক্রেডেনশিয়াল: SASL ব্যবহারকারী memcached, প্রাথমিক পাসওয়ার্ড হিসেবে instance-id, যা EC2 সিস্টেম কনসোলে বা SSH দিয়ে দেখা যায়:
ssh -i mi-keypair.pem ubuntu@<ip-de-la-instancia>
sudo imaxe memcached credentials # usuario, password y puerto
imaxe memcached tls show # huella del certificado de esta instanciaইমেজের ভেতরটা # বিশেষজ্ঞ
AMI-র ভেতরে যা যা চলে, কোনটা কোথায় থাকে, আর দৈনন্দিন কাজে যেসব কমান্ড ব্যবহার করবেন।
সার্ভিস ও পোর্ট
| সার্ভিস | systemd ইউনিট | পোর্ট | কী করে |
|---|---|---|---|
| Memcached | memcached.service | 11211 | ক্যাশ, বাধ্যতামূলক TLS (ন্যূনতম 1.2) ও SASL সহ |
| Memcached (loopback) | memcached.service | 11212 | শুধু 127.0.0.1-এ প্লেইনটেক্সটে শোনে, স্থানীয় টুলের জন্য; SASL তবুও বাধ্যতামূলক |
| ইনস্ট্যান্স প্রস্তুতি | imaxe-memcached-instance-setup.service | — | প্রতিটি বুটে memcached-এর আগে: TLS সার্টিফিকেট, SASL ক্রেডেনশিয়াল ও টিউনিং। Idempotent |
| OpenSSH | ssh.service | 22 | হার্ডেন্ড রিমোট অ্যাক্সেস (drop-in 99-imaxe-harden.conf) |
| ufw | ufw.service | — | ডিফল্টে-প্রত্যাখ্যান ফায়ারওয়াল (22 ও 11211 অনুমোদন করে) |
| auditd | auditd.service | — | সিস্টেম অডিটিং (পরিচয়, sudoers, sshd, লগইন) |
| fail2ban | fail2ban.service | — | journal পড়ে ufw-এর মাধ্যমে SSH ব্রুট-ফোর্স নিষেধাজ্ঞা |
| AppArmor | apparmor.service | — | বাধ্যতামূলক অ্যাক্সেস নিয়ন্ত্রণ, সব প্রোফাইল enforce-এ |
| freshclam | clamav-freshclam.service | — | ClamAV সিগনেচার আপডেট, দিনে 24 বার |
| unattended-upgrades | apt-daily-upgrade.timer | — | স্বয়ংক্রিয় নিরাপত্তা প্যাচ |
memcached সার্ভিস বেক-এ থামানো থাকে এবং প্রথমবার চালু হয় আপনার ইনস্ট্যান্সেই: সার্টিফিকেট বা ক্রেডেনশিয়াল কোনোটাই AMI-তে নেই। টোকেন /etc/memcached/tls/.generated-for সার্টিফিকেটের instance-id সংরক্ষণ করে; ইনস্ট্যান্স ক্লোন করলে id মেলে না এবং ম্যাটেরিয়াল নিজে থেকেই পুনরায় তৈরি হয়।
গুরুত্বপূর্ণ পাথ
| পাথ | এটা কী |
|---|---|
| /etc/memcached.conf | সার্ভিসের কনফিগারেশন; BEGIN/END imaxe memcached optimize ব্লকটি মডিউল প্রতিটি বুটে পুনর্লিখন করে |
| /etc/memcached/tls/ | এই ইনস্ট্যান্সের TLS সার্টিফিকেট ও কী (server.crt / server.key) |
| /etc/sasl2/memcached-sasldb2 | SASL ব্যবহারকারী ডেটাবেস (ব্যবস্থাপনা imaxe memcached users দিয়ে) |
| /etc/imaxe/secrets/memcached/password | ইনস্ট্যান্সের SASL পাসওয়ার্ড (0600, root) |
| /etc/imaxe/memcached.yml | imaxe-র memcached মডিউলের কনফিগারেশন |
| /etc/ssh/sshd_config.d/99-imaxe-harden.conf | sshd হার্ডেনিং (drop-in, মূল ফাইল স্পর্শ করে না) |
| /etc/sysctl.d/99-zz-imaxe-harden-kernel.conf | sysctl দিয়ে কার্নেল হার্ডেনিং |
| /var/log/sudo.log | sudo-র সব ব্যবহারের রেকর্ড |
| /usr/local/bin/imaxe | imaxe CLI-র বাইনারি |
দরকারি কমান্ড
| কাজ | কমান্ড |
|---|---|
| সার্ভিসের অবস্থা, লিসেনার, TLS, SASL ও পরিসংখ্যান | imaxe memcached status |
| এই ইনস্ট্যান্সের ক্রেডেনশিয়াল | sudo imaxe memcached credentials |
| SASL পাসওয়ার্ড রোটেট করা (রিস্টার্ট ছাড়া, ক্যাশ খালি হয় না) | sudo imaxe memcached users rotate |
| SASL ব্যবহারকারী: যোগ / তালিকা / মুছে ফেলা | sudo imaxe memcached users add app1 |
| ব্যবহৃত সার্টিফিকেট (subject, SAN, মেয়াদ, ফিঙ্গারপ্রিন্ট) | imaxe memcached tls show |
| সার্টিফিকেট পুনরায় তৈরি (যেমন পাবলিক IP বদলের পরে) | sudo imaxe memcached tls renew –force |
| এই ইনস্ট্যান্সের জন্য সুপারিশকৃত টিউনিং দেখা | imaxe memcached optimize –show |
| এখনই টিউনিং প্রয়োগ করা (রিস্টার্ট করে: ক্যাশ খালি হয়) | sudo imaxe memcached optimize |
| সার্ভিসের লগ | journalctl -u memcached |
| ইনস্ট্যান্স প্রস্তুতির লগ | journalctl -u imaxe-memcached-instance-setup |
সিস্টেম টুল দিয়ে স্থানীয় যাচাই — libmemcached-tools TLS বলে না, তাই loopback-এর প্লেইনটেক্সট পোর্ট ব্যবহার করা হয় (--binary কারণ libmemcached শুধু বাইনারি প্রোটোকলে SASL করে):
memcstat --binary --servers=127.0.0.1:11212 --username=memcached \
--password=$(sudo imaxe memcached credentials --show-password --json | jq -r .password)সেলফ-সাইনডের বদলে নিজের সার্টিফিকেট ইনস্টল করতে:
sudo install -m 0644 -o root -g root mi.crt /etc/memcached/tls/server.crt
sudo install -m 0640 -o root -g memcache mi.key /etc/memcached/tls/server.key
sudo rm -f /etc/memcached/tls/.generated-for # sin testigo, el módulo no lo toca
sudo systemctl restart memcachedহার্ডেনিংয়ের প্রতিটি সাবসিস্টেমের imaxe CLI-তে নিজস্ব মডিউলও আছে — দেখুন imaxe-এর মডিউল।
ব্যাকআপ ও আপডেট #
- স্বয়ংক্রিয় প্যাচ:
unattended-upgradesপ্রতিদিন Ubuntu-র নিরাপত্তা আপডেট প্রয়োগ করে, কোনো হস্তক্ষেপ ছাড়াই। - অ্যান্টিভাইরাস সিগনেচার: freshclam দিনে 24 বার ClamAV-র ডেটাবেস আপডেট করে।
- নতুন AMI: আমরা নিয়মিত বিরতিতে Marketplace-এ ইমেজের আপডেট করা সংস্করণ প্রকাশ করি; প্রতিটি সংস্করণ প্রকাশের আগে নিজস্ব Lynis অডিট পাস করে।
- ব্যাকআপ: নেই, ডিজাইন অনুযায়ীই। Memcached একটি ভোলাটাইল ক্যাশ: এর কনটেন্ট প্রতিটি রিস্টার্টে হারিয়ে যায় এবং কোনো ডেটার একমাত্র কপি এতে থাকা উচিত নয়। ব্যাকআপ বা রিস্টোর করার কিছুই নেই।
যেকোনো systemctl restart memcached — টিউনিং প্রয়োগের সময় sudo imaxe memcached optimize যেটা করে সেটাসহ — ক্যাশ খালি করে। অন্যদিকে SASL ব্যবহারকারী ও পাসওয়ার্ডের পরিবর্তনে রিস্টার্ট লাগে না। আর সফটওয়্যার ইনস্টল বা পরিবর্তন করলে AIDE-র বেসলাইন আবার তৈরি করুন (sudo aideinit বা imaxe-র aide মডিউল দিয়ে)।
সমস্যা সমাধান #
প্রায় সব টিকিট যে সমস্যাগুলো ঘিরে আসে, তাদের সাধারণ কারণ ও সমাধানসহ।
| লক্ষণ | সম্ভাব্য কারণ | সমাধান |
|---|---|---|
| ইনস্ট্যান্স চালুই হয় না | x86_64 ইনস্ট্যান্স টাইপ | AMI-টি arm64: একটি Graviton পরিবার ব্যবহার করুন (t4g, c6g–c8g, m7g…) |
| SSH দিয়ে সংযুক্ত হতে পারছি না | সিকিউরিটি গ্রুপে পোর্ট 22 বন্ধ, বা IP অনুমোদিত CIDR-এর বাইরে | SG পরীক্ষা করুন — দেখুন AMI কীভাবে চালু করবেন |
Permission denied (publickey) | পাসওয়ার্ড প্রমাণীকরণ নিষ্ক্রিয় | চালুর keypair দিয়ে ubuntu হিসেবে সংযুক্ত হোন: ssh -i clave.pem ubuntu@<ip> |
| কয়েকবার চেষ্টার পর SSH সাড়া দেয় না | fail2ban আপনার IP নিষিদ্ধ করেছে (10 মিনিটে 5 ব্যর্থতা = 1 ঘণ্টা) | এক ঘণ্টা অপেক্ষা করুন অথবা অন্য IP থেকে: sudo fail2ban-client set sshd unbanip <ip> |
| অন্য মেশিন থেকে 11211-এ পৌঁছাতে পারছি না | Marketplace-এর সিকিউরিটি গ্রুপ শুধু 22 খোলে | আপনার CIDR-এ সীমাবদ্ধ 11211-এর জন্য SG নিয়ম যোগ করুন — ufw আগেই অনুমতি দেয় |
| ক্লায়েন্ট সংযোগের সময় সকেট বন্ধ করে দেয় | ক্লায়েন্ট TLS বলে না, বা SASL করে না | TLS + SASL সমর্থনকারী লাইব্রেরি ব্যবহার করুন (pymemcache tls_context সহ, php-memcached OPT_USE_TLS সহ…) এবং /etc/memcached/tls/server.crt-এ বিশ্বাস করুন |
memcstat 11211-এর বিপরীতে সাড়া দেয় না | libmemcached-tools TLS সহ কম্পাইল করা নয় | loopback-এর প্লেইনটেক্সট পোর্ট ব্যবহার করুন: memcstat --binary --servers=127.0.0.1:11212 … |
| ইনস্ট্যান্স ক্লোন/প্রতিস্থাপনের পর প্রমাণীকরণ ব্যর্থ হয় | নতুন instance-id-র জন্য ক্রেডেনশিয়াল পুনরায় তৈরি হয় | নতুনটি পড়ুন: sudo imaxe memcached credentials (বা EC2 সিস্টেম কনসোল) |
| ইনস্ট্যান্স টাইপ বদলের পর ক্যাশ RAM কাজে লাগাচ্ছে না | টিউনিং বুটের সময় প্রয়োগ হয় | ইনস্ট্যান্স রিস্টার্ট করুন অথবা চালান sudo imaxe memcached optimize |
সচরাচর জিজ্ঞাসা #
memcached-এর পাসওয়ার্ড কোথায়?
প্রথম বুটে SASL ব্যবহারকারী memcached নিবন্ধিত হয় instance-id-কে পাসওয়ার্ড হিসেবে নিয়ে। এটি EC2 সিস্টেম কনসোলে (System Log) লেখা হয় — Bitnami থেকে আসা ব্যবহারকারীরা যেখানে খোঁজেন — এবং /etc/imaxe/secrets/memcached/password-এ থাকে। SSH দিয়ে: sudo imaxe memcached credentials।
পাসওয়ার্ড কীভাবে বদলাব বা ব্যবহারকারী যোগ করব?
sudo imaxe memcached users rotate নতুন র্যান্ডম পাসওয়ার্ড তৈরি করে; --stdin হিস্টোরিতে না রেখে নির্দিষ্ট একটি নেয়। users add / users delete আরও ব্যবহারকারী পরিচালনা করে। কোনো অপারেশনই সার্ভিস রিস্টার্ট করে না বা ক্যাশ খালি করে না।
Bitnami-তে কাজ করত, এখানে আমার ক্লায়েন্ট সংযুক্ত হচ্ছে না কেন?
কারণ এখানে SASL ও TLS কারখানা থেকেই সক্রিয় (Bitnami-তে SASL নিষ্ক্রিয় থাকে)। আপনার ক্লায়েন্টকে TLS + SASL সমর্থন করতে হবে এবং ইনস্ট্যান্সের সার্টিফিকেটে বিশ্বাস করতে হবে। এটা ইচ্ছাকৃত: memcached-এর একমাত্র SASL মেকানিজম PLAIN, আর TLS ছাড়া পাসওয়ার্ড প্লেইনটেক্সটে যেত।
11211 কি ইন্টারনেটে খুলতে পারি?
পারা যায় — কিন্তু করবেন না। সিকিউরিটি গ্রুপের নিয়ম আপনার VPC-র CIDR বা আপনার ক্লায়েন্টদের SG-তে সীমাবদ্ধ রাখুন, অথবা সাময়িক অ্যাক্সেসের জন্য SSH টানেল (-L) ব্যবহার করুন। পাবলিক ক্যাশ একটি ক্লাসিক টার্গেট, এনক্রিপ্ট করা হলেও।
সার্টিফিকেট কি সেলফ-সাইনড? নিজেরটা বসাতে পারি?
হ্যাঁ এবং হ্যাঁ। ডিফল্টটি প্রতিটি ইনস্ট্যান্স নিজের জন্য ইস্যু করে (CN = instance-id, SAN-এ তার IP ও নাম); এর SHA-256 ফিঙ্গারপ্রিন্ট সিস্টেম কনসোলে এবং imaxe memcached tls show দিয়ে দেখা যায়। নিজেরটা ব্যবহার করতে crt/কী কপি করুন /etc/memcached/tls/-এ, .generated-for টোকেন মুছুন আর রিস্টার্ট করুন — দেখুন ইমেজের ভেতরটা।
ক্যাশের মাপ কীভাবে ঠিক করব? কম পড়লে?
মাপ ঠিক করতে হয় না: প্রতিটি বুটে মডিউল ব্যবহারযোগ্য RAM-এর 60 % ক্যাশে বরাদ্দ করে এবং ইনস্ট্যান্সের আকার থেকে থ্রেড ও কানেকশন নির্ধারণ করে। আরও ক্যাশ দরকার হলে ইনস্ট্যান্স থামান, বেশি RAM-এর টাইপে বদলান আর চালু করুন — টিউনিং নিজে থেকেই পুনর্গণিত হয়।
এটা কি x86_64 ইনস্ট্যান্সে চলে?
না। v2.0 প্রকাশিত হয় arm64 (AWS Graviton)-এর জন্য: পরিবার t4g, c6g–c8g, m6g–m8g, r6g–r8g ইত্যাদি।
সাবস্ক্রিপশনে ঠিক কী কী অন্তর্ভুক্ত?
হার্ডেন্ড AMI, পণ্যের জীবনচক্র জুড়ে নতুন সংস্করণ, এবং যারা এটি তৈরি করে সেই দলের সাপোর্ট। মূল্য ইনস্ট্যান্সপ্রতি: 0,014 $/ঘণ্টা বা 99 $/বছর, 7 দিনের বিনামূল্যে ট্রায়ালসহ।
চেঞ্জলগ #
AMI-র ইতিহাস। তারিখগুলো AWS Marketplace-এ প্রতিটি সংস্করণ প্রকাশের সাথে মিলে যায়।
Ubuntu 26.04 ভিত্তি এবং Lynis 100/100
AMI-টি Ubuntu 26.04 LTS (resolute), arm64-এর উপর পুনর্নির্মিত, এবং Lynis অডিট সর্বোচ্চ সূচকে পৌঁছেছে।
প্রাথমিক প্রকাশ
AWS Marketplace-এ প্রথম পাবলিক সংস্করণ, Ubuntu 24.04 LTS arm64-এর উপর ভিত্তি করে।
imaxe memcached optimize) এবং ইমেজে বেক করা 13টি মডিউলসহ imaxe টুল।এই AMI নিয়ে সাহায্য দরকার?
যে দলটি ইমেজ তৈরি করে সেই দলই আপনাকে উত্তর দেয় — সত্যিকারের ইঞ্জিনিয়ার, কোনো বট বা ফার্স্ট লেভেল নয়।