REFIND-SB-HEALTHCHECK(8) rEFInd Manual REFIND-SB-HEALTHCHECK(8)

refind-sb-healthcheck - بررسی و به‌روزرسانی تعاملی کلیدهای Shim و Secure Boot

refind-sb-healthcheck

بوت از طریق بوت امن (Secure Boot) به تعدادی کلید و در بیشتر موارد در لینوکس، به یک باینری EFI با نام Shim (معمولاً shimx64.efi برای رایانه‌های x86-64) متکی است. این باینری Shim و کلیدهایی که کل فرایند بر آن‌ها متکی است، می‌توانند با گذشت زمان اعتبار یا کارایی خود را از دست بدهند. از آنجا که بیشتر توزیع‌ها مبتنی بر rEFInd نیستند، به‌روز نگه‌داشتن کلیدها و باینری Shim بر عهدهٔ مدیر سیستم است. اسکریپت refind-sb-healthcheck در این زمینه کمک می‌کند؛ این اسکریپت تعدادی بررسی انجام می‌دهد و می‌تواند به‌صورت اختیاری باینری‌ها و فایل‌های کلید را به‌روزرسانی کند (اما نه کلیدهای عمومی ذخیره‌شده در NVRAM):

*
اسکریپت ابتدا تلاش می‌کند باینری Shim که نشست بوت فعلی را راه‌اندازی کرده است شناسایی کند. سپس پارتیشن سیستم EFI (ESP) و /usr را برای باینری‌های جدیدتر Shim (بر اساس برچسب زمانی فایل‌ها) جستجو می‌کند. اگر باینری جدیدتری از Shim پیدا شود، اسکریپت پیشنهاد به‌روزرسانی Shim در حال استفاده را با باینری جدیدتر ارائه می‌دهد. برنامهٔ MokManager (فایل mmx64.efi در سیستم‌های x86-64) نیز همراه با Shim به‌روزرسانی می‌شود.
*
اسکریپت refind-install کلیدهای محلی rEFInd را تولید می‌کند تا هنگام امضای باینری‌های فاقد امضای rEFInd یا برای بازنویسی امضاهای موجود به کار روند. این کلیدها به‌طور پیش‌فرض طول عمر ۱۰ ساله دارند. اسکریپت refind-sb-healthcheck طول عمر کلید امضای محلی فعلی rEFInd را بررسی کرده و در صورتی که منقضی شده باشد یا تا زمان انقضای آن کمتر از یک سال باقی مانده باشد، پیشنهاد جایگزینی کلید موجود را ارائه می‌دهد. توجه داشته باشید که حتی اگر کاربر به‌روزرسانی کلید را انتخاب کند، باینری‌های موجود rEFInd مجدداً امضا نمی‌شوند. کلید جدید ممکن است به فهرست MOK اضافه شود، اما اگر کلید rEFInd به پایگاه دادهٔ بوت امن (Secure Boot db) افزوده شده باشد، به‌روزرسانی db بر عهدهٔ کاربر خواهد بود.
*
فهرست کلید مالک دستگاه (MOK) در NVRAM ذخیره می‌شود. این فهرست می‌تواند شامل کلیدهای مربوط به rEFInd، توزیع‌های لینوکس و کلیدهای دیگر باشد که همگی در نهایت منقضی خواهند شد. اسکریپت refind-sb-healthcheck فهرست MOK را بررسی کرده و در صورت وجود کلیدهای منقضی‌شده یا کلیدهایی که ظرف یک سال آینده منقضی می‌شوند، گزارش می‌دهد. اگر کاربر بخواهد چنین کلیدهایی را به‌روزرسانی کند، باید به‌روزرسانی‌های مناسب را پیدا کرده و آن‌ها را به‌صورت دستی با استفاده از mokutil یا MokManager نصب کند. توجه داشته باشید که نگه‌داشتن کلیدهای منقضی در MOK لزوماً یک مشکل نیست، اگرچه حذف کلیدهای منقضی از دیدگاه امنیتی توصیه می‌شود. همچنین، کلیدهای منقضی‌شده احتمالاً توسط نگه‌دارندگانشان به‌روزرسانی شده‌اند، بنابراین بهتر است به‌روزرسانی‌های آن‌ها نصب شوند.
*
اسکریپت refind-sb-healthcheck پایگاه‌های دادهٔ Secure Boot شامل db، KEK و PK را همانند فهرست MOK برای یافتن کلیدهای منقضی‌شده بررسی می‌کند. مسائل در اینجا مشابه هستند، به جز اینکه این کلیدها را نمی‌توان به‌سادگی توسط کاربر به‌روزرسانی کرد مگر آنکه ابتدا کنترل کامل زیرسیستم Secure Boot را به دست گیرد. با این حال، به‌روزرسانی‌های ارائه‌شده توسط مایکروسافت، یک توزیع لینوکس یا یک سازندهٔ رایانه ممکن است شامل به‌روزرسانی‌هایی برای یک یا چند مجموعه از این کلیدها باشد.

برنامهٔ refind-sb-healthcheck یک برنامهٔ تعاملی است که هیچ گزینهٔ خط فرمانی ارائه نمی‌دهد. در عوض، این برنامه اطلاعات مورد نیازش را جستجو و بررسی می‌کند، یا بسته به محیطی که شناسایی می‌کند، گاهی از کاربر درخواست ورودی می‌نماید.

ابزار refind-sb-healthcheck ابزاری کمکی برای نگه‌داری یک نصب rEFInd است که از Secure Boot استفاده می‌کند. این ابزار به این منظور طراحی نشده است که تمام وظایف نگه‌داری Secure Boot را به‌صورت کامل و خودکار انجام دهد. برخی از محدودیت‌های قابل توجه عبارتند از:

*
ابزار refind-sb-healthcheck نمی‌تواند متغیرهای Secure Boot را به‌روزرسانی کند (به جز MOK). حتی به‌روزرسانی MOK نیز نیازمند راه‌اندازی مجدد سیستم و تعامل دستی با MokManager هنگام راه‌اندازی است.
*
ابزار refind-sb-healthcheck برای یافتن باینری‌های Shim جدیدتر از نسخهٔ در حال استفاده، به برچسب زمانی فایل‌ها متکی است. این روش کاملاً قابل اعتماد نیست؛ باینری‌ای که اخیراً با استفاده از پرچم‌های پیش‌فرض دستور cp کپی شده باشد، حتی اگر از نظر شماره نسخه بسیار قدیمی باشد، جدید به نظر می‌رسد.
*
این اسکریپت تلاشی برای نگه‌داری فایل‌های کلید غیر از rEFInd نمی‌کند، مانند کلیدهایی که کاربر ممکن است برای امضای باینری‌های هسته یا ماژول‌های هسته نگه‌داری کند.
*
ابزار refind-sb-healthcheck شامل فرضیاتی دربارهٔ مکان فایل‌های کلید rEFInd، وجود برنامه‌های پشتیبان متداول، و ماهیت نصب فعلی است. در صورت نقض این فرضیات، ممکن است برنامه با خطاهای غیرمنتظره‌ای مواجه شود.
*
*

q

نویسنده اصلی: Roderick W. Smith (rodsmith@rodsbooks.com)

mvrefind(8), mkrlconf(8), refind-install(8), refind-mkdefault(8), efibootmgr(8).

https://www.rodsbooks.com/refind/

دستور refind-mkdefault بخشی از بسته rEFInd بوده و از Roderick W. Smith در دسترس است.

0.14.2 Roderick W. Smith