رمزگذاری کامل دیسک سیستم های نصب شده لینوکس ویندوز. مولتی بوت رمزگذاری شده

رمزگذاری کامل دیسک سیستم های نصب شده لینوکس ویندوز. مولتی بوت رمزگذاری شده
راهنمای خود برای رمزگذاری فول دیسک در Runet V0.2 به روز شده است.

استراتژی کابوی:

[A] رمزگذاری سیستم بلوک ویندوز 7 سیستم نصب شده؛
[B] رمزگذاری سیستم بلوک گنو/لینوکس (دبیان) سیستم نصب شده (از جمله /boot);
[C] راه اندازی GRUB2، محافظت از بوت لودر با امضای دیجیتال/احراز هویت/هش کردن.
[D] تمیز کردن - از بین بردن داده های رمزگذاری نشده.
[E] پشتیبان گیری جهانی از سیستم عامل رمزگذاری شده.
[F] حمله <در [C6]> هدف - لودر GRUB2.
[G] مستندات مفید.

╭───طرح #اتاق 40# :
├──╼ ویندوز 7 نصب شده - رمزگذاری کامل سیستم، پنهان نیست.
├──╼ گنو/لینوکس نصب شده است (توزیع دبیان و مشتق) - رمزگذاری کامل سیستم پنهان نیست(/، از جمله /boot; swap);
├──╼ بوت لودرهای مستقل: بوت لودر VeraCrypt نصب شده در MBR، بوت لودر GRUB2 نصب شده در پارتیشن توسعه یافته.
├──╼ نصب/نصب مجدد سیستم عامل مورد نیاز نیست.
└──╼ نرم افزار رمزنگاری استفاده شده: VeraCrypt; Cryptosetup; gnupg; اسب دریایی؛ hashdeep; GRUB2 - رایگان/رایگان.

طرح فوق تا حدی مشکل "راه اندازی از راه دور به درایو فلش" را حل می کند، به شما امکان می دهد از سیستم عامل ویندوز / لینوکس رمزگذاری شده لذت ببرید و داده ها را از طریق "کانال رمزگذاری شده" از یک سیستم عامل به سیستم دیگر تبادل کنید.

سفارش بوت کامپیوتر (یکی از گزینه ها):

  • روشن کردن دستگاه؛
  • دانلود بوت لودر VeraCrypt (ورود صحیح رمز عبور برای بوت شدن ویندوز 7 ادامه می یابد);
  • با فشار دادن کلید "Esc" بوت لودر GRUB2 بارگیری می شود.
  • بوت لودر GRUB2 (انتخاب توزیع/GNU/Linux/CLI)، نیاز به احراز هویت ابرکاربر GRUB2 <login/password> دارد.
  • پس از احراز هویت موفقیت آمیز و انتخاب توزیع، باید یک عبارت عبور برای باز کردن قفل "/boot/initrd.img" وارد کنید.
  • پس از وارد کردن رمزهای عبور صحیح در GRUB2، برای وارد کردن رمز عبور "لازم" است (سومین متوالی، رمز عبور بایوس یا رمز عبور حساب کاربری گنو/لینوکس - در نظر نگیرید) برای باز کردن و راه‌اندازی سیستم عامل گنو/لینوکس یا تعویض خودکار کلید مخفی (دو رمز + کلید یا رمز + کلید);
  • یک نفوذ خارجی به پیکربندی GRUB2 فرآیند بوت گنو/لینوکس را مسدود می کند.

دردسر ساز؟ خوب، برویم فرآیندها را خودکار کنیم.

هنگام پارتیشن بندی هارد دیسک (جدول MBR) یک رایانه شخصی نمی تواند بیش از 4 پارتیشن اصلی یا 3 پارتیشن اصلی و یکی توسعه یافته و همچنین یک ناحیه تخصیص نشده داشته باشد. یک بخش توسعه یافته، برخلاف بخش اصلی، می تواند شامل بخش های فرعی باشد. (درایوهای منطقی = پارتیشن توسعه یافته). به عبارت دیگر، "پارتیشن توسعه یافته" در HDD جایگزین LVM برای کار فعلی می شود: رمزگذاری کامل سیستم. اگر دیسک شما به 4 پارتیشن اصلی تقسیم شده است، باید از lvm یا تبدیل استفاده کنید (با قالب بندی) بخش از اصلی به پیشرفته، یا با شایستگی از هر چهار بخش استفاده کنید و همه چیز را همانطور که هست رها کنید و به نتیجه دلخواه برسید. حتی اگر فقط یک پارتیشن روی دیسک خود دارید، Gparted به شما کمک می کند هارد دیسک خود را پارتیشن بندی کنید (برای بخش های اضافی) بدون از دست دادن اطلاعات، اما همچنان با هزینه کمی برای چنین اقداماتی.

طرح چیدمان هارد دیسک، که نسبت به آن کل مقاله به صورت شفاهی می شود، در جدول زیر ارائه شده است.

رمزگذاری کامل دیسک سیستم های نصب شده لینوکس ویندوز. مولتی بوت رمزگذاری شده
جدول (شماره 1) بخش 1 ترابایت.

شما باید چیزی مشابه داشته باشید.
sda1 - پارتیشن اصلی شماره 1 NTFS (رمزگذاری شده);
sda2 - نشانگر بخش توسعه یافته؛
sda6 - درایو منطقی (بوت لودر GRUB2 روی آن نصب شده است)؛
sda8 - swap (فایل مبادله رمزگذاری شده / نه همیشه)؛
sda9 - تست دیسک منطقی؛
sda5 - درایو منطقی برای افراد کنجکاو.
sda7 - سیستم عامل گنو/لینوکس (سیستم عامل منتقل شده به یک درایو منطقی رمزگذاری شده)؛
sda3 - پارتیشن اصلی شماره 2 با ویندوز 7 (رمزگذاری شده);
sda4 - پارتیشن اصلی شماره 3 (حاوی گنو / لینوکس رمزگذاری نشده بود که برای پشتیبان گیری استفاده می شد / نه همیشه).

[A] رمزگذاری سیستم مسدود کردن ویندوز 7

A1. VeraCryptرمزگذاری کامل دیسک سیستم های نصب شده لینوکس ویندوز. مولتی بوت رمزگذاری شده

در حال بارگیری از وب سایت رسمی شرکتیا از آینه sourceforge نسخه نصبی نرم افزار رمزنگاری VeraCrypt (در زمان انتشار v1.24-Update3، نسخه قابل حمل VeraCrypt برای رمزگذاری سیستم مناسب نیست). چک جمع نرم افزار دانلود شده را بررسی کنید

$ Certutil -hashfile "C:VeraCrypt Setup 1.24.exe" SHA256

و نتیجه را با CS ارسال شده در وب سایت توسعه دهنده VeraCrypt مقایسه کنید.

اگر نرم افزار HashTab نصب شده باشد، حتی ساده تر: RMB (Setup VeraCrypt 1.24.exe)-properties-مجموع هش فایل ها.

برای تایید امضای برنامه، نرم افزار و کلید pgp عمومی توسعه دهنده باید در سیستم نصب شده باشد. gnuPG; gpg4win.

A2. نصب/راه اندازی نرم افزار VeraCrypt با حقوق مدیررمزگذاری کامل دیسک سیستم های نصب شده لینوکس ویندوز. مولتی بوت رمزگذاری شده

A3. انتخاب گزینه های رمزگذاری سیستم برای پارتیشن فعالVeraCrypt - System - Encrypt System Partition/Drive - Normal - Encrypt Windows System Partition - Multiboot - (هشدار: "به کاربران بی تجربه توصیه نمی شود از این روش استفاده کنند" و درست است، موافقت کنید "بله") - دیسک بوت ("بله"، حتی اگر اینطور نباشد، باز هم "بله") - تعداد درایوهای سیستم "2 یا بیشتر" - چندین سیستم در یک درایو "بله" - بوت لودر غیر ویندوز "خیر" (در واقع "بله"، اما بارگذارهای VeraCrypt/GRUB2 MBR را بین خود به اشتراک نمی گذارند، به طور دقیق تر، تنها کوچکترین قسمت از کد لودر در مسیر MBR/boot ذخیره می شود، بخش اصلی آن در داخل فایل قرار دارد. سیستم) – Multiboot – تنظیمات رمزگذاری…

در صورت انحراف از مراحل بالا (طرح های رمز سیستم بلوک)، سپس VeraCrypt یک اخطار صادر می کند و اجازه رمزگذاری پارتیشن را نمی دهد.

گام بعدی برای حفاظت از داده های هدفمند، انجام یک "آزمایش" و انتخاب یک الگوریتم رمزگذاری است. اگر یک CPU قدیمی دارید، الگوریتم رمزگذاری Twofish به احتمال زیاد سریعترین خواهد بود. اگر CPU قدرتمند باشد، متوجه تفاوت خواهید شد: AES - رمزگذاری طبق نتایج آزمایش چندین برابر سریعتر از رقبای رمزنگاری آن خواهد بود. AES یک الگوریتم رمزگذاری محبوب است، سخت افزار CPU های مدرن به طور ویژه برای "مخفی" و "هک" بهینه شده است.

VeraCrypt از قابلیت رمزگذاری دیسک ها با آبشار AES پشتیبانی می کند(دو ماهی)/ و سایر ترکیبات در یک CPU هسته ای قدیمی اینتل ده سال پیش (بدون پشتیبانی سخت افزاری AES، رمزگذاری آبشاری A/T) کاهش عملکرد اساساً غیرقابل محسوس است. (برای CPU های AMD با همان دوره / پارامترها، عملکرد کمی کاهش می یابد). سیستم عامل در پویایی کار می کند و مصرف منابع برای رمزگذاری شفاف نامحسوس است. بر خلاف، به عنوان مثال، کاهش قابل توجه در عملکرد به دلیل آزمایش نصب شده محیط دسکتاپ ناپایدار Mate v1.20.1 (یا نسخه 1.20.2 دقیقاً یادم نیست) در گنو/لینوکس، یا به دلیل عملکرد روتین تله متری در Windows7↑. معمولاً کاربران پیشرفته قبل از رمزگذاری تست های عملکرد سخت افزاری را انجام می دهند. به عنوان مثال، در Aida64 / Sysbench / systemd-تحلیل سرزنش و مقایسه با نتایج همان آزمایشات پس از رمزگذاری سیستم، در نتیجه افسانه "رمزگذاری سیستم برای خود مضر است" را رد می کند. کاهش سرعت دستگاه و ناراحتی هنگام پشتیبان گیری / بازیابی داده های رمزگذاری شده قابل توجه است، زیرا خود عملیات "پشتیبان گیری از داده های سیستم" در میلی ثانیه اندازه گیری نمی شود و همان <رمزگشایی / رمزگذاری در پرواز> اضافه می شود. در نهایت، هر کاربری که اجازه دارد با رمزنگاری دستکاری کند، تعادلی بین الگوریتم رمزگذاری در رابطه با رضایت از وظایف، میزان پارانویا و سهولت استفاده ایجاد می‌کند.

بهتر است پارامتر PIM را در حالت پیش فرض قرار دهید تا هر بار که سیستم عامل را بوت می کنید مقادیر تکرار دقیق را وارد نکنید. VeraCrypt از تعداد زیادی تکرار برای ایجاد یک "هش آهسته" استفاده می کند. حمله به چنین «حلزون کریپتو» با استفاده از روش Brute force/rainbow tables تنها با یک عبارت عبور کوتاه «ساده» و فهرست نویسه‌های شخصی قربانی منطقی است. پرداخت برای قدرت رمز عبور - تاخیر در وارد کردن رمز عبور صحیح هنگام بارگیری سیستم عامل (نصب جلدهای VeraCrypt در گنو/لینوکس به طور قابل توجهی سریعتر است).
نرم افزار رایگان برای حملات brute force (استخراج عبارت عبور از هدر دیسک VeraCrypt/LUKS) هش کت جان چاک دهنده نمی داند چگونه Veracrypt را بشکند و هنگام کار با LUKS، رمزنگاری Twofish را درک نمی کند.

با توجه به قدرت رمزنگاری الگوریتم‌های رمزگذاری، سایفرپانک‌های غیرقابل توقف نرم‌افزاری با بردار حمله متفاوت توسعه می‌دهند. به عنوان مثال، استخراج ابرداده/کلیدها از RAM (حمله کفش سرد/DMA)، نرم افزار تخصصی رایگان و غیر رایگان برای این منظور وجود دارد.

در پایان پیکربندی / تولید "فراداده منحصر به فرد" پارتیشن فعال رمزگذاری شده، VeraCrypt راه اندازی مجدد رایانه شخصی و آزمایش عملکرد بوت لودر آن را ارائه می دهد. پس از راه اندازی مجدد / راه اندازی ویندوز، VeraCrypt در حالت آماده به کار بارگیری می شود، تنها چیزی که باقی می ماند تأیید فرآیند رمزگذاری است - Y.

در مرحله آخر رمزگذاری سیستم، VeraCrypt ایجاد یک نسخه پشتیبان از هدر پارتیشن رمزگذاری شده فعال را به شکل "veracrypt rescue disk.iso" پیشنهاد می کند - باید این کار را انجام دهید - در این نرم افزار چنین عملیاتی یک نیاز است (در LUKS، به عنوان یک الزام - این متأسفانه حذف شده است، اما در مستندات زیر آن تأکید شده است). دیسک نجات برای همه مفید است، اما برای کسی بیش از یک بار. ضرر - زیان (بازنویسی سرصفحه/MBR) پشتیبان‌گیری هدر برای همیشه دسترسی به پارتیشن رمزگشایی شده با سیستم عامل ویندوز را رد می‌کند.

A4. Rescue usb/disk VeraCrypt را ایجاد کنیدبه‌طور پیش‌فرض، VeraCrypt پیشنهاد می‌کند «متاداده ~ 2-3 مگابایت» را بر روی یک سی دی رایت کند، اما همه افراد دیسک یا درایوهای DWD-ROM ندارند، و ایجاد یک فلش درایو قابل بوت «VeraCrypt Rescue disk» برای کسی یک شگفتی فنی خواهد بود: Rufus. / GUIdd-ROSA ImageWriter و سایر نرم افزارهای مشابه - نمی توانند با این کار کنار بیایند، زیرا علاوه بر کپی کردن ابرداده های منتقل شده به یک درایو فلش قابل بوت، باید از تصویر خارج از سیستم فایل درایو usb کپی / جایگذاری کنید. به طور خلاصه، MBR / road به keychain را به درستی کپی کنید. از زیر سیستم عامل گنو / لینوکس، می توانید با نگاه کردن به این صفحه، یک درایو فلش قابل بوت با استفاده از ابزار "dd" ایجاد کنید.

رمزگذاری کامل دیسک سیستم های نصب شده لینوکس ویندوز. مولتی بوت رمزگذاری شده

ایجاد یک دیسک نجات در محیط ویندوز متفاوت است. توسعه دهنده VeraCrypt راه حل این مشکل را در رسمی قرار نداده است مستندات در "دیسک نجات"، اما راه حلی را به روش دیگری پیشنهاد کرد: او نرم افزار اضافی را برای ایجاد "دیسک نجات usb" در دسترسی رایگان در انجمن VeraCrypt خود پست کرد. بایگانی کننده این نرم افزار ویندوز "create usb veracrypt rescue disk" است. پس از ذخیره rescue disk.iso، فرآیند رمزگذاری سیستم بلاک پارتیشن فعال آغاز می شود. در طول رمزگذاری، عملکرد سیستم عامل متوقف نمی شود، نیازی به راه اندازی مجدد رایانه شخصی نیست. پس از اتمام عملیات رمزگذاری، پارتیشن فعال به طور کامل رمزگذاری می شود، می توانید از آن استفاده کنید. اگر بوت لودر VeraCrypt هنگام راه اندازی رایانه شخصی ظاهر نمی شود و عملیات بازیابی هدر کمکی نمی کند، پرچم "boot" را بررسی کنید، باید روی پارتیشنی که ویندوز در آن وجود دارد تنظیم شود. (صرف نظر از رمزگذاری و سایر سیستم عامل ها، جدول شماره 1 را ببینید).
این توضیحات رمزگذاری سیستم بلوک با سیستم عامل ویندوز را کامل می کند.

[B]LUKS. رمزگذاری گنو/لینوکس (~ دبیان) سیستم عامل نصب شده الگوریتم و مراحل

برای رمزگذاری یک توزیع دبیان/مشتق شده نصب شده، باید پارتیشن آماده شده را به یک دستگاه بلوک مجازی نگاشت، آن را به درایو گنو/لینوکس نگاشت شده منتقل کنید و GRUB2 را نصب/پیکربندی کنید. اگر سرور خالی ندارید و برای وقت خود ارزش قائل هستید، باید از رابط کاربری گرافیکی استفاده کنید، و بیشتر دستورات ترمینال که در زیر توضیح داده شده است در حالت Chuck-Norris اجرا می شوند.

B1. بوت کامپیوتر از گنو/لینوکس زنده usb

"انجام یک تست رمزنگاری بر روی عملکرد سخت افزار"

lscpu && сryptsetup benchmark

رمزگذاری کامل دیسک سیستم های نصب شده لینوکس ویندوز. مولتی بوت رمزگذاری شده

اگر شما صاحب خوشحالی از یک ماشین قدرتمند با پشتیبانی سخت افزاری AES هستید، پس اعداد مانند سمت راست ترمینال خواهند بود، اگر خوشحال هستید، اما با آهن قدیمی، مانند سمت چپ به نظر می رسند.

B2. طرح دیسک. نصب / قالب بندی fs دیسک منطقی HDD در Ext4 (Gparted)

B2.1. ایجاد یک هدر پارتیشن رمزگذاری شده sda7برای توصیف نام پارتیشن ها، از این پس، من مطابق با جدول پارتیشن خود، که در بالا گذاشته شده است، خواهم بود. با توجه به طرح دیسک خود، باید نام پارتیشن های خود را جایگزین کنید.

نگاشت رمزگذاری درایو منطقی (/dev/sda7 > /dev/mapper/sda7_crypt).
ایجاد #ساده پارتیشن LUKS-AES-XTS

cryptsetup -v -y luksFormat /dev/sda7

گزینه ها:

* luksFormat - مقداردهی اولیه هدر LUKS.
* -y -رمز عبور (نه کلید/فایل)؛
* -v - شفاهی (خروجی اطلاعات در ترمینال).
* /dev/sda7 - درایو منطقی شما از پارتیشن توسعه یافته (جایی که انتقال/رمزگذاری گنو/لینوکس برنامه ریزی شده است).

الگوریتم رمزگذاری پیش فرض <LUKS1: aes-xts-plain64، کلید: 256 بیت، هش هدر LUKS: sha256، RNG: /dev/urandom> (بستگی به نسخه cryptsetup دارد).

#Проверка default-алгоритма шифрования
cryptsetup  --help #самая последняя строка в выводе терминала.

اگر هیچ پشتیبانی سخت افزاری برای AES بر روی CPU وجود ندارد، بهترین انتخاب ایجاد یک "پارتیشن LUKS-Twofish-XTS" توسعه یافته است.

B2.2. ایجاد پیشرفته "LUKS-Twofish-XTS-partition"

cryptsetup luksFormat /dev/sda7 -v -y -c twofish-xts-plain64 -s 512 -h sha512 -i 1500 --use-urandom

گزینه ها:
* luksFormat - مقداردهی اولیه هدر LUKS.
* /dev/sda7 درایو منطقی رمزگذاری شده آینده شماست.
* -v شفاهی کردن.
* -y عبارت عبور؛
* -c انتخاب الگوریتم رمزگذاری داده ها.
* -s اندازه کلید رمزگذاری.
* -h الگوریتم/عملکرد رمزنگاری هش، RNG استفاده می شود (-استفاده- تصادفی) برای ایجاد یک کلید رمزگذاری/رمزگشایی هدر دیسک منطقی منحصر به فرد، کلید هدر ثانویه (XTS). یک کلید اصلی منحصر به فرد ذخیره شده در هدر دیسک رمزگذاری شده، یک کلید XTS ثانویه، همه این ابرداده ها و یک روال رمزگذاری که با استفاده از کلید اصلی و کلید ثانویه XTS، هر داده ای را در پارتیشن رمزگذاری / رمزگشایی می کند. (به جز عنوان بخش) در 3 مگابایت در پارتیشن دیسک سخت انتخاب شده ذخیره می شوند.
* -i تکرار در میلی ثانیه، به جای "مقدار" (تاخیر زمانی در پردازش عبارت عبور بر بارگذاری سیستم عامل و قدرت رمزنگاری کلیدها تأثیر می گذارد). برای حفظ تعادل قدرت رمزنگاری با یک رمز عبور ساده مانند "روسی"، باید مقدار -(i) را افزایش داد، با یک رمز عبور پیچیده مانند "?8dƱob/øfh" می توان مقدار را کاهش داد.
* استفاده از تولید کننده اعداد تصادفی تصادفی، کلیدها و نمک را تولید می کند.

پس از نگاشت پارتیشن sda7 > sda7_crypt (عملیات سریع است، زیرا یک هدر رمزگذاری شده با 3 مگابایت ابرداده ایجاد می شود و تمام)، باید فایل سیستم sda7_crypt را قالب بندی و نصب کنید.

B2.3. نقشه برداری

cryptsetup open /dev/sda7 sda7_crypt
#выполнение данной команды запрашивает ввод секретной парольной фразы.

گزینه ها:
* باز - بخش "با نام" را مطابقت دهید.
* /dev/sda7 - درایو منطقی؛
* sda7_crypt - نگاشت نام که برای نصب پارتیشن رمزگذاری شده یا مقداردهی اولیه آن هنگام بوت شدن سیستم عامل استفاده می شود.

B2.4. فرمت کردن فایل سیستم sda7_crypt به ext4. نصب دیسک در سیستم عامل(توجه: Gparted دیگر با پارتیشن رمزگذاری شده کار نخواهد کرد)

#форматирование блочного шифрованного устройства
mkfs.ext4 -v -L DebSHIFR /dev/mapper/sda7_crypt 

گزینه ها:
* -v - شفاهی.
* -L - برچسب دیسک (که در Explorer در میان دیسک های دیگر نمایش داده می شود).

در مرحله بعد، باید دستگاه بلوک رمزگذاری شده مجازی /dev/sda7_crypt را در سیستم نصب کنید

mount /dev/mapper/sda7_crypt /mnt

کار با فایل های موجود در پوشه /mnt به طور خودکار داده ها را در sda7 رمزگذاری / رمزگشایی می کند.

نقشه برداری و نصب پارتیشن در File Explorer راحت تر است (ناتیلوس/کاجا رابط کاربری گرافیکی)، پارتیشن قبلاً در لیست انتخاب دیسک خواهد بود، تنها چیزی که باقی می ماند این است که یک عبارت عبور برای باز کردن / رمزگشایی دیسک وارد کنید. نام نگاشت شده به طور خودکار انتخاب می شود و نه "sda7_crypt"، بلکه چیزی مانند /dev/mapper/Luks-xx-xx…

B2.5. پشتیبان‌گیری سرصفحه دیسک (فراداده ~ 3 مگابایت)یکی از بیشتر مهم عملیاتی که باید بدون تاخیر انجام شود - یک نسخه پشتیبان از هدر "sda7_crypt". در صورت بازنویسی/فاسد هدر (به عنوان مثال، نصب GRUB2 در پارتیشن sda7 و غیره)، داده های رمزگذاری شده بدون هیچ گونه امکان بازیابی برای همیشه از بین می روند، زیرا امکان تولید مجدد همان کلیدها وجود نخواهد داشت، کلیدها منحصر به فرد ایجاد می شوند.

#Бэкап заголовка раздела
cryptsetup luksHeaderBackup --header-backup-file ~/Бэкап_DebSHIFR /dev/sda7 

#Восстановление заголовка раздела
cryptsetup luksHeaderRestore --header-backup-file <file> <device>

گزینه ها:
* luksHeaderBackup --header-backup-file - فرمان پشتیبان گیری.
* luksHeaderRestore --header-backup-file - دستور restore.
* ~/Backup_DebSHIFR - فایل پشتیبان.
* /dev/sda7 - پارتیشنی که هدر دیسک رمزگذاری شده آن باید پشتیبان گیری شود.
در این مرحله، <ایجاد و ویرایش یک پارتیشن رمزگذاری شده> به پایان رسید.

B3. مهاجرت سیستم عامل گنو/لینوکس (sda4) به پارتیشن رمزگذاری شده (sda7)

پوشه /mnt2 را ایجاد کنید (توجه داشته باشید - ما همچنان با usb زنده کار می کنیم، sda7_crypt روی /mnt نصب شده است)و گنو/لینوکس ما را به /mnt2 که باید رمزگذاری شود، سوار کنید.

mkdir /mnt2
mount /dev/sda4 /mnt2

ما با استفاده از نرم افزار Rsync انتقال صحیح سیستم عامل را انجام می دهیم

rsync -avlxhHX --progress /mnt2/ /mnt

گزینه های Rsync در بخش E1 توضیح داده شده است.

بعد ضروری است یک پارتیشن دیسک را یکپارچه سازی کنید

e4defrag -c /mnt/ #после проверки, e4defrag выдаст, что степень дефрагментации раздела~"0", это заблуждение, которое может вам стоить существенной потери производительности!
e4defrag /mnt/ #проводим дефрагментацию шифрованной GNU/Linux

اگر یک هارد دیسک دارید، هر از گاهی روی گنو/لینوکس رمزگذاری شده e4defrag کنید.
انتقال و همگام سازی [GNU/Linux > GNU/Linux-encrypted] در این مرحله کامل می شود.

در ساعت 4. راه اندازی گنو/لینوکس بر روی یک پارتیشن رمزگذاری شده sda7

پس از انتقال موفقیت آمیز سیستم عامل /dev/sda4 > /dev/sda7، باید روی یک پارتیشن رمزگذاری شده به گنو/لینوکس وارد شوید و تنظیمات بیشتری را انجام دهید. (بدون راه اندازی مجدد کامپیوتر) در مورد سیستم رمزگذاری شده یعنی در usb زنده باشد، اما دستورات "نسبت به ریشه سیستم عامل رمزگذاری شده" را اجرا کند. شبیه سازی یک وضعیت مشابه "chroot" خواهد بود. برای دریافت سریع اطلاعات از سیستم عاملی که در حال حاضر روی آن کار می کنید (رمزگذاری شده یا نه، زیرا داده های sda4 و sda7 همگام هستند)، سیستم عامل ها را لغو همگام سازی کنید. در دایرکتوری های ریشه ایجاد کنید (sda4/sda7_crypt) فایل های توکن خالی، مانند /mnt/encryptedOS و /mnt2/decryptedOS. سریع بررسی کنید که از چه سیستم عاملی استفاده می کنید (از جمله برای آینده):

ls /<Tab-Tab>

B4.1. "شبیه سازی ورود به سیستم عامل رمزگذاری شده"

mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt

B4.2. بررسی اینکه آیا کار نسبت به سیستم رمزگذاری شده انجام شده است

ls /mnt<Tab-Tab> 
#и видим файл "/шифрованнаяОС"

history
#в выводе терминала должна появиться история команд su рабочей ОС.

B4.3. ایجاد/پیکربندی یک مبادله رمزگذاری شده، ویرایش crypttab/fstabاز آنجایی که فایل swap هر بار که سیستم عامل شروع می شود فرمت می شود، ایجاد و نگاشت swap به دیسک منطقی و تایپ دستورات، مانند پاراگراف B2.2، منطقی نیست. برای Swap، در هر شروع، کلیدهای رمزگذاری موقت آنها به طور خودکار تولید می شود. چرخه حیات کلیدهای swap-a: جدا کردن/جدا کردن یک پارتیشن swap (+پاک کردن رم); یا سیستم عامل را مجددا راه اندازی کنید. راه اندازی را تعویض کنید، فایلی را که مسئول پیکربندی دستگاه های رمزگذاری شده بلوک است باز کنید (مشابه فایل fstab، اما مسئول کریپتو است).

nano /etc/crypttab 

قانون

#"نام هدف" "دستگاه منبع" "فایل کلید" "گزینه ها"
swap /dev/sda8 /dev/urandom swap,cipher=twofish-xts-plain64,size=512,hash=sha512

گزینه ها
* swap - هنگام رمزگذاری /dev/mapper/swap، نام نقشه برداری شده است.
* /dev/sda8 - از پارتیشن منطقی خود برای مبادله استفاده کنید.
* /dev/urandom - تولید کننده کلیدهای رمزگذاری تصادفی برای مبادله (با هر بوت سیستم عامل جدید، کلیدهای جدیدی ایجاد می شود). مولد /dev/urandom کمتر از /dev/random تصادفی است، پس از همه اینها از /dev/random هنگام کار در شرایط خطرناک پارانوئید استفاده می شود. در راه‌اندازی سیستم عامل، /dev/random سرعت بارگیری را برای چند ± دقیقه کاهش می‌دهد (به systemd-analyze مراجعه کنید).
* swap,cipher=twofish-xts-plain64,size=512,hash=sha512: -پارتیشن می داند که مبادله است و بر این اساس فرمت شده است. الگوریتم رمزگذاری

#Открываем и правим fstab
nano /etc/fstab

قانون

# swap هنگام نصب روی dev / sda8 بود
/dev/mapper/swap هیچکدام تعویض sw 0 0

/dev/mapper/swap -نام داده شده در crypttab.

مبادله رمزگذاری شده جایگزین
اگر به دلایلی نمی‌خواهید یک پارتیشن کامل را به عنوان فایل مبادله ارائه کنید، می‌توانید به روشی جایگزین و بهتر بروید: ایجاد یک فایل swap در یک فایل در یک پارتیشن سیستم عامل رمزگذاری شده.

fallocate -l 3G /swap #создание файла размером 3Гб (почти мгновенная операция)
chmod 600 /swap #настройка прав
mkswap /swap #из файла создаём файл подкачки
swapon /swap #включаем наш swap
free -m #проверяем, что файл подкачки активирован и работает
printf "/swap none swap sw 0 0" >> /etc/fstab #при необходимости после перезагрузки swap будет постоянный

راه اندازی پارتیشن Swap کامل شد.

B4.4. راه اندازی گنو/لینوکس رمزگذاری شده (ویرایش فایل های crypttab/fstab)فایل /etc/crypttab، همانطور که در بالا نوشتم، دستگاه های بلوک رمزگذاری شده ای را که در زمان راه اندازی سیستم پیکربندی می شوند، توصیف می کند.

#правим /etc/crypttab 
nano /etc/crypttab 

اگر بخش sda7>sda7_crypt را مطابق پاراگراف B2.1 مطابقت دهید

# "نام هدف" "دستگاه منبع" "فایل کلید" "گزینه ها"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none luks

اگر بخش sda7>sda7_crypt را مطابق پاراگراف B2.2 مطابقت دهید

# "نام هدف" "دستگاه منبع" "فایل کلید" "گزینه ها"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none cipher=twofish-xts-plain64,size=512,hash=sha512

اگر مانند پاراگراف B7 یا B7 با بخش sda2.1>sda2.2_crypt مطابقت داشتید، اما نمی‌خواهید رمز عبور را مجدداً برای باز کردن قفل و بوت کردن سیستم عامل وارد کنید، می‌توانید به جای رمز عبور، کلید مخفی / فایل تصادفی را جایگزین کنید.

# "نام هدف" "دستگاه منبع" "فایل کلید" "گزینه ها"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 /etc/skey luks

شرح
*none - نشان می دهد که وقتی سیستم عامل بوت می شود، یک عبارت عبور مخفی برای باز کردن قفل root لازم است.
* UUID - شناسه پارتیشن. برای اطلاع از شناسه خود، ترمینال را تایپ کنید (یادآوری کنید که در تمام این مدت به بعد، شما در یک ترمینال در محیط chroot کار می کنید و نه در یک ترمینال زنده usb دیگر).

fdisk -l #проверка всех разделов
blkid #должно быть что-то подобное 

/dev/sda7: UUID=«81048598-5bb9-4a53-af92-f3f9e709e2f2» TYPE=«crypto_LUKS» PARTUUID=«0332d73c-07»
/dev/mapper/sda7_crypt: LABEL=«DebSHIFR» UUID=«382111a2-f993-403c-aa2e-292b5eac4780» TYPE=«ext4»

این خط هنگام درخواست blkid از ترمینال زنده USB با نصب sda7_crypt قابل مشاهده است.
UUID از sdaX شما گرفته شده است (نه sdaX_crypt!، UUID sdaX_crypt - هنگام ایجاد پیکربندی grub.cfg به طور خودکار از بین می رود).
* رمزگذاری = twofish-xts-plain64، اندازه = 512، هش = sha512 - رمزگذاری حالت پیشرفته luks.
* /etc/skey - فایل کلید مخفی، که به طور خودکار برای باز کردن بوت سیستم عامل جایگزین می شود (به جای وارد کردن رمز سوم). شما می توانید هر فایلی را تا 8 مگابایت تعیین کنید، اما داده ها <1 مگابایت خوانده می شوند.

#Создание "генерация" случайного файла <секретного ключа> размером 691б.
head -c 691 /dev/urandom > /etc/skey

#Добавление секретного ключа (691б) в 7-й слот заголовка luks
cryptsetup luksAddKey --key-slot 7 /dev/sda7 /etc/skey

#Проверка слотов "пароли/ключи luks-раздела"
cryptsetup luksDump /dev/sda7 

چیزی شبیه به این خواهد بود:

(این کار را خودتان انجام دهید و خودتان ببینید).

cryptsetup luksKillSlot /dev/sda7 7 #удаление ключа/пароля из 7 слота

/etc/fstab حاوی اطلاعات توصیفی در مورد سیستم های فایل مختلف است.

#Правим /etc/fstab
nano /etc/fstab

# "فایل سیستم" "نقطه سوار شدن" "نوع" "گزینه ها" "dump" "pass"
# / هنگام نصب روی / dev / sda7 بود
/dev/mapper/sda7_crypt / ext4 errors=remount-ro 0 1

گزینه
* /dev/mapper/sda7_crypt نام نقشه برداری sda7>sda7_crypt است که در فایل /etc/crypttab مشخص شده است.
راه اندازی crypttab/fstab اکنون کامل شده است.

B4.5. ویرایش فایل های پیکربندی لحظه کلیدیB4.5.1. ویرایش پیکربندی /etc/initramfs-tools/conf.d/resume

#Если у вас ранее был активирован swap раздел, отключите его. 
nano /etc/initramfs-tools/conf.d/resume

و نظر بده (در صورت وجود) "#" خط "رزومه". فایل باید کاملا خالی باشد.

B4.5.2. ویرایش پیکربندی /etc/initramfs-tools/conf.d/cryptsetup

nano /etc/initramfs-tools/conf.d/cryptsetup

باید مطابقت داشته باشد

# /etc/initramfs-tools/conf.d/cryptsetup
CRYPTSETUP=بله
صادرات CRYPTSETUP

B4.5.3. ویرایش /etc/default/grub پیکربندی (این پیکربندی است که مسئول توانایی تولید grub.cfg هنگام کار با /boot رمزگذاری شده است)

nano /etc/default/grub

خط "GRUB_ENABLE_CRYPTODISK=y" را اضافه کنید
روی 'y' تنظیم کنید، grub-mkconfig و grub-install درایوهای رمزگذاری شده را بررسی می کنند و دستورات اضافی مورد نیاز برای دسترسی به آنها را در زمان بوت ایجاد می کنند. (ناسازگاری ).
باید مشابه باشد

GRUB_DEFAULT = 0
GRUB_TIMEOUT = 1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || اکو دبیان`
GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=فروشنده"
GRUB_CMDLINE_LINUX="noautomount آرام پاشیده"
GRUB_ENABLE_CRYPTODISK=y

B4.5.4. در حال ویرایش پیکربندی /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

آن خط را بررسی کنید نظر داد <#>.
در آینده (و حتی در حال حاضر، این پارامتر هیچ مقداری نخواهد داشت، اما گاهی اوقات در به روز رسانی تصویر initrd.img اختلال ایجاد می کند).

B4.5.5. در حال ویرایش پیکربندی /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

اضافه کردن

KEYFILE_PATTERN="/etc/skey"
UMASK=0077

این کلید مخفی "skey" را در initrd.img بسته بندی می کند، کلید برای باز کردن قفل ریشه در بوت سیستم عامل مورد نیاز است. (اگر تمایلی به وارد کردن مجدد رمز عبور وجود نداشته باشد، کلید "کلید" به طور خودکار جایگزین می شود).

B4.6. به روز رسانی /boot/initrd.img [نسخه]برای بسته بندی کلید خصوصی در initrd.img و اعمال اصلاحات cryptsetup، تصویر را به روز کنید

update-initramfs -u -k all

هنگام به روز رسانی initrd.img (به قول معروف «شاید، اما قطعی نیست») هشدارهای مربوط به cryptsetup یا به عنوان مثال، اعلان در مورد از دست دادن ماژول های Nvidia وجود خواهد داشت - این طبیعی است. پس از به روز رسانی فایل، بررسی کنید که آیا واقعاً به روز شده است (نسبت به محیط chroot ./boot/initrd.img). اخطار! قبل از [update-initramfs -u -k all] مطمئن شوید که cryptsetup /dev/sda7 باز است sda7_crypt - این نامی است که باید باشد، که در /etc/crypttab ظاهر می شود، در غیر این صورت پس از راه اندازی مجدد، خطای busybox)
این مرحله تنظیمات فایل های پیکربندی را تکمیل می کند.

[С] نصب و پیکربندی GRUB2/Protection

C1. در صورت لزوم، پارتیشن اختصاصی بوت لودر را فرمت کنید (حداقل 20 مگابایت برای پارتیشن کافی است)

mkfs.ext4 -v -L GRUB2 /dev/sda6

C2. /dev/sda6 را در /mnt قرار دهیداز آنجایی که ما در chroot کار می کنیم، هیچ پوشه /mnt2 در ریشه وجود نخواهد داشت و پوشه /mnt خالی خواهد بود.
پارتیشن GRUB2 را سوار کنید

mount /dev/sda6 /mnt

اگر نسخه قدیمی GRUB2 را نصب کرده اید، در /mnt/boot/grub/i-386-pc (پلتفرم دیگر ممکن است، به عنوان مثال، نه "i386-pc") بدون ماژول رمزنگاری (به طور خلاصه، پوشه باید دارای ماژول هایی باشد، از جمله این .mod: cryptodisk; luks; gcry_twofish; gcry_sha512; signature_test.mod) در چنین حالتی، GRUB2 باید تکان داده شود.

apt-get update
apt-get install grub2 

مهم! هنگام به روز رسانی بسته GRUB2 از مخزن، هنگامی که از شما پرسیده می شود "درباره انتخاب" محل نصب بوت لودر، باید از نصب خودداری کنید. (دلیل - تلاش برای نصب GRUB2 - در "MBR" یا در USB زنده). در غیر این صورت، هدر/لودر VeraCrypt را خراب خواهید کرد. پس از به روز رسانی بسته های GRUB2 و لغو نصب، بوت لودر باید به صورت دستی بر روی یک درایو منطقی نصب شود و نه در "MBR". اگر مخزن شما دارای نسخه قدیمی GRUB2 است، سعی کنید به روز رسانی آن را از سایت رسمی - بررسی نکرد (با بوت لودرهای جدید GRUB 2.02 ~BetaX کار می کند).

C3. نصب GRUB2 در پارتیشن توسعه یافته [sda6]شما باید یک پارتیشن نصب کرده باشید [p.C.2]

grub-install --force --root-directory=/mnt /dev/sda6

گزینه ها
* --force - بوت لودر را نصب کنید، تمام هشدارهایی که تقریبا همیشه وجود دارند را دور بزنید و نصب را مسدود کنید (پرچم الزامی).
* ---root-directory - نصب دایرکتوری به ریشه sda6.
* /dev/sda6 - پارتیشن sdaX شما (از <space> بین /mnt /dev/sda6 رد نشوید).

C4. ایجاد یک فایل پیکربندی [grub.cfg]دستور "update-grub2" را فراموش کرده و از دستور تولید فایل پیکربندی کامل استفاده کنید

grub-mkconfig -o /mnt/boot/grub/grub.cfg

پس از اتمام تولید / به روز رسانی فایل grub.cfg، در ترمینال خروجی باید خطوط (a) با سیستم عامل موجود بر روی دیسک وجود داشته باشد. ("grub-mkconfig" احتمالاً سیستم عامل را از usb زنده پیدا کرده و انتخاب می کند، اگر یک درایو فلش چند بوت با ویندوز 10 و دسته ای از توزیع های زنده دارید - این طبیعی است). اگر ترمینال "خالی" باشد، فایل "grub.cfg" تولید نمی شود، در این صورت این مورد زمانی است که باگ های GRUB در سیستم وجود داشته باشد. (و به احتمال زیاد یک لودر از شاخه آزمایشی مخزن)، GRUB2 را از منابع قابل اعتماد دوباره نصب کنید.
نصب "پیکربندی ساده" و پیکربندی GRUB2 اکنون کامل شده است.

C5. سیستم عامل گنو/لینوکس رمزگذاری شده با آزمایش اثباتیرمزگذاری را به درستی تکمیل کنید. خروج از گنو/لینوکس رمزگذاری شده با دقت (از محیط chroot خارج شوید).

umount -a #размонтирование всех смонтированных разделов шифрованной GNU/Linux
Ctrl+d #выход из среды chroot
umount /mnt/dev
umount /mnt/proc
umount /mnt/sys
umount -a #размонтирование всех смонтированных разделов на live usb
reboot

پس از راه اندازی مجدد رایانه شخصی، بوت لودر VeraCrypt باید بارگیری شود.
رمزگذاری کامل دیسک سیستم های نصب شده لینوکس ویندوز. مولتی بوت رمزگذاری شده

* وارد کردن رمز عبور پارتیشن فعال - ویندوز شروع به بارگذاری می کند.
*فشردن کلید "Esc" کنترل را به GRUB2 منتقل می کند، اگر گنو / لینوکس رمزگذاری شده را انتخاب کنید - برای باز کردن قفل /boot/initrd.img به یک رمز عبور (sda7_crypt) نیاز دارید (اگر grub2 می گوید uuid "نیست یافت شد" - این یک رمز عبور است (sda2_crypt) مشکل با bootloader grubXNUMX، باید دوباره نصب شود، به عنوان مثال، از test branch/stable و pd).
رمزگذاری کامل دیسک سیستم های نصب شده لینوکس ویندوز. مولتی بوت رمزگذاری شده

*بسته به نحوه راه اندازی سیستم (به بخش B4.4/4.5 مراجعه کنید)، پس از وارد کردن رمز عبور صحیح برای باز کردن قفل تصویر /boot/initrd.img، برای بوت کردن هسته/ریشه سیستم عامل به رمز عبور نیاز دارید. کلید مخفی به طور خودکار جایگزین "اسکی" می شود و نیاز به وارد کردن مجدد عبارت عبور را از بین می برد.
رمزگذاری کامل دیسک سیستم های نصب شده لینوکس ویندوز. مولتی بوت رمزگذاری شده
(اسکرین شات "جایگزینی خودکار کلید مخفی").

*در مرحله بعد، فرآیند بوت آشنای گنو/لینوکس با احراز هویت حساب کاربری آغاز خواهد شد.
رمزگذاری کامل دیسک سیستم های نصب شده لینوکس ویندوز. مولتی بوت رمزگذاری شده

*پس از مجوز کاربر و ورود به سیستم عامل، باید /boot/initrd.img را دوباره به روز کنید. (به Q4.6 مراجعه کنید).

update-initramfs -u -k all

و در صورت وجود خطوط اضافی در منوی GRUB2 (از پیکاپ OS-m با usb زنده) از شر آنها خلاص شوید

mount /dev/sda6 /mnt
grub-mkconfig -o /mnt/boot/grub/grub.cfg

خلاصه ای سریع از رمزگذاری سیستم گنو/لینوکس:

  • گنو/لینوکسینوکس کاملاً رمزگذاری شده است، از جمله /boot/kernel و initrd.
  • کلید مخفی در initrd.img بسته بندی شده است.
  • طرح مجوز فعلی (وارد کردن رمز عبور برای باز کردن قفل initrd؛ رمز عبور / کلید برای بوت کردن سیستم عامل؛ رمز عبور مجوز حساب لینوکس).

رمزگذاری سیستم پارتیشن بلوک "پیکربندی ساده GRUB2" به پایان رسید.

C6. پیکربندی پیشرفته GRUB2. حفاظت بوت لودر با امضای دیجیتال + حفاظت از احراز هویتگنو/لینوکس کاملاً رمزگذاری شده است، اما بوت لودر را نمی توان رمزگذاری کرد - این شرایط توسط BIOS دیکته می شود. به همین دلیل، راه‌اندازی زنجیره‌ای رمزگذاری‌شده GRUB2 امکان‌پذیر نیست، اما یک راه‌اندازی زنجیره‌ای ساده ممکن است/در دسترس است، از نظر امنیتی ضروری نیست [به زیر مراجعه کنید]. P. F].
برای GRUB2 «آسیب‌پذیر»، توسعه‌دهندگان الگوریتم حفاظت از بوت‌لودر «امضا/احراز هویت» را پیاده‌سازی کردند.

  • هنگامی که بوت لودر با "امضای دیجیتال خود" محافظت می شود، اصلاح خارجی فایل ها، یا تلاش برای بارگذاری ماژول های اضافی در این بوت لودر، منجر به مسدود شدن فرآیند بوت می شود.
  • هنگام محافظت از بوت لودر با احراز هویت، برای انتخاب بوت یک کیت توزیع، یا وارد کردن دستورات اضافی در CLI، باید لاگین و رمز عبور superuser-GRUB2 را وارد کنید.

C6.1. محافظت از بوت لودر با احراز هویتبررسی کنید که در یک ترمینال در یک سیستم عامل رمزگذاری شده در حال اجرا هستید

ls /<Tab-Tab> #обнаружить файл-маркер

یک رمز عبور superuser برای مجوز در GRUB2 ایجاد کنید

grub-mkpasswd-pbkdf2 #введите/повторите пароль суперпользователя. 

هش رمز عبور را دریافت کنید. چیزی شبیه به این

grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8

پارتیشن GRUB را سوار کنید

mount /dev/sda6 /mnt 

تنظیمات را ویرایش کنید

nano -$ /mnt/boot/grub/grub.cfg 

جستجوی فایل را بررسی کنید که هیچ پرچمی در "grub.cfg" ("-unrestricted" "-user",
در آخر اضافه کنید (قبل از خط ### END /etc/grub.d/41_custom ###)
"set superusers="root"
هش ریشه password_pbkdf2".

باید چیزی شبیه این باشد

# این فایل یک راه آسان برای افزودن ورودی های منوی سفارشی فراهم می کند. به سادگی تایپ کنید
# ورودی منو که می خواهید بعد از این نظر اضافه کنید. مراقب باشید تغییر نکنید
# خط "exec tail" در بالا.
### پایان /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
اگر [ -f ${config_directory}/custom.cfg ]; سپس
منبع ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; سپس
منبع $prefix/custom.cfg;
fi
تنظیم superusers = "ریشه"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### پایان /etc/grub.d/41_custom ###
#

اگر اغلب از دستور "grub-mkconfig -o /mnt/boot/grub/grub.cfg" استفاده می کنید و نمی خواهید هر بار تغییراتی در grub.cfg ایجاد کنید، خطوط بالا را وارد کنید. (رمز عبور ورود) به اسکریپت کاربر GRUB تا پایین

nano /etc/grub.d/41_custom 

گربه<<EOF
تنظیم superusers = "ریشه"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
EOF

هنگام ایجاد پیکربندی "grub-mkconfig -o /mnt/boot/grub/grub.cfg"، خطوط مسئول احراز هویت به طور خودکار به grub.cfg اضافه می شوند.
این مرحله تنظیمات احراز هویت GRUB2 را تکمیل می کند.

C6.2. محافظت از بوت لودر با امضای دیجیتالفرض بر این است که شما از قبل کلید رمزگذاری pgp شخصی خود را دارید (یا چنین کلیدی ایجاد کنید). نرم افزار رمزنگاری باید روی سیستم نصب شود: gnuPG; کلئوپاترا/GPA; اسب دریایی. نرم افزار رمزنگاری در همه این موارد زندگی شما را بسیار آسان تر می کند. Seahorse - نسخه پایدار بسته 3.14.0 (نسخه های بالا، به عنوان مثال، V3.20 ضعیف هستند و دارای اشکالات قابل توجهی هستند).

کلید PGP باید فقط در محیط su تولید/اجرا/افزودن شود!

یک کلید رمزگذاری شخصی ایجاد کنید

gpg - -gen-key

کلید خود را صادر کنید

gpg --export -o ~/perskey

اگر درایو منطقی از قبل نصب نشده باشد، در سیستم عامل نصب کنید

mount /dev/sda6 /mnt #sda6 – раздел GRUB2

پارتیشن GRUB2 را تمیز کنید

rm -rf /mnt/

GRUB2 را در sda6 با قرار دادن کلید خصوصی خود در تصویر اصلی GRUB "core.img" نصب کنید.

grub-install --force --modules="gcry_sha256 gcry_sha512 signature_test gcry_dsa gcry_rsa" -k ~/perskey --root-directory=/mnt /dev/sda6

گزینه ها
* --force - بوت لودر را نصب کنید و تمام هشدارهایی را که همیشه وجود دارند دور بزنید (پرچم الزامی).
* --modules="gcry_sha256 gcry_sha512 signature_test gcry_dsa gcry_rsa" - به GRUB2 دستور می دهد تا ماژول های مورد نیاز را در راه اندازی رایانه از قبل بارگذاری کند.
* -k ~/perskey - مسیر به "کلید PGP" (پس از بسته بندی کلید در یک تصویر، می توان آن را حذف کرد).
* --root-directory - فهرست راه انداز را روی sda6 root قرار دهید
/dev/sda6 پارتیشن sdaX شماست.

grub.cfg را ایجاد/به‌روزرسانی کنید

grub-mkconfig  -o /mnt/boot/grub/grub.cfg

خط "trust /boot/grub/perskey" را به انتهای فایل "grub.cfg" اضافه کنید. (به اجبار از کلید pgp استفاده کنید.) از آنجایی که ما GRUB2 را با مجموعه‌ای از ماژول‌ها، از جمله ماژول امضای "signature_test.mod" نصب کردیم، این نیاز به افزودن دستوراتی مانند "set check_signatures=enforce" را به پیکربندی حذف می‌کند.

باید چیزی شبیه این به نظر برسد (پایان خطوط در فایل grub.cfg)

### BEGIN /etc/grub.d/41_custom ###
اگر [ -f ${config_directory}/custom.cfg ]; سپس
منبع ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; سپس
منبع $prefix/custom.cfg;
fi
اعتماد /boot/grub/perskey
تنظیم superusers = "ریشه"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### پایان /etc/grub.d/41_custom ###
#

مسیر "/boot/grub/perskey" نیازی به اشاره به یک پارتیشن دیسک خاص، به عنوان مثال hd0,6 نیست، زیرا خود بوت لودر، "root" مسیر پیش فرض پارتیشنی است که GRUB2 روی آن نصب شده است. (به مجموعه پوسیدگی=.. مراجعه کنید).

امضای GRUB2 (همه فایل ها در همه فهرست های /GRUB) با کلید "perskey" خود.
راه حل آسان نحوه امضا (برای nautilus/caja explorer): پسوند "seahorse" را برای کاوشگر از مخزن نصب کنید. کلید شما باید به محیط su اضافه شود.
کاوشگر را از علامت sudo "/mnt/boot" - RMB - باز کنید. روی صفحه نمایش به این شکل است

رمزگذاری کامل دیسک سیستم های نصب شده لینوکس ویندوز. مولتی بوت رمزگذاری شده

خود کلید "/mnt/boot/grub/perskey" است. (کپی در دایرکتوری grub) باید با امضای خودش هم امضا شود. بررسی کنید که امضاهای فایل [*.sig] در دایرکتوری/زیر دایرکتوری ها ظاهر شوند.
به روش بالا، "/boot" را امضا می کنیم. (هسته ما، initrd). اگر وقت شما ارزشی دارد، پس این روش نیازی به نوشتن یک اسکریپت bash برای امضای "فایل های زیادی" را از بین می برد.

برای حذف تمام امضاهای بوت لودر (اگر مشکلی پیش آمد)

rm -f $(find /mnt/boot/grub -type f -name '*.sig')

برای اینکه پس از به روز رسانی سیستم بوت لودر را امضا نکنید، تمام بسته های به روز رسانی مربوط به GRUB2 را مسدود می کنیم.

apt-mark hold grub-common grub-pc grub-pc-bin grub2 grub2-common

در این مرحله <حفاظت از بوت لودر با امضای دیجیتال> پیکربندی پیشرفته GRUB2 تکمیل می شود.

C6.3. تست اثبات بوت لودر GRUB2 که با امضای دیجیتال و احراز هویت محافظت می شودGRUB2. هنگام انتخاب توزیع گنو/لینوکس یا ورود به CLI (خط فرمان) مجوز ابرکاربر مورد نیاز است. پس از وارد کردن صحیح ورود / رمز عبور، به رمز عبور initrd نیاز خواهید داشت

رمزگذاری کامل دیسک سیستم های نصب شده لینوکس ویندوز. مولتی بوت رمزگذاری شده
اسکرین شات، احراز هویت موفق GRUB2-superuser.

اگر هر یک از فایل های GRUB2 را جعل کردید / تغییراتی در grub.cfg ایجاد کردید، یا فایل / امضا را حذف کردید، module.mod مخرب را بارگیری کنید، سپس یک هشدار مربوطه ظاهر می شود. بوت GRUB2 متوقف خواهد شد.

رمزگذاری کامل دیسک سیستم های نصب شده لینوکس ویندوز. مولتی بوت رمزگذاری شده
اسکرین شات، تلاشی برای مداخله در GRUB2 "از بیرون".

در قسمت "عادی" بوت "بدون نفوذ"، وضعیت کد خروج از سیستم "0" است. بنابراین، معلوم نیست که آیا حفاظت کار می کند یا نه. (یعنی "با یا بدون محافظت بوت لودر با امضا" در هنگام بوت معمولی ، وضعیت همان "0" است - این بد است).

چگونه حفاظت از امضای دیجیتال را بررسی کنیم؟

روش ناخوشایند برای بررسی: جعل/حذف ماژول مورد استفاده توسط GRUB2، برای مثال، امضای luks.mod.sig را بردارید و خطا دریافت کنید.

راه صحیح این است که به CLI بوت لودر بروید و دستور را تایپ کنید

trust_list

در پاسخ، آنها باید یک اثر انگشت "perskey" دریافت کنند، اگر وضعیت "0" باشد، پس حفاظت از امضا کار نمی کند، بند C6.2 را دوباره بررسی کنید.
در این مرحله، تنظیمات پیشرفته «حفاظت از GRUB2 با امضای دیجیتال و احراز هویت» به پایان رسیده است.

C7 روشی جایگزین برای ایمن کردن بوت لودر GRUB2 با هشروش "محافظت از بارگذار CPU / احراز هویت" که در بالا توضیح داده شد یک روش کلاسیک است. به دلیل ناقص بودن GRUB2، در شرایط پارانوئید، در معرض حمله واقعی قرار می گیرد که در زیر در پاراگراف [F] ارائه خواهم کرد. علاوه بر این، پس از به روز رسانی سیستم عامل / هسته، لازم است بوت لودر را دوباره امضا کنید.

محافظت از بوت لودر GRUB2 با هش

مزایا نسبت به کلاسیک:

  • سطح بالاتری از قابلیت اطمینان (درهم کردن / تأیید فقط از یک منبع محلی رمزگذاری شده انجام می شود. کل پارتیشن اختصاص داده شده تحت GRUB2 برای هر گونه تغییر کنترل می شود و همه چیزهای دیگر رمزگذاری شده است، در طرح کلاسیک با محافظت / احراز هویت لودر CPU، فقط فایل ها کنترل می شوند، اما رایگان نیستند. فضایی که می توان در آن "چیزی شیطانی" اضافه کرد).
  • ورود به سیستم رمزگذاری شده (یک گزارش رمزگذاری شده شخصی قابل خواندن به طرح اضافه شده است).
  • سرعت (محافظت / تأیید کل پارتیشن اختصاص داده شده برای GRUB2 تقریباً بلافاصله انجام می شود).
  • اتوماسیون کلیه فرآیندهای رمزنگاری

نقاط ضعف کلاسیک.

  • جعل امضا (از لحاظ نظری، یافتن یک برخورد تابع هش داده شده امکان پذیر است).
  • افزایش سطح دشواری (در مقایسه با کلاسیک ها، دانش کمی بیشتر از سیستم عامل گنو/لینوکس مورد نیاز است).

ایده هش کردن GRUB2/پارتیشن چگونه کار می کند

بخش GRUB2 "امضا" است، هنگامی که سیستم عامل بارگیری می شود، بخش بوت لودر برای تغییر ناپذیری بررسی می شود و به دنبال آن وارد یک محیط امن (رمزگذاری شده) می شود. اگر بوت لودر یا پارتیشن آن به خطر بیفتد، علاوه بر گزارش تهاجم، موارد زیر

چیز.رمزگذاری کامل دیسک سیستم های نصب شده لینوکس ویندوز. مولتی بوت رمزگذاری شده

یک بررسی مشابه چهار بار در روز انجام می شود که منابع سیستم را بارگیری نمی کند.
با استفاده از دستور "-$ check_GRUB"، یک بررسی فوری در هر زمان بدون ورود به سیستم، اما با خروجی اطلاعات به CLI انجام می شود.
با استفاده از دستور "-$ sudo GRUB_signature"، بوت لودر / پارتیشن GRUB2 فوراً دوباره امضا می شود و گزارش آن به روز می شود. (پس از به روز رسانی سیستم عامل/بوت مورد نیاز است) و زندگی ادامه دارد.

پیاده سازی متد هش بوت لودر و پارتیشن آن

0) بیایید بوت لودر/پارتیشن GRUB را با نصب آن در /media/username امضا کنیم.

-$ hashdeep -c md5 -r /media/username/GRUB > /podpis.txt

1) ما یک اسکریپت بدون پسوند در ریشه سیستم عامل رمزگذاری شده ~/podpis ایجاد می کنیم، حقوق لازم 744 امنیت و محافظت از "احمق" را برای آن اعمال می کنیم.

پر کردن آن با محتوا

#!/bin/bash

#Проверка всего раздела выделенного под загрузчик GRUB2 на неизменность.
#Ведется лог "о вторжении/успешной проверке каталога", короче говоря ведется полный лог с тройной вербализацией. Внимание! обратить взор на пути: хранить ЦП GRUB2 только на зашифрованном разделе OS GNU/Linux. 
echo -e "******************************************************************n" >> '/var/log/podpis.txt' && date >> '/var/log/podpis.txt' && hashdeep -vvv -a -k '/podpis.txt' -r '/media/username/GRUB' >> '/var/log/podpis.txt'

a=`tail '/var/log/podpis.txt' | grep failed` #не использовать "cat"!! 
b="hashdeep: Audit failed"

#Условие: в случае любых каких-либо изменений в разделе выделенном под GRUB2 к полному логу пишется второй отдельный краткий лог "только о вторжении" и выводится на монитор мигание gif-ки "warning".
if [[ "$a" = "$b" ]] 
then
echo -e "****n" >> '/var/log/vtorjenie.txt' && echo "vtorjenie" >> '/var/log/vtorjenie.txt' && date >> '/var/log/vtorjenie.txt' & sudo -u username DISPLAY=:0 eom '/warning.gif' 
fi

اسکریپت را از su، هش پارتیشن GRUB و بوت لودر آن بررسی می شود، لاگ را ذخیره کنید.

برای مثال، بیایید یک "فایل مخرب" [virus.mod] را در پارتیشن GRUB2 ایجاد یا کپی کنیم و یک بررسی/تست موقت اجرا کنیم:

-$ hashdeep -vvv -a -k '/podpis.txt' -r '/media/username/GRUB

CLI باید شاهد تهاجم به سنگر ما باشد.#Sripped Log in CLI

Ср янв  2 11::41 MSK 2020
/media/username/GRUB/boot/grub/virus.mod: Moved from /media/username/GRUB/1nononoshifr
/media/username/GRUB/boot/grub/i386-pc/mda_text.mod: Ok
/media/username/GRUB/boot/grub/grub.cfg: Ok
hashdeep: Audit failed
   Input files examined: 0
  Known files expecting: 0
          Files matched: 325
Files partially matched: 0
            Files moved: 1
        New files found: 0
  Known files not found: 0

#همانطور که می بینید، "فایل ها منتقل شدند: 1 و حسابرسی شکست خورد" ظاهر شد، به این معنی که بررسی انجام نشد.
با توجه به ویژگی های بخش تست شده، به جای "فایل های جدید پیدا شد" > "فایل ها منتقل شدند"

2) گیف را اینجا قرار دهید > ~/warning.gif، مجوزها را روی 744 تنظیم کنید.

3) پیکربندی fstab برای نصب خودکار پارتیشن GRUB در بوت

-$ sudo nano /etc/fstab

LABEL=GRUB /media/username/GRUB ext4 پیش‌فرض 0 0 است

4) لاگ را می چرخانیم

-$ sudo nano /etc/logrotate.d/podpis 

/var/log/subpis.txt {
روزانه
چرخش 50
اندازه 5M
متن تاریخ
فشرده کردن
تأخیر فشرده سازی
olddir /var/log/old
}

/var/log/vtorjenie.txt {
ماهیانه
چرخش 5
اندازه 5M
متن تاریخ
olddir /var/log/old
}

5) افزودن شغل به cron

-$ sudo crontab -e

راه اندازی مجدد '/اشتراک، ابونمان'
0 */6 * * * '/subpis

6) ایجاد نام مستعار دائمی

-$ sudo su
-$ echo "alias подпись_GRUB='hashdeep -c md5 -r /media/username/GRUB > /podpis.txt'" >> /root/.bashrc && bash
-$ echo "alias проверка_GRUB='hashdeep -vvv -a -k '/podpis.txt' -r /media/username/GRUB'" >> .bashrc && bash

پس از به روز رسانی سیستم عامل -$ apt-get upgrade امضای مجدد پارتیشن GRUB ما
-$ подпись_GRUB
این مرحله حفاظت هش پارتیشن GRUB را تکمیل می کند.

[D] پاکسازی - از بین بردن داده های رمزگذاری نشده

به گفته تری گودی، سخنگوی کارولینای جنوبی، فایل های شخصی خود را آنقدر کاملاً حذف کنید که «حتی خدا هم نتواند آنها را بخواند».

طبق معمول، "افسانه ها و افسانه ها” در مورد بازیابی اطلاعات پس از حذف از هارد دیسک. اگر به جادوگری سایبری اعتقاد دارید یا عضو جامعه دکتر وب هستید و هرگز بازیابی اطلاعات را پس از حذف/رونویسی امتحان نکرده اید. (به عنوان مثال بازیابی با R-studio)، پس بعید است که روش پیشنهادی مناسب شما باشد، از روشی که به شما نزدیکتر است استفاده کنید.

پس از انتقال موفقیت آمیز گنو/لینوکس به یک پارتیشن رمزگذاری شده، کپی قدیمی باید برای همیشه حذف شود. روش تمیز کردن جهانی: نرم افزار برای نرم افزار رابط کاربری گرافیکی رایگان ویندوز/لینوکس BleachBit.
سریع فرمت کردن پارتیشن، داده هایی که می خواهید از بین ببرید (با استفاده از Gparted)، BleachBit را اجرا کنید، "Clean up free space" را انتخاب کنید - یک پارتیشن را انتخاب کنید (sdaX شما با یک نسخه قبلی از گنو/لینوکس)، فرآیند تمیز کردن شروع خواهد شد. BleachBit - دیسک را در یک گذر پاک می کند - این همان چیزی است که "ما نیاز داریم"، اما! این فقط در صورتی کار می کند که درایو را فرمت کرده و آن را در نرم افزار BB v2.0 تمیز کرده باشید.

توجه! BB دیسک را پاک می کند، ابرداده را باقی می گذارد، نام فایل ها هنگام از بین رفتن داده ها حفظ می شود (Ccleaner - هیچ ابرداده ای باقی نمی گذارد).

و افسانه در مورد امکان بازیابی اطلاعات در واقع یک افسانه نیست.بسته Debian سیستم عامل ناپایدار قبلی Bleachbit V2.0-2 (و هر نرم افزار مشابه دیگری: sfill; wipe-Nautilus - نیز در این تجارت کثیف دیده شده است) در واقع یک اشکال حیاتی داشت: عملکرد "پاکسازی فضای آزاد". نادرست کار می کند در درایوهای HDD/Flash (ntfs/ext4). نرم افزاری از این نوع، همانطور که بسیاری از کاربران فکر می کنند، هنگام تمیز کردن فضای آزاد، کل دیسک را بازنویسی نمی کند. و قدری (زیاد) داده‌های حذف‌شده سیستم‌عامل/نرم‌افزار این داده‌ها را به‌عنوان داده‌های حذف‌نشده/کاربر تلقی می‌کند و هنگام پاک کردن OS/OS از این فایل‌ها صرفنظر می‌کند. مشکل این است که پس از مدت زمان طولانی، دیسک را تمیز می کند "فایل های حذف شده" قابل بازیابی هستند حتی پس از بیش از 3 بار پاک کردن دیسک.
در گنو/لینوکس در بلیچ بیت 2.0-2 عملکردهای حذف دائمی فایل ها و دایرکتوری ها با اطمینان کار می کنند، اما فضای خالی را پاک نمی کنند. برای مقایسه: در ویندوز در نرم افزار CCleaner، عملکرد "OSB for ntfs" به درستی کار می کند و خدا واقعا نمی تواند داده های حذف شده را بخواند.

و بنابراین، به طور کامل حذف کنید "سازش" داده های رمزگذاری نشده قدیمی، Bleachbit نیاز به دسترسی مستقیم به این داده ها دارد، سپس از تابع "حذف فایل ها / دایرکتوری ها به صورت غیر قابل برگشت" استفاده کنید.
برای حذف "فایل های حذف شده با استفاده از ابزارهای معمولی سیستم عامل" در ویندوز، از CCleaner / BB با عملکرد "OSB" استفاده کنید. در گنو/لینوکس در مورد این موضوع (حذف فایل های پاک شده) شما باید به تنهایی تمرین کنید (حذف داده ها + تلاش مستقل برای بازیابی آنها و به نسخه نرم افزار تکیه نکنید (اگر یک نشانک نیست، پس یک اشکال))، تنها در این صورت می توانید مکانیسم این مشکل را درک کرده و به طور کامل از شر داده های حذف شده خلاص شوید.

Bleachbit v3.0 بررسی نشد، شاید مشکل قبلاً برطرف شده باشد.
Bleachbit v2.0 صادقانه کار می کند.

این مرحله پاکسازی دیسک را کامل می کند.

[E] نسخه پشتیبان سیستم عامل رمزگذاری شده عمومی

هر کاربر روش خاص خود را برای تهیه نسخه پشتیبان از داده ها دارد، اما داده های رمزگذاری شده "سیستم OS" به رویکرد کمی متفاوت برای کار نیاز دارد. نرم افزارهای یکپارچه مانند "Clonezilla" و نرم افزارهای مشابه نمی توانند مستقیماً با داده های رمزگذاری شده کار کنند.

تنظیم وظیفه پشتیبان گیری برای دستگاه های بلوک رمزگذاری شده:

  1. جهانی بودن - همان الگوریتم / نرم افزار پشتیبان گیری برای ویندوز / لینوکس؛
  2. توانایی کار در کنسول با هر یو اس بی زنده گنو / لینوکس بدون نیاز به دانلود نرم افزار اضافی (اما هنوز رابط کاربری گرافیکی را توصیه می کنیم);
  3. امنیت پشتیبان - "تصاویر" ذخیره شده باید رمزگذاری شده / محافظت شده با رمز عبور باشد.
  4. اندازه داده های رمزگذاری شده باید با اندازه داده های کپی شده واقعی مطابقت داشته باشد.
  5. استخراج راحت فایل های لازم از پشتیبان (بدون نیاز به رمزگشایی کل بخش ابتدا).

به عنوان مثال، پشتیبان گیری/بازیابی از طریق ابزار "dd".

dd if=/dev/sda7 of=/путь/sda7.img bs=7M conv=sync,noerror
dd if=/путь/sda7.img of=/dev/sda7 bs=7M conv=sync,noerror

تقریباً با تمام نکات کار مطابقت دارد ، اما طبق بند 4 در برابر انتقاد نمی ایستد ، زیرا کل پارتیشن دیسک از جمله فضای آزاد را کپی می کند - جالب نیست.

برای مثال، پشتیبان گیری گنو/لینوکس از طریق [tar» | gpg] راحت است، اما برای پشتیبان گیری ویندوز باید به دنبال راه حل دیگری باشید - جالب نیست.

E1. پشتیبان گیری جهانی ویندوز/لینوکس. بسته نرم افزاری rsync (Grsync) + حجم VeraCryptالگوریتم ایجاد پشتیبان:

  1. ایجاد یک ظرف رمزگذاری شده (حجم/فایل) VeraCrypt برای سیستم عامل؛
  2. انتقال / همگام سازی سیستم عامل با استفاده از نرم افزار Rsync به کانتینر رمزنگاری VeraCrypt.
  3. در صورت لزوم، حجم VeraCrypt را در www.

ایجاد یک ظرف VeraCrypt رمزگذاری شده ویژگی های خاص خود را دارد:
ایجاد یک حجم پویا (ایجاد DT فقط در ویندوز موجود است، در گنو/لینوکس نیز قابل استفاده است);
ایجاد یک حجم معمولی، اما نیاز به "ماهیت پارانوئید" وجود دارد (به گفته سازنده) - قالب بندی ظرف

یک حجم پویا تقریباً فوراً در ویندوز ایجاد می‌شود، اما هنگام کپی کردن داده‌ها از GNU/Linux > VeraCrypt DT، عملکرد کلی عملیات پشتیبان‌گیری به میزان قابل توجهی کاهش می‌یابد.

یک حجم معمولی 70 گیگابایتی Twofish ایجاد می شود (بگذارید بگوییم، به طور متوسط ​​قدرت رایانه شخصی) به HDD ~ در نیم ساعت (بازنویسی داده های کانتینر قبلی در یک پاس، به دلیل الزامات امنیتی). از VeraCrypt Windows/Linux، عملکرد قالب‌بندی سریع یک حجم در حین ایجاد آن حذف شد، بنابراین ایجاد یک ظرف تنها از طریق «بازنویسی در یک پاس» یا ایجاد یک حجم پویا با کارایی پایین امکان‌پذیر است.

یک حجم منظم VeraCrypt ایجاد کنید (نه پویا/ntfs)، هیچ مشکلی نباید وجود داشته باشد.

تنظیم/ایجاد/باز کردن ظرف در VeraCrypt GUI > GNU/Linux live usb (صدا به صورت خودکار در /media/veracrypt2 نصب می شود، حجم سیستم عامل ویندوز در /media/veracrypt1 نصب می شود). ایجاد یک نسخه پشتیبان رمزگذاری شده ویندوز با استفاده از رابط کاربری گرافیکی rsync (grsync)با علامت زدن کادرها

رمزگذاری کامل دیسک سیستم های نصب شده لینوکس ویندوز. مولتی بوت رمزگذاری شده

منتظر پایان فرآیند باشید. پس از تکمیل پشتیبان، یک فایل رمزگذاری شده خواهیم داشت.

به طور مشابه، یک نسخه پشتیبان از سیستم عامل گنو/لینوکس با برداشتن علامت رابط کاربری گرافیکی rsync "سازگار با ویندوز" ایجاد کنید.

توجه! یک کانتینر Veracrypt برای "پشتیبان گیری گنو/لینوکس" در سیستم فایل ایجاد کنید ext4. اگر از یک کانتینر ntfs یک نسخه پشتیبان تهیه کنید، پس از بازیابی چنین کپی، همه حقوق / گروه ها را برای همه داده های خود از دست خواهید داد.

شما می توانید تمام عملیات را در ترمینال انجام دهید. گزینه های اساسی برای rsync:
* -g - ذخیره گروه ها.
* -P --progress - وضعیت زمان کار روی فایل.
* -H - پیوندهای سخت را همانطور که هست کپی کنید.
* -a - حالت بایگانی (چند پرچم rlptgoD);
* -v -کلامی.

اگر می‌خواهید «حجم Windows VeraCrypt» را از طریق کنسول در نرم‌افزار cryptsetup نصب کنید، می‌توانید یک نام مستعار (su) ایجاد کنید.

echo "alias veramount='cryptsetup open --veracrypt --tcrypt-system --type tcrypt /dev/sdaX Windows_crypt && mount /dev/mapper/ Windows_crypt /media/veracrypt1'" >> .bashrc && bash

اکنون در دستور "veramount pictures" از شما خواسته می شود که یک عبارت عبور وارد کنید و حجم سیستم رمزگذاری شده ویندوز در سیستم عامل نصب می شود.

نقشه/کوه کردن حجم سیستم VeraCrypt در دستور cryptsetup

cryptsetup open --veracrypt --tcrypt-system --type tcrypt /dev/sdaX Windows_crypt
mount /dev/mapper/Windows_crypt /mnt

پارتیشن/کانتینر VeraCrypt را در دستور cryptsetup نقشه/mount کنید

cryptsetup open --veracrypt --type tcrypt /dev/sdaY test_crypt
mount /dev/mapper/test_crypt /mnt

به جای نام مستعار، بیایید (اسکریپت برای بارگیری خودکار) یک حجم سیستم با سیستم عامل ویندوز و یک دیسک رمزگذاری شده منطقی ntfs به بارگذاری خودکار گنو/لینوکس اضافه کنیم.

یک اسکریپت ایجاد کنید و آن را در ~/VeraOpen.sh ذخیره کنید

printf 'Ym9i' | base64 -d | cryptsetup open --veracrypt --tcrypt-system --type tcrypt /dev/sda3 Windows_crypt && mount /dev/mapper/Windows_crypt /media/Winda7 #декодируем пароль из base64 (bob) и отправляем его на запрос ввода пароля при монтировании системного диска ОС Windows.
printf 'Ym9i' | base64 -d | cryptsetup open --veracrypt --type tcrypt /dev/sda1 ntfscrypt && mount /dev/mapper/ntfscrypt /media/КонтейнерНтфс #аналогично, но монтируем логический диск ntfs.

ما حقوق "واقعی" را ارائه می دهیم:

sudo chmod 100 /VeraOpen.sh

دو فایل یکسان (همین نام!) در /etc/rc.local و ~/etc/init.d/rc.local ایجاد کنید.
پر کردن فایل ها

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will «exit 0» on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

sh -c "sleep 1 && '/VeraOpen.sh'" #после загрузки ОС, ждём ~ 1с и только потом монтируем диски.
exit 0

ما حقوق "واقعی" را ارائه می دهیم:

sudo chmod 100 /etc/rc.local && sudo chmod 100 /etc/init.d/rc.local 

تمام است، اکنون هنگام راه‌اندازی گنو/لینوکس، برای نصب دیسک‌های رمزگذاری‌شده ntfs نیازی به وارد کردن رمز عبور نداریم، دیسک‌ها به‌طور خودکار نصب می‌شوند.

یادداشتی مختصر در مورد آنچه در بالا در پاراگراف E1 گام به گام توضیح داده شد (اما اکنون برای سیستم عامل گنو/لینوکس)
1) یک حجم در fs ext4 > 4GB (برای یک فایل) لینوکس در Veracrypt [جعبه رمز] ایجاد کنید.
2) راه اندازی مجدد به usb زنده.
3) ~$ cryptsetup /dev/sda7 Lunux را باز کنید #نقشه پارتیشن رمزگذاری شده را.
4) ~$ mount /dev/mapper/Linux /mnt #پارتیشن رمزگذاری شده را در /mnt mount کنید.
5) ~$ mkdir mnt2 #یک دایرکتوری برای پشتیبان گیری آینده ایجاد کنید.
6) ~$ cryptsetup open --veracrypt -- نوع tcrypt ~/Cryptobox Cryptobox && mount /dev/mapper/Cryptobox /mnt2 #حجم Veracrypt با نام "Cryptobox" را نقشه برداری کنید و Cryptobox را در /mnt2 سوار کنید.
7) ~$ rsync -avlxhHX --progress /mnt /mnt2/ #عملیات برای پشتیبان گیری از یک پارتیشن رمزگذاری شده در یک حجم رمزگذاری شده Veracrypt.

(p/s/ توجه! اگر در حال انتقال یک گنو/لینوکس رمزگذاری شده از یک معماری/ماشین به دیگری هستید، به عنوان مثال، Intel > AMD (یعنی استقرار یک نسخه پشتیبان از یک پارتیشن رمزگذاری شده به پارتیشن رمزگذاری شده Intel > AMD)، فراموش نکن پس از انتقال سیستم عامل رمزگذاری شده، کلید جایگزین مخفی را به جای رمز عبور ویرایش کنید، شاید. کلید قبلی ~/etc/skey - دیگر متناسب با پارتیشن رمزگذاری شده دیگری نیست، و ایجاد یک کلید جدید "cryptsetup luksAddKey" از زیر chroot نامطلوب است - یک اشکال ممکن است، فقط در ~/etc/crypttab به طور موقت "هیچکدام" را مشخص کنید. "به جای "/etc/skey"، پس از ربات مجدد و ورود به سیستم عامل، کلید جایگزین مخفی خود را دوباره تولید کنید).

به عنوان پیشکسوتان فناوری اطلاعات، فراموش نکنید که از هدرهای پارتیشن های ویندوز/لینوکس رمزگذاری شده نسخه پشتیبان تهیه کنید، در غیر این صورت رمزگذاری بر علیه شما خواهد بود.
در این مرحله بک آپ گیری از سیستم عامل های رمزگذاری شده تکمیل می شود.

[F] حمله به بوت لودر GRUB2

اطلاعات بیشتراگر بوت لودر خود را با امضای دیجیتال و/یا احراز هویت محافظت کرده اید (به مورد C6 مراجعه کنید.)، پس از آن در برابر دسترسی فیزیکی محافظت نمی کند. داده های رمزگذاری شده همچنان غیرقابل دسترسی خواهند بود، اما حفاظت از آنها دور می زند (بازنشانی حفاظت از امضای دیجیتال) GRUB2 به تبهکاران سایبری اجازه می دهد تا بدون ایجاد سوء ظن، کد خود را به بوت لودر تزریق کنند. (مگر اینکه کاربر به صورت دستی وضعیت بوت لودر را نظارت کند یا کد اسکریپت سفارشی خود را برای grub.cfg ارائه کند).

الگوریتم حمله مزاحم

*کامپیوتر را از usb زنده بوت می کند. هر تغییری (متخلف) فایل ها به صاحب واقعی رایانه شخصی در مورد نفوذ به بوت لودر هشدار می دهند. اما یک نصب مجدد ساده GRUB2 در حالی که grub.cfg را نگه دارید (و امکان ویرایش بعدی آن) به مهاجم اجازه می دهد تا هر فایلی را ویرایش کند (در این سناریو، هنگام بارگیری GRUB2، به کاربر واقعی اطلاع داده نمی شود. وضعیت یکسان است <0>)
* یک پارتیشن رمزگذاری نشده را نصب می کند، "/mnt/boot/grub/grub.cfg" را ذخیره می کند.
* بوت لودر را دوباره نصب کنید (حذف "perskey" از تصویر core.img)

grub-install --force --root-directory=/mnt /dev/sda6

* "grub.cfg" > "/mnt/boot/grub/grub.cfg" را برمی‌گرداند، در صورت لزوم آن را ویرایش می‌کند، برای مثال، ماژول "keylogger.mod" خود را به پوشه با ماژول‌های لودر، در "grub.cfg" اضافه می‌کند. > خط "insmod keylogger". یا به عنوان مثال، اگر دشمن حیله گر است، پس از نصب مجدد GRUB2 (همه امضاها سر جای خود باقی می مانند) تصویر اصلی GRUB2 را با استفاده از "grub-mkimage با گزینه (-c)" می سازد. گزینه "-c" به شما این امکان را می دهد که پیکربندی خود را قبل از بارگیری "grub.cfg" اصلی بارگیری کنید. این پیکربندی می‌تواند فقط از یک خط تشکیل شود: به هر "modern.cfg" تغییر مسیر دهید، به عنوان مثال با 400 فایل ترکیب شده است. (ماژول ها + امضاها) در پوشه /boot/grub/i386-pc. در این حالت، متخلف می‌تواند کد دلخواه و بارگذاری ماژول‌ها را بدون تأثیر بر «/boot/grub/grub.cfg» معرفی کند، حتی اگر کاربر «hashsum» را روی فایل اعمال کرده و به طور موقت آن را روی صفحه نمایش دهد.
مهاجم نیازی به شکستن لاگین / رمز عبور ابرکاربر GRUB2 ندارد، او فقط باید خطوط را کپی کند. (مسئول احراز هویت) "/boot/grub/grub.cfg" به "modern.cfg" شما

تنظیم superusers = "ریشه"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8

و میزبان PC همچنان دارای احراز هویت ابرکاربر GRUB2 خواهد بود.

بارگیری زنجیره ای (بوت لودر بوت لودر دیگری را بارگیری می کند)همانطور که در بالا ذکر شد، منطقی نیست (برای هدف دیگری است). به دلیل BIOS، بوت لودر رمزگذاری شده قابل بارگیری نیست (هنگام بارگذاری زنجیره ای، GRUB2 راه اندازی مجدد می شود > GRUB2 رمزگذاری شده، خطا!). با این حال، اگر هنوز از ایده بارگیری زنجیره ای استفاده می کنید، می توانید مطمئن باشید که این مورد رمزگذاری شده است که بارگیری می شود. (به روز نشده) "grub.cfg" از پارتیشن رمزگذاری شده. و این نیز یک احساس امنیت نادرست است، زیرا هر چیزی که در "grub.cfg" رمزگذاری شده فهرست شده است (بارگذاری ماژول) پشته هایی با ماژول هایی که از GRUB2 رمزگذاری نشده بارگیری می شوند.

اگر می خواهید این را بررسی کنید، سپس پارتیشن sdaY دیگری را اختصاص/رمزگذاری کنید، GRUB2 را در آن کپی کنید. (عملیات نصب گراب روی پارتیشن رمزگذاری شده امکان پذیر نیست) و در "grub.cfg" (پیکربندی رمزگذاری نشده) اینگونه خطوط را تغییر دهید

منوی "GRUBx2" --طوطی کلاس --کلاس gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-382111a2-f993-403c-aa2e-292b5eac4780' {
load_video
insmod gzio
اگر [ x$grub_platform = xxen ]; سپس insmod xzio; insmod lzopio; فی
insmod part_msdos
cryptodisk insmod
insmod lux
insmod gcry_twofish
insmod gcry_twofish
insmod gcry_sha512
insmod ext2
cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838
set root=’cryptouuid/15c47d1c4bd34e5289df77bcf60ee838′
/boot/grub/grub.cfg معمولی
}

رشته های
* insmod - بارگیری ماژول های لازم برای کار با یک دیسک رمزگذاری شده.
* GRUBx2 - نام خط نمایش داده شده در منوی بوت GRUB2.
* cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838 - رجوع کنید به fdisk -l (sda9)؛
* تنظیم ریشه - تنظیم ریشه.
* /boot/grub/grub.cfg معمولی - فایل پیکربندی اجرایی روی پارتیشن رمزگذاری شده.

اطمینان از اینکه "grub.cfg" رمزگذاری شده است که در حال بارگیری است، پاسخ مثبتی به وارد کردن رمز عبور / باز کردن قفل "sdaY" هنگام انتخاب خط "GRUBx2" در منوی GRUB است.

هنگام کار در CLI، برای اینکه گیج نشوید (و بررسی کنید که آیا متغیر محیطی "set root" کار می کند یا خیر) فایل های نشانگر خالی ایجاد کنید، به عنوان مثال، در پارتیشن رمزگذاری شده "/shifr_grub"، در پارتیشن رمزگذاری نشده "/noshifr_grub". اعتبار سنجی در CLI

cat /Tab-Tab

همانطور که در بالا ذکر شد، اگر این ماژول ها روی رایانه شخصی شما قرار بگیرند، این به شما کمکی نمی کند که ماژول های مخرب را دانلود کنید. به عنوان مثال، یک keylogger که می‌تواند ضربه‌های کلید را روی یک فایل ذخیره کند و با فایل‌های دیگر در "~/i386" ترکیب شود تا زمانی که توسط مهاجمی با دسترسی فیزیکی به رایانه شخصی دانلود شود.

ساده ترین راه برای بررسی فعال بودن حفاظت از امضای دیجیتال (بازنشانی نمی شود)و هیچ کس به بوت لودر حمله نکرده است، در CLI دستور را تایپ می کنیم

list_trusted

در پاسخ، ما یک بازیگر از "perskey" خود دریافت می کنیم، یا اگر مورد حمله قرار گرفتیم چیزی دریافت نمی کنیم (همچنین باید "set check_signatures=enforce" را علامت بزنید).
یک عیب قابل توجه چنین مرحله ای تایپ دستورات به صورت دستی است. اگر این دستور را به "grub.cfg" اضافه کنید و پیکربندی را به صورت دیجیتالی امضا کنید، در این صورت زمان‌بندی خروجی اولیه کلید فرستاده شده به صفحه نمایش بسیار کوتاه است و ممکن است زمانی که بوت GRUB2 را دریافت می‌کنید، زمان برای دیدن خروجی نداشته باشید. .
کسی نیست که بخصوص از او شکایت کند: توسعه دهنده در او مستندات بند 18.2 رسما اعلام می کند

توجه داشته باشید که حتی با محافظت از رمز عبور GRUB، خود GRUB نمی تواند مانع از تغییر پیکربندی سیستم عامل دستگاه (مثلاً Coreboot یا BIOS) توسط شخصی با دسترسی فیزیکی به دستگاه شود تا باعث شود دستگاه از دستگاه دیگری (با کنترل مهاجم) بوت شود. GRUB در بهترین حالت تنها یک پیوند در یک زنجیره راه‌اندازی امن است.

GRUB2 بیش از حد مملو از ویژگی هایی است که می تواند احساس امنیت کاذب را ایجاد کند و توسعه آن قبلاً از عملکرد MS-DOS پیشی گرفته است و فقط یک بوت لودر است. خنده دار است که GRUB2 - "فردا" می تواند به یک سیستم عامل تبدیل شود و ماشین های مجازی گنو / لینوکس قابل بوت برای آن باشد.

یک ویدیوی کوتاه در مورد نحوه تنظیم مجدد حفاظت از امضای دیجیتال GRUB2 و اعلام نفوذ خود به یک کاربر واقعی (ترسید، اما به جای آنچه در ویدیو نشان داده شده است، می توانید کد دلخواه بی ضرر/.mod را بنویسید).

نتیجه گیری:

1) مسدود کردن رمزگذاری سیستم برای ویندوز - پیاده سازی آسان تر و محافظت با یک رمز عبور راحت تر از محافظت با چندین رمز عبور با رمزگذاری سیستم بلوک GNU / Linux است، انصافاً: دومی خودکار است.

2) مقاله را به عنوان مرتبط، مفصل نوشتم ساده راهنمای رمزگذاری کامل دیسک VeraCrypt/LUKS در یک دستگاه خانگی که تا حد زیادی بهترین در runet (IMHO) است. دفترچه راهنما بیش از 50 هزار کاراکتر دارد، بنابراین برخی از فصل‌های جالب را پوشش نمی‌دهد: درباره رمزنگارانی که ناپدید می‌شوند/در سایه‌ها می‌مانند. در مورد این واقعیت که در کتاب های مختلف گنو / لینوکس نوشته های کمی در مورد رمزنگاری وجود دارد. در مورد ماده 51 قانون اساسی فدراسیون روسیه؛ O صدور مجوز/ ممنوعیت رمزگذاری در روسیه، در مورد اینکه چرا باید "root / boot" را رمزگذاری کنید. معلوم شد که این دفترچه از قبل قابل توجه است، اما مفصل است (حتی مراحل ساده را شرح می دهد)، به نوبه خود، وقتی وارد "رمزگذاری واقعی" می شوید، در زمان شما صرفه جویی می کند.

3) انجام رمزگذاری فول دیسک در ویندوز 7 64. GNU/Linux Parrot 4x; گنو/دبیان 9.0/9.5.

4) یک حمله موفقیت آمیز را در خود را بوت لودر GRUB2.

5) این آموزش برای کمک به همه پارانوئیدها در کشورهای مستقل مشترک المنافع ایجاد شده است، جایی که رمزگذاری به طور قانونی مجاز است. و اول از همه، برای کسانی که می خواهند رمزگذاری فول دیسک را بدون تخریب سیستم های پیکربندی شده خود انجام دهند.

6) کتابچه راهنمای آن را که مربوط به سال 2020 است، اصلاح و به روز کرد.

[G] مستندات مفید

  1. راهنمای کاربر TrueCrypt (فوریه 2012 RU)
  2. اسناد VeraCrypt
  3. /usr/share/doc/cryptsetup(-run) [اشتراک محلی] (اسناد رسمی دقیق در مورد راه اندازی رمزگذاری گنو/لینوکس با cryptsetup)
  4. سوالات متداول راه اندازی رمزگذاری رسمی (اسناد کوتاه در مورد راه اندازی رمزگذاری گنو/لینوکس با cryptsetup)
  5. رمزگذاری دستگاه LUKS (مستندات archlinux)
  6. شرح مفصل نحو cryptsetup (صفحه راهنمای قوس)
  7. توضیحات مفصل crypttab (صفحه راهنمای قوس)
  8. اسناد رسمی GRUB2.

برچسب‌ها: رمزگذاری کامل دیسک، رمزگذاری پارتیشن، رمزگذاری کامل دیسک لینوکس، رمزگذاری کامل سیستم LUKS1.

فقط کاربران ثبت نام شده می توانند در نظرسنجی شرکت کنند. ورود، لطفا.

آیا رمزگذاری می کنید؟

  • ٪۱۰۰من هر چیزی را که می توانم رمزگذاری می کنم. من پارانوئید هستم.14

  • ٪۱۰۰من فقط داده های مهم را رمزگذاری می کنم.28

  • ٪۱۰۰گاهی رمز می گذارم، گاهی فراموش می کنم.12

  • ٪۱۰۰نه، من رمزگذاری نمی کنم، ناخوشایند و پرهزینه است.28

82 کاربر رای دادند 22 کاربر رای ممتنع دادند.

منبع: www.habr.com

اضافه کردن نظر