“পুরো ডিস্ক এনক্রিপশনসহ গোপনীয়তা-কেন্দ্রিক VPS” খুঁজলে সাধারণত একটি মূল্য পাতার একটি চেকবক্সে গিয়ে থামতে হয়। চেকবক্সটি আসল, কিন্তু এতে যা পাওয়া যায় তা মার্কেটিংয়ের ইঙ্গিতের চেয়ে সংকীর্ণ। কিছু এনক্রিপ্ট করার আগে কার কাছ থেকে ডেটা রক্ষা করছেন সে বিষয়ে স্পষ্ট হওয়া সাহায্য করে, কারণ একটি গুরুত্বপূর্ণ ক্ষেত্রে ডিস্ক এনক্রিপশন কিছুই করে না।
VPS-এ এনক্রিপশন কী রক্ষা করে, আর কী করে না
VPS হলো অন্য কারও হার্ডওয়্যারে চলা একটি ভার্চুয়াল মেশিন। এটি চলার সময় ডিস্ক আনলক থাকে আর এনক্রিপশন কী VM-এর মেমরিতে থাকে। হোস্ট মেশিন নীতিগতভাবে সেই মেমরি পড়তে পারে। তাই:
এনক্রিপশন এগুলোর বিরুদ্ধে সাহায্য করে:
- আপনার ডিস্ক ইমেজ বা স্ন্যাপশটের একটি কপি এমন জায়গায় পৌঁছে যাওয়া যেখানে থাকার কথা নয়।
- হার্ডওয়্যার বদলের পর পুরোনো ডিস্ক বাতিল করা।
- আপনার চালু সার্ভারে প্রবেশ ছাড়াই কেউ স্টোরেজ বা ব্যাকআপে প্রবেশ পেলে।
এনক্রিপশন এগুলোর বিরুদ্ধে সাহায্য করে না:
- চালু হোস্ট নিয়ন্ত্রণকারী যে কেউ।
- যে আক্রমণকারী আপনার সার্ভারে শেল পায়: তার কাছে ডিস্ক আগেই আনলক।
- সার্ভার চালু থাকাকালীন পাঠানো আইনি অনুরোধ।
এটি এনক্রিপশন বাদ দেওয়ার কারণ নয়। এটি একে সঠিক কাজে ব্যবহার করার এবং একে অদৃশ্যতা ভেবে না নেওয়ার কারণ।
পুরো রুট ডিস্ক কেন এনক্রিপ্ট করবেন না?
করতে পারেন, কিন্তু তখন প্রতিটি রিবুট পাসফ্রেজ চাওয়ায় থেমে যাবে। আপনি ওয়েব কনসোল দিয়ে আনলক করবেন, অথবা initramfs-এ একটি SSH সার্ভার (dropbear) বসিয়ে দূর থেকে আনলক করবেন। কার্নেল আপডেটে তখন আপনার উপস্থিতি লাগবে; তত্ত্বাবধানহীন রিবুট মানে আপনি লগ ইন না করা পর্যন্ত পরিষেবা বন্ধ। বেশিরভাগ মানুষের জন্য ভালো আপস হলো: সিস্টেম ডিস্ক আগের মতো, আর সংবেদনশীল ডেটা একটি এনক্রিপ্টেড ভলিউমে, যা আপনি বুটের পর আনলক করেন।
পাঁচ কমান্ডে একটি এনক্রিপ্টেড সিন্দুক
একটি ফাইলের ভেতরে LUKS কন্টেইনার যেকোনো VPS-এ চলে, বাড়তি ডিস্ক লাগে না:
apt install -y cryptsetup
fallocate -l 10G /srv/vault.img
cryptsetup luksFormat /srv/vault.img # set a strong passphrase
cryptsetup open /srv/vault.img vault
mkfs.ext4 /dev/mapper/vault
মাউন্ট করুন এবং ব্যবহার করুন:
mkdir -p /mnt/vault && mount /dev/mapper/vault /mnt/vault
রিবুটের পর সিন্দুকটি আবার না খোলা পর্যন্ত তালাবদ্ধ থাকে:
cryptsetup open /srv/vault.img vault && mount /dev/mapper/vault /mnt/vault
বাড়তি চাবি হিসেবে একটি দ্বিতীয় পাসফ্রেজ যোগ করুন (cryptsetup luksAddKey /srv/vault.img) এবং দুটোই একটি পাসওয়ার্ড ম্যানেজারে রাখুন। দুটোই হারালে ডেটা চিরতরে হারিয়ে যাবে: কোনো সাপোর্ট টিকিট তা ফিরিয়ে আনতে পারবে না।
আপনার সংবেদনশীল পরিষেবাগুলোকে (ডেটাবেস ডিরেক্টরি, নথির ভান্ডার, পাসওয়ার্ড ম্যানেজারের ডেটা ফোল্ডার) /mnt/vault-এর দিকে নির্দেশ করুন এবং সিন্দুক মাউন্ট হওয়ার পরই সেগুলো চালু হতে দিন।
প্রায়ই ভালো: ডিস্ক নয়, ডেটা এনক্রিপ্ট করুন
ডিস্ক এনক্রিপশন ডিস্কেই থেমে যায়। যে ডেটা আপনি অন্য কোথাও কপি করেন (ব্যাকআপ, রপ্তানি, সিঙ্ক), তা এনক্রিপশন ছাড়াই যায়, যদি না সেটিও এনক্রিপ্ট করেন। ডেটার সঙ্গে চলা সুরক্ষা সাধারণত বেশি মূল্যবান:
- ব্যাকআপ: restic আপলোডের আগে ক্লায়েন্টের দিকেই সবকিছু এনক্রিপ্ট করে।
- ফাইল:
age -p secrets.tar > secrets.tar.ageএকটি পাসফ্রেজ দিয়ে এনক্রিপ্ট করে। - অ্যাপের গোপন তথ্য: অ্যাপের নিজস্ব এনক্রিপশন ব্যবহার করুন (অনেক পাসওয়ার্ড ম্যানেজার, Nextcloud-এর সার্ভার-সাইড এনক্রিপশন, ডেটাবেস কলাম এনক্রিপশন)।
EQVPS-এ এটি কেমন
আমরা পরিচয়পত্র চাই না, আপনার ডেটা বিক্রি করি না, এবং একটি warrant canary প্রকাশ করি। Managed Backups হোস্ট ছাড়ার আগে এনক্রিপ্ট হয় এবং স্টোরেজে এনক্রিপ্টেড থাকে, কিন্তু আমাদের কী দিয়ে, কারণ যে ব্যাকআপ আমরা রিস্টোর করতে পারি না তা ব্যাকআপই নয়। আপনার যদি এমন ডেটা দরকার হয় যা আপনি ছাড়া কেউ পড়তে পারবে না, তাহলে ডিস্কে পৌঁছানোর আগেই নিজে এনক্রিপ্ট করুন। এটি যেকোনো সার্ভারে সত্য, আমাদেরটাতেও।
মূল কথা
ফাঁস হওয়া স্ন্যাপশটে যা দেখতে আপনি একেবারেই চান না, তার জন্য একটি ডেটা ভলিউম এনক্রিপ্ট করুন। ব্যাকআপ উৎসেই এনক্রিপ্ট করুন। আর একটি চেকবক্সকে আপনাকে বোঝাতে দেবেন না যে চালু ভার্চুয়াল সার্ভার একটি সিন্দুক: আপনার হাতে গোপনীয়তার সবচেয়ে শক্তিশালী হাতিয়ার হলো যে ডেটার দরকার নেই তা না রাখা।
মন্তব্য
এখনো কোনো মন্তব্য নেই। প্রথম হোন।