অটোডক্রিপশন পার্টিশনে LVM এবং LUKS কীভাবে কনফিগার করবেন?


21

আমি সম্প্রতি সম্পূর্ণ lvm এনক্রিপশন (সেটআপ থেকে ইনস্টল করা) সহ উবুন্টু সার্ভার 11.04 ইনস্টল করেছি। আমি এখনই স্বয়ংক্রিয় আনলক করতে কোনও কী ফাইলটি ব্যবহার করতে চাই। এই গাইডটি http://ubuntuforums.org/showthread.php?t=837416 অনুসরণ করার চেষ্টা করেছি

আমি এই আদেশ দিয়ে একটি কী তৈরি করেছি: sudo dd if=/dev/urandom of=/boot/grub/keyfile bs=1024 count=4

আমি এটি স্থাপন করেছি /boot/grubকারণ আমি মনে করি এটি এনক্রিপ্ট করা হয়নি। যখন আমি এই কমডের সাহায্যে চাবিটি যুক্ত করার চেষ্টা করি তখন sudo cryptsetup luksAddKey /dev/sdX /boot/grub/keyfile তা আমাকে পাসফ্রেজের জন্য জিজ্ঞাসা করে এবং যখন আমি এটি কিছুই না করি তখন কিছুই স্ক্রিনে মুদ্রিত হয় না! আমি এটিকে উপেক্ষা করে অন্যদের পদক্ষেপগুলি এবং পুনরায় বুট চালিয়ে যাচ্ছি কিন্তু কিছুই ঘটেনি এবং এটি পাসফ্রেজের জন্য জিজ্ঞাসা করে।

সাহায্যের জন্য ধন্যবাদ .


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

হ্যাঁ, আমি মনে করি যে আমি কীটি কোনও লুকানো পার্টিশন বা একটি ইউএসবি ফ্ল্যাশ ড্রাইভে রেখে দেব। এটা কি সম্ভব?
isoman

সমস্যাটি হ'ল যদি বুট লোডারটি কীটি সনাক্ত করতে পারে, তবে কেউ (এনক্রিপ্ট না করা) বুট কোডটি পরিদর্শনকারীও এটি সনাক্ত করতে সক্ষম হবে। আপনি যদি কোনও ইউএসবি স্টिकে কীটি সঞ্চয় করেন তবে আপনি নিশ্চিত হয়ে যেতে চান যে স্টিকটি কম্পিউটারের সাথে চুরি হবে না। বুট চলাকালীন আপনি যদি কেবল লাঠিটি প্লাগইন করতে যাচ্ছেন তবে পাসফ্রেজে প্রবেশের চেয়ে এটি আর সুবিধাজনক নয়।
জেমস হেনস্ট্রিজ 2'11

কীভাবে অটোডাইক্রিপ্ট বন্ধ করবেন: Askubuntu.com/questions/615408/…
Ciro

উত্তর:


27

আমি এইমাত্র আমার নতুন হোম সার্ভারে এসেছি, এটি প্রচুর গুগলিং এবং অনুমান করে নিয়েছে, তবে আমি এটি কাজ করে চলেছি। আমি পদক্ষেপগুলি এখানে পুনরুত্পাদন করার চেষ্টা করব। আমি উবুন্টু সার্ভার ১১.১০ ব্যবহার করছি, এবং এনক্রিপ্ট করা এলভিএম ব্যবহার করে বেশ মানক ইনস্টল শুরু করেছি, সুতরাং আমি সেখান থেকে আমার যে পরিবর্তনগুলি করেছি তা কেবল তা সম্পর্কিত করব।

সেটআপ:

  • / dev / sda1 হ'ল আমার এনক্রিপ্ট করা / বুট পার্টিশন
  • / dev / sda5 হ'ল আমার lvm পার্টিশন যা অন্যান্য সমস্ত কিছুই রয়েছে - রুট, অদলবদল এবং হোম
  • / dev / sdc1 হ'ল আমার ইউএসবি ফ্ল্যাশ ড্রাইভের পার্টিশন যেখানে আমি কীফাইলটি সঞ্চয় করব

প্রথমত, আমি আমার হোম ডিরেক্টরিতে একটি কীফাইল তৈরি করেছি:

dd if=/dev/urandom of=keyfile bs=512 count=4

(আপনি বৃহত্তর ব্লকসাইজ ব্যবহার করতে পারেন বা বৃহত্তর কীটির জন্য গণনা করতে পারেন)

ক্রিপ্টসেটআপটিকে নতুন কীটি বলুন (এটি ফাইলের নাম নয়, এটি গুরুত্বপূর্ণ বিষয়বস্তু রয়েছে):

sudo cryptsetup luksAddKey /dev/sda5 keyfile

তারপরে, আমি আমার ইউএসবি ফ্ল্যাশ ড্রাইভটি ext2 দিয়ে ফর্ম্যাট করে এটিকে একটি লেবেল দিয়েছি। আমি একটি লেবেল ব্যবহার করেছি, যাতে পরবর্তী সময়ে আমি এটিকে লেবেল দিয়ে মাউন্ট করতে পারি এবং এতে USB ভুল ফ্ল্যাশ ড্রাইভের সাথে কিছু ভুল হয়ে যায় তা প্রতিস্থাপন করতে পারি।

sudo mkfs -t ext2 /dev/sdc1
sudo e2label /dev/sdc1 KEYS

(অবশ্যই, আপনার ডিভাইস পৃথক হবে)

এখন, মূল ফাইলটি ইউএসবি ফ্ল্যাশ ড্রাইভে অনুলিপি করুন, রুট মোড 400 এর মালিকানাধীন:

mkdir KEYS
sudo mount /dev/sdc1 KEYS
sudo cp keyfile KEYS
sudo chown root KEYS/keyfile
sudo chmod 400 KEYS/keyfile

সংশোধন করুন / ইত্যাদি / ক্রিপ্টটাব। খনিটি মূলত অন্তর্ভুক্ত

sd5_crypt UUID=(...) none luks

যা আমি বদলেছি

sd5_crypt UUID=(...) /dev/disk/by-label/KEYS:/keyfile luks,keyscript=/lib/cryptsetup/scripts/passdev

অবশেষে, initramfs আপডেট করুন:

sudo update-initramfs -uv

এটি এখন ইউএসবি ফ্ল্যাশ ড্রাইভে কীফাইল ব্যবহার করে বুট করে। আমি যদি ফ্ল্যাশ ড্রাইভটি সরিয়ে ফেলি (বলুন, যখন আমি ছুটিতে যাই) এটি বুট হয় না এবং আমার ডেটা সুরক্ষিত থাকে।

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


3
পাসওয়ার্ড প্রম্পট কীভাবে পাবেন তা আপনি যদি নিশ্চিত না হন তবে আপনি ফ্ল্যাশ ড্রাইভের বুটযোগ্য পার্টিশনটি কোনও বিকল্প ইনফ্র্যামারফের মাধ্যমে লোড করতে ব্যবহার করতে পারেন যা কী-ফাইলের সন্ধান করে এবং হার্ড ডিস্কে ডিফল্ট বুট থাকে এমন একটি নিয়মিত থ্রিম লোড যা অনুরোধ করে একটি পাসওয়ার্ড
মনিকা পুনরায় ইনস্টল করুন - :12--

1
@ 3pic আমি বেশ কয়েক মাস আগে এটি করার পর থেকে আমি 100% নিশ্চিত নই। তবে উবুন্টু একটি ভার্চুয়াল ফাইল সিস্টেমে বুট করে। keyscript=/lib/cryptsetup/scripts/passdevযোগ করা passdevএটি স্ক্রিপ্ট। এবং তারপরে update-initramfs -uvফাইল সিস্টেম সংরক্ষণাগারটি পুনর্নির্মাণ করে।
বরুণআগউ

1
@ র্যান্ডি অরিসন এই সত্যিই দুর্দান্ত। এটা কাজ করে। তবে ... এটি পূর্ববর্তি হয়ে যাওয়ার পরে এটি এক মিনিট বা দুই মিনিটের জন্য A start job is running for dev-sda8:-keyfile.device (1min 18s...)ইত্যাদির সাথে বসে যায় এটি চলে যায়, সবকিছু মাউন্ট হয় তবে এটি কিছুক্ষণ স্থায়ী হয় । লগ বলছে "ডিভাইস-dev-sda8: -sda7keyfile.device এর জন্য অপেক্ষা করা সময় শেষ হয়েছে; sda7crypt এর জন্য ক্রিপ্টো সেটআপের জন্য নির্ভরতা ব্যর্থ হয়েছে" " অবশ্যই, এটি ইতিমধ্যে ইন্স্রাম দ্বারা মাউন্ট করা হয়েছিল, তবে .... আমি কী ভুল করছি?
deitch

1
কোনও কারণে এটি systemd এর সাথে পছন্দ / পছন্দ করে বলে মনে হয় না; এটি কেবল keyscriptক্ষেত্রটিকে পুরোপুরি উপেক্ষা করবে ।
এটিয়েন ব্রুইনস

1
উবুন্টু ১..১০+ তে, আপডেট-থ্রোমফস সরঞ্জামটি কোনও থ্রো্রামফস চিত্র তৈরি করতে পারে না যদি আপনার রুট ফাইল সিস্টেমটি লুক্স ভলিউমে থাকে এবং একটি কী ফাইল থাকে। কীফাইল মান হিসাবে "কিছুই না" রেখে এবং কীসক্রিপ্ট = / ইত্যাদি / মাই-কী-স্ক্রিপ্টের বিকল্পগুলি সেট করে আপনি এখানে কাজ করতে পারেন, যেখানে / ইত্যাদি / মাই-কী-স্ক্রিপ্ট একটি শেল স্ক্রিপ্ট যা কীটি মুদ্রণ করে।
ম্যাকিল

6

Howtoforge.com এর এই নির্দেশাবলী আমাকে পেয়ে গেছে এবং একটি স্বয়ংক্রিয়ভাবে ডিক্রিপটিং ভলিউম নিয়ে চলছে।

কীভাবে: কোনও কীফিল দিয়ে LUKS এনক্রিপ্টড ড্রাইভগুলি স্বয়ংক্রিয়ভাবে আনলক করুন

পদক্ষেপ 1: একটি এলোমেলো কীফাইল তৈরি করুন

sudo dd if=/dev/urandom of=/root/keyfile bs=1024 count=4

পদক্ষেপ 2: কীফাইলটি কেবলমাত্র রুটে পড়ার জন্য করুন

sudo chmod 0400 /root/keyfile

এটি মূল দ্বারা ফাইলে কেবল পাঠযোগ্য করে তুলবে। যদি কেউ এই কীফিলটিতে অ্যাক্সেস পান তবে আপনার কম্পিউটারে যাইহোক আপনার বড় সমস্যা রয়েছে।

বিকল্প হিসাবে আপনার কাঙ্ক্ষিত কীফিলটি মূল: রুট থেকে ডেকে আনুন এবং এটিকে / রুট ফোল্ডারে সরান

পদক্ষেপ 3: LUKS- এ কীফাইল যুক্ত করুন

LUKS / dm_crypt সক্ষম ডিভাইসগুলি 10 টি বিভিন্ন কীফিল / পাসওয়ার্ড ধরে রাখতে পারে। সুতরাং, ইতিমধ্যে সেটআপ পাসওয়ার্ড থাকার পরে আমরা এই কীফিলটিকে অতিরিক্ত অনুমোদন পদ্ধতি হিসাবে যুক্ত করতে যাচ্ছি।

sudo cryptsetup luksAddKey /dev/sdX /root/keyfile

sdX অবশ্যই আপনার LUKS ডিভাইস।

প্রথমে আপনাকে ড্রাইভটি আনলক করতে একটি (বিদ্যমান) পাসওয়ার্ড প্রবেশ করার অনুরোধ জানানো হবে। যদি সবকিছু ঠিকঠাক কাজ করে তবে আপনার এইরকম একটি আউটপুট পাওয়া উচিত:

Enter any LUKS passphrase:
key slot 0 unlocked.
Command successful.

পদক্ষেপ 4: একটি ম্যাপার তৈরি করুন

LUKS ডিভাইসগুলির একটি ম্যাপার তৈরি করা দরকার যা fstab এ রেফারেন্স করা যায়। ওপেন / ইত্যাদি / ক্রিপ্টটাব

sudo nano /etc/crypttab

এবং এর পরে একটি লাইন যুক্ত করুন:

sdX_crypt      /dev/sdX  /root/keyfile  luks

অথবা আপনি ডিভাইসের ইউআইডি ব্যবহার করতে পারেন:

sdX_crypt      /dev/disk/by-uuid/247ad289-dbe5-4419-9965-e3cd30f0b080  /root/keyfile  luks

sdX_crypt তৈরি করা হচ্ছে ম্যাপারের নাম। আপনি এখানে যে কোনও নাম যেমন "সংগীত" বা "চলচ্চিত্র" বা "এসএফডিএসফাউ" ব্যবহার করতে পারেন ....

Ctrl-x জারি করে ফাইলটি সংরক্ষণ এবং বন্ধ করুন, প্রবেশ করুন, এন্টার দিন। Ctrl-x ন্যানো বন্ধ করে তবে প্রথমে ফাইলটি সংরক্ষণ করতে বলে [হ্যাঁ = প্রবেশ করুন] এবং নামটি কী হবে [একই নাম = লিখুন]।

আমরা সেখানে যা করেছি তা বলছে যে ড্রাইভটি আনলক করতে পাসওয়ার্ড প্রবেশের পরিবর্তে / রুট / কীফাইল ব্যবহার করা হবে।

পদক্ষেপ 5: ডিভাইসটিকে fstab এ মাউন্ট করুন

এখন, আমাদের একটি আনলকড ডিভাইস রয়েছে (ভাল, এখনও নয় তবে যখন সিস্টেমটি বুটআপ হচ্ছে) এবং আমাদের এখন এটি মাউন্ট করা দরকার। খুলুন / ইত্যাদি / fstab:

sudo nano /etc/fstab

এবং একটি নতুন এন্ট্রি যুক্ত করুন:

/dev/mapper/sdX_crypt  /media/sdX     ext3    defaults        0       2

আপনি ৪ য় ধাপে যুক্ত করেছেন এমন সঠিক ম্যাপের নাম রয়েছে তা নিশ্চিত করুন এবং এছাড়াও নিশ্চিত করুন যে মাউন্ট পয়েন্ট / ফোল্ডারটি বিদ্যমান আছে। এটি যুক্ত করার পরে, ফাইলটি আবার সংরক্ষণ করুন এবং এটি বন্ধ করুন (সিটিআরএল-এক্স, প্রবেশ করুন, প্রবেশ করুন)।

পদক্ষেপ:: পুনরায় বুট করুন বা পুনঃনির্মাণ করুন

এটাই. এখন আপনি রিবুট করতে পারেন এবং অতিরিক্ত ডিভাইসগুলি স্বয়ংক্রিয়ভাবে আনলক করা এবং মাউন্ট করা উচিত। আপনি সমস্ত ডিভাইস পুনরায় মাউন্ট করেও এটি পরীক্ষা করতে পারেন:

sudo mount -a

1
আপনি আপডেট করতে ভুলে initramfs
গেছেন

6

র‌্যান্ডি অরিসনের উত্তরের উন্নতি , এখানে আমি তৈরি করেছি একটি ছোট স্ক্রিপ্ট, এটি কী-ফাইলে সন্ধান করতে ব্যর্থ হলে পাসওয়ার্ডের জন্য ব্যবহারকারীকে জিজ্ঞাসা করতে সিস্টেম ফ্যালব্যাক তৈরি করবে।

#!/bin/sh

ask_for_password () {
    cryptkey="Unlocking the disk $cryptsource ($crypttarget)\nEnter passphrase: "
    if [ -x /bin/plymouth ] && plymouth --ping; then
        cryptkeyscript="plymouth ask-for-password --prompt"
        cryptkey=$(printf "$cryptkey")
    else
        cryptkeyscript="/lib/cryptsetup/askpass"
    fi
    $cryptkeyscript "$cryptkey"
}

device=$(echo $1 | cut -d: -f1)
filepath=$(echo $1 | cut -d: -f2)

# Ask for password if device doesn't exist
if [ ! -b $device ]; then
    ask_for_password
    exit
fi

mkdir /tmp/auto_unlocker
mount $device /tmp/auto_unlocker

# Again ask for password if device exist but file doesn't exist
if [ ! -e /tmp/auto_unlocker$filepath ]; then
    ask_for_password
else
    cat /tmp/auto_unlocker$filepath
fi

umount /tmp/auto_unlocker

এটি সংরক্ষণ করুন এবং প্রতিস্থাপন keyscript=/lib/cryptsetup/scripts/passdevমধ্যে /etc/crypttabএই ফাইলটি এবং চালানোর জন্য পাথ দিয়ে sudo update-initramfs -uvএবং আপনার কাজ সম্পন্ন করা হয়।


আমার ধারণা আপনার সমাধান একাধিক কীফাইলের জন্য ইউএসবি ড্রাইভের জন্য কাজ করছে না। আমার অর্থ যদি আমার একাধিক এনক্রিপ্ট করা পার্টিশন থাকে (হোম, অদলবদল, মূল)। এটি সীম করে যে এটি বিড়াল কমান্ডের পরে ইউএসবি ড্রাইভারকে আনমেট করে না। কীভাবে এটি ঠিক করবেন আপনার কোনও ধারণা আছে?
খামিদুল্লা

এটি আমার জন্য কাজ করছে (জুবুন্টু 17.10) তবে আমাকে গ্রাব সম্পাদনা করতে হবে এবং "স্প্ল্যাশ" মুছে ফেলতে হয়েছিল। এছাড়াও আমাকে ফাইলটি একটি সঠিক স্থানে সংরক্ষণ করতে হয়েছিল (/ lib / cryptsetup / scripts / unlock_custom) এবং এটিকে chod 755. নির্দিষ্ট জায়গায় স্প্ল্যাশ বা অনুলিপি করা আমার পক্ষে কাজ করে কিনা তা নিশ্চিত নয় তবে এটি আগে কাজ করে নি। যাইহোক, এটি Startet AppArmor initialization.পাওয়ার পরে তবে বুট করার পরে, আমি পাওয়ার পরে : একটি ডিস্ক ডিস্ক কী-ফাইল-ডিভাইস (ডিভাইস) (1 মি 30s) এর জন্য চলছে। 90s এক্স শুরু হওয়ার পর আমি আমার সিস্টেম ... কোন ধারণা কিভাবে এই শুরু কাজ ঠিক করতে ... ব্যবহার করতে পারেন
firepol

1

@ ডিইচ আমার @ র্যান্ডি অরিসনের মতো একই সেটআপ ছিল এবং আপনার মত একই ইস্যুতে ছড়িয়ে পড়ে এবং এটি প্রমাণিত হয় যে সিস্টেমেড একটি বাগ যা আবার / ফাইল সিস্টেমটি মাউন্ট করার চেষ্টা করে কারণ এটি / ইত্যাদি / ক্রিপ্টটাবটিতে সংশ্লিষ্ট এন্ট্রিটি খুঁজে পেয়েছে।

এটির সমাধানের জন্য আমি আপডেট / initramfs -uv কমান্ডটি চালানোর পরে কেবলমাত্র / etc / crypttab থেকে sda5_crypt এন্ট্রি সরিয়ে ফেললাম।

রিবুট এবং সমস্ত কিছু ইচ্ছাকৃত কাজ করে।

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