انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: پرونده های نا امن ؟  (دفعات بازدید: 1007 بار)

0 کاربر و 5 مهمان درحال مشاهده موضوع.

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : پرونده های نا امن ؟
« پاسخ #30 : 05 امرداد 1401، 11:37 ب‌ظ »
درود دوستان ، مدتیه در محصولات فرهنگی ای مشغول به کارم ، اولش تصمیم داشتم فلشمو اصلا به سیستم اونجا نزنم چرا که روزانه صد ها فلش به سیستم وصل میشه ، با اینکه میدونستم توی گنو هیچ غلطی نمیتونن بکنن ویروس و بد افزار های ویندوزی ! ولی خب در برابر فیلم مفت نتونستم جلوی خودمو بگیرم ! اما ..
احتمالا می‌دونید فیلم مفت و ... خلاف قوانین انجمن هست. درسته؟
نقل‌قول
۱ . بد افزار ها میتونن به فلش اسیب سخت افزاری بزنن ؟ ( فقط به پورت اصلی میزنم فلشمو و بدون eject یا safe remove نمیکشمش )
فکر نکنم. شاید، ولی مطمئن نیستم.
نقل‌قول
۲ . بد افزار میتونه در پرونده های معمولی مثل فیلم و اهنگ مخفی شه ؟
چرا می‌تونه. روش‌های مختلفی هم برای اینکار داره.
نقل‌قول
۳ . وقتی فلش رو بزنم به سیستم خودم ، بد افزار ها نمیتونن خودشون رو انتقال بدن درسته ؟
بستگی به اون بدافزار، سیستم‌عامل و پیکربندی سیستم‌عامل شما داره.
ولی از اونجایی که معمولا اون بدافزار‌ها مال ویتدوز هستند و شما دبیان دارید و پیکربندی پیش‌فرض بیشتر توزیع‌ها امنیتی ضعیفی نداره، خیلی بعیده برای شما این اتفاق بیوفته.
نقل‌قول
۴ . فرمت کردن فلش اگر بدافزاری باشه رو میتونه کامل پاک کنه ؟
وقتی فلش رو فرمت می‌کنید، معمولا فقط قسمت‌هایی که اطلاعات مربوط به فایل‌سیستم رو دارند بازنویسی میشن. بقیه قسمت‌ها و اطلاعات داخل اونها دست نخورده باقی می‌مونه و ممکنه در آینده با نوشتن شدن اطلاعات جدید، بازنویسی بشن.

به خاطر همین، اون بدافزار ممکنه همچنان توی فلش باشه. ولی از اونجایی که اون بدافزار به عنوان یه فایل شناسایی نمیشه، نباید بتونه کاری انجام بده و حتی چیز دیگه اون رو پیدا کته. (مگه اینکه فلش رو بلوک به بلوک بررسی کنه تا اون بدافزار رو پیدا کنه)

پس فکر کنم با فرمت کردن، اون بدافزار دیگه نتونه کاری انجام بده.
نقل‌قول
۵ . اگر از فایل سیستم های لینوکسی مثل ext یا xfs استفاده کنم ، ایا اصلا میتونه به یه روشی بخونه این فایل سیستم ها رو ؟
بازم اگه سوالی باشه میپرسم : )
شاید اون بدافزار بتونه به طور مستقیم اطلاعات روی فلش رو بخونه و چیزی رو اونها بنویسه ولی از اونجایی که احتمالا اون بدافزار داره روی ویندوز اجرا میشه و ویندوز پشتیبانی درست حسابی از ext4 و xfs نداره، بعیده این اتفاق بیوفته. (شاید با wsl بتونه یه کاری کنه)

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

هر چند فکر نکنم این روش توی گنو/لینوکس کار بده چون معمولا اون بدافزار‌ها فقط روی ویندوز کار می‌کنند.

شما وقتی یک پرونده حاوی بدافزار رو اجرا میکنید، میتونه به همهٔ اون چیزهایی که شما دسترسی دارید، دسترسی داشته باشه. تمام پرونده‌ها، شاخه‌ها، تصاویر، و میتونه خودش رو به دیگر برنامه‌های شما که در شاخهٔ خانه شما هستند هم اضافه کنه. حتی میتونه باعث آسیب به سخت افزارهای دستگاهتون بشه.
اگه یه چارچوب mandatory access control پیاده شده باشه، اونوقت ممکن هست کاربر معمولی یه برنامه رو اجرا کنه ولی برنامه اجرایی به چیز‌هایی که کاربر دسترسی داره، دسترسی نداشته باشه.
selinux و apparmor دوتا از این گزینه برای پیاده‌سازی mandatory access control  هستند. معمولا اولی توی فدورا، opensuse و توزیع‌های مبتنی بر اونها استفاده میشه و دومی هم توسط دبیان و توزیع‌های مبتنی بر اون.
البته میشه توی دبیان از selinux به جای apparmor استفاده کرد.

با این حال، پیکریندی پیش‌فرض اونها جوری هست که چنین کاری انجام نمیدن.

مثلا بدافزار نمیتونه کنترل کرنل رو به دست بگیره و به پاور بگه تا میتونی برق بفرست به همه اجزا و همه رو بسوزونه ؟
منبع تغذیه کامپیوتر یه منبع ولتاژ ثابت هست. اجزا بر حسب مقاومتشون یه جریانی می‌کشن. برای اینکه به اجزا آسیب برسه لازمه ولتاژی که به اونها داده میشه زیاد بشه.
خود منبع تغیذه سازوکار‌هایی داره تا این اتفاق نیوفته. پس چیزی که می‌گید نمیشه. مگه اینکه یه منبع تغذیه تغییریافته باشه تا اینکار‌ها رو انجام بده.

برای اینکه بدافزار بتونه کنترل کرنل لینوکس رو بدست بیاره، لازمه به عنوان یه ماژول توی کرنل بارگذاری بشه. برای اینکار به دسترسی روت نیاز داره.

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

آفلاین آرگون

  • Sr. Member
  • *
  • ارسال: 263
  • جنسیت : پسر
  • 我是氩
پاسخ : پرونده های نا امن ؟
« پاسخ #31 : 06 امرداد 1401، 08:27 ق‌ظ »
نقل‌قول
می‌تونید تنظیم کنید که کرنل فقط ماژول‌هایی رو بارگذاری کنه که امضای اونها رو معتبر می‌دونه.
چجوری؟
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. انجمن دکمه تشکر نداره

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
پاسخ : پرونده های نا امن ؟
« پاسخ #32 : 06 امرداد 1401، 09:31 ق‌ظ »
نقل‌قول
احتمالا می‌دونید فیلم مفت و ... خلاف قوانین انجمن هست. درسته؟
اینکه بگم دارم مجانی فیلم نگاه میکنم خلاف قوانینه ؟! والا همچین چیزی ندیده بودم توش ، ناظرین هم که چیزی نگفتن در اینباره !!!
نقل‌قول
فکر نکنم. شاید، ولی مطمئن نیستم.
ای بابا ، تعداد افرادی که گفتن آسیب سخت افزاری ممکنه بیشتر شد که ، چجوری مثلا امکان پذیره ؟
نقل‌قول
چرا می‌تونه. روش‌های مختلفی هم برای اینکار داره.
چجوری میتونم پیداشون کنم ؟ نفهمیدم با اونی که جناب بهزادی معرفی کردم چجوری کار کنم : )
البته گفتین که اجراشون توی دبیان امنه ، بخاطر وجود apparmor و در کل بخاطر نفس گنو دیگه !

ممنون بزرگواران برای زمانی که میذارید : )
آرچ و گنوم!

آفلاین میمو ☕

  • High Hero Member
  • *
  • ارسال: 1034
  • جنسیت : پسر
  • mrostd سابق
پاسخ : پرونده های نا امن ؟
« پاسخ #33 : 07 امرداد 1401، 08:21 ب‌ظ »
نقل‌قول
اگر از فایل سیستم های لینوکسی مثل ext یا xfs استفاده کنم ، ایا اصلا میتونه به یه روشی بخونه این فایل سیستم ها رو ؟
جدا از این نمی‌تونه (چون اصلا شناسایی نمی‌شه توسط سیستم‌عامل)، باید توجه کنی که اصلا نباید حافظهٔ فلش رو با journaling filesystems فرمت کنی، این فایل‌سیستم‌ها برای این کار ساخته نشدن، سرعت rw فلش رو پایین و روی کارایی و عمرش تاثیر منفی می‌ذارن.

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
پاسخ : پرونده های نا امن ؟
« پاسخ #34 : 07 امرداد 1401، 09:45 ب‌ظ »
یعنی گنو لینوکسی ها هم fat رو پیشنهاد میدن ؟
آرچ و گنوم!

آفلاین میمو ☕

  • High Hero Member
  • *
  • ارسال: 1034
  • جنسیت : پسر
  • mrostd سابق
پاسخ : پرونده های نا امن ؟
« پاسخ #35 : 07 امرداد 1401، 09:56 ب‌ظ »
یعنی گنو لینوکسی ها هم fat رو پیشنهاد میدن ؟
برای فلش‌ها، fat، exfat و یا هر فایل‌سیستمی که ژورنالینگ نباشه (با توجه به معیاراتون)، فایل‌سیستم‌های ژورنالینگ طوری طراحی شدن که اگه در حین کار باهاشون، برق قطع شد، اپلیکیشنی کرش شد و...، فایل‌ها دچار آسیب نشن،
اما همین فایل‌سیستم‌ها رو حافظهٔ فلش، به واسطهٔ محدودیت‌هایی که این حافظه‌ها دارند، رو سرعت، کارایی و عمرشون اثر منفی می‌ذاره، این به‌خاطر همون journaling هستش.

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
پاسخ : پرونده های نا امن ؟
« پاسخ #36 : 07 امرداد 1401، 09:58 ب‌ظ »
ممنون : )
آرچ و گنوم!

آفلاین 🇬🇧بریتانیای کبیر🇬🇧

  • High Hero Member
  • *
  • ارسال: 2641
  • جنسیت : پسر
  • GOD SAVE THE KING/QUEEN
پاسخ : پرونده های نا امن ؟
« پاسخ #37 : 07 امرداد 1401، 10:02 ب‌ظ »
چرا توزیع ها به ZFS  مهاجرت نم‌کنند؟
مثله اینکه خیلی قابلیت  داره
🇬🇧🏴󠁧󠁢󠁥󠁮󠁧󠁿🏴󠁧󠁢󠁷󠁬󠁳󠁿🏴󠁧󠁢󠁳󠁣󠁴󠁿🇬🇧

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19719
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : پرونده های نا امن ؟
« پاسخ #38 : 07 امرداد 1401، 11:51 ب‌ظ »
چرا توزیع ها به ZFS  مهاجرت نم‌کنند؟
مثله اینکه خیلی قابلیت  داره
مثل این که*

چون پروانهٔ انتشار بدی داره.
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین 🇬🇧بریتانیای کبیر🇬🇧

  • High Hero Member
  • *
  • ارسال: 2641
  • جنسیت : پسر
  • GOD SAVE THE KING/QUEEN
پاسخ : پرونده های نا امن ؟
« پاسخ #39 : 08 امرداد 1401، 12:08 ق‌ظ »
البته  منظور  من open  zfs بود که پروانش از طرف بنیاد نرم افزار  آزاد تائید  شده
🇬🇧🏴󠁧󠁢󠁥󠁮󠁧󠁿🏴󠁧󠁢󠁷󠁬󠁳󠁿🏴󠁧󠁢󠁳󠁣󠁴󠁿🇬🇧

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : پرونده های نا امن ؟
« پاسخ #40 : 08 امرداد 1401، 01:15 ق‌ظ »
نقل‌قول
می‌تونید تنظیم کنید که کرنل فقط ماژول‌هایی رو بارگذاری کنه که امضای اونها رو معتبر می‌دونه.
چجوری؟
برای اینکه اینکار درست جواب بده، لازم هست ماژول‌های کرنل امضا شده باشند، کرنل مجوز متناظر با اونها رو هم بشناسه.
اگه موقع کامپایل کرنل، CONFIG_MODULE_SIG فعال باشه، ماژول‌های جدا به طور خودکار امضا میشن و چیز‌های مورد نیاز هم داخل خود فایل کرنل قرار می‌گیرن. فقط کافی هست تا فایل‌های مورد نیاز رو داخل یه دایرکتوری قرار بدید تا بقیه کار‌ها به طور خودکار انجام بشه.


تا جایی که می‌دونم دو راه برای این هست که کرنل امضای ماژول‌ها رو بررسی کنه :

۱- module.sig_enforce=1 رو به خط فرمان کرنل اضافه کنید.
اگه موقع کامپایل کرنل، CONFIG_MODULE_SIG_FORCE فعال بوده باشه، کرنل همیشه امضای ماژول‌ها رو بررسی می‌‌کنه و فقط میذاره اونهایی بارگذاری بشن که امضای معتبری دارند. در این حالت به module.sig_enforce=1 نیازی نیست. فکر کنم کرنل فدورا و همینطور rhel اینجوری باشه.

۲- ماژول امنیتی lockdown توی کرنل فعال و روی حالت integrity یا confidentiality باشه.

یعنی گنو لینوکسی ها هم fat رو پیشنهاد میدن ؟
فکر کنم بشه journaling رو توی ext4 خاموش کرد، ولی مطمئن نیستم.
می‌تونید هم از ext2 استفاده کنید که کلا journaling نداره.
میدونید که زکات علم نشر آن است

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : پرونده های نا امن ؟
« پاسخ #41 : 11 امرداد 1401، 08:15 ب‌ظ »
نقل‌قول
می‌تونید تنظیم کنید که کرنل فقط ماژول‌هایی رو بارگذاری کنه که امضای اونها رو معتبر می‌دونه.
چجوری؟
۲- ماژول امنیتی lockdown توی کرنل فعال و روی حالت integrity یا confidentiality باشه.
در ادامه این:

lsm یا همون ماژول‌ امنیتی لینوکس (linux security module) یه سازوکاری داخل کرنل هست که اجازه میده یه سری بررسی‌های امنیتی انجام بشن.

واژه "ماژول" داخل "ماژول امنیتی لینوکس" می‌تونه یکم گمراه کننده باشه. این واژه به این معنی نیست که ماژول‌های امنیتی لینوکس، مثل ماژول‌های معمولی هستند و میشه با modprobe و دستورات مشابه یا مثل ماژول‌های معمولی اونها رو مدیریت کرد. بلکه اینها یه سازوکاری داخل کرنل هستند که موقع کامپایل کرنل پیکربندی میشن.
بعضی وقتا میشه بعضی چیز‌های اونها رو از طریق خط فرمان کرنل هم تغییر داد.
توی بعضی موارد میشه اونها رو بعد از بوت شدن کرنل هم تنظیم کرد. (مثل ماژول‌های امنیتی لینوکس lockdown یا selinux و apparmor)
البته اینکه چه ماژول‌های امنیتی لینوکس فعال باشند، فقط از طریق پیکربندی‌های کرنل موقع کامپایل و خط فرمان اون موقع بوت قابل تنظیم هست.

هدف اصلی lsm این هست که با اون بشه یه چارچوب mandetory access control پیاده کرد. ولی میشه برای کار‌های دیگه هم ازش استفاده کرد.

برای راحتی بهش میگم ماژول امنیتی لینوکس. در ادامه، منظور از "ماژول امنیتی لینوکس و "ماژول امنیتی" یکی هست.

معمولا یه فایل‌سیستم مجازی securityfs روی /sys/kernel/security/ سوار شده و میشه بعضی تنظیمات امنیتی کرنل رو از اونجا دید و بعضی‌هاش رو کنترل کرد.
ماژول‌های امنیتی لینوکس هم از همین درگاه استفاده می‌کنند.

توی فایل زیر نوشته شده چه ماژول‌های امنیتی توی کرنل فعال شدند:
/sys/kernel/security/lsm
اسم ماژول‌ها با یه کاما از هم جدا میشه.
ترتیب اسم‌ها داخل اون فایل، نشون دهنده ترتیب شروع به کار اونها و همینطور ترتیبی هست که بررسی‌های اونها انجام میشه.
برای مثال اگه توی اون فایل این نوشته شده باشه:
lockdown,capability,selinux,bpf
به این معنی هست که اول ماژول امنیتی lockdown شروع به کار کرده، بعد capability، بعد selinux و در آخر bpf.
ترتیبی که بررسی اونها انجام میشه هم به همین شکل هست. یعنی اول بررسی‌های ماژول امنیتی lockdown انجام میشه، بعد capability، بعد selinux و در آخر bpf.

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

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

اینکه به طور پیش‌فرض چه ماژول‌های امنیتی و به چه ترتیبی شروع به کار کنند، تا حدودی به پیکربندی کرنل موقع کامپایل بستگی داره.
CONFIG_LSM مشخص می‌کنه به طور پیش‌فرض چه ماژول‌های امنیتی و با چه ترتیبی شروع به کار کنند. البته معمولا چیزی که در واقعیت اتفاق می‌افته، با مقدار CONFIG_LSM متفاوت هست چون بقیه پیکربندی‌های کرنل و همینطور شرایطی که کرنل توی اون بوت میشه هم اثر گذار هستند. (برای مثال مقدار CONFIG_SECURITY_LOCKDOWN_LSM_EARLY)

ماژول امنیتی capability همیشه به طور خودکار و به عنوان اولی شروع به کار می‌کنه و لازم نیست جایی تنظیم کنید که بارگذاری بشه. (مگه اینکه CONFIG_SECURITY_LOCKDOWN_LSM_ERALY تنظیم شده باشه. در این حالت به عنوان دومی شروع به کار می‌کنه.)

تا جایی که می‌دونم، کرنل دو نوع ماژول امنیتی داره. یکی ماژول‌های امنیتی major (ارشد معنیش کنیم؟) و یکی  ماژول‌های امنیتی minor (فرعی یا جزئی معنی بشه؟) هستند.
در یک زمان، فقط یه ماژول امنیتی major می‌تونه بارگذاری شده باشه. selinux و apparmor دوتا ماژول امنیتی major هستند. فکر کنم smac هم باشه ولی مطمئن نیستم.
کرنل می‌تونه از چندین ماژول امنیتی major متفاوت پشتیبانی کنه ولی در یک زمان، فقط یکی از اونها می‌تونه فعال باشه.
معمولا ماژول‌های امنیتی minor قبل از major ها شروع به کار می‌‌کنند ولی نمی‌دونم چرا bpf با اینکه یه ماژول امنیتی minor هست، ولی همیشه آخر همه شروع به کار کرده. تا حالا ندیدم آخر نباشه.

با پارامتر =lsm توی خط فرمان کرنل میشه موقع بوت کرنل مشخص کرد چه ماژول‌های امنیتی و با چه ترتیبی شروع به کار کنند. اسم اونها رو با کاما از هم جدا می‌کنند. برای مثال این:
lsm=lockdown,landlock,yama,apparmor,bpf

یه پارامتر =security هم هست ولی دیگه منسوخ شده و به جای اون، از =lsm استفاده میشه. با =security ماژول امنیتی major مشخص میشه.
برای مثال security=selinux یا security=apparmor

اگه همزمان =security و =lsm توی خط فرمان کرنل باشند، =security نادیده گرفته میشه.

کرنل لینوکس ماژول‌های امنیتی مختلفی داره. یکی از این ماژول‌ها lockdown هست.
اینکه کرنل از این ماژول امنیتی پشتیبانی کنه، بستگی به این داره که CONFIG_LOCKDOWN_LSM موقع کامپایل کرنل فعال بوده یا نه.

ماژول امنیتی lockdown سه تا حالت داره:

۱- حالت none. در این حالت، این ماژول امنیتی هیچ کار خاصی انجام نمیده. فقط فعال شده.

۲-  حالت integrity. در این حالت قابلیت‌هایی که اجازه میدند کرنل در حال اجرا تغییر کنه، غیرفعال میشن.

برای مثال خواب زمستانی روی swap های رمزنگاری نشده غیر فعال میشه، کرنل به شما اجازه نمیده جدول‌های acpi رو ویرایش کنید، بارگذاری ماژول‌هایی که امضای اونها معتبر نیست مسدود میشه، syscal مربوط به kexec نمیذاره فایل‌هایی که امضای اونها معتبر نیست بارگذاری بشن و ...
برای اطلاعات دقیق‌تر، صفحه man مربوط رو ببینید
man kernel_lockdown

۳- حالت confidentiality. در این حالت علاوه بر محدودیت‌های حالت integrity، کرنل اجازه نمیده ابزار‌های فضای کاربر (user space) اطلاعات محرمانه کرنل رو استخراج کنند. برای مثال نمیذاره کلید‌های رمزنگاری دیسک از طریق فضای کاربر استخراج بشن. حتی کاربر روت هم نمی‌تونه اینکار رو انجام بده.

چیز‌هایی که داخل فضای کرنل (kernel space) هستند (مثل ماژول‌های معمولی)، همچنان می‌تونند به اون اطلاعات محرمانه دسترسی پیدا کنند.

حالت پیش‌فرض lockdown، به این بستگی داره که کدوم یکی از اینها موقع کرنل فعال بوده:
CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE
CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY
CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY
اولی باعث میشه ماژول امنیتی lockdown به طور پیش‌فرض توی حالت none شروع به کار کنه. دومی توی حالت integrity و آخری توی حالت confidentiality
فقط یکی از اینها می‌تونه فعال باشه. (مشخص هست چرا. اینکه مثلا حالت پیش‌فرض هم integity و هم confidentilaty باشه معنی نداره.)

میشه با پارامتر =lockdown توی خط فرمان کرنل، حالتی که این ماژول امنیتی شروع به کار می‌کنه رو تعیین کرد. (البته مطمئن نیستم همیشه کار کنه.)
برای مثال اضافه کردن lockdown=confidentiality به خط فرمان کرنل باعث میشه این ماژول امنیتی به طور پیش‌فرض توی حالت confidentiality شروع به کار کنه.

اگه این ماژول امنیتی توی کرنل فعال شده باشه، از طریق فایل زیر میشه فهمید توی چه حالتی قرار داره:
/sys/kernel/security/lockdown
حالت فعال، بین [ ] نمایش داده میشه.

از طریق همین فایل میشه حالت فعال رو تغییر داد. برای اینکار فقط کافیه اسم حالت مورد نظر رو داخل فایل نوشت.
مثلا برای رفتن به حالت integrity بعد از بوت شدن سیستم، میشه اینجوری عمل کرد:
echo integrity > /sys/kernel/security/lockdown
البته از اونجایی که نوشتن روی این فایل به دسترسی روت نیاز داره و sudo یا doas روی redirect ها تاثیر ندارند، دستور بالا وقتی کار میده که وارد کاربر روت شده باشید.
برای حل این مشکل میشه از tee کمک گرفت. اینجوری:
echo confidentiality | sudo tee /sys/kernel/security/lockdown

میشه حالت ماژول lockdown رو از یه حالت پایین‌تر به یه حالت بالاتر تغییر داد ولی برعکسش ممکن نیست.
یعنی میشه از حالت none به حالت integrity یا confidentiality رفت ولی نمیشه حالت فعال رو از integrity یا confidentiality به none تغییر کرد.
میشه از حالت  integrity به حالت confidentiality رفت، ولی به none نمیشه.
از حالت confidentiality به هیچ حالت دیگه‌ای نمیشه رفت.

اگه کرنل با CONFIG_SECURITY_LOCKDOWN_LSM_EARLY کامپایل بشه، اونوقت بدون توجه به بقیه چیز‌ها، همیشه ماژول امنیتی lockdown قبل از همه شروع به کار می‌کنه.
در این حالت فرقی نداره =lsm توی خط فرمان کرنل چی هست یا CONFIG_LSM چی گفته یا اینکه capability باید اول از همه بارگذاری بشه، در هر حالت، lockdown قبل از همه شروع به کار می‌کنه.
این عملکرد به این خاطر هست که اول‌های بوت شدن کرنل، هنوز زیرسیستم امنیت (security subsystem) کامل شروع به کار نکرده و ممکنه بعضی پارامتر‌ها توی خط فرمان کرنل، باعث انجام کار‌هایی بشن که ماژول امنیتی lockdown جلوی اونها رو می‌گیره.

CONFIG_SECURITY_LOCKDOWN_LSM_EARLY باعث میشه سیاست‌های امنیتی lockdown، حتی روی خط فرمان کرنل هم اعمال بشه.
این پیکربندی موقع کامپایل کرنل‌ها دبیان فعال هست. به همین خاطر اگه از کرنل دبیان استفاده می‌کنید، ماژول امنیتی lockdown همیشه قبل بقیه ماژول‌های امنیتی فعال شده.

اگه کرنل با CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT کامپایل بشه و موقع بوت فکر کنه توی حالت uefi بوت شده و secure boot فعال هست، اونوقت ماژول امنیتی lockdown حتما فعال میشه و حداقل توی حالت integrity قرار می‌گیره. کرنل‌های دبیان اینجوری هست.

فکر کنم قبلا میشد با فشردن کلید‌های alt + sysrq + x روی یه صفحه کلید که به طور فیزیکی به کامپیوتر وصله، حالت lockdown رو غیرفعال کرد. اما انگار دیگه حذف شده.
میدونید که زکات علم نشر آن است