আমি কীভাবে কেবলমাত্র মূল পার্টিশনটি এনক্রিপ্ট করে রেখেছি?


13

আমার 3 টি পার্টিশন রয়েছে: EFI ( /boot/efi), বুট ( /boot) এবং রুট ( /)। আমি ঠিক এনক্রিপ্ট করতে চাই /। আমি এটি ইনস্টলারটির মাধ্যমে ম্যানুয়ালি করতে পারি তবে আমি এটির প্রিসিড করতে চাই।

আমি এটি কীভাবে সংজ্ঞায়িত করব? আমার (অ-এনক্রিপ্ট করা) রেসিপিটি নীচের মত কিছু দেখাচ্ছে। এটি আমি খুঁজে পেয়েছি EFI সিস্টেম পার্টিশনগুলির জন্য পরামর্শগুলির একটি জালিয়াতির কিছু (কোনও সুস্পষ্ট গাইড পাইনি)।

boot-root ::
  100 100 100 fat32
    $primary
    $iflabel{ gpt }
    $reusemethod( }
    use_filesystem{ } filesystem{ vfat }
    method{ efi } format{ }
    mountpoint{ /boot/efi }
  .
  300 300 300 ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ /boot }
  .
  100% 3000 100% ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ / }
  .

আমি কীভাবে sda3LUKS- এনক্রিপশনের জন্য একটি শারীরিক বিভাজন হতে পারি এবং তারপরে একটি ফাইল সিস্টেম থাকতে পারি?

হালনাগাদ:

আমি আবিষ্কার করেছি যে আমি পার্টিশনটিকে ক্রিপ্টো হিসাবে নীচে হিসাবে সেট করতে পারি, তবে এখনও 3 টি সমস্যা রয়েছে:

  1. আমার এখনও নির্বাচিত পার্টিশনে এনক্রিপ্ট করা ভলিউম তৈরি এবং সক্রিয় করতে হবে
  2. আমার এখনও তৈরি এবং সক্রিয় হওয়ার পরে এনক্রিপ্ট করা ভলিউমে সঠিক ext4 ফাইল সিস্টেমটি সেট করতে হবে
  3. রেসিপিটি dm-cryptএনক্রিপ্ট করা ভলিউমগুলি তৈরি এবং সক্রিয় করার জন্য প্রয়োজনীয় এনক্রিপশন প্রকারটি নির্বাচন করে না ।

এখনও শক্তিশালী লড়াই

boot-root ::
  100 100 100 fat32
    $primary
    $iflabel{ gpt }
    $reusemethod( }
    use_filesystem{ } filesystem{ vfat }
    method{ efi } format{ }
    mountpoint{ /boot/efi }
  .
  300 300 300 ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ /boot }
  .
  100% 3000 100% ext4
    method{ crypto } format{ }
  .

অবগতির জন্য, লেবেল পছন্দ sda, sdb, sdc, ইত্যাদি সবসময় বুট মধ্যে একই বর্ণ (A, B, C) রাখা না (খনি প্রতি বুট সুইচ)
Xen2050

2
@ Xen2050 ঠিক হয়, UUIDবা PARTUUIDবা LABELবা PARTLABELঅনেক ভালো হয়। আমার ক্ষেত্রে, আমি ফর্ম্যাট করতে একটি চিত্র বুট করছি, সুতরাং কেবল একটি ড্রাইভ আছে ither কোনওভাবেই, আমি কীভাবে এটি একক পার্টিশনের ক্রিপ্টে সেট আপ করব? আমি এটি ইন্টারেক্টিভভাবে করতে পারি, তবে আমার এটি পূর্বনির্ধারিত দরকার।
ডিচ

হুম, কোথাও পাচ্ছে, তবে আরও প্রশ্ন। অন্যান্য প্রশ্ন পোস্ট করবে।
ডিচ

@ ডিচ - এটি কি সার্ভার পার্টিশন কনফিগারেশন বা ক্লায়েন্ট বা কেবল একটি ডেস্কটপ পার্টিশনের উদাহরণ? এই 3 পার্টিশনটি আপনার ইচ্ছার জন্য খুব অল্প - এখানে নিখোঁজ / অদলবদল এবং / হোম রয়েছে - সুতরাং আপনাকে কোনওভাবেই লজিক্যাল পার্টিশন সহ হার্ডডিস্কের একটি বর্ধিত অংশ সেট আপ করতে হবে - সাধারণত পার্টিশনগুলি পুরোটিতে কেবল 4 টির অনুমতি দেয় তবে লজিক্যাল পার্টিশনের সাহায্যে বর্ধিত হয় সর্বোচ্চ 4 বার 63 পার্টিশন (এবং জিপিটি আরও অনেক কিছু অনুমতি দেয়) ?! - unix.stackexchange.com/questions/33555/… - মাস্টার এবং স্লেভ পার্টিশন সম্পর্কিত।
dschinn1001

@ dschinn1001 আসলে এটি একটি সুরক্ষিত সার্ভারের জন্য একটি টেম্পলেট। মূল অপারেটিং সিস্টেমটি অপসারণযোগ্য ড্রাইভে রয়েছে। ব্যবহারকারীর ডেটা এবং অদলবদল একটি অভ্যন্তরীণ ড্রাইভে রয়েছে যা একটি সিস্টেমড পরিষেবা যথাযথভাবে আবিষ্কার করে এবং মাউন্ট করে। তবে তা উপেক্ষা করে .... আমি কীভাবে এলভিএম ছাড়াই এনক্রিপ্ট করার জন্য রুটটি সেট করব?
ডিচ

উত্তর:


1

প্রথমে একটি রুট টার্মিনাল খুলুন:

sudo -i

তারপরে এমন কমান্ড ব্যবহার করে এলোমেলো তথ্য সহ পার্টিশনটি এনক্রিপ্ট করা উচিত:

openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero > /dev/sdxy

sdxyএনক্রিপ্ট করা হবে এমন পার্টিশনটি আপনাকে পরিবর্তন করতে হবে। তারপরে টাইপ করুন

cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 2000 /dev/sdxy

পার্টিশন এনক্রিপ্ট করতে sdxy। ভলিউমটি খুলুন এবং নাম দিন root:

cryptsetup luksOpen /dev/sdxy root

এর ভিতরে একটি ext4 ফাইল সিস্টেম তৈরি করতে এই কমান্ডটি ব্যবহার করুন:

mkfs.ext4 /dev/mapper/root

এরপরে আপনি ইনস্টলারটি শুরু করতে পারেন। আপনি কী করতে চান জানতে চাইলে "অন্য কিছু" চয়ন করুন। তারপরে আপনার সমস্ত নন-এনক্রিপ্ট করা পার্টিশনের জন্য মাউন্ট পয়েন্টগুলি বেছে নিয়েছে। আপনার rootবিভাজনের জন্য, নির্বাচন /dev/mapper/rootকরুন "পরিবর্তন" ক্লিক করুন। তারপরে ext4ফাইল-সিস্টেম প্রকারের জন্য নির্বাচন করুন এবং মাউন্ট পয়েন্ট সেট করুন /। তারপরে "এখনই ইনস্টল করুন" এ ক্লিক করুন এবং সাধারণভাবে উবুন্টু ইনস্টল করুন।

ইনস্টল শেষ হয়ে গেলে "পরীক্ষা চালিয়ে যান" ক্লিক করুন click একটি টার্মিনাল খুলুন এবং টাইপ করুন:

sudo -i
cd /mnt
mkdir root
mount /dev/mapper/root root
mount /dev/sdyz root/boot

sdyzআপনার bootপার্টিশন দিয়ে প্রতিস্থাপন করা উচিত । পরবর্তী, টাইপ করুন:

chroot root
mount -t proc proc /proc
mount -t sysfs sys /sys
nano /etc/crypttab

একটি দ্বিতীয় টার্মিনাল খুলুন এবং টাইপ করুন sudo blkid। এর জন্য ইউইউডিটি root( crypto_luksশেষের দিকে যা বলে ) এটি সন্ধান করুন এবং এতে পেস্ট করুন /etc/crypttab। তারপরে ফাইলটি /etc/crypttabদেখতে এমন কিছু হওয়া উচিত:

root UUID=d68911dd-172a-4608-86d4-084eb72f409c none luks

Ctrl+ x, yএবং দিয়ে ফাইলটি বন্ধ করুন Enternano /etc/fstabটার্মিনালে টাইপ করুন এবং সবকিছু ঠিক আছে কিনা তা পরীক্ষা করুন (যেমন ইউইউডিগুলি)।

শেষে, ক্রুট পরিবেশ ছেড়ে দিন এবং টাইপ করুন:

cryptsetup luksHeaderBackup /dev/sdxy --header-backup-file /root/root.img

এটি এনক্রিপ্ট করা পার্টিশনের শিরোনামের একটি চিত্রটি ফোল্ডারে রাখে /rootএবং নাম দেয় root.img। তারপরে চিত্রটিকে একটি বাহ্যিক ড্রাইভে স্থানান্তর করুন (পাসওয়ার্ড ভুলে যাওয়ার ক্ষেত্রে)। এখন আপনি আপনার নতুন ইনস্টল করা উবুন্টুতে পুনরায় বুট করতে পারেন।

সূত্র: http://thesimplecomputer.info/full-disk-encryption-with-ubuntu


উবুন্টুকে জিজ্ঞাসা করুন স্বাগতম! যতক্ষণ এই তাত্ত্বিক প্রশ্নের উত্তর হতে পারে, এটা বাঞ্ছনীয় হবে উত্তর অপরিহার্য অংশের এখানে অন্তর্ভুক্ত করা, এবং রেফারেন্স এর জন্য লিঙ্ক প্রদান।
কার্ল রিখটার

@ ইয়ারল আপনি কি ক্রুট (বা ধারকযুক্ত) পরিবেশে পূর্বে পার্টিশনটি তৈরির পরামর্শ দিচ্ছেন, এবং তারপরে এটি ইনস্টলারের সাথে সংযুক্ত করবেন?
ডিচ করুন

আমি কীভাবে প্রিসিডারের সাথে কাজ করব?
ডিচ করুন

আমি জানি না, তবে rootএটি এলভিএম ছাড়াই LUKS- এনক্রিপ্টড- পার্টিশন তৈরির অন্তত একটি সমাধান ।
আর্ল নিক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.