• ایرانشل
  • وبلاگ
    • مفاهیم امنیت شبکه
    • معرفی راهکارها و سرویس‌های امنیتی
    • آموزش‌‌ راهکارهای امنیت شبکه
    • تهدیدات امنیتی
  • اخبار
  • دوره‌های امنیت
    • مسیرهای شغلی امنیت سایبری

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت
ایرانشل
  • ایرانشل
  • وبلاگ
    • مفاهیم امنیت شبکه
    • معرفی راهکارها و سرویس‌های امنیتی
    • آموزش‌‌ راهکارهای امنیت شبکه
    • تهدیدات امنیتی
  • اخبار
  • دوره‌های امنیت
    • مسیرهای شغلی امنیت سایبری
ورود و ثبت نام

وبلاگ

وبلاگ > آموزش‌‌ راهکارهای امنیت شبکه > نحوه استفاده از LUKS برای رمز کردن هارد دیسک

نحوه استفاده از LUKS برای رمز کردن هارد دیسک

آموزش‌‌ راهکارهای امنیت شبکه
ارسال شده توسط پریسا کشاورزی
7 دسامبر 2020
1.17k بازدید

نحوه ی رمزگذاری پارتیشن‌های lvm با استفاده از LUKS

خواه یا ناخواه در حال حاضر کامپیوتر‌ها جزء جدا ناپذیری از زندگی ما شده‌اند. هارد کامپیوترها اغلب حاوی اطلاعات شخصی و محرمانه هستند. سوال اینجاست که شرط مخفی کردن یک فایل یا پوشه و یا انتقال آن‌ به زیرمسیر‌های بی‌پایان تا چه حد می‌تواند ضامن امنیت آن باشد؟ به قطع یقین می‌توان گفت که این حالت هیچ ضمانتی برای امنیت اطلاع به همراه ندارد. اگر شخص آشنا به کامپیوتر‌ به سیستم ما دسترسی داشته باشد، می‌تواند ظرف چند دقیقه دسته‌بندی مرتبی از اطلاعات آن را در اختیار ما قرار دهد.

سوال؟ آیا راه‌ حلی وجود دارد که بتواند با وجود دسترسی فرد به سیستم از اطلاعات ما در برابر او محافظت کند. جواب این سوال بر خلاف سوال قبلی به قطع یقین بله می‌باشد. ما می توانیم از LUKS که یک روش رمزنگاری در گنو/لینوکس است استفاده و اطلاعات قسمت‌های مختلف هارد خود را به صورت رمزشده در بیاوریم.

تذکر

این مطلب یک مقاله آموزشی برای رمز کردن اطلاعات فضای تستی می‌باشد. فرض بر این است که پارتیشن sdb حاوی هیج اطلاعان ارزشمندی نمی‌باشد. این بدیهی‌ است که در صورت استفاده از مقادیر اشتباه ممکن است اطلاعات پارتیشن مورد نظر به طور کلی حذف شود. لطفا در صورت استفاده از دستورات زیر در محیط عملیاتی دقت لازم را داشته باشید.
اغلب پارتیشن‌های سیستم با ترکیبی از حروف sdXX قابل شناسایی هستند. X اول مربوط به دیسک سخت یا حافظه‌ی فلش و X دوم مربوط به شماره‌ی پارتیشن می‌باشد. با استفاده از دستور fdisk -l می‌توانیم مقدار فوق را برای هر کدام از پارتیشن‌های سیستم به دست آوریم.

luks

luks

Linux Unified Key Setup یا luks یک روش کارآمد است که برای رمز کردن ابزارهای ذخیره‌سازی مانند usb و هارد دیسک‌ها استفاده می‌شود. این نرم افزار توسط Clemens Fruhwirth و در سال ۲۰۰۴ ارایه شده است.

اکثر نرم افزارهای رمزنگاری دیسک، فرمت‌های کاملا متفاوت و ناسازگار و بدون مستندات دارند. در حالی که LUKS از یک استاندارد مستقل در ابزارهای مختلف استفاده می‌کند. این موضوع باعت شده است تا سازگاری و قابلیت همکاری بین برنامه‌ها آسان‌تر شود.

روش کار LUKS

روش کار LUKS با این ترتیب است که ابتدا کل فضای هاردیسک را رمزگذاری می‌کند. بعد از مرحله است می‌توانیم از کل فضای دیسک استفاده کنیم و هر تعداد پارتیشن با هر فرمتی ایجاد نمایم. در این پروسه تنها پارتیشنی که نباید رمزگذاری شود، پارتیشن boot است. بنابراین می‌توانیم برای پارتیشن boot از یک دیسک جدید که ایمن‌ترین راه است استفاده کنیم یا از گزینه از LVM استفاده کنیم.

استفاده از command line به جای رابط گرافیکی

در اکثر توزیع‌های لینوکس، رمزگذاری دیسک به صورت گرافیکی ارایه شده است. ولی به دو دلیل باید برای رمز کردن دیسک از CLI استفاده کنیم. اولی به خاطر داشتن کنترل بیشتر و دومی بدلیل عدم وجود گزینه‌هایی کافی در نسخه گرافیکی برای تنظیم دقیق رمزگذاری می‌باشد. به عنوان مثال هیچ یک از راهکارهای گرافیکی بدون ایجاد جدول پارتیشن کل دیسک خام را رمزگذاری نمی‌کنند.

نصب LUKS

[email protected]:~$ sudo apt install cryptsetup

بعد از نصب LUCKS ابتدا باید دیسک را با استفاده از داده های تصادفی پر کنیم. این روند می‌تواند بسیار زمان‌بر باشد. بنابراین برای جلوگیری از طولانی شدن فرآیند از یک حقه و هدر رمزگذاری استفاده می‌کنیم.

ایجاد پارتیشن LUKS

[email protected]:~$ cryptsetup luksFormat --hasj==sha512 --key-size=512 --chipher=aes-xts-plain64 --verify-passphrase /dev/sdb

بدیهی است که در اینجا می‌توانیم از تنظیمات مختلفی برای دستور luksFormat استفاده کنیم. بعد از اجرای دستور بالا، رمز عبور برای رمزگذاری را وارد می‌کنیم. از این دستور فقط به عنوان تولید کننده داده تصادفی استفاده می‌کنیم. بناربراین مهم نیست که رمز وارد شده از امنیت بالایی برخوردار باشد.

باز کردن هارد رمز شده

[email protected]:~$ cryptsetup luksopen /dev/sdb sdb_crypt

پر کردن هارد با داده صفر

[email protected]:~$ dd if=/dev/zero of=/dev/mapper/sdb_crypt bs=1M

در اینجای کار فضای دیسک به غیر از سرآیند luks به صورت اساسی با داده های تصادفی پر شده است. با استفاده از دستور “hexdump /dev/sda | less” می‌توانیم مقدار آن را چک کنیم.

پاک کردن هارد دیسک رمز شده

برای رمز کردن مجدد هارد بایستی اطلاعاتی که مراحل بالا آنجام داده‌ایم را با استفاده از دو مرحله زیر پاک کنیم.

پاک کردن mapping مربوط به هارد

[email protected]:~$ crypto loksclose sdb_crypt

باز نویسی هدر

[email protected]:~$ dd if=/dev/urandom of=/dev/sdb bs=512 count=20480

اکنون دیسک پر از داده‌های تصادفی شده است. برای رمز کردن مجدد هارد فقط کافیست مراحل 1 و 2 را تکرار کنیم. اما این بار از یک عبارت کاملا امن استفاده می‌کنیم.

ایجاد LVM

[email protected]:~$ pvcreate /dev/mapper/sdb_crypt

ایجاد Valume Group

[email protected]:~$ vgcreate vg00 /dev/ampper/sdb_crypt

انتخاب نام برای vg اختیاری است و می‌توانیم از هر اسمی استفاده کنیم.

ایجاد پارتیشن‌های منطقی (Logical Valumes)

برای نصب سیستم عامل‌های لینوکس معمولا به پارتیشن‌های زیر نیاز است. این موضوع برای swap و / اجباری ولی برای بقیه پارتیشن‌ها اختیاری است.

 [email protected]:~$ lvcreate -n lv00_swap -L 4G vg00
 [email protected]:~$ lvcreate -n lv01_root -L 30G vg00
 [email protected]:~$ lvcreate -n lv02_home -L 10G vg00
 [email protected]:~$ lvcreate -n lv03_data -l +100%FREE vg00 

اکنون نوبت پارتیشن بوت می باشد. در اینجا می‌توانیم این پارتیشن را بر روی یک دیسک جداگانه یا در بهترین حالت بر روی یک usb ایجاد کنیم. فقط در هنگام نصب بایستی حواس‌مان باشد که grub را روی mbr آن نصب کنیم. با استفاده از راهکار بالا علاوه براین که دیگر هیچ پارتیشن رمز نشده‌ای بر روی دیسک خود نخواهیم داشت. هیچ شانس هم برای راه اندازی سیستم بدون دستگاه خارجی نداریم. این امر باعث ایجاد یک لایه امنیتی اضافی برای سیستم می‌شود.

اشتراک گذاری:
برچسب ها: endpoint security

دیدگاهتان را بنویسید لغو پاسخ

درباره ایرانشل

تیم ایرانشل با این هدف تشکیل شده است‌ تا بتوانند با کمک شما همراهان عزیز اقدامات مثبتی در جهت شفاف‌سازی نیازمندی‌های امنیتی، معرفی سرویس‌ها و راهکارهای امنیتی انجام دهد.

عضویت در خبرنامه

اطلاعات تماس
  • تهران - خیابان شریعتی - بالاتر از پل سیدخندان
  • 09125162976
  • [email protected]
شبکه‌های اجتماعی
کلیه حقوق این وب سایت متعلق به ایرانشل می‌باشد.
جستجو

جستجو با زدن Enter و بستن با زدن ESC