LUKS কী স্ক্রিপ্ট উপেক্ষা করা হচ্ছে ... পাসওয়ার্ড চেয়েছে


10

আমি LUKS- এ নতুন নই বলে এই কথাটি শুরু করে দিই। আমি LVM এর সাথে এবং ছাড়াও বহুবার কী স্ক্রিপ্টগুলি দিয়ে LUKS সেট আপ করেছি। আমি নিশ্চিত যে এখানে আসলে কী চলছে। আমার একটি সিস্টেম রয়েছে যার একটি একক এনক্রিপ্ট করা পার্টিশন রয়েছে। আমার ড্রাইভটি নিম্নরূপে সংগঠিত হয়েছে:

# এলএসবিএলকে

নাম মেজ: মিন আরএম সাইজ আরও টাইপ মুনটপয়েন্ট IN
sda 8: 0 0 128G 0 ডিস্ক  
Dasda1 8: 1 0 128G 0 অংশ  
  Gvg0-root 253: 1 0 20G 0 lvm /
  Gvg0- সুরক্ষিত 253: 6 0 100M 0 lvm   
  └─ সুরক্ষা 253: 7 0 98 এম 0 ক্রিপ্ট / রুট / সুরক্ষিত
  Gvg0-swap 253: 4 0 1G 0 lvm [SWAP]

আমার /etc/crypttabফাইলটি এরকম কিছু দেখাচ্ছে

LV- এর পথ পরিবর্তন হবে না বলে এখানে # ইউইউডি প্রয়োজন হয় না
সুরক্ষিত / ডিভ / ভিজি0 / সুরক্ষিত কিছুই নেই

আমার /lib/cryptsetup/scripts/insecureফাইলটি এক্সিকিউটেবল এবং এর মতো কিছু দেখাচ্ছে

#!/bin/sh
# My actual file looks somewhat different because it dumps the key file with dd.
# This accomplishes virtually the same thing though.

echo -n "my-encryption-password"

update-initramfs -k all -uক্রিপ্টটাব কনফিগার করার পরে এবং আমার কী-স্ক্রিপ্ট ফাইলটি জায়গায় রাখার পরে আমি বেশ কয়েকবার চালিয়েছি।

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

পুনরায় বুট করার পরে, সিস্টেমটি ক্রিপ্টটাব থেকে রেকর্ডটি দেখে এবং পাসওয়ার্ড জিজ্ঞাসা করে (যা আমার ক্ষেত্রে আসলে উপস্থিত নেই কারণ একমাত্র কীটি এলোমেলো বিট দ্বারা পূর্ণ একটি কীফিল) এলকিউ বিভাজন আনলক করার জন্য কী-স্ক্রিপ্ট ব্যবহার না করে। আমি LUKS কে LVM থেকে বের করে sda2 এ রাখার চেষ্টা করেছি, এবং ফলাফলগুলি একই ছিল। আমি আরও জানি যে কীসক্রিপ্টটি কাজ করে কারণ cryptsetup luksOpen /dev/vg0/secure secure -d - <<< "$(/lib/cryptsetup/scripts/insecure)"একটি মোহন যেমন কাজ করে এবং আমার LUKS পার্টিশনটি ডিক্রিপ্ট করে।

আমি একই ফলাফল সহ উবুন্টু 16.04.2 এবং উবুন্টু মেট 16.04.2 এ চেষ্টা করেছি। আমি কোনও ঝামেলা ছাড়াই আগে কী-স্ক্রিপ্ট ব্যবহার করেছি। পার্থক্যটি ছিল কেবল আগে, আমার / পার্টিশনটি সর্বদা এনক্রিপ্ট করা হত। যদি কেউ কিছু আলোকপাত করতে পারে তবে আমি এটির প্রশংসা করব। আমি কেবল একটি খুব ছোট এনক্রিপ্ট করা পার্টিশন চাই কারণ আমি এই সিস্টেমটি ক্লোন করার পরিকল্পনা করছি এবং আমি পুরো / পার্টিশনটি এনক্রিপ্ট করা দিয়ে এটি ক্লোন করতে চাই না।


আপডেট 2017-04-26

লগগুলির মাধ্যমে খনন করার সময়, আমি নিম্নলিখিত ত্রুটির সাথে একটি লাইন পেয়েছি যা কোনও অর্থহীন নয়। যেহেতু কখন 'কীসক্রিপ্ট = / পাথ / টু / স্ক্রিপ্ট' ক্রিপ্টটাবের জন্য একটি অজানা বিকল্প?

... systemd-cryptsetup [7 737]: উপেক্ষা করে অজানা / etc / crypttab বিকল্প 'কীসক্রিপ্ট = / lib / cryptsetup / স্ক্রিপ্টস / অনিরাপদ' সম্মুখীন হয়েছে।

কেবল কিক্সের জন্য, আমি কীসক্রিপ্ট বিকল্পটি সরিয়ে একটি কীফিল ব্যবহার করার চেষ্টা করেছি এবং এটি কেবল কার্যকর! আসলে, আমি কীফাইল-অফসেটের মতো অন্যান্য বিকল্পগুলি চেষ্টা করেছিলাম এবং সেগুলিও কার্যকর হয়। সুতরাং, সমস্যাটি কী-স্ক্রিপ্ট বিকল্পের সাথে কোথাও রয়েছে। কারও কি ধারণা আছে কেন?


3
আমি মনে করি সিস্টেমড আপনার সমস্যা। সিস্টেমেড এবং কী-স্ক্রিপ্টের জন্য একটি দ্রুত গুগল এখানে সিস্টেমেডে কী-স্ক্রিপ্ট প্রয়োগের জন্য একটি বাগ এবং একটি অনুরোধ দেখায় । এমনকি প্রথম লিঙ্কটি থেকে একটি কার্যবিধির উপলব্ধ রয়েছে।
সার্জটেক

এটি আমার সন্দেহের পাশাপাশি আমি আমার ইস্যুটি খনন করে এবং অনলাইনে খুঁজে পেয়েছি ফলাফলগুলি অনুসন্ধান করে চলেছি। আমি এখানে কিছু সুপারিশ চেষ্টা করেছিলাম , তবে কীভাবে স্ক্রিপ্ট ফাইলটি আরআরডি তে পাবেন তা নিশ্চিত নই।
খ_লাওশি

উত্তর:


3

আপনার / etc / crypttab ( https://unix.stackexchange.com/a/447676/356711 অনুসারে ) "initramfs" বিকল্পটি ব্যবহার করে দেখুন । আপনার /etc/crypttabএইরকম দেখতে হবে:

# UUID is not required here since the path to the LV won't change
secure      /dev/vg0/secure       none      luks,keyscript=/lib/cryptsetup/scripts/insecure,initramfs

দয়া করে মনে রাখবেন যে আপনার রুট এফএস একটি এলভিএম ধারকটিতে রয়েছে এমন সমস্যা হতে পারে। উপরের লিঙ্কিত নিবন্ধেও এই ইস্যুটি উল্লেখ করা হয়েছে: " তবে বর্তমানে এটি কেবলমাত্র (নির্ভরযোগ্যভাবে) কাজ করে যদি রুট ডিভাইসটি কোনও এলভিএম না থাকে। " ভাগ্যক্রমে, মনে হচ্ছে এটি একটি কর্মক্ষেত্র সরবরাহ করা হয়েছে।

আমার সিস্টেমটি এর মতো দেখাচ্ছে:

$ lsblk
NAME                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                             8:0    0 931.5G  0 disk
└─sda1                          8:1    0 931.5G  0 part
  └─md1                         9:1    0 931.4G  0 raid1
    └─md1_crypt               253:3    0 931.4G  0 crypt
      └─raid_crypt_vg-data_lv 253:4    0 931.4G  0 lvm   /raid
sdb                             8:16   0 931.5G  0 disk
└─sdb1                          8:17   0 931.5G  0 part
  └─md1                         9:1    0 931.4G  0 raid1
    └─md1_crypt               253:3    0 931.4G  0 crypt
      └─raid_crypt_vg-data_lv 253:4    0 931.4G  0 lvm   /raid
sdc                             8:32   0 465.8G  0 disk
├─sdc1                          8:33   0   953M  0 part  /boot
└─sdc2                          8:34   0 464.8G  0 part
  └─sdc2_crypt                253:0    0 464.8G  0 crypt
    ├─system_crypt_vg-data_lv 253:1    0   447G  0 lvm   /
    └─system_crypt_vg-swap_lv 253:2    0  17.8G  0 lvm   [SWAP]

... এবং নিম্নলিখিতটি উবুন্টু 18.04.2 এলটিএস- এ একটি কী স্ক্রিপ্ট (!) দিয়ে/etc/crypttab ডিক্রিপশন ম্যাজিক করে :

$ cat /etc/crypttab
# <target name> <source device>                           <key file> <options>
sdc2_crypt      UUID=[...]                                none       luks,discard,keyscript=/etc/decryptkeydevice/decryptkeydevice_keyscript.sh
md1_crypt       /dev/md1                                  none       luks,discard,keyscript=/etc/decryptkeydevice/decryptkeydevice_keyscript.sh,initramfs

নোট করুন যে sdc2_cryptপ্রদত্ত কী-স্ক্রিপ্টের সাথে ডিক্রিপশনটি initramfs বিকল্প ব্যতীত কাজ করে (কারণ এটিতে রুট এফএস থাকে এবং তাই এইভাবে "স্বয়ংক্রিয়ভাবে" initramfs বুট পর্যায়ে বিবেচিত হয়)। md1_cryptআমি initramfs বিকল্পটি যুক্ত করার পরে কেবলমাত্র initramfs বুট পর্যায়ে (এবং এইভাবে ক্রিপ্টটাব এন্ট্রি অনুসারে কীসক্রিপ্ট সহ) ডিক্রিপ্ট করা হয়েছিল। সিস্টেম বুট ফেজ চলাকালীন md1_crypt এর পরবর্তী ডিক্রিপশনটি ক্রিপ্টটাব প্রদত্ত কী-স্ক্রিপ্ট নিয়ে কাজ করে না কারণ "সিস্টেমড ক্রিপ্টসেটআপ" বিকল্প কী-স্ক্রিপ্ট সমর্থন করে না, দেখুন https://github.com/systemd/systemd/pull/3007

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