ونڈوز لینکس انسٹال شدہ سسٹمز کی مکمل ڈسک انکرپشن۔ خفیہ کردہ ملٹی بوٹ

ونڈوز لینکس انسٹال شدہ سسٹمز کی مکمل ڈسک انکرپشن۔ خفیہ کردہ ملٹی بوٹ
RuNet V0.2 میں فل ڈسک انکرپشن کے لیے اپنی گائیڈ کو اپ ڈیٹ کیا۔

چرواہا حکمت عملی:

[A] نصب شدہ سسٹم کی ونڈوز 7 سسٹم بلاک انکرپشن؛
[B] GNU/Linux سسٹم بلاک انکرپشن (دبیان) نصب شدہ نظام (بشمول /بوٹ);
[C] GRUB2 کنفیگریشن، ڈیجیٹل دستخط/توثیق/ہیشنگ کے ساتھ بوٹ لوڈر تحفظ؛
[D] اتارنا—غیر خفیہ کردہ ڈیٹا کی تباہی۔
[E] انکرپٹڈ OS کا یونیورسل بیک اپ؛
[F] حملہ <آئٹم [C6]> ہدف - GRUB2 بوٹ لوڈر؛
[G] مددگار دستاویزات۔

╭───#کمرہ 40# کی اسکیم :
├──╼ ونڈوز 7 انسٹال - مکمل سسٹم انکرپشن، پوشیدہ نہیں؛
├──╼ GNU/Linux انسٹال ہے۔ (Debian اور اخذ کردہ تقسیم) - مکمل سسٹم کی خفیہ کاری، پوشیدہ نہیں۔(/، بشمول /بوٹ؛ تبادلہ);
├──╼ آزاد بوٹ لوڈرز: MBR میں VeraCrypt بوٹ لوڈر انسٹال ہے، GRUB2 بوٹ لوڈر توسیعی پارٹیشن میں انسٹال ہے۔
├──╼کوئی OS انسٹالیشن/ری انسٹالیشن کی ضرورت نہیں ہے۔
└──╼کرپٹوگرافک سافٹ ویئر استعمال کیا گیا: VeraCrypt؛ کرپٹ سیٹ اپ؛ GnuPG؛ سمندری گھوڑا؛ ہشدیپ؛ GRUB2 مفت/مفت ہے۔

مذکورہ سکیم جزوی طور پر "ریموٹ بوٹ ٹو فلیش ڈرائیو" کے مسئلے کو حل کرتی ہے، آپ کو انکرپٹڈ OS ونڈوز/لینکس سے لطف اندوز ہونے اور ایک OS سے دوسرے OS میں "انکرپٹڈ چینل" کے ذریعے ڈیٹا کا تبادلہ کرنے کی اجازت دیتی ہے۔

پی سی بوٹ آرڈر (آپشنز میں سے ایک):

  • مشین کو آن کرنا؛
  • VeraCrypt بوٹ لوڈر لوڈ ہو رہا ہے۔ (درست پاس ورڈ درج کرنے سے ونڈوز 7 بوٹ ہوتا رہے گا);
  • "Esc" کلید کو دبانے سے GRUB2 بوٹ لوڈر لوڈ ہو جائے گا۔
  • GRUB2 بوٹ لوڈر (منتخب تقسیم/GNU/Linux/CLI)، کو GRUB2 سپر یوزر کی توثیق کی ضرورت ہوگی <login/password>؛
  • کامیاب تصدیق اور تقسیم کے انتخاب کے بعد، آپ کو "/boot/initrd.img" کو غیر مقفل کرنے کے لیے پاس فریز درج کرنے کی ضرورت ہوگی؛
  • غلطی سے پاک پاس ورڈ داخل کرنے کے بعد، GRUB2 پاس ورڈ کے اندراج کی "ضرورت" کرے گا۔ (تیسرا، BIOS پاس ورڈ یا GNU/Linux صارف اکاؤنٹ پاس ورڈ - غور نہ کریں) GNU/Linux OS کو غیر مقفل اور بوٹ کرنے کے لیے، یا خفیہ کلید کا خودکار متبادل (دو پاس ورڈ + کلید، یا پاس ورڈ + کلید);
  • GRUB2 کنفیگریشن میں بیرونی مداخلت GNU/Linux بوٹ کے عمل کو منجمد کر دے گی۔

مصیبت؟ ٹھیک ہے، آئیے عمل کو خودکار کرتے ہیں۔

ہارڈ ڈرائیو کو تقسیم کرتے وقت (MBR ٹیبل) ایک پی سی میں 4 مین پارٹیشنز سے زیادہ نہیں ہو سکتے، یا 3 مین اور ایک توسیع شدہ، نیز ایک غیر مختص شدہ علاقہ۔ ایک بڑھا ہوا حصہ، مرکزی حصے کے برعکس، ذیلی حصے پر مشتمل ہو سکتا ہے۔ (منطقی ڈرائیوز = توسیعی تقسیم). دوسرے لفظوں میں، HDD پر "توسیع شدہ پارٹیشن" ہاتھ میں کام کے لیے LVM کی جگہ لے لیتا ہے: مکمل سسٹم انکرپشن۔ اگر آپ کی ڈسک کو 4 اہم پارٹیشنز میں تقسیم کیا گیا ہے، تو آپ کو lvm، یا ٹرانسفارم استعمال کرنے کی ضرورت ہے۔ (فارمیٹنگ کے ساتھ) سیکشن مین سے ایڈوانس تک، یا سمجھداری سے چاروں سیکشنز کا استعمال کریں اور ہر چیز کو ویسا ہی چھوڑ دیں، مطلوبہ نتیجہ حاصل کریں۔ یہاں تک کہ اگر آپ کی ڈسک پر ایک پارٹیشن ہے، تو Gparted آپ کو آپ کے HDD کو تقسیم کرنے میں مدد کرے گا۔ (اضافی حصوں کے لیے) ڈیٹا کے نقصان کے بغیر، لیکن پھر بھی اس طرح کی کارروائیوں کے لیے ایک چھوٹا سا جرمانہ ہے۔

ہارڈ ڈرائیو لے آؤٹ اسکیم، جس کے سلسلے میں پورے مضمون کو زبانی شکل دی جائے گی، ذیل کے جدول میں پیش کی گئی ہے۔

ونڈوز لینکس انسٹال شدہ سسٹمز کی مکمل ڈسک انکرپشن۔ خفیہ کردہ ملٹی بوٹ
1TB پارٹیشنز کا ٹیبل (نمبر 1)۔

آپ کو بھی کچھ ایسا ہی ہونا چاہئے۔
sda1 - مین پارٹیشن نمبر 1 NTFS (انکرپٹڈ);
sda2 - توسیع شدہ سیکشن مارکر؛
sda6 - منطقی ڈسک (اس میں GRUB2 بوٹ لوڈر انسٹال ہے)؛
sda8 - سویپ (انکرپٹڈ سویپ فائل/ ہمیشہ نہیں)؛
sda9 - ٹیسٹ منطقی ڈسک؛
sda5 - متجسس کے لیے منطقی ڈسک؛
sda7 - GNU/Linux OS (OS کو ایک خفیہ شدہ منطقی ڈسک میں منتقل کیا گیا)؛
sda3 - ونڈوز 2 OS کے ساتھ مرکزی پارٹیشن نمبر 7 (انکرپٹڈ);
sda4 - مرکزی سیکشن نمبر 3 (اس میں غیر خفیہ کردہ GNU/Linux ہے، جو بیک اپ کے لیے استعمال ہوتا ہے/ہمیشہ نہیں).

[A] ونڈوز 7 سسٹم بلاک انکرپشن

A1۔ ویرا کرپٹونڈوز لینکس انسٹال شدہ سسٹمز کی مکمل ڈسک انکرپشن۔ خفیہ کردہ ملٹی بوٹ

سے لوڈ ہو رہا ہے سرکاری ویب سائٹ، یا آئینے سے سرچ VeraCrypt کرپٹوگرافک سافٹ ویئر کا انسٹالیشن ورژن (مضمون v1.24-Update3 کی اشاعت کے وقت، VeraCrypt کا پورٹیبل ورژن سسٹم انکرپشن کے لیے موزوں نہیں ہے). ڈاؤن لوڈ کردہ سافٹ ویئر کا چیک سم چیک کریں۔

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

اور نتیجہ کا موازنہ VeraCrypt ڈویلپر ویب سائٹ پر پوسٹ کردہ CS سے کریں۔

اگر HashTab سافٹ ویئر انسٹال ہے، تو یہ اور بھی آسان ہے: RMB (VeraCrypt سیٹ اپ 1.24.exe)پراپرٹیز - فائلوں کا ہیش سم۔

پروگرام کے دستخط کی تصدیق کرنے کے لیے، سافٹ ویئر اور ڈویلپر کی عوامی pgp کلید کو سسٹم پر انسٹال کرنا ضروری ہے۔ gnuPG; gpg4win.

A2۔ ایڈمنسٹریٹر کے حقوق کے ساتھ VeraCrypt سافٹ ویئر کو انسٹال کرنا/ چلاناونڈوز لینکس انسٹال شدہ سسٹمز کی مکمل ڈسک انکرپشن۔ خفیہ کردہ ملٹی بوٹ

A3۔ فعال تقسیم کے لیے سسٹم انکرپشن پیرامیٹرز کا انتخابVeraCrypt - سسٹم - انکرپٹ سسٹم پارٹیشن/ڈسک - نارمل - انکرپٹ ونڈوز سسٹم پارٹیشن - ملٹی بوٹ - (انتباہ: "نا تجربہ کار صارفین کو یہ طریقہ استعمال کرنے کی سفارش نہیں کی جاتی ہے" اور یہ سچ ہے، ہم "ہاں" سے اتفاق کرتے ہیں) - بوٹ ڈسک ("ہاں"، اگر نہیں تو پھر بھی "ہاں") - سسٹم ڈسک کی تعداد "2 یا اس سے زیادہ" - ایک ڈسک پر کئی سسٹم "ہاں" - غیر ونڈوز بوٹ لوڈر "نہیں" (حقیقت میں، "ہاں،" لیکن VeraCrypt/GRUB2 بوٹ لوڈرز آپس میں MBR کا اشتراک نہیں کریں گے؛ زیادہ واضح طور پر، بوٹ لوڈر کوڈ کا صرف سب سے چھوٹا حصہ MBR/بوٹ ٹریک میں محفوظ ہے، اس کا اہم حصہ فائل سسٹم کے اندر واقع ہے) - ملٹی بوٹ - خفیہ کاری کی ترتیبات…

اگر آپ مندرجہ بالا مراحل سے انحراف کرتے ہیں (بلاک سسٹم انکرپشن اسکیم)، پھر VeraCrypt ایک انتباہ جاری کرے گا اور آپ کو پارٹیشن کو خفیہ کرنے کی اجازت نہیں دے گا۔

ٹارگٹڈ ڈیٹا کے تحفظ کی جانب اگلے مرحلے میں، ایک "ٹیسٹ" کریں اور ایک انکرپشن الگورتھم منتخب کریں۔ اگر آپ کے پاس پرانا سی پی یو ہے، تو غالباً سب سے تیز انکرپشن الگورتھم ٹوفش ہوگا۔ اگر CPU طاقتور ہے، تو آپ کو فرق نظر آئے گا: AES انکرپشن، ٹیسٹ کے نتائج کے مطابق، اپنے کرپٹو حریفوں سے کئی گنا تیز ہوگی۔ AES ایک مقبول انکرپشن الگورتھم ہے؛ جدید CPUs کا ہارڈویئر خاص طور پر "خفیہ" اور "ہیکنگ" دونوں کے لیے بہتر بنایا گیا ہے۔

VeraCrypt AES جھرن میں ڈسکوں کو خفیہ کرنے کی صلاحیت کی حمایت کرتا ہے۔(دو مچھلی)/اور دیگر امتزاج۔ دس سال پہلے کے ایک پرانے کور Intel CPU پر (اے ای ایس کے لیے ہارڈ ویئر سپورٹ کے بغیر، A/T کیسکیڈ انکرپشن) کارکردگی میں کمی بنیادی طور پر ناقابل تصور ہے۔ (اسی دور کے AMD CPUs/~ پیرامیٹرز کے لیے، کارکردگی قدرے کم ہو گئی ہے). OS متحرک طور پر کام کرتا ہے اور شفاف خفیہ کاری کے لیے وسائل کا استعمال پوشیدہ ہے۔ اس کے برعکس، مثال کے طور پر، نصب شدہ غیر مستحکم ٹیسٹ ڈیسک ٹاپ ماحول میٹ v1.20.1 کی وجہ سے کارکردگی میں نمایاں کمی واقع ہوئی ہے۔ (یا v1.20.2 مجھے بالکل یاد نہیں ہے) GNU/Linux میں، یا Windows7↑ میں ٹیلی میٹری روٹین کے آپریشن کی وجہ سے۔ عام طور پر، تجربہ کار صارفین خفیہ کاری سے پہلے ہارڈ ویئر کی کارکردگی کے ٹیسٹ کرواتے ہیں۔ مثال کے طور پر، Aida64/Sysbench/systemd-analyze میں الزام کا موازنہ سسٹم کو انکرپٹ کرنے کے بعد انہی ٹیسٹوں کے نتائج سے کیا جاتا ہے، اس طرح اپنے لیے اس افسانے کی تردید ہوتی ہے کہ "سسٹم کی خفیہ کاری نقصان دہ ہے۔" انکرپٹڈ ڈیٹا کو بیک اپ/ریسٹور کرتے وقت مشین کی سست روی اور تکلیف نمایاں ہوتی ہے، کیونکہ "سسٹم ڈیٹا بیک اپ" آپریشن بذات خود ms میں نہیں ماپا جاتا ہے، اور وہی <decrypt/encrypt on the fly> کو شامل کیا جاتا ہے۔ بالآخر، ہر وہ صارف جسے کرپٹوگرافی کے ساتھ ٹنکر کرنے کی اجازت ہے، ہاتھ میں موجود کاموں کی اطمینان، ان کی بے حسی کی سطح، اور استعمال میں آسانی کے خلاف خفیہ کاری کے الگورتھم کو متوازن کرتا ہے۔

بہتر ہے کہ PIM پیرامیٹر کو بطور ڈیفالٹ چھوڑ دیا جائے، تاکہ OS لوڈ کرتے وقت آپ کو ہر بار درست اعادہ کی قدریں داخل کرنے کی ضرورت نہ پڑے۔ VeraCrypt واقعی ایک "سست ہیش" بنانے کے لیے بڑی تعداد میں تکرار کا استعمال کرتا ہے۔ بروٹ فورس/رینبو ٹیبل کے طریقہ کار کا استعمال کرتے ہوئے اس طرح کے "کرپٹو سنایل" پر حملہ صرف ایک مختصر "سادہ" پاس فریز اور شکار کی ذاتی چارسیٹ فہرست کے ساتھ ہی سمجھ میں آتا ہے۔ پاس ورڈ کی مضبوطی کے لیے ادا کرنے کی قیمت OS لوڈ کرتے وقت درست پاس ورڈ درج کرنے میں تاخیر ہے۔ (GNU/Linux میں VeraCrypt والیوم کو بڑھانا کافی تیز ہے)۔
بروٹ فورس کے حملوں کو لاگو کرنے کے لئے مفت سافٹ ویئر (VeraCrypt/LUKS ڈسک ہیڈر سے پاسفریز نکالیں) ہیش کیٹ۔ جان دی ریپر "ویریکریپٹ کو توڑنے" کا طریقہ نہیں جانتے ہیں، اور جب LUKS کے ساتھ کام کرتے ہیں تو وہ Twofish کی خفیہ نگاری کو نہیں سمجھتا ہے۔

خفیہ کاری الگورتھم کی کرپٹوگرافک طاقت کی وجہ سے، نہ رکنے والے سائپر پنکس ایک مختلف اٹیک ویکٹر کے ساتھ سافٹ ویئر تیار کر رہے ہیں۔ مثال کے طور پر، RAM سے میٹا ڈیٹا/کیز نکالنا (کولڈ بوٹ / براہ راست میموری تک رسائی کا حملہ) ان مقاصد کے لیے خصوصی مفت اور غیر مفت سافٹ ویئر موجود ہے۔

انکرپٹڈ ایکٹو پارٹیشن کے "منفرد میٹا ڈیٹا" کو ترتیب دینے/جنریٹ کرنے کے مکمل ہونے پر، VeraCrypt PC کو دوبارہ شروع کرنے اور اس کے بوٹ لوڈر کی فعالیت کو جانچنے کی پیشکش کرے گا۔ ونڈوز کو ریبوٹ کرنے/شروع کرنے کے بعد، VeraCrypt اسٹینڈ بائی موڈ میں لوڈ ہو جائے گا، بس صرف انکرپشن کے عمل کی تصدیق کرنا باقی ہے۔

سسٹم انکرپشن کے آخری مرحلے پر، VeraCrypt ایکٹو انکرپٹڈ پارٹیشن کے ہیڈر کی بیک اپ کاپی "veracrypt ریسکیو disk.iso" کی شکل میں بنانے کی پیشکش کرے گا - ایسا کرنا ضروری ہے۔ اس سافٹ ویئر میں اس طرح کے آپریشن کی ضرورت ہے۔ (LUKS میں، ضرورت کے طور پر - یہ بدقسمتی سے چھوڑ دیا گیا ہے، لیکن دستاویزات میں اس پر زور دیا گیا ہے). ریسکیو ڈسک سب کے لیے، اور کچھ کے لیے ایک سے زیادہ بار کام آئے گی۔ نقصان (ہیڈر/MBR دوبارہ لکھنا) ہیڈر کی بیک اپ کاپی OS ونڈوز کے ساتھ ڈکرپٹ شدہ پارٹیشن تک رسائی سے مستقل طور پر انکار کر دے گی۔

A4۔ ویرا کریپٹ ریسکیو USB/ڈسک بناناپہلے سے طے شدہ طور پر، VeraCrypt ایک CD میں "~2-3MB میٹا ڈیٹا" کو جلانے کی پیشکش کرتا ہے، لیکن تمام لوگوں کے پاس ڈسک یا DWD-ROM ڈرائیوز نہیں ہوتی ہیں، اور بوٹ ایبل فلیش ڈرائیو "VeraCrypt ریسکیو ڈسک" بنانا کچھ لوگوں کے لیے ایک تکنیکی حیرت کا باعث ہو گا: Rufus/GUIdd-ROSA ImageWriter اور اسی طرح کے دوسرے سافٹ ویئر اس کام سے نمٹنے کے قابل نہیں ہوں گے، کیونکہ آفسیٹ میٹا ڈیٹا کو بوٹ ایبل فلیش ڈرائیو میں کاپی کرنے کے علاوہ، آپ کو USB ڈرائیو کے فائل سسٹم سے باہر تصویر کو کاپی/پیسٹ کرنا ہوگا۔ مختصراً، MBR/روڈ کو کیچین پر صحیح طریقے سے کاپی کریں۔ آپ اس نشان کو دیکھ کر "dd" یوٹیلیٹی کا استعمال کرتے ہوئے GNU/Linux OS سے بوٹ ایبل فلیش ڈرائیو بنا سکتے ہیں۔

ونڈوز لینکس انسٹال شدہ سسٹمز کی مکمل ڈسک انکرپشن۔ خفیہ کردہ ملٹی بوٹ

ونڈوز ماحول میں ریسکیو ڈسک بنانا مختلف ہے۔ VeraCrypt کے ڈویلپر نے آفیشل میں اس مسئلے کا حل شامل نہیں کیا۔ دستاویزات "ریسکیو ڈسک" کے ذریعے، لیکن ایک مختلف طریقے سے حل تجویز کیا: اس نے اپنے VeraCrypt فورم پر مفت رسائی کے لیے "USB ریسکیو ڈسک" بنانے کے لیے اضافی سافٹ ویئر پوسٹ کیا۔ ونڈوز کے لیے اس سافٹ ویئر کا آرکائیوسٹ "USB veracrypt ریسکیو ڈسک بنا رہا ہے"۔ ریسکیو disk.iso کو محفوظ کرنے کے بعد، فعال پارٹیشن کے بلاک سسٹم انکرپشن کا عمل شروع ہو جائے گا۔ خفیہ کاری کے دوران، OS کا کام نہیں رکتا؛ پی سی کو دوبارہ شروع کرنے کی ضرورت نہیں ہے۔ انکرپشن آپریشن کی تکمیل پر، فعال پارٹیشن مکمل طور پر انکرپٹ ہو جاتا ہے اور اسے استعمال کیا جا سکتا ہے۔ اگر آپ کے پی سی کو شروع کرتے وقت ویرا کریپٹ بوٹ لوڈر ظاہر نہیں ہوتا ہے، اور ہیڈر ریکوری آپریشن مدد نہیں کرتا ہے، تو "بوٹ" پرچم کو چیک کریں، اسے اس پارٹیشن پر سیٹ ہونا چاہیے جہاں ونڈوز موجود ہو۔ (انکرپشن اور دیگر OS سے قطع نظر، جدول نمبر 1 دیکھیں)۔
یہ ونڈوز OS کے ساتھ بلاک سسٹم انکرپشن کی تفصیل کو مکمل کرتا ہے۔

[B]LUKS۔ GNU/Linux انکرپشن (~Debian) نصب OS. الگورتھم اور اقدامات

ڈیبیئن/ماخوذ ڈسٹری بیوشن کو خفیہ کرنے کے لیے، آپ کو تیار شدہ پارٹیشن کو ورچوئل بلاک ڈیوائس پر نقشہ بنانا ہوگا، اسے میپ شدہ GNU/Linux ڈسک میں منتقل کرنا ہوگا، اور GRUB2 کو انسٹال/کنفیگر کرنا ہوگا۔ اگر آپ کے پاس میٹل سرور نہیں ہے، اور آپ اپنے وقت کی قدر کرتے ہیں، تو آپ کو GUI استعمال کرنے کی ضرورت ہے، اور ذیل میں بیان کردہ زیادہ تر ٹرمینل کمانڈز "چک-نوریس موڈ" میں چلانے کے لیے ہیں۔

B1۔ لائیو USB GNU/Linux سے پی سی کو بوٹ کرنا

"ہارڈ ویئر کی کارکردگی کے لیے ایک کرپٹو ٹیسٹ کروائیں"

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 -verbalization (ٹرمینل میں معلومات کی نمائش)؛
* /dev/sda7 - توسیع شدہ تقسیم سے آپ کی منطقی ڈسک (جہاں GNU/Linux کو منتقل کرنے/انکرپٹ کرنے کا منصوبہ ہے).

پہلے سے طے شدہ خفیہ کاری الگورتھم <LUKS1: aes-xts-plain64، کلید: 256 بٹس، LUKS ہیڈر ہیشنگ: sha256، RNG: /dev/urandom> (cryptsetup ورژن پر منحصر ہے)۔

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

اگر CPU پر AES کے لیے کوئی ہارڈویئر سپورٹ نہیں ہے، تو بہترین انتخاب ایک توسیع شدہ "LUKS-Twofish-XTS-partition" بنانا ہوگا۔

B2.2. "LUKS-Twofish-XTS-تقسیم" کی جدید تخلیق

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 کلید کا استعمال کرتے ہوئے، پارٹیشن پر موجود کسی بھی ڈیٹا کو خفیہ/ڈیکرپٹ کرتی ہے۔ (سیکشن ٹائٹل کے علاوہ) منتخب کردہ ہارڈ ڈسک پارٹیشن پر ~ 3MB میں محفوظ ہے۔
* -i "رقم" کے بجائے ملی سیکنڈ میں تکرار (پاسفریز کو پروسیس کرنے میں وقت کی تاخیر OS کی لوڈنگ اور کیز کی کرپٹوگرافک طاقت کو متاثر کرتی ہے)۔ کرپٹوگرافک طاقت کا توازن برقرار رکھنے کے لیے، ایک سادہ پاس ورڈ جیسے "روسی" کے ساتھ آپ کو -(i) کی قدر میں اضافہ کرنا ہوگا؛ ایک پیچیدہ پاس ورڈ جیسے "?8dƱob/øfh" کے ساتھ قدر کو کم کیا جا سکتا ہے۔
* یورینڈم بے ترتیب نمبر جنریٹر کا استعمال کریں، چابیاں اور نمک پیدا کرتا ہے۔

سیکشن sda7 > sda7_crypt کو میپ کرنے کے بعد (آپریشن تیز ہے، کیونکہ ایک انکرپٹڈ ہیڈر ~3 MB میٹا ڈیٹا کے ساتھ بنایا گیا ہے اور بس)، آپ کو sda7_crypt فائل سسٹم کو فارمیٹ اور ماؤنٹ کرنے کی ضرورت ہے۔

B2.3. موازنہ

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

اختیارات:
* کھولیں - "نام کے ساتھ" سیکشن سے میچ کریں؛
* /dev/sda7 - منطقی ڈسک؛
* sda7_crypt - نام کی نقشہ سازی جو انکرپٹڈ پارٹیشن کو ماؤنٹ کرنے یا OS کے بوٹ ہونے پر اسے شروع کرنے کے لیے استعمال ہوتی ہے۔

B2.4. sda7_crypt فائل سسٹم کو ext4 میں فارمیٹ کرنا۔ OS میں ڈسک لگانا(نوٹ: آپ Gparted میں ایک انکرپٹڈ پارٹیشن کے ساتھ کام نہیں کر سکیں گے)

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

اختیارات:
* -v -لفظی کاری؛
* -L - ڈرائیو لیبل (جو دوسری ڈرائیوز کے درمیان ایکسپلورر میں ظاہر ہوتا ہے)۔

اگلا، آپ کو ورچوئل-انکرپٹڈ بلاک ڈیوائس /dev/sda7_crypt کو سسٹم میں ماؤنٹ کرنا چاہیے۔

mount /dev/mapper/sda7_crypt /mnt

/mnt فولڈر میں فائلوں کے ساتھ کام کرنا sda7 میں ڈیٹا کو خود بخود انکرپٹ/ڈیکرپٹ کر دے گا۔

ایکسپلورر میں تقسیم کا نقشہ بنانا اور اسے ماؤنٹ کرنا زیادہ آسان ہے۔ (nautilus/caja GUI)، پارٹیشن پہلے سے ہی ڈسک سلیکشن لسٹ میں ہوگا، بس ڈسک کو کھولنے/ڈیکرپٹ کرنے کے لیے پاس فریز میں داخل ہونا باقی ہے۔ مماثل نام خود بخود منتخب ہو جائے گا نہ کہ "sda7_crypt"، بلکہ کچھ ایسا ہی جیسے /dev/mapper/Luks-xx-xx...

B2.5 ڈسک ہیڈر بیک اپ (~3MB میٹا ڈیٹا)سب سے زیادہ اہم آپریشنز جو بغیر کسی تاخیر کے کرنے کی ضرورت ہے - "sda7_crypt" ہیڈر کی بیک اپ کاپی۔ اگر آپ ہیڈر کو اوور رائٹ/ نقصان پہنچاتے ہیں۔ (مثال کے طور پر، sda2 پارٹیشن پر GRUB7 انسٹال کرنا، وغیرہ), انکرپٹڈ ڈیٹا مکمل طور پر ضائع ہو جائے گا اس کی بازیافت کے کسی بھی امکان کے بغیر، کیونکہ ایک ہی کیز کو دوبارہ تخلیق کرنا ناممکن ہو جائے گا؛ چابیاں منفرد طور پر بنائی گئی ہیں۔

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

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

اختیارات:
* luksHeaderBackup —header-backup-file-backup کمانڈ؛
* luksHeaderRestore —header-backup-file-restore کمانڈ؛
* ~/Backup_DebSHIFR - بیک اپ فائل؛
* /dev/sda7 - پارٹیشن جس کی انکرپٹڈ ڈسک ہیڈر بیک اپ کاپی کو محفوظ کرنا ہے۔
اس مرحلے پر <انکرپٹڈ پارٹیشن کی تخلیق اور ترمیم> مکمل ہو گئی ہے۔

B3۔ GNU/Linux OS کو پورٹ کرنا (sda4) ایک انکرپٹڈ پارٹیشن میں (sda7)

ایک فولڈر بنائیں /mnt2 (نوٹ - ہم ابھی بھی لائیو USB کے ساتھ کام کر رہے ہیں، sda7_crypt /mnt پر نصب ہے)، اور ہمارے GNU/Linux کو /mnt2 میں ماؤنٹ کریں، جسے انکرپٹ کرنے کی ضرورت ہے۔

mkdir /mnt2
mount /dev/sda4 /mnt2

ہم Rsync سافٹ ویئر کا استعمال کرتے ہوئے درست OS کی منتقلی کرتے ہیں۔

rsync -avlxhHX --progress /mnt2/ /mnt

Rsync کے اختیارات پیراگراف E1 میں بیان کیے گئے ہیں۔

کے علاوہ، ضروری ہے منطقی ڈسک پارٹیشن کو ڈیفراگمنٹ کریں۔

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

اسے ایک اصول بنائیں: اگر آپ کے پاس HDD ہے تو وقتاً فوقتاً انکرپٹڈ GNU/Linux پر e4defrag کریں۔
منتقلی اور مطابقت پذیری [GNU/Linux> GNU/Linux-encrypted] اس مرحلے پر مکمل ہو جاتی ہے۔

اے ٹی 4۔ ایک خفیہ کردہ sda7 پارٹیشن پر GNU/Linux ترتیب دینا

OS /dev/sda4 > /dev/sda7 کو کامیابی سے منتقل کرنے کے بعد، آپ کو انکرپٹڈ پارٹیشن پر GNU/Linux میں لاگ ان کرنے اور مزید کنفیگریشن کرنے کی ضرورت ہے۔ (پی سی کو ریبوٹ کیے بغیر) ایک خفیہ کردہ نظام سے متعلق۔ یعنی، براہ راست USB میں رہیں، لیکن "انکرپٹڈ OS کی جڑ سے متعلق" کمانڈز پر عمل کریں۔ "chroot" اسی طرح کی صورتحال کی نقل کرے گا۔ فوری طور پر معلومات حاصل کرنے کے لیے کہ آپ فی الحال کس OS کے ساتھ کام کر رہے ہیں۔ (خفیہ شدہ ہے یا نہیں، چونکہ sda4 اور sda7 میں ڈیٹا ہم آہنگ ہے)، OS کو غیر مطابقت پذیر بنائیں۔ روٹ ڈائریکٹریز میں بنائیں (sda4/sda7_crypt) خالی مارکر فائلیں، مثال کے طور پر، /mnt/encryptedOS اور /mnt2/decryptedOS۔ جلدی سے چیک کریں کہ آپ کس OS پر ہیں۔ (بشمول مستقبل کے لیے):

ls /<Tab-Tab>

B4.1. "ایک خفیہ کردہ OS میں لاگ ان کرنے کا تخروپن"

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 میں ترمیم کرناچونکہ OS کے شروع ہونے پر ہر بار سویپ فائل فارمیٹ کی جاتی ہے، اس لیے اب ایک منطقی ڈسک پر سویپ بنانے اور اس کا نقشہ بنانا کوئی معنی نہیں رکھتا، اور پیراگراف B2.2 کی طرح کمانڈ ٹائپ کریں۔ سویپ کے لیے، اس کی اپنی عارضی انکرپشن کیز ہر شروع میں خود بخود تیار ہو جائیں گی۔ سویپ کیز کا لائف سائیکل: سویپ پارٹیشن کو ان ماؤنٹ کرنا/ان ماؤنٹ کرنا (+ RAM کی صفائی); یا OS کو دوبارہ شروع کریں۔ تبادلہ ترتیب دینا، بلاک انکرپٹڈ ڈیوائسز کی ترتیب کے لیے ذمہ دار فائل کو کھولنا (ایک 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 - تبادلہ کے لیے بے ترتیب خفیہ کاری کیز کا جنریٹر (ہر نئے OS بوٹ کے ساتھ، نئی چابیاں بنائی جاتی ہیں)۔ /dev/urandom جنریٹر /dev/random کے مقابلے میں کم بے ترتیب ہے، آخر کار خطرناک غیر معمولی حالات میں کام کرتے وقت /dev/random استعمال کیا جاتا ہے۔ OS کو لوڈ کرتے وقت، /dev/random کئی ± منٹ تک لوڈنگ کو سست کر دیتا ہے۔ (سسٹمڈ تجزیہ دیکھیں).
* swap,cipher=twofish-xts-plain64,size=512,hash=sha512: -تقسیم جانتا ہے کہ یہ سویپ ہے اور "اس کے مطابق" فارمیٹ کیا گیا ہے۔ خفیہ کاری الگورتھم

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

ہم ترمیم کرتے ہیں

تنصیب کے دوران # تبادلہ / dev / sda8 پر تھا
/dev/mapper/swap کوئی نہیں swap sw 0 0

/dev/mapper/swap وہ نام ہے جو crypttab میں سیٹ کیا گیا تھا۔

متبادل خفیہ کردہ تبادلہ
اگر کسی وجہ سے آپ سویپ فائل کے لیے پورے پارٹیشن کو ترک نہیں کرنا چاہتے ہیں، تو آپ متبادل اور بہتر طریقے سے جا سکتے ہیں: OS کے ساتھ انکرپٹڈ پارٹیشن پر فائل میں سویپ فائل بنانا۔

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 будет постоянный

سویپ پارٹیشن سیٹ اپ مکمل ہو گیا ہے۔

B4.4. انکرپٹڈ GNU/Linux ترتیب دینا (crypttab/fstab فائلوں میں ترمیم کرنا)/etc/crypttab فائل، جیسا کہ اوپر لکھا گیا ہے، انکرپٹڈ بلاک ڈیوائسز کی وضاحت کرتا ہے جو سسٹم بوٹ کے دوران کنفیگر ہوتے ہیں۔

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

اگر آپ پیراگراف B7 کی طرح sda7>sda2.1_crypt سیکشن سے مماثل ہیں۔

# "ہدف کا نام" "ماخذ آلہ" "کلیدی فائل" "اختیارات"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none luks

اگر آپ پیراگراف B7 کی طرح sda7>sda2.2_crypt سیکشن سے مماثل ہیں۔

# "ہدف کا نام" "ماخذ آلہ" "کلیدی فائل" "اختیارات"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none cipher=twofish-xts-plain64,size=512,hash=sha512

اگر آپ پیراگراف B7 یا B7 کی طرح sda2.1>sda2.2_crypt سیکشن سے مماثل ہیں، لیکن OS کو غیر مقفل اور بوٹ کرنے کے لیے پاس ورڈ دوبارہ درج نہیں کرنا چاہتے ہیں، تو پاس ورڈ کی بجائے آپ خفیہ کلید/رینڈم فائل کو تبدیل کر سکتے ہیں۔

# "ہدف کا نام" "ماخذ آلہ" "کلیدی فائل" "اختیارات"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 /etc/skey luks

تفصیل
* کوئی نہیں - اشارہ کرتا ہے کہ OS کو لوڈ کرتے وقت، روٹ کو غیر مقفل کرنے کے لیے ایک خفیہ پاسفریز درج کرنے کی ضرورت ہوتی ہے۔
* UUID - پارٹیشن شناخت کنندہ۔ اپنی ID معلوم کرنے کے لیے، ٹرمینل میں ٹائپ کریں۔ (یاد دلائیں کہ اس وقت سے، آپ ٹرمینل میں کروٹ ماحول میں کام کر رہے ہیں، نہ کہ کسی اور لائیو 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»

sda7_crypt کے ساتھ لائیو USB ٹرمینل سے blkid کی درخواست کرتے وقت یہ لائن نظر آتی ہے)۔
آپ اپنے sdaX سے UUID لیتے ہیں۔ (sdaX_crypt نہیں!، UUID sdaX_crypt - grub.cfg کنفیگریشن تیار کرتے وقت خود بخود چھوڑ دیا جائے گا)۔
* cipher=twofish-xts-plain64,size=512,hash=sha512 -luks انکرپشن ایڈوانس موڈ میں۔
* /etc/skey - خفیہ کلید فائل، جو OS بوٹ کو غیر مقفل کرنے کے لیے خود بخود داخل کی جاتی ہے۔ (تیسرا پاس ورڈ داخل کرنے کے بجائے)۔ آپ 8MB تک کسی بھی فائل کی وضاحت کر سکتے ہیں، لیکن ڈیٹا <1MB پڑھا جائے گا۔

#Создание "генерация" случайного файла <секретного ключа> размером 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

# "فائل سسٹم" "ماؤنٹ پوائنٹ" "قسم" "آپشنز" "ڈمپ" "پاس"
# / تنصیب کے دوران / 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=ہاں
کرپٹ سیٹ اپ برآمد کریں۔

B4.5.3. /etc/default/grub config میں ترمیم کرنا (یہ تشکیل انکرپٹڈ /بوٹ کے ساتھ کام کرتے وقت grub.cfg پیدا کرنے کی صلاحیت کے لیے ذمہ دار ہے)

nano /etc/default/grub

لائن شامل کریں "GRUB_ENABLE_CRYPTODISK=y"
ویلیو 'y'، grub-mkconfig اور grub-install انکرپٹڈ ڈرائیوز کو چیک کریں گے اور بوٹ کے وقت ان تک رسائی کے لیے درکار اضافی کمانڈز تیار کریں گے۔ (insmods ).
ایک مماثلت ہونا ضروری ہے

GRUB_DEFAULT = 0
GRUB_TIMEOUT = 1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=vendor"
GRUB_CMDLINE_LINUX="quiet splash noautomount"
GRUB_ENABLE_CRYPTODISK=y

B4.5.4. config /etc/cryptsetup-initramfs/conf-hook میں ترمیم کرنا

nano /etc/cryptsetup-initramfs/conf-hook

چیک کریں کہ لائن تبصرہ کیا <#>
مستقبل میں (اور اب بھی، اس پیرامیٹر کا کوئی مطلب نہیں ہوگا، لیکن بعض اوقات یہ initrd.img امیج کو اپ ڈیٹ کرنے میں مداخلت کرتا ہے)۔

B4.5.5. config /etc/cryptsetup-initramfs/conf-hook میں ترمیم کرنا

nano /etc/cryptsetup-initramfs/conf-hook

شامل کریں

KEYFILE_PATTERN="/etc/skey"
UMASK=0077

یہ خفیہ کلید "اسکی" کو initrd.img میں پیک کر دے گا، OS کے بوٹ ہونے پر جڑ کو غیر مقفل کرنے کے لیے کلید کی ضرورت ہوتی ہے۔ (اگر آپ دوبارہ پاس ورڈ درج نہیں کرنا چاہتے ہیں، تو "اسکی" کلید کار کے لیے بدل دی جائے گی)۔

B4.6. اپ ڈیٹ کریں /boot/initrd.img [ورژن]خفیہ کلید کو initrd.img میں پیک کرنے اور کرپٹ سیٹ اپ اصلاحات کو لاگو کرنے کے لیے، تصویر کو اپ ڈیٹ کریں

update-initramfs -u -k all

initrd.img کو اپ ڈیٹ کرتے وقت (جیسا کہ وہ کہتے ہیں "یہ ممکن ہے، لیکن یہ یقینی نہیں ہے") کرپٹ سیٹ اپ سے متعلق انتباہات ظاہر ہوں گے، یا، مثال کے طور پر، Nvidia ماڈیولز کے نقصان کے بارے میں ایک اطلاع - یہ عام بات ہے۔ فائل کو اپ ڈیٹ کرنے کے بعد، چیک کریں کہ یہ واقعی اپ ڈیٹ ہو چکی ہے، وقت دیکھیں (chroot environment./boot/initrd.img سے متعلق)۔ ہوشیار! [update-initramfs -u -k all] سے پہلے یہ یقینی بنائیں کہ کرپٹ سیٹ اپ کھلا ہے /dev/sda7 sda7_crypt - یہ وہ نام ہے جو /etc/crypttab میں ظاہر ہوتا ہے، بصورت دیگر ریبوٹ کے بعد ایک busybox ایرر ہوگا)
اس مرحلے پر، کنفیگریشن فائلوں کا سیٹ اپ مکمل ہو گیا ہے۔

[C] GRUB2/Protection کو انسٹال اور ترتیب دینا

C1۔ اگر ضروری ہو تو، بوٹ لوڈر کے لیے وقف شدہ پارٹیشن کو فارمیٹ کریں (ایک پارٹیشن کو کم از کم 20MB کی ضرورت ہوتی ہے)

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]آپ کے پاس ایک نصب شدہ پارٹیشن ہونا ضروری ہے [آئٹم C.2]

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

اختیارات
* —force - بوٹ لوڈر کی تنصیب، تمام انتباہات کو نظرانداز کرتے ہوئے جو تقریباً ہمیشہ موجود ہیں اور تنصیب کو روکنا (ضروری پرچم)
* --root-directory - ڈائریکٹری کی تنصیب sda6 کی جڑ تک۔
* /dev/sda6 - آپ کا sdaХ پارٹیشن (/mnt /dev/sda6 کے درمیان <space> کو مت چھوڑیں)۔

C4۔ کنفیگریشن فائل بنانا [grub.cfg]"update-grub2" کمانڈ کے بارے میں بھول جائیں، اور مکمل کنفیگریشن فائل جنریشن کمانڈ استعمال کریں۔

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

grub.cfg فائل کی جنریشن/اپڈیٹنگ مکمل کرنے کے بعد، آؤٹ پٹ ٹرمینل میں ڈسک پر موجود OS کے ساتھ لائن (لائنیں) ہونی چاہئیں۔ (اگر آپ کے پاس ونڈوز 10 کے ساتھ ملٹی بوٹ فلیش ڈرائیو ہے اور لائیو ڈسٹری بیوشنز کا ایک گروپ ہے تو شاید "grub-mkconfig" لائیو یو ایس بی سے OS تلاش کرے گا اور اسے اٹھا لے گا - یہ عام بات ہے)۔ اگر ٹرمینل "خالی" ہے اور "grub.cfg" فائل تیار نہیں ہوئی ہے، تو یہ وہی صورت ہے جب سسٹم میں GRUB کیڑے ہوں (اور غالباً ذخیرہ کی ٹیسٹ برانچ سے لوڈر) GRUB2 کو قابل اعتماد ذرائع سے دوبارہ انسٹال کریں۔
"سادہ ترتیب" کی تنصیب اور GRUB2 سیٹ اپ مکمل ہو گیا ہے۔

C5۔ انکرپٹڈ GNU/Linux OS کا پروف ٹیسٹہم کرپٹو مشن کو صحیح طریقے سے مکمل کرتے ہیں۔ انکرپٹڈ GNU/Linux کو احتیاط سے چھوڑیں۔ (کروٹ ماحول سے باہر نکلیں)۔

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

پی سی کو ریبوٹ کرنے کے بعد، VeraCrypt بوٹ لوڈر لوڈ ہونا چاہیے۔
ونڈوز لینکس انسٹال شدہ سسٹمز کی مکمل ڈسک انکرپشن۔ خفیہ کردہ ملٹی بوٹ

*ایکٹو پارٹیشن کے لیے پاس ورڈ درج کرنے سے ونڈوز لوڈ ہونا شروع ہو جائے گی۔
*"Esc" کلید کو دبانے سے کنٹرول GRUB2 میں منتقل ہو جائے گا، اگر آپ انکرپٹڈ GNU/Linux کو منتخب کرتے ہیں - /boot/initrd.img کو غیر مقفل کرنے کے لیے ایک پاس ورڈ (sda7_crypt) کی ضرورت ہوگی (اگر grub2 لکھتا ہے uuid "not found" - یہ ایک ہے grub2 بوٹ لوڈر کے ساتھ مسئلہ ہے، اسے دوبارہ انسٹال کیا جانا چاہیے، جیسے، ٹیسٹ برانچ/مستحکم وغیرہ سے)۔
ونڈوز لینکس انسٹال شدہ سسٹمز کی مکمل ڈسک انکرپشن۔ خفیہ کردہ ملٹی بوٹ

*اس بات پر منحصر ہے کہ آپ نے سسٹم کو کس طرح ترتیب دیا (پیراگراف B4.4/4.5 دیکھیں)، /boot/initrd.img امیج کو غیر مقفل کرنے کے لیے درست پاس ورڈ درج کرنے کے بعد، آپ کو OS کرنل/روٹ، یا خفیہ کو لوڈ کرنے کے لیے پاس ورڈ کی ضرورت ہوگی۔ کلید خود بخود "اسکی" کی جگہ لے لی جائے گی، پاسفریز کو دوبارہ درج کرنے کی ضرورت کو ختم کرتے ہوئے۔
ونڈوز لینکس انسٹال شدہ سسٹمز کی مکمل ڈسک انکرپشن۔ خفیہ کردہ ملٹی بوٹ
(اسکرین "خفیہ کلید کا خودکار متبادل")۔

*اس کے بعد صارف کے اکاؤنٹ کی تصدیق کے ساتھ GNU/Linux لوڈ کرنے کا واقف عمل عمل میں آئے گا۔
ونڈوز لینکس انسٹال شدہ سسٹمز کی مکمل ڈسک انکرپشن۔ خفیہ کردہ ملٹی بوٹ

*صارف کی اجازت اور OS میں لاگ ان ہونے کے بعد، آپ کو /boot/initrd.img کو دوبارہ اپ ڈیٹ کرنے کی ضرورت ہے۔ (دیکھیں B4.6)۔

update-initramfs -u -k all

اور GRUB2 مینو میں اضافی لائنوں کی صورت میں (لائیو USB کے ساتھ OS-m پک اپ سے) ان سے جان چھڑاؤ

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

GNU/Linux سسٹم کی خفیہ کاری کا فوری خلاصہ:

  • GNU/Linuxinux مکمل طور پر انکرپٹڈ ہے، بشمول /boot/kernel اور initrd؛
  • خفیہ کلید initrd.img میں پیک کی گئی ہے۔
  • موجودہ اجازت کی اسکیم (initrd کو غیر مقفل کرنے کے لیے پاس ورڈ درج کرنا؛ OS کو بوٹ کرنے کے لیے پاس ورڈ/کی؛ لینکس اکاؤنٹ کو اختیار کرنے کے لیے پاس ورڈ).

بلاک پارٹیشن کا "سادہ GRUB2 کنفیگریشن" سسٹم انکرپشن مکمل ہو گیا ہے۔

سی6۔ اعلی درجے کی GRUB2 ترتیب۔ ڈیجیٹل دستخط + تصدیقی تحفظ کے ساتھ بوٹ لوڈر تحفظGNU/Linux مکمل طور پر انکرپٹڈ ہے، لیکن بوٹ لوڈر کو انکرپٹ نہیں کیا جا سکتا - یہ شرط BIOS کے ذریعے وضع کی گئی ہے۔ اس وجہ سے، GRUB2 کا ایک زنجیروں والا انکرپٹڈ بوٹ ممکن نہیں ہے، لیکن ایک سادہ زنجیروں والا بوٹ ممکن ہے/ دستیاب ہے، لیکن حفاظتی نقطہ نظر سے یہ ضروری نہیں ہے [دیکھیں P. F]
"کمزور" GRUB2 کے لیے، ڈویلپرز نے "دستخط/تصدیق" بوٹ لوڈر پروٹیکشن الگورتھم نافذ کیا۔

  • جب بوٹ لوڈر کو "اس کے اپنے ڈیجیٹل دستخط" کے ذریعے محفوظ کیا جاتا ہے، فائلوں کی بیرونی ترمیم، یا اس بوٹ لوڈر میں اضافی ماڈیول لوڈ کرنے کی کوشش، لوڈنگ کے عمل کو مسدود کرنے کا باعث بنے گی۔
  • بوٹ لوڈر کی تصدیق کے ساتھ حفاظت کرتے وقت، ڈسٹری بیوشن لوڈ کرنے کا انتخاب کرنے کے لیے، یا CLI میں اضافی کمانڈز داخل کرنے کے لیے، آپ کو سپر یوزر-GRUB2 کا لاگ ان اور پاس ورڈ درج کرنے کی ضرورت ہوگی۔

C6.1. بوٹ لوڈر کی توثیق کا تحفظچیک کریں کہ آپ انکرپٹڈ OS پر ٹرمینل میں کام کر رہے ہیں۔

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

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 ###)
"سیٹ سپر یوزر = "روٹ"
password_pbkdf2 روٹ ہیش۔"

یہ کچھ اس طرح ہونا چاہئے

# یہ فائل حسب ضرورت مینو اندراجات شامل کرنے کا آسان طریقہ فراہم کرتی ہے۔ بس ٹائپ کریں۔
# مینو اندراجات جو آپ اس تبصرے کے بعد شامل کرنا چاہتے ہیں۔ ہوشیار رہو کہ تبدیلی نہ ہو۔
# اوپر 'عملدرآمد' لائن
### END /etc/grub.d/40_custom ###

### شروع کریں /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="root" سیٹ کریں
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### END /etc/grub.d/41_custom ###
#

اگر آپ اکثر "grub-mkconfig -o /mnt/boot/grub/grub.cfg" کمانڈ استعمال کرتے ہیں اور ہر بار grub.cfg میں تبدیلیاں نہیں کرنا چاہتے ہیں، تو اوپر کی سطریں درج کریں۔ (لاگ ان پاس ورڈ) GRUB صارف اسکرپٹ میں بالکل نیچے

nano /etc/grub.d/41_custom 

بلی <<EOF
superusers="root" سیٹ کریں
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; کلیوپیٹرا/جی پی اے؛ سمندری گھوڑا کرپٹو سافٹ ویئر ایسے تمام معاملات میں آپ کی زندگی کو بہت آسان بنا دے گا۔ سی ہارس - پیکیج 3.14.0 کا مستحکم ورژن (اعلی ورژن، مثال کے طور پر، V3.20، عیب دار ہیں اور اس میں اہم کیڑے ہیں)۔

پی جی پی کلید کو صرف su ماحول میں تیار/لانچ/شامل کرنے کی ضرورت ہے!

ذاتی خفیہ کاری کی کلید بنائیں

gpg - -gen-key

اپنی کلید برآمد کریں۔

gpg --export -o ~/perskey

OS میں منطقی ڈسک کو ماؤنٹ کریں اگر یہ پہلے سے نصب نہیں ہے۔

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" - PC کے شروع ہونے پر GRUB2 کو ضروری ماڈیولز پہلے سے لوڈ کرنے کی ہدایت کرتا ہے۔
* -k ~/perskey -"PGP کلید" کا راستہ (تصویر میں کلید پیک کرنے کے بعد، اسے حذف کیا جا سکتا ہے)۔
* --root-directory - بوٹ ڈائرکٹری کو sda6 کے روٹ پر سیٹ کریں۔
/dev/sda6 - آپ کا sdaX پارٹیشن۔

grub.cfg پیدا کرنا/اپ ڈیٹ کرنا

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

"grub.cfg" فائل کے آخر میں "trust /boot/grub/perskey" لائن شامل کریں۔ (pgp کلید کا زبردستی استعمال۔) چونکہ ہم نے GRUB2 کو ماڈیولز کے سیٹ کے ساتھ انسٹال کیا ہے، بشمول دستخطی ماڈیول "signature_test.mod"، اس سے ترتیب میں "set check_signatures=enforce" جیسی کمانڈز شامل کرنے کی ضرورت ختم ہو جاتی ہے۔

اسے کچھ اس طرح نظر آنا چاہیے۔ (grub.cfg فائل میں آخری لائنیں)

### شروع کریں /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="root" سیٹ کریں
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### END /etc/grub.d/41_custom ###
#

"/boot/grub/perskey" کے راستے کو کسی مخصوص ڈسک پارٹیشن کی طرف اشارہ کرنے کی ضرورت نہیں ہے، مثال کے طور پر hd0,6؛ خود بوٹ لوڈر کے لیے، "root" پارٹیشن کا ڈیفالٹ پاتھ ہے جس پر GRUB2 انسٹال ہے۔ (سیٹ روٹ =... دیکھیں)

GRUB2 پر دستخط کرنا (تمام فائلیں تمام /GRUB ڈائریکٹریز میں) اپنی کلید "پرسکی" کے ساتھ۔
دستخط کرنے کے طریقے کا ایک آسان حل (نوٹلس/کاجا ایکسپلورر کے لیے): ریپوزٹری سے ایکسپلورر کے لیے "سمندری گھوڑے" ایکسٹینشن انسٹال کریں۔ آپ کی کلید کو su ماحول میں شامل کرنا ضروری ہے۔
sudo “/mnt/boot” – RMB – سائن کے ساتھ ایکسپلورر کھولیں۔ اسکرین پر ایسا لگتا ہے۔

ونڈوز لینکس انسٹال شدہ سسٹمز کی مکمل ڈسک انکرپشن۔ خفیہ کردہ ملٹی بوٹ

کلید خود "/mnt/boot/grub/perskey" ہے (گرب ڈائرکٹری میں کاپی) آپ کے اپنے دستخط سے بھی دستخط کرنا ضروری ہے۔ چیک کریں کہ [*.sig] فائل کے دستخط ڈائریکٹری/سب ڈائرکٹریز میں ظاہر ہوتے ہیں۔
اوپر بیان کردہ طریقہ کا استعمال کرتے ہوئے، "/boot" پر دستخط کریں (ہمارا دانا، initrd)۔ اگر آپ کا وقت کچھ بھی قیمتی ہے، تو یہ طریقہ "بہت سی فائلوں" پر دستخط کرنے کے لیے باش اسکرپٹ لکھنے کی ضرورت کو ختم کر دیتا ہے۔

تمام بوٹ لوڈر دستخطوں کو ہٹانے کے لیے (اگر کچھ غلط ہو گیا ہے)

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۔ کسی بھی GNU/Linux ڈسٹری بیوشن کو منتخب کرتے وقت یا CLI میں داخل ہوتے وقت (کمانڈ لائن) سپر یوزر کی اجازت درکار ہوگی۔ درست صارف نام/پاس ورڈ درج کرنے کے بعد، آپ کو initrd پاس ورڈ کی ضرورت ہوگی۔

ونڈوز لینکس انسٹال شدہ سسٹمز کی مکمل ڈسک انکرپشن۔ خفیہ کردہ ملٹی بوٹ
GRUB2 سپر یوزر کی کامیاب تصدیق کا اسکرین شاٹ۔

اگر آپ GRUB2 فائلوں میں سے کسی کے ساتھ چھیڑ چھاڑ کرتے ہیں/ grub.cfg میں تبدیلی کرتے ہیں، یا فائل/ دستخط کو حذف کرتے ہیں، یا ایک بدنیتی پر مبنی module.mod لوڈ کرتے ہیں، تو ایک متعلقہ انتباہ ظاہر ہوگا۔ GRUB2 لوڈنگ کو روک دے گا۔

ونڈوز لینکس انسٹال شدہ سسٹمز کی مکمل ڈسک انکرپشن۔ خفیہ کردہ ملٹی بوٹ
اسکرین شاٹ، "باہر سے" GRUB2 میں مداخلت کرنے کی کوشش۔

"نارمل" بوٹنگ "بغیر دخل اندازی" کے دوران، سسٹم ایگزٹ کوڈ کی حیثیت "0" ہوتی ہے۔ لہذا، یہ نامعلوم ہے کہ تحفظ کام کرتا ہے یا نہیں (یعنی، "بوٹ لوڈر کے دستخطی تحفظ کے ساتھ یا اس کے بغیر" عام لوڈنگ کے دوران اسٹیٹس ایک ہی "0" ہے - یہ برا ہے)۔

ڈیجیٹل دستخط کے تحفظ کو کیسے چیک کریں؟

چیک کرنے کا ایک تکلیف دہ طریقہ: GRUB2 کے ذریعے استعمال ہونے والے ماڈیول کو جعلی/ہٹائیں، مثال کے طور پر، دستخط luks.mod.sig کو ہٹا دیں اور غلطی ہو جائے۔

صحیح طریقہ: بوٹ لوڈر CLI پر جائیں اور کمانڈ ٹائپ کریں۔

trust_list

جواب میں، آپ کو ایک "پرسکی" فنگر پرنٹ ملنا چاہیے؛ اگر اسٹیٹس "0" ہے تو دستخطی تحفظ کام نہیں کرتا، پیراگراف C6.2 کو دو بار چیک کریں۔
اس مرحلے پر، جدید ترین ترتیب "ڈیجیٹل دستخط اور تصدیق کے ساتھ GRUB2 کی حفاظت" مکمل ہو گئی ہے۔

C7 ہیشنگ کا استعمال کرتے ہوئے GRUB2 بوٹ لوڈر کی حفاظت کا متبادل طریقہاوپر بیان کردہ "CPU بوٹ لوڈر پروٹیکشن/توثیق" کا طریقہ ایک کلاسک ہے۔ GRUB2 کی خامیوں کی وجہ سے، غیر معمولی حالات میں یہ ایک حقیقی حملے کے لیے حساس ہے، جسے میں ذیل میں پیراگراف [F] میں دوں گا۔ اس کے علاوہ، OS/kernel کو اپ ڈیٹ کرنے کے بعد، بوٹ لوڈر کو دوبارہ سائن کرنا ہوگا۔

ہیشنگ کا استعمال کرتے ہوئے GRUB2 بوٹ لوڈر کی حفاظت کرنا

کلاسیکی سے زیادہ فوائد:

  • وشوسنییتا کی اعلی سطح (ہیشنگ/تصدیق صرف ایک انکرپٹڈ لوکل ریسورس سے ہوتی ہے۔ GRUB2 کے تحت مختص کردہ مکمل پارٹیشن کسی بھی تبدیلی کے لیے کنٹرول کیا جاتا ہے، اور باقی سب کچھ انکرپٹڈ ہوتا ہے؛ CPU لوڈر پروٹیکشن/توثیق کے ساتھ کلاسک اسکیم میں، صرف فائلوں کو کنٹرول کیا جاتا ہے، لیکن مفت نہیں اسپیس، جس میں "کچھ" کچھ برا" شامل کیا جا سکتا ہے)۔
  • انکرپٹڈ لاگنگ (انسانی پڑھنے کے قابل ذاتی انکرپٹڈ لاگ کو اسکیم میں شامل کیا گیا ہے)۔
  • رفتار (GRUB2 کے لیے مختص ایک پورے پارٹیشن کا تحفظ/تصدیق تقریباً فوری طور پر ہوتی ہے)۔
  • تمام خفیہ نگاری کے عمل کا آٹومیشن۔

کلاسیکی سے زیادہ نقصانات۔

  • دستخط کی جعلسازی (نظریاتی طور پر، دیئے گئے ہیش فنکشن کے تصادم کو تلاش کرنا ممکن ہے)۔
  • مشکل کی سطح میں اضافہ (کلاسک کے مقابلے میں، GNU/Linux OS کے بارے میں تھوڑا زیادہ علم درکار ہے)۔

GRUB2/پارٹیشن ہیشنگ آئیڈیا کیسے کام کرتا ہے۔

GRUB2 پارٹیشن "دستخط شدہ" ہے؛ جب OS بوٹ ہوتا ہے، بوٹ لوڈر پارٹیشن کو غیر متغیر ہونے کے لیے چیک کیا جاتا ہے، اس کے بعد ایک محفوظ (انکرپٹڈ) ماحول میں لاگ ان ہوتا ہے۔ اگر بوٹ لوڈر یا اس کی پارٹیشن سے سمجھوتہ کیا جاتا ہے، انٹروژن لاگ کے علاوہ، درج ذیل کو لانچ کیا جاتا ہے:

چیز.ونڈوز لینکس انسٹال شدہ سسٹمز کی مکمل ڈسک انکرپشن۔ خفیہ کردہ ملٹی بوٹ

اسی طرح کی جانچ دن میں چار بار ہوتی ہے، جو سسٹم کے وسائل کو لوڈ نہیں کرتی ہے۔
"-$ check_GRUB" کمانڈ کا استعمال کرتے ہوئے، ایک فوری چیک کسی بھی وقت لاگ ان کیے بغیر، لیکن CLI کو معلومات کے آؤٹ پٹ کے ساتھ ہوتا ہے۔
کمانڈ "-$ sudo signature_GRUB" کا استعمال کرتے ہوئے، GRUB2 بوٹ لوڈر/پارٹیشن کو فوری طور پر دوبارہ سائن کیا جاتا ہے اور اس کی اپ ڈیٹ لاگنگ ہوتی ہے۔ (OS/بوٹ اپ ڈیٹ کے بعد ضروری ہے)، اور زندگی چلتی رہتی ہے۔

بوٹ لوڈر اور اس کے سیکشن کے لیے ہیشنگ کے طریقہ کار کا نفاذ

0) آئیے پہلے اسے /media/username میں لگا کر GRUB بوٹ لوڈر/ پارٹیشن پر دستخط کریں

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

1) ہم انکرپٹڈ OS ~/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 پارٹیشن کی ہیشنگ اور اس کے بوٹ لوڈر کو چیک کیا جائے گا، لاگ کو محفوظ کریں۔

آئیے بنائیں یا کاپی کریں، مثال کے طور پر، GRUB2 پارٹیشن میں "نقصان دہ فائل" [virus.mod] اور ایک عارضی اسکین/ٹیسٹ چلائیں:

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

سی ایل آئی کو ہمارے قلعے پر حملہ دیکھنا چاہیے۔# 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) gif کو یہاں رکھیں > ~/warning.gif، اجازتوں کو 744 پر سیٹ کریں۔

3) بوٹ پر GRUB پارٹیشن کو آٹو ماؤنٹ کرنے کے لیے fstab کو ترتیب دینا

-$ sudo nano /etc/fstab

LABEL=GRUB /media/username/GRUB ext4 ڈیفالٹس 0 0

4) لاگ کو گھما رہا ہے۔

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

/var/log/podpis.txt {
روزانہ
گھمائیں 50
سائز 5M
ڈیٹ ٹیکسٹ
سکیڑیں
تاخیر
olddir/var/log/old
}

/var/log/vtorjenie.txt {
ماہانہ
گھمائیں 5
سائز 5M
ڈیٹ ٹیکسٹ
olddir/var/log/old
}

5) کرون میں نوکری شامل کریں۔

-$ sudo crontab -e

ربوٹ '/سبسکرپشن'
0 */6 * * * '/podpis

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

OS اپ ڈیٹ کے بعد -$ apt-get upgrade ہمارے GRUB پارٹیشن پر دوبارہ دستخط کریں۔
-$ подпись_GRUB
اس وقت، GRUB پارٹیشن کی ہیشنگ پروٹیکشن مکمل ہے۔

[D] مسح کرنا - غیر خفیہ کردہ ڈیٹا کی تباہی۔

جنوبی کیرولائنا کے ترجمان ٹری گوڈی کے مطابق، اپنی ذاتی فائلوں کو مکمل طور پر حذف کریں کہ "خدا بھی انہیں پڑھ نہیں سکتا"۔

ہمیشہ کی طرح، مختلف "افسانے اور لیجنڈز"، ہارڈ ڈرائیو سے حذف ہونے کے بعد ڈیٹا کو بحال کرنے کے بارے میں۔ اگر آپ سائبر وِچ کرافٹ پر یقین رکھتے ہیں، یا ڈاکٹر ویب کمیونٹی کے رکن ہیں اور آپ نے ڈیٹا کو حذف/اوور رائٹ کرنے کے بعد کبھی بھی بازیافت کی کوشش نہیں کی ہے۔ (مثال کے طور پر، R-studio کا استعمال کرتے ہوئے ریکوری)، پھر مجوزہ طریقہ آپ کے مطابق ہونے کا امکان نہیں ہے، جو آپ کے قریب ہے اسے استعمال کریں۔

GNU/Linux کو کامیابی کے ساتھ انکرپٹڈ پارٹیشن میں منتقل کرنے کے بعد، پرانی کاپی کو ڈیٹا ریکوری کے امکان کے بغیر حذف کر دینا چاہیے۔ یونیورسل صفائی کا طریقہ: Windows/Linux مفت GUI سافٹ ویئر کے لیے سافٹ ویئر بلچ بٹ.
تیز سیکشن کو فارمیٹ کریں۔, ڈیٹا جس پر تباہ کرنے کی ضرورت ہے (Gparted کے ذریعے) بلیچ بٹ لانچ کریں، "خالی جگہ صاف کریں" کو منتخب کریں - پارٹیشن کو منتخب کریں۔ (آپ کا sdaX GNU/Linux کی پچھلی کاپی کے ساتھ)، اتارنے کا عمل شروع ہو جائے گا۔ بلیچ بٹ - ڈسک کو ایک ہی پاس میں صاف کرتا ہے - یہ وہی ہے جس کی "ہمیں ضرورت ہے"، لیکن! یہ صرف نظریہ میں کام کرتا ہے اگر آپ نے ڈسک کو فارمیٹ کیا اور اسے BB v2.0 سافٹ ویئر میں صاف کیا۔

توجہ! BB میٹا ڈیٹا کو چھوڑ کر ڈسک کو صاف کرتا ہے؛ ڈیٹا کو ختم کرنے پر فائل کے نام محفوظ رہتے ہیں (Ccleaner - میٹا ڈیٹا نہیں چھوڑتا ہے)۔

اور ڈیٹا کی وصولی کے امکان کے بارے میں افسانہ مکمل طور پر ایک افسانہ نہیں ہے۔Bleachbit V2.0-2 سابقہ ​​غیر مستحکم OS Debian پیکیج (اور اسی طرح کا کوئی دوسرا سافٹ ویئر: sfill؛ wipe-Nautilus - کو بھی اس گندے کاروبار میں دیکھا گیا) اصل میں ایک اہم بگ تھا: "فری اسپیس کلیئرنگ" فنکشن یہ غلط کام کرتا ہے HDD/فلیش ڈرائیوز پر (ntfs/ext4). اس قسم کا سافٹ ویئر، خالی جگہ صاف کرتے وقت، پوری ڈسک کو اوور رائٹ نہیں کرتا، جیسا کہ بہت سے صارفین سوچتے ہیں۔ اور کچھ (بہت زیادہ) حذف شدہ ڈیٹا OS/سافٹ ویئر اس ڈیٹا کو غیر حذف شدہ/صارف کا ڈیٹا سمجھتا ہے اور "OSP" کو صاف کرتے وقت یہ ان فائلوں کو چھوڑ دیتا ہے۔ مسئلہ یہ ہے کہ اتنے عرصے کے بعد ڈسک صاف کرنا "حذف شدہ فائلوں" کو بازیافت کیا جاسکتا ہے۔ ڈسک کو صاف کرنے کے 3+ گزرنے کے بعد بھی۔
بلیچ بٹ پر GNU/Linux پر 2.0-2 فائلوں اور ڈائریکٹریوں کو مستقل طور پر حذف کرنے کے افعال قابل اعتماد طریقے سے کام کرتے ہیں، لیکن خالی جگہ کو صاف نہیں کرتے۔ موازنے کے لیے: CCleaner میں Windows پر "OSP for ntfs" فنکشن ٹھیک سے کام کرتا ہے، اور خدا واقعی حذف شدہ ڈیٹا کو نہیں پڑھ سکے گا۔

اور اس طرح، اچھی طرح سے ہٹانے کے لئے "سمجھوتہ کرنے والا" پرانا غیر خفیہ کردہ ڈیٹا، بلیچ بٹ کو اس ڈیٹا تک براہ راست رسائی کی ضرورت ہے۔، پھر، "فائلوں/ڈائریکٹریوں کو مستقل طور پر حذف کریں" فنکشن کا استعمال کریں۔
ونڈوز میں "معیاری OS ٹولز کا استعمال کرتے ہوئے حذف شدہ فائلوں" کو ہٹانے کے لیے، "OSP" فنکشن کے ساتھ CCleaner/BB استعمال کریں۔ اس مسئلے پر GNU/Linux میں (حذف شدہ فائلوں کو حذف کریں) آپ کو اپنے طور پر مشق کرنے کی ضرورت ہے (ڈیٹا کو حذف کرنا + اسے بحال کرنے کی ایک آزاد کوشش اور آپ کو سافٹ ویئر ورژن پر بھروسہ نہیں کرنا چاہئے (اگر بک مارک نہیں تو ایک بگ))صرف اس صورت میں آپ اس مسئلے کے طریقہ کار کو سمجھ سکیں گے اور حذف شدہ ڈیٹا کو مکمل طور پر ختم کر سکیں گے۔

میں نے Bleachbit v3.0 کا تجربہ نہیں کیا ہے، ہو سکتا ہے مسئلہ پہلے ہی حل ہو چکا ہو۔
Bleachbit v2.0 ایمانداری سے کام کرتا ہے۔

اس مرحلے پر، ڈسک کا صفایا مکمل ہو گیا ہے۔

[E] انکرپٹڈ OS کا یونیورسل بیک اپ

ہر صارف کے پاس ڈیٹا کا بیک اپ لینے کا اپنا طریقہ ہوتا ہے، لیکن انکرپٹڈ سسٹم OS ڈیٹا کو کام کے لیے قدرے مختلف انداز کی ضرورت ہوتی ہے۔ یونیفائیڈ سافٹ ویئر، جیسا کہ کلونیزیلا اور اسی طرح کے سافٹ ویئر، خفیہ کردہ ڈیٹا کے ساتھ براہ راست کام نہیں کر سکتے۔

انکرپٹڈ بلاک ڈیوائسز کا بیک اپ لینے کے مسئلے کا بیان:

  1. عالمگیریت - ونڈوز/لینکس کے لیے وہی بیک اپ الگورتھم/سافٹ ویئر؛
  2. اضافی سافٹ ویئر ڈاؤن لوڈ کی ضرورت کے بغیر کسی بھی لائیو USB GNU/Linux کے ساتھ کنسول میں کام کرنے کی صلاحیت (لیکن پھر بھی GUI کی سفارش کریں);
  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" | کے ذریعے GNU/Linux بیک اپ gpg] آسان ہے، لیکن ونڈوز بیک اپ کے لیے آپ کو دوسرا حل تلاش کرنے کی ضرورت ہے - یہ دلچسپ نہیں ہے۔

E1۔ یونیورسل ونڈوز/لینکس بیک اپ۔ لنک rsync (Grsync)+VeraCrypt والیومبیک اپ کاپی بنانے کے لیے الگورتھم:

  1. ایک خفیہ کنٹینر بنانا (حجم/فائل) OS کے لیے VeraCrypt؛
  2. VeraCrypt کرپٹو کنٹینر میں Rsync سافٹ ویئر کا استعمال کرتے ہوئے OS کی منتقلی/ ہم آہنگی؛
  3. اگر ضروری ہو تو، VeraCrypt والیوم کو www پر اپ لوڈ کرنا۔

ایک انکرپٹڈ VeraCrypt کنٹینر بنانے کی اپنی خصوصیات ہیں:
ایک متحرک حجم بنانا (ڈی ٹی کی تخلیق صرف ونڈوز میں دستیاب ہے، اسے GNU/Linux میں بھی استعمال کیا جا سکتا ہے);
ایک باقاعدہ حجم بنانا، لیکن اس کے لیے "بے وقوف کردار" کی ضرورت ہے۔ (ڈویلپر کے مطابق) - کنٹینر فارمیٹنگ۔

ونڈوز میں ایک متحرک حجم تقریباً فوری طور پر بن جاتا ہے، لیکن جب GNU/Linux > VeraCrypt DT سے ڈیٹا کاپی کرتے ہیں، تو بیک اپ آپریشن کی مجموعی کارکردگی نمایاں طور پر کم ہو جاتی ہے۔

ایک باقاعدہ 70 GB Twofish والیوم بنایا گیا ہے۔ (آئیے صرف یہ کہتے ہیں، اوسط پی سی پاور پر) آدھے گھنٹے میں HDD تک (سابقہ ​​کنٹینر ڈیٹا کو ایک پاس میں اوور رائٹ کرنا سیکیورٹی کی ضروریات کی وجہ سے ہے)۔ حجم بناتے وقت اسے فوری طور پر فارمیٹ کرنے کا فنکشن VeraCrypt Windows/Linux سے ہٹا دیا گیا ہے، اس لیے کنٹینر بنانا صرف "ون پاس ری رائٹنگ" یا کم کارکردگی والے متحرک حجم کی تخلیق کے ذریعے ہی ممکن ہے۔

ایک باقاعدہ VeraCrypt والیوم بنائیں (متحرک/این ٹی ایف ایس نہیں)، کوئی مسئلہ نہیں ہونا چاہئے۔

VeraCrypt GUI> GNU/Linux live usb میں کنٹینر تشکیل/بنائیں/کھولیں (والیوم کو /media/veracrypt2 پر خودکار کیا جائے گا، ونڈوز OS والیوم کو /media/veracrypt1 پر نصب کیا جائے گا)۔ GUI rsync کا استعمال کرتے ہوئے Windows OS کا ایک انکرپٹڈ بیک اپ بنانا (grsync)خانوں کو چیک کرکے۔

ونڈوز لینکس انسٹال شدہ سسٹمز کی مکمل ڈسک انکرپشن۔ خفیہ کردہ ملٹی بوٹ

عمل مکمل ہونے کا انتظار کریں۔ بیک اپ مکمل ہونے کے بعد، ہمارے پاس ایک انکرپٹڈ فائل ہوگی۔

اسی طرح، rsync GUI میں "Windows compatibility" چیک باکس کو غیر چیک کر کے GNU/Linux OS کی بیک اپ کاپی بنائیں۔

توجہ! فائل سسٹم میں "GNU/Linux بیک اپ" کے لیے Veracrypt کنٹینر بنائیں ext4. اگر آپ این ٹی ایف ایس کنٹینر میں بیک اپ بناتے ہیں، تو جب آپ ایسی کاپی بحال کرتے ہیں، تو آپ اپنے تمام ڈیٹا کے تمام حقوق/ گروپس سے محروم ہو جائیں گے۔

تمام آپریشنز ٹرمینل میں کیے جا سکتے ہیں۔ rsync کے لیے بنیادی اختیارات:
* -g -گروپوں کو محفوظ کریں؛
* -P — پیش رفت — فائل پر کام کرنے میں گزارے گئے وقت کی حیثیت؛
* -H - ہارڈ لنکس کو جیسا ہے کاپی کریں؛
* -a -آرکائیو موڈ (متعدد rlptgoD جھنڈے);
* -v -لفظی کاری۔

اگر آپ کرپٹ سیٹ اپ سافٹ ویئر میں کنسول کے ذریعے "Windows VeraCrypt والیوم" کو ماؤنٹ کرنا چاہتے ہیں، تو آپ ایک عرف (su) بنا سکتے ہیں۔

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

اب "ویراماؤنٹ پکچرز" کمانڈ آپ کو پاس فریز درج کرنے کا اشارہ کرے گی، اور انکرپٹ شدہ ونڈوز سسٹم والیوم کو OS میں نصب کیا جائے گا۔

کریپٹ سیٹ اپ کمانڈ میں میپ/ماؤنٹ ویرا کریپٹ سسٹم والیوم

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

کرپٹ سیٹ اپ کمانڈ میں میپ/ماؤنٹ VeraCrypt پارٹیشن/کنٹینر

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

عرف کے بجائے، ہم ونڈوز OS کے ساتھ سسٹم والیوم (اسٹارٹ اپ کے لیے ایک اسکرپٹ) اور GNU/Linux اسٹارٹ اپ میں ایک منطقی انکرپٹڈ 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 

بس، اب GNU/Linux لوڈ کرتے وقت ہمیں انکرپٹڈ ntfs ڈسکوں کو ماؤنٹ کرنے کے لیے پاس ورڈ درج کرنے کی ضرورت نہیں ہے، ڈسکیں خود بخود لگ جاتی ہیں۔

اس بارے میں مختصراً ایک نوٹ جو اوپر پیراگراف E1 میں مرحلہ وار بیان کیا گیا ہے (لیکن اب OS GNU/Linux کے لیے)
1) Veracrypt [Cryptbox] میں fs ext4 > 4gb (فائل کے لیے) لینکس میں والیوم بنائیں۔
2) لائیو یو ایس بی کو ریبوٹ کریں۔
3) ~$ cryptsetup open /dev/sda7 Lunux #mapping انکرپٹڈ پارٹیشن۔
4) ~$ mount /dev/mapper/Linux /mnt #انکرپٹڈ پارٹیشن کو /mnt پر ماؤنٹ کریں۔
5) ~$ mkdir mnt2 #مستقبل کے بیک اپ کے لیے ڈائرکٹری بنانا۔
6) ~$ کریپٹ سیٹ اپ کھولیں —veracrypt —ٹائپ کریں tcrypt ~/CryptoBox CryptoBox && mount /dev/mapper/CryptoBox /mnt2 # "CryptoBox" کے نام سے ایک Veracrypt والیوم کا نقشہ بنائیں اور CryptoBox کو /mnt2 پر ماؤنٹ کریں۔
7) ~$ rsync -avlxhHX —progress /mnt /mnt2/ #بیک اپ آپریشن انکرپٹڈ پارٹیشن کا ایک انکرپٹڈ Veracrypt والیوم میں۔

(p/s/ توجہ! اگر آپ انکرپٹڈ GNU/Linux کو ایک فن تعمیر/مشین سے دوسرے میں منتقل کر رہے ہیں، مثال کے طور پر، Intel > AMD (یعنی ایک انکرپٹڈ پارٹیشن سے دوسرے انکرپٹڈ Intel > AMD پارٹیشن میں بیک اپ لگانا)۔ بھولنا مت انکرپٹڈ OS کو منتقل کرنے کے بعد، پاس ورڈ کی بجائے خفیہ متبادل کلید میں ترمیم کریں، شاید۔ پچھلی کلید ~/etc/skey - اب کسی اور انکرپٹڈ پارٹیشن کو فٹ نہیں کرے گی، اور یہ مناسب نہیں ہے کہ ایک نئی کلید "cryptsetup luksAddKey" کو کروٹ کے نیچے سے بنائیں - ایک خرابی ممکن ہے، صرف ~/etc/crypttab میں اس کی بجائے وضاحت کریں۔ "/etc/skey" عارضی طور پر "none" "، ریبوٹ کرنے اور OS میں لاگ ان کرنے کے بعد، اپنی خفیہ وائلڈ کارڈ کلید کو دوبارہ بنائیں)۔

بطور آئی ٹی تجربہ کار، یاد رکھیں کہ انکرپٹڈ Windows/Linux OS پارٹیشنز کے ہیڈرز کا الگ سے بیک اپ بنانا، ورنہ انکرپشن آپ کے خلاف ہو جائے گی۔
اس مرحلے پر، انکرپٹڈ OS کا بیک اپ مکمل ہو گیا ہے۔

GRUB2 بوٹ لوڈر پر حملہ

تفصیلاگر آپ نے اپنے بوٹ لوڈر کو ڈیجیٹل دستخط اور/یا تصدیق کے ساتھ محفوظ کیا ہے۔ (پوائنٹ C6 دیکھیں۔)، پھر یہ جسمانی رسائی کے خلاف حفاظت نہیں کرے گا۔ خفیہ کردہ ڈیٹا اب بھی ناقابل رسائی رہے گا، لیکن تحفظ کو نظرانداز کر دیا جائے گا۔ (ڈیجیٹل دستخطی تحفظ کو دوبارہ ترتیب دیں) GRUB2 ایک سائبر ولن کو اجازت دیتا ہے کہ وہ اپنے کوڈ کو بوٹ لوڈر میں شکوک پیدا کیے بغیر داخل کر دے۔ (جب تک کہ صارف دستی طور پر بوٹ لوڈر کی حالت کی نگرانی نہیں کرتا ہے، یا grub.cfg کے لیے اپنے مضبوط صوابدیدی اسکرپٹ کوڈ کے ساتھ نہیں آتا ہے)۔

حملہ الگورتھم۔ گھسنے والا

* پی سی کو لائیو یو ایس بی سے بوٹ کرتا ہے۔ کوئی بھی تبدیلی (خلاف ورزی کرنے والا) فائلیں پی سی کے حقیقی مالک کو بوٹ لوڈر میں دخل اندازی کے بارے میں مطلع کریں گی۔ لیکن grub.cfg کو برقرار رکھتے ہوئے GRUB2 کی ایک سادہ دوبارہ تنصیب (اور بعد میں اس میں ترمیم کرنے کی صلاحیت) حملہ آور کو کسی بھی فائل میں ترمیم کرنے کی اجازت دے گا۔ (اس صورتحال میں، GRUB2 لوڈ کرتے وقت، حقیقی صارف کو مطلع نہیں کیا جائے گا۔ حالت وہی ہے <0>)
* ایک غیر خفیہ شدہ پارٹیشن کو ماؤنٹ کرتا ہے، "/mnt/boot/grub/grub.cfg" اسٹور کرتا ہے۔
* بوٹ لوڈر کو دوبارہ انسٹال کرتا ہے۔ (core.img تصویر سے "perskey" کو ہٹانا)

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

* "grub.cfg"> "/mnt/boot/grub/grub.cfg" لوٹاتا ہے، اگر ضروری ہو تو اس میں ترمیم کرتا ہے، مثال کے طور پر، "grub.cfg" میں اپنے ماڈیول "keylogger.mod" کو لوڈر ماڈیول والے فولڈر میں شامل کرنا۔ > لائن "insmod keylogger"۔ یا، مثال کے طور پر، اگر دشمن چالاک ہے، پھر GRUB2 کو دوبارہ انسٹال کرنے کے بعد (تمام دستخط اپنی جگہ پر ہیں) یہ "grub-mkimage with option (-c)" کا استعمال کرتے ہوئے مرکزی GRUB2 امیج بناتا ہے۔ "-c" آپشن آپ کو مرکزی "grub.cfg" کو لوڈ کرنے سے پہلے اپنی تشکیل کو لوڈ کرنے کی اجازت دے گا۔ تشکیل صرف ایک لائن پر مشتمل ہو سکتی ہے: کسی بھی "modern.cfg" پر ری ڈائریکشن، مخلوط، مثال کے طور پر، ~400 فائلوں کے ساتھ (ماڈیولز + دستخط) فولڈر میں "/boot/grub/i386-pc"۔ اس صورت میں، حملہ آور صوابدیدی کوڈ داخل کر سکتا ہے اور "/boot/grub/grub.cfg" کو متاثر کیے بغیر ماڈیول لوڈ کر سکتا ہے، چاہے صارف نے فائل پر "ہیشم" لگایا ہو اور اسے عارضی طور پر اسکرین پر دکھایا ہو۔
حملہ آور کو GRUB2 سپر یوزر لاگ ان/ پاس ورڈ ہیک کرنے کی ضرورت نہیں ہوگی؛ اسے صرف لائنوں کو کاپی کرنے کی ضرورت ہوگی۔ (تصدیق کے لیے ذمہ دار) آپ کے "modern.cfg" پر "/boot/grub/grub.cfg"

superusers="root" سیٹ کریں
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8

اور PC کے مالک کو ابھی بھی GRUB2 سپر یوزر کے طور پر تصدیق کی جائے گی۔

چین لوڈنگ (بوٹ لوڈر دوسرے بوٹ لوڈر کو لوڈ کرتا ہے)جیسا کہ میں نے اوپر لکھا ہے، کوئی معنی نہیں رکھتا (یہ ایک مختلف مقصد کے لیے ہے). BIOS کی وجہ سے انکرپٹڈ بوٹ لوڈر لوڈ نہیں کیا جا سکتا (چین بوٹ GRUB2 کو دوبارہ شروع کرتا ہے > انکرپٹڈ GRUB2، غلطی!). تاہم، اگر آپ اب بھی چین لوڈنگ کا آئیڈیا استعمال کرتے ہیں، تو آپ یقین کر سکتے ہیں کہ یہ انکرپٹڈ ہے جسے لوڈ کیا جا رہا ہے۔ (جدید نہیں کیا گیا) انکرپٹڈ پارٹیشن سے "grub.cfg"۔ اور یہ سیکورٹی کا ایک غلط احساس بھی ہے، کیونکہ ہر وہ چیز جس کی نشاندہی انکرپٹڈ "grub.cfg" میں کی گئی ہے۔ (ماڈیول لوڈنگ) ان ماڈیولز میں اضافہ کرتا ہے جو غیر خفیہ کردہ GRUB2 سے لوڈ ہوتے ہیں۔

اگر آپ اسے چیک کرنا چاہتے ہیں، تو ایک اور پارٹیشن sdaY کو مختص/انکرپٹ کریں، اس میں GRUB2 کاپی کریں۔ (انکرپٹڈ پارٹیشن پر گرب انسٹال آپریشن ممکن نہیں ہے) اور "grub.cfg" میں (غیر خفیہ کردہ ترتیب) اس طرح کی لائنوں کو تبدیل کریں

مینیوینٹری 'GRUBx2' --class parrot --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-382111a2-f993-403c-aa2e-292b5eac4780' {
لوڈ_ویڈیو
insmod gzio
اگر [ x$grub_platform = xxen ]؛ پھر insmod xzio؛ insmod lzopio؛ fi
insmod part_msdos
insmod cryptodisk
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" ہے جو لوڈ کیا گیا ہے GRUB مینو میں "GRUBx2" لائن کو منتخب کرتے وقت پاس ورڈ درج کرنے/ "sdaY" کو کھولنے کے لیے ایک مثبت ردعمل ہے۔

CLI میں کام کرتے وقت، تاکہ الجھن میں نہ پڑے (اور چیک کریں کہ آیا "سیٹ روٹ" ماحولیاتی متغیر نے کام کیا) خالی ٹوکن فائلیں بنائیں، مثال کے طور پر، انکرپٹڈ سیکشن "/shifr_grub" میں، غیر انکرپٹڈ سیکشن "/noshifr_grub" میں۔ CLI میں چیک کر رہا ہے۔

cat /Tab-Tab

جیسا کہ اوپر بیان کیا گیا ہے، اگر اس طرح کے ماڈیولز آپ کے کمپیوٹر پر ختم ہو جائیں تو یہ نقصان دہ ماڈیولز کو ڈاؤن لوڈ کرنے میں مدد نہیں کرے گا۔ مثال کے طور پر، ایک کیلاگر جو کی اسٹروک کو فائل میں محفوظ کر سکتا ہے اور اسے "~/i386" میں موجود دیگر فائلوں کے ساتھ اس وقت تک ملا سکتا ہے جب تک کہ اسے PC تک جسمانی رسائی والے حملہ آور کے ذریعے ڈاؤن لوڈ نہ کیا جائے۔

اس بات کی تصدیق کرنے کا سب سے آسان طریقہ کہ ڈیجیٹل دستخطی تحفظ فعال طور پر کام کر رہا ہے۔ (ری سیٹ نہیں)، اور کسی نے بوٹ لوڈر پر حملہ نہیں کیا، CLI میں کمانڈ درج کریں۔

list_trusted

اس کے جواب میں ہمیں اپنے "پرسکی" کی ایک کاپی موصول ہوتی ہے، یا اگر ہم پر حملہ کیا جاتا ہے تو ہمیں کچھ نہیں ملتا (آپ کو "set check_signatures=enforce" کو بھی چیک کرنے کی ضرورت ہے).
اس قدم کا ایک اہم نقصان دستی طور پر کمانڈز داخل کرنا ہے۔ اگر آپ اس کمانڈ کو "grub.cfg" میں شامل کرتے ہیں اور ڈیجیٹل دستخط کے ساتھ تشکیل کی حفاظت کرتے ہیں، تو اسکرین پر کلیدی اسنیپ شاٹ کا ابتدائی آؤٹ پٹ وقت میں بہت کم ہے، اور آپ کے پاس GRUB2 لوڈ کرنے کے بعد آؤٹ پٹ دیکھنے کا وقت نہیں ہو سکتا۔ .
خاص طور پر دعویٰ کرنے والا کوئی نہیں ہے: اس میں ڈویلپر دستاویزات شق 18.2 سرکاری طور پر اعلان کرتی ہے۔

"نوٹ کریں کہ یہاں تک کہ GRUB پاس ورڈ کے تحفظ کے ساتھ، GRUB خود مشین تک جسمانی رسائی رکھنے والے کسی کو اس مشین کے فرم ویئر (مثال کے طور پر، Coreboot یا BIOS) کنفیگریشن کو تبدیل کرنے سے نہیں روک سکتا تاکہ مشین کو ایک مختلف (حملہ آور کے زیر کنٹرول) ڈیوائس سے بوٹ کرے۔ GRUB ایک محفوظ بوٹ چین میں صرف ایک لنک ہے۔"

GRUB2 بہت زیادہ فنکشنز سے بھرا ہوا ہے جو غلط سیکورٹی کا احساس دے سکتا ہے، اور اس کی ترقی پہلے ہی فعالیت کے لحاظ سے MS-DOS کو پیچھے چھوڑ چکی ہے، لیکن یہ صرف ایک بوٹ لوڈر ہے۔ یہ مضحکہ خیز ہے کہ GRUB2 - "کل" OS بن سکتا ہے، اور اس کے لیے بوٹ ایبل GNU/Linux ورچوئل مشینیں۔

اس بارے میں ایک مختصر ویڈیو کہ میں نے GRUB2 ڈیجیٹل دستخطی تحفظ کو کس طرح دوبارہ ترتیب دیا اور ایک حقیقی صارف کے لیے اپنی مداخلت کا اعلان کیا۔ (میں نے آپ کو ڈرایا، لیکن ویڈیو میں جو دکھایا گیا ہے اس کے بجائے، آپ غیر نقصان دہ صوابدیدی کوڈ/.mod لکھ سکتے ہیں).

نتیجہ:

1) ونڈوز کے لیے بلاک سسٹم انکرپشن کو لاگو کرنا آسان ہے، اور ایک پاس ورڈ کے ساتھ تحفظ GNU/Linux بلاک سسٹم انکرپشن کے ساتھ متعدد پاس ورڈز کے تحفظ سے زیادہ آسان ہے، منصفانہ طور پر: مؤخر الذکر خودکار ہے۔

2) میں نے مضمون کو متعلقہ اور تفصیلی طور پر لکھا آسان ایک گھر کی مشین پر فل ڈسک انکرپشن VeraCrypt/LUKS کے لیے ایک گائیڈ، جو RuNet (IMHO) میں اب تک بہترین ہے۔ گائیڈ> 50k حروف لمبا ہے، اس لیے اس میں کچھ دلچسپ ابواب شامل نہیں ہیں: خفیہ نگار جو غائب ہو جاتے ہیں/سائے میں رہتے ہیں۔ اس حقیقت کے بارے میں کہ مختلف GNU/Linux کتابوں میں وہ خفیہ نگاری کے بارے میں بہت کم لکھتے ہیں/نہیں لکھتے ہیں۔ روسی فیڈریشن کے آئین کے آرٹیکل 51 کے بارے میں؛ اے لائسنسنگ/پابندی روسی فیڈریشن میں خفیہ کاری، اس بارے میں کہ آپ کو "روٹ/بوٹ" کو خفیہ کرنے کی ضرورت کیوں ہے۔ گائیڈ کافی وسیع لیکن تفصیلی نکلا۔ (یہاں تک کہ آسان اقدامات کی وضاحت کرتے ہوئے), بدلے میں، جب آپ "اصلی خفیہ کاری" پر پہنچیں گے تو یہ آپ کا کافی وقت بچائے گا۔

3) مکمل ڈسک کی خفیہ کاری ونڈوز 7 64 پر کی گئی تھی۔ GNU/Linux Parrot 4x; GNU/Debian 9.0/9.5.

4) پر کامیاب حملہ کیا۔ ان کی GRUB2 بوٹ لوڈر۔

5) ٹیوٹوریل CIS میں موجود تمام بے وقوف لوگوں کی مدد کے لیے بنایا گیا تھا، جہاں قانون سازی کی سطح پر خفیہ کاری کے ساتھ کام کرنے کی اجازت ہے۔ اور بنیادی طور پر ان لوگوں کے لیے جو اپنے کنفیگرڈ سسٹمز کو گرائے بغیر فل ڈسک انکرپشن کو رول آؤٹ کرنا چاہتے ہیں۔

6) دوبارہ کام کیا اور میرے دستی کو اپ ڈیٹ کیا، جو 2020 میں متعلقہ ہے۔

[جی] مفید دستاویزات

  1. TrueCrypt صارف گائیڈ (فروری 2012 RU)
  2. ویرا کریپٹ دستاویزات
  3. /usr/share/doc/cryptsetup(-رن) [مقامی وسائل] (کرپٹ سیٹ اپ کا استعمال کرتے ہوئے GNU/Linux انکرپشن کو ترتیب دینے کے بارے میں سرکاری تفصیلی دستاویزات)
  4. سرکاری عمومی سوالنامہ کرپٹ سیٹ اپ (کرپٹ سیٹ اپ کا استعمال کرتے ہوئے GNU/Linux انکرپشن کو ترتیب دینے کے بارے میں مختصر دستاویزات)
  5. LUKS ڈیوائس کی خفیہ کاری (archlinux دستاویزات)
  6. کرپٹ سیٹ اپ نحو کی تفصیلی وضاحت (آرچ مین صفحہ)
  7. crypttab کی تفصیلی وضاحت (آرچ مین صفحہ)
  8. سرکاری GRUB2 دستاویزات.

ٹیگز: مکمل ڈسک انکرپشن، پارٹیشن انکرپشن، لینکس فل ڈسک انکرپشن، LUKS1 فل سسٹم انکرپشن۔

سروے میں صرف رجسٹرڈ صارفین ہی حصہ لے سکتے ہیں۔ سائن ان، برائے مہربانی.

کیا آپ خفیہ کاری کر رہے ہیں؟

  • 17,1٪میں ہر ممکن چیز کو خفیہ کرتا ہوں۔ میں بے وقوف ہوں۔14

  • 34,2٪میں صرف اہم ڈیٹا کو خفیہ کرتا ہوں۔28

  • 14,6٪کبھی میں خفیہ کرتا ہوں، کبھی بھول جاتا ہوں۔

  • 34,2٪نہیں، میں انکرپٹ نہیں کرتا، یہ تکلیف دہ اور مہنگا ہے۔28

82 صارفین نے ووٹ دیا۔ 22 صارفین غیر حاضر رہے۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں