উবুন্টুর জন্য দ্বি-ফ্যাক্টর প্রমাণীকরণ সহ সম্পূর্ণ ডিস্ক এনক্রিপশন: কীভাবে?


9

পেছনের তথ্য

আমি একটি লিনাক্স নবাগত সম্প্রতি উইন্ডোজ বন্ধ। আমি বর্তমানে সম্পূর্ণ ডিস্ক এনক্রিপশন ছাড়াই উবুন্টু 11.04 ব্যবহার করছি। কেবলমাত্র আমার হোম ডিরেক্টরিটি এনক্রিপ্ট করা আছে এবং eCryptFS সহ। ইদানীং, আমি খেয়াল করতে শুরু করেছি যে এনক্রিপশনটি যেমন হওয়া উচিত ততটা স্বচ্ছ নয়। উদাহরণস্বরূপ, ভিএমওয়্যার কখনও কখনও আমার এনক্রিপ্ট করা হোম ডিরেক্টরিতে সঞ্চিত ভার্চুয়াল মেশিনগুলির সমস্যার মধ্যে পড়ে, তাই আমি কেবল ভার্চুয়াল মেশিনগুলিকে একটি এনক্রিপ্ট করা জায়গায় সরিয়ে নিয়েছি এবং এটি আমার এনক্রিপ্ট করা হোম ডিরেক্টরি থেকে যুক্ত করেছি। তবে এটি বিন্দুটি ছাড়াও: আমি বুঝতে পেরেছি যে উবুন্টুর মতো ওপেন সোর্স অপারেটিং সিস্টেমটি গোপনে রাখার কথা বলে তথ্য প্রকাশ করতে খুব সহজ, যেহেতু এটি সিস্টেমটি নিরবিহীনভাবে ছেড়ে দেওয়া আসলে খুব নিরাপদ নয়।


লক্ষ্য

আমি প্রাক-বুট প্রমাণীকরণের জন্য একটি মূল ডিভাইস এবং পাসওয়ার্ডের সাথে একযোগে ফুল ডিস্ক এনক্রিপশন কাজ করতে সক্ষম হতে চাই।


আবশ্যকতা / বিবরণ

  1. পুরো ডিস্কটি অবশ্যই এনক্রিপ্ট করা উচিত। সর্বনিম্ন, ডিস্কে পৃথক পার্টিশন থাকে যা সমস্ত এনক্রিপ্ট করা থাকে। যদি এনক্রিপশন সহ এমনকি পার্টিশনগুলি লুকানো সম্ভব হয় তবে আমি এটির জন্য যাব। এনক্রিপশন যত স্বচ্ছ হয় তত ভাল; আমার কম্পিউটারটি অন্য কোনওভাবে ব্যবহার করতে বা অন্য কিছু কনফিগার করা উচিত নয়।
  2. এনক্রিপ্ট করা পার্টিশনটি আনলক এবং বুট করতে ব্যবহৃত ডিভাইসটি অবশ্যই একটি ছোট বাহ্যিক বহনযোগ্য ডিভাইস হতে হবে। এটি দুটি উদ্দেশ্য করে: বুট লোডারটি দূষিত উদ্দেশ্যে পরিবর্তিত হওয়ার সম্ভাবনা অনেক কম কারণ এটি ব্যবহারের সময় আমার সাথে থাকবে না; এবং ডিস্কটিকে ডিক্রিপ্ট করার জন্য মূল ফাইলগুলি কোনও রূপেই এনক্রিপ্টড ডিস্কের কোথাও পাওয়া যাবে না।
  3. কী ফাইলগুলি একটি পাসওয়ার্ড দিয়ে এনক্রিপ্ট করা উচিত। আমি যদি আমার কম্পিউটার এবং আমার ইউএসবি ডিভাইস উভয়ই হারাতে পারি তবে ডেটা এবং অপারেটিং সিস্টেমটি এখনও নিরাপদ থাকবে। আমি যদি ইউএসবি কী হারিয়ে ফেলে বা এটি আপস করা হয় তবে আমি ব্যাকআপ থেকে অন্য একটি পরিষ্কার তৈরি করতে পারি। উভয় ক্ষেত্রেই কোনও তথ্য প্রকাশ করা হয় না। অবশ্যই, আমি যদি আমার কম্পিউটারটি হারিয়ে ফেলি তবে এটি অসম্পূর্ণ।

হ্যাঁ, আমি অনেক জায়গা থেকে গাইড দেখেছি, তবে সমস্যাটি হ'ল তারা সমস্ত প্রয়োজনীয়তার দিকে নজর দেয় না (বিশেষত সংখ্যা 3)। আমি নিশ্চিত যে আমার প্রয়োজনীয়তাগুলি যথেষ্ট সাধারণ যে কেউ ইতিমধ্যে ইতিমধ্যে এমন একটি সেটআপ চেষ্টা করেছে এবং সফলভাবে প্রয়োগ করেছে। যদি কোনও লিনাক্স প্রো কোনও সমাধান ভাগ করে নিতে পারে তবে আমি কৃতজ্ঞ হব।


2
পুনরায় যেহেতু উবুন্টুর মতো ওপেন সোর্স অপারেটিং সিস্টেমটি গোপনীয় বলে মনে করার তথ্য প্রকাশ করতে খুব সহজ easy " - ক্লোজড সোর্স ওএসকে এটি করার জন্য বোঝানো কতটা সহজ তা দেখে আপনি অবাক হয়ে যাবেন। কোনও প্রোগ্রাম ওপেন সোর্স হওয়ার অর্থ স্থানীয় আক্রমণগুলির বিরুদ্ধে এর সুরক্ষা বা নিরাপত্তাহীনতা সম্পর্কিত কিছুই নয়
user1686

উত্তর:


2

পূর্ণ ডিস্ক এনক্রিপশন করার একটি সহজ উপায় রয়েছে যার জন্য বুট করার জন্য একটি নির্দিষ্ট থাম্ব ড্রাইভ এবং আপনার পাসওয়ার্ডের উপস্থিতি প্রয়োজন।

আপনি যা করেন তা হ'ল আপনার সম্পূর্ণ এনক্রিপ্ট করা হার্ড ড্রাইভ থেকে LUKS শিরোনামকে আলাদা করা এবং এটি আপনার থাম্ব ড্রাইভে সঞ্চয় করা।

আমি ধরে নিলাম আপনার ইতিমধ্যে নিম্নলিখিত সেটআপ আছে:

# /dev/sda1 is the boot partition (100MB)
# /dev/sda2 is the encrypted partition
parted /dev/sda mklabel msdos
parted /dev/sda -- mkpart primary ext2 1M 200M
parted /dev/sda -- mkpart primary ext4 200M -100M
cryptsetup luksFormat /dev/sda2

লুক্স হেডারটির একটি অনুলিপি তৈরি করুন এবং স্থানীয় ডিভাইস থেকে এটি মুছুন:

mkdir /media/ramdisk && mount -t tmpfs -osize=20m,rw tmpfs /media/ramdisk
cryptsetup luksHeaderBackup /dev/sda2 --header-backup-file /media/ramdisk/header.img
dd if=/dev/urandom of=/dev/sda2 bs=1M count=2

আপনি যদি উচ্চ-বাজেটের এজেন্সিটির লক্ষ্য হন তবে বেশ কয়েকবার শেষ পদক্ষেপটি চালান। সাময়িকভাবে শিরোলেখ ধরে রাখার জন্য আমি একটি র‌্যামডিস্কও তৈরি করেছি যাতে এটি পরে আর দীর্ঘায়িত হয় না।

আপনার / ডিভাইস / এসডিবিতে ইউএসবি ডিভাইসের সাহায্যে একটি 2 এমবি পার্টিশন তৈরি করুন এবং এতে শিরোনাম লোড করুন:

parted /dev/sdb -- mklabel MSDOS
parted /dev/sdb -- mkpart primary 1M 3M
dd if=/media/ramdisk/header.img of=/dev/sdb1

এখনই, / dev / sda2 এ থাকা সমস্ত কিছু এলোমেলো ডেটার মতো দেখায় এবং আপনার / dev / sdb1 এ আপনার শিরোনাম থাকে। এনক্রিপ্ট করা ড্রাইভটিতে ম্যানুয়ালি অ্যাক্সেস পেতে আপনি ব্যবহার করুন:

cryptsetup luksOpen --header /dev/sdb1 /dev/sda2 rootfs
mount /dev/mapper/rootfs /target

পরবর্তী পদক্ষেপটি হ'ল আপনার বুট প্রক্রিয়াটি বুটে পেনড্রাইভ forোকানোর জন্য জিজ্ঞাসা করবে। আমি এটি অনুধাবন করা সহজ হবে এবং এটি অন্যথায় ব্যর্থ হবে। প্রথমে আপনার ডিভাইসের আইডি এবং ইউইউডিটি সন্ধান করুন:

find -L /dev/disk/by-id/ -samefile /dev/sdb1
/dev/disk/by-id/usb-Generic-_Compact_Flash-part1
find -L /dev/disk/by-id/ -samefile /dev/sda2
/dev/disk/by-id/scsi-SATA_ST3320820AS_5QF28W6V-part2

blkid /dev/sdb1
/dev/sdb1: UUID="63347546-2db3-4bc1-9414-1142739a4c9f" TYPE="crypto_LUKS"

এর পরে দেখতে আপনার /etc/crypttabলাইনটি সম্পাদনা করুন :

root /dev/disk/by-id/scsi-SATA_ST3320820AS_5QF28W6V-part2 none luks,header=/dev/disk/by-id/usb-Generic-_Compact_Flash-part1

( বিকল্পটিতে সমর্থন পেতে আপনার এই প্যাচটির প্রয়োজন হতে পারে )headercrypttab

সর্বশেষে তবে সর্বনিম্ন নয়, আপনার ইন্স্রামটি আপডেট করুন:

update-initramfs -u

আপনি এটি আরও একধাপ এগিয়ে নিয়ে যেতে পারেন এবং ইউএসবি ড্রাইভে পুরো বুট পার্টিশনটি লোড করা যেতে পারে । এই নিবন্ধটির লেখক একটি ফলো-আপ করছেন এই খুব সাইটেই

আছে অনেক বিভিন্ন পন্থা আপনি গ্রহণ করতে পারেন , নিরাপত্তা এবং convinience ডিগ্রী তারতম্য সঙ্গে।

সুরক্ষা সম্পর্কে একটি বিশেষ দ্রষ্টব্য: যদি আপনার পাসফ্রেজ আপোস করা হয় তবে শিরোনামের অনুলিপি সহ যে কেউ পরে পাসফ্রেজ পরিবর্তন করলেও ডেটা ডিক্রিপ্ট করতে সক্ষম হবেন।


1

আমি জানি যে ট্রুক্রিপট ওএসএক্স, উইন্ডোজ এবং লিনাক্সের জন্য উপলব্ধ। আপনি পুরো ড্রাইভের জন্য দুটি স্তরের এনক্রিপশন করতে সক্ষম। আমি এটিএসই ফুল ডিস্ক এনক্রিপশন সহ ডেবিয়ানে ব্যবহার করেছি। হার্ড ড্রাইভে থাকা ডেটা অ্যাক্সেস করার জন্য এটি বুটের পাসওয়ার্ডের প্রয়োজন।


3
আমি ভেবেছিলাম ট্রুক্রিপট ফুল ডিস্ক এনক্রিপশন কেবল উইন্ডোজের সাথেই কাজ করে।
কেভিন লি

two levels of encryption for the whole drive! =two factor auth
জিএনপি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.