جستوجوی «VPS متمرکز بر حریم خصوصی با رمزنگاری کامل دیسک» معمولاً به یک تیک در صفحه قیمتها ختم میشود. آن تیک واقعی است، اما آنچه برایتان میخرد محدودتر از چیزی است که بازاریابی القا میکند. پیش از رمزنگاری هر چیزی، خوب است دقیق بدانید داده را از چه کسی محافظت میکنید، چون در یک حالت مهم، رمزنگاری دیسک هیچ کاری نمیکند.
رمزنگاری روی VPS از چه محافظت میکند و از چه نه
VPS یک ماشین مجازی روی سختافزار کس دیگری است. وقتی اجرا میشود، دیسک باز است و کلید رمزنگاری در حافظه ماشین مجازی زندگی میکند. دستگاه میزبان در اصل میتواند آن حافظه را بخواند. پس:
رمزنگاری در برابر اینها کمک میکند:
- رسیدن کپی ایمیج دیسک یا snapshot شما به جایی که نباید.
- کنار گذاشتن دیسکهای قدیمی پس از تعویض سختافزار.
- دسترسی کسی به ذخیرهسازی یا پشتیبانها بدون دسترسی به سرور در حال اجرای شما.
رمزنگاری در برابر اینها کمکی نمیکند:
- هر کسی که میزبان در حال اجرا را کنترل میکند.
- مهاجمی که روی سرور شما شل میگیرد؛ برای او دیسک از قبل باز است.
- درخواستهای قانونی که در زمان روشن بودن سرور ارائه میشوند.
این دلیلی برای کنار گذاشتنش نیست. دلیلی است برای استفاده از آن در کار درست و اشتباه نگرفتنش با نامرئی بودن.
چرا کل دیسک ریشه را رمزنگاری نکنیم؟
میتوانید، اما آن وقت هر ریبوت پشت درخواست عبارت عبور متوقف میشود. آن را از طریق کنسول وب باز میکنید، یا یک سرور SSH داخل initramfs (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
آن را mount کنید و استفاده کنید:
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 هدایت کنید (پوشه پایگاهداده، ذخیره اسناد، پوشه داده یک مدیر رمز عبور) و کاری کنید که فقط پس از mount شدن گاوصندوق شروع شوند.
اغلب بهتر: داده را رمزنگاری کنید، نه دیسک را
رمزنگاری دیسک در همان دیسک متوقف میشود. دادهای که جای دیگری کپی میکنید (پشتیبانها، خروجیها، همگامسازیها) رمزنگارینشده سفر میکند، مگر اینکه آن را هم رمزنگاری کنید. محافظتی که همراه داده میرود معمولاً بیشتر میارزد:
- پشتیبانها: restic همهچیز را پیش از آپلود سمت کلاینت رمزنگاری میکند.
- فایلها:
age -p secrets.tar > secrets.tar.ageبا یک عبارت عبور رمزنگاری میکند. - رازها در اپلیکیشنها: از رمزنگاری خود اپلیکیشن استفاده کنید (بسیاری از مدیرهای رمز عبور، رمزنگاری سمت سرور Nextcloud، رمزنگاری ستونهای پایگاهداده).
این در EQVPS چطور است
ما مدرک هویتی نمیخواهیم، دادههای شما را نمیفروشیم و یک warrant canary منتشر میکنیم. Managed Backups پیش از خروج از میزبان رمزنگاری میشوند و در ذخیرهسازی رمزنگاریشده میمانند، اما با کلید ما، چون پشتیبانی که نتوانیم بازیابیاش کنیم پشتیبان نیست. اگر دادهای لازم دارید که هیچکس جز شما نتواند بخواند، پیش از رسیدن به دیسک خودتان رمزنگاریاش کنید. این روی هر سروری درست است، از جمله سرورهای ما.
نتیجه
برای هر چیزی که دوست ندارید در یک snapshot نشتکرده ببینید، یک والیوم داده را رمزنگاری کنید. پشتیبانها را در مبدأ رمزنگاری کنید. و نگذارید یک تیک قانعتان کند که سرور مجازی در حال اجرا گاوصندوق است: قویترین ابزار حریم خصوصی شما نگه نداشتن دادهای است که لازمش ندارید.
نظرات
هنوز نظری نیست. اولین نفر باشید.