table of contents
- trixie-backports 4.31.0-1~bpo13+1
- testing 4.31.0-1
- unstable 4.31.0-1
| SYSTEMD-PCRLOCK(8) | systemd-pcrlock | SYSTEMD-PCRLOCK(8) |
الاسم¶
systemd-pcrlock, systemd-pcrlock-file-system.service, systemd-pcrlock-firmware-code.service, systemd-pcrlock-firmware-config.service, systemd-pcrlock-machine-id.service, systemd-pcrlock-make-policy.service, systemd-pcrlock-secureboot-authority.service, systemd-pcrlock-secureboot-policy.service - تحليل وتوقع حالات PCR الخاصة بـ TPM2 وتوليد سياسة وصول من التوقع
موجز¶
/usr/lib/systemd/systemd-pcrlock [OPTIONS...]
الوصف¶
ملاحظة: هذا الأمر تجريبي في الوقت الحالي. ورغم أنه من المرجح أن يصبح مكونًا نظاميًا في systemd، إلا أنه قد يطرأ عليه تغيير في السلوك والواجهة.
systemd-pcrlock هي أداة يمكن استخدامها لتحليل وتوقع قياسات PCR الخاصة بـ TPM2، وتوليد سياسات وصول TPM2 من التوقع الذي تخزنه في فهرس NV الخاص بـ TPM2 (أي في الذاكرة غير المتطايرة لـ TPM2). يمكن استخدام هذا بعد ذلك لتقييد الوصول إلى كائنات TPM2 (مثل مفاتيح تشفير القرص) على إقلاعات النظام التي تستخدم فيها مكونات محددة وموثوقة فقط.
يستخدم systemd-pcrlock كمدخلات لتحليله وتوقعه:
يستخدم هذه المدخلات لتوليد سجل أحداث مدمج، والتحقق من صحته مقابل حالات PCR. ثم يحاول التعرف على سجلات الأحداث ومطابقتها مع المكونات المعرفة. لكل PCR حيث يمكن القيام بذلك بشكل شامل (أي حيث تمت مطابقة جميع السجلات المدرجة وجميع المكونات المعرفة) يمكن استخدام هذا بعد ذلك لتوقع قياسات PCR المستقبلية، مع مراعاة التنويعات البديلة المعرفة لكل مكون. يمكن بعد ذلك تحويل هذا التوقع إلى سياسة وصول TPM2 (تتكون من عناصر PolicyPCR و PolicyOR الخاصة بـ TPM2)، والتي تخزن بعد ذلك في فهرس NV في TPM2. يمكن استخدام هذا بعد ذلك لقفل الأسرار (مثل مفاتيح تشفير القرص) على هذه السياسات (عبر سياسة PolicyAuthorizeNV الخاصة بـ TPM2).
استخدم أدوات مثل systemd-cryptenroll(1) أو systemd-repart(8) لربط تشفير القرص بسياسة TPM2 الخاصة بـ systemd-pcrlock هذه. على وجه التحديد، انظر مفاتيح --tpm2-pcrlock= لهذه الأدوات.
يتطلب منطق سياسة الوصول جهاز TPM2 ينفذ أمر "PolicyAuthorizeNV"، أي ينفذ TPM 2.0 الإصدار 1.38 أو أحدث.
الأوامر¶
الأوامر التالية مفهومة:
log
أُضيف في الإصدار 255.
cel
أُضيف في الإصدار 255.
list-components
أُضيف في الإصدار 255.
predict
أُضيف في الإصدار 255.
make-policy
يخصص فهرس NV في أول استدعاء، ويحدث في الاستدعاءات اللاحقة.
يمكن تغيير محتويات فهرس NV (وبالتالي تحديث السياسة المخزنة فيه) بتوفير PIN وصول. يولد PIN هذا آليًا عادة ويخزن في شكل مشفر (مع سياسة وصول تربطه بفهرس NV نفسه) في ملف سياسة JSON المذكور أعلاه. يمكن اختيار PIN هذا من قبل المستخدم، عبر المفتاح --recovery-pin=. إذا تم تحديده، يمكن استخدامه كمسار بديل للوصول لتحديث السياسة.
إذا تطابق التوقع الجديد مع القديم، ينهي هذا الأمر بسرعة ولا ينفذ أي عملية إضافية. (ما لم يتم تحديد --force، انظر أدناه.)
بدءًا من الإصدار v256، يتم ترميز نسخة من ملف السياسة /var/lib/systemd/pcrlock.json في بيانات اعتماد (انظر systemd-creds(1) للتفاصيل) وكتابتها إلى قسم نظام EFI أو قسم XBOOTLDR، في الدليل الفرعي /loader/credentials/. هناك يتم التقاطها عند الإقلاع بواسطة systemd-stub(7) وتمريرها إلى initrd المستدعى، حيث يمكن استخدامها لفتح نظام الملفات الجذر (الذي يحتوي عادةً على /var/، حيث توجد النسخة الأساسية من السياسة، والتي لا يمكن استخدامها بالتالي لفتح نظام الملفات الجذر). يتم تسمية ملف بيانات الاعتماد بعد رمز إدخال الإقلاع للتثبيت (انظر bootctl(1))، والذي يمكن تكوينه عبر المفتاح --entry-token=، انظر أدناه.
أُضيف في الإصدار 255.
remove-policy
أُضيف في الإصدار 255.
is-supported
إذا تم دمجه مع --quiet، يُكتم إخراج السلسلة.
حاليًا، يتحقق هذا من دعم أمر PolicAuthorizeNV TPM2، بالإضافة إلى دعم خوارزمية التجزئة SHA-256.
أُضيف في الإصدار 258.
lock-firmware-code، unlock-firmware-code
تسمح هذه العملية بقفل عملية الإقلاع على الإصدار الحالي من البرامج الثابتة للنظام وبطاقات التوسعة الخاصة به. يجب استخدام هذه العملية فقط إذا كان بائع النظام لا يوفر بيانات pcrlock مناسبة مسبقًا.
لاحظ أن هذه البيانات تطابق فقط الإصدار الحالي من البرامج الثابتة. إذا تم تطبيق تحديث للبرامج الثابتة، فستصبح هذه البيانات قديمة ولن تمر أي سياسة وصول مولدة منها بعد الآن. لذلك يُوصى باستدعاء unlock-firmware-code قبل إجراء تحديث للبرامج الثابتة، متبوعًا بـ make-policy لتحديث السياسة.
يتم استدعاء systemd-pcrlock lock-firmware-code آليًا عند الإقلاع عبر وحدة systemd-pcrlock-firmware-code.service، إذا كانت مفعلة. يضمن هذا أن سياسة الوصول المُدارة بواسطة systemd-pcrlock تُقفل آليًا على إصدار البرامج الثابتة الجديد كلما تم تخفيف السياسة مؤقتًا، لتغطية تحديثات البرامج الثابتة، كما هو موصوف أعلاه.
يتم إنشاء الملفات من سجل الأحداث فقط إذا كان سجل الأحداث يطابق حالة TPM2 PCR الحالية.
يكتب/يزيل هذا الملفات /var/lib/pcrlock.d/250-firmware-code-early.pcrlock.d/generated.pcrlock و /var/lib/pcrlock.d/550-firmware-code-late.pcrlock.d/generated.pcrlock.
أُضيف في الإصدار 255.
lock-firmware-config، unlock-firmware-config
يجب استخدام هذه الوظيفة بحذر لأنه في معظم السيناريوهات، لا ينبغي لتغيير بسيط في تكوين البرامج الثابتة أن يبطل سياسات الوصول إلى كائنات TPM2. لاحظ أيضًا أن بعض الأنظمة تقيس معلومات غير مستقرة وغير متوقعة (مثل الفولتية الحالية لوحدة المعالجة المركزية ودرجات الحرارة، كجزء من بيانات SMBIOS) إلى هذه PCRs، مما يعني أن هذا الشكل من القفل لا يمكن استخدامه بشكل موثوق على هذه الأنظمة. استخدم هذه الوظيفة فقط إذا كان النظام والعتاد معروفين جيدًا ولا يعانيان من هذه القيود، على سبيل المثال في البيئات الافتراضية.
استخدم unlock-firmware-config قبل إجراء تغييرات على تكوين البرامج الثابتة. إذا كانت وحدة systemd-pcrlock-firmware-config.service مفعلة، فستقوم آليًا بإنشاء ملف pcrlock من القياسات الجديدة.
يكتب/يزيل هذا الملفات /var/lib/pcrlock.d/250-firmware-config-early.pcrlock.d/generated.pcrlock و /var/lib/pcrlock.d/550-firmware-config-late.pcrlock.d/generated.pcrlock.
أُضيف في الإصدار 255.
lock-secureboot-policy، unlock-secureboot-policy
استخدم unlock-firmware-config قبل تطبيق تحديثات سياسة SecureBoot. إذا كانت وحدة systemd-pcrlock-secureboot-policy.service مفعلة، فستقوم آليًا بإنشاء ملف pcrlock من السياسة المكتشفة.
يكتب/يزيل هذا الملف /var/lib/pcrlock.d/230-secureboot-policy.pcrlock.d/generated.pcrlock.
أُضيف في الإصدار 255.
lock-secureboot-authority، unlock-secureboot-authority
يكتب/يزيل هذا الملف /var/lib/pcrlock.d/620-secureboot-authority.pcrlock.d/generated.pcrlock.
أُضيف في الإصدار 255.
lock-gpt [DEVICE], unlock-gpt
يكتب/يزيل هذا الملف /var/lib/pcrlock.d/600-gpt.pcrlock.d/generated.pcrlock.
أُضيف في الإصدار 255.
lock-pe [BINARY], unlock-pe
يتوقع مسارًا إلى الثنائي PE كوسيطة. إذا لم يُحدد، يقرأ الثنائي من STDIN بدلاً من ذلك.
يجب تحديد ملف pcrlock المراد كتابته عبر المفتاح --pcrlock=.
أُضيف في الإصدار 255.
lock-uki [UKI], unlock-uki
يتوقع مسارًا إلى الثنائي PE لـ UKI كوسيطة. إذا لم يُحدد، يقرأ الثنائي من STDIN بدلاً من ذلك.
يجب تحديد ملف pcrlock المراد كتابته عبر المفتاح --pcrlock=.
أُضيف في الإصدار 255.
lock-machine-id, unlock-machine-id
يكتب/يزيل هذا الملف /var/lib/pcrlock.d/820-machine-id.pcrlock.
أُضيف في الإصدار 255.
lock-file-system [PATH], unlock-file-system [PATH]
يكتب/يزيل هذا الملفات /var/lib/pcrlock.d/830-root-file-system.pcrlock و /var/lib/pcrlock.d/840-file-system-path.pcrlock.
أُضيف في الإصدار 255.
lock-kernel-cmdline [FILE], unlock-kernel-cmdline
يكتب/يزيل هذا الملف /var/lib/pcrlock.d/710-kernel-cmdline.pcrlock/generated.pcrlock.
أُضيف في الإصدار 255.
lock-kernel-initrd FILE, unlock-kernel-initrd
يكتب/يزيل هذا الملف /var/lib/pcrlock.d/720-kernel-initrd.pcrlock/generated.pcrlock.
أُضيف في الإصدار 255.
lock-raw [FILE], unlock-raw
أُضيف في الإصدار 255.
الخيارات¶
الخيارات التالية مفهومة:
--raw-description
أُضيف في الإصدار 255.
--pcr=
يُستخدم هذا بواسطة lock-raw وlock-pe لاختيار PCR المراد القفل ضده.
إذا استُخدم مع predict وmake-policy، فسيؤدي هذا إلى تجاوز أي PCRs سيتم تضمينها في التنبؤ والسياسة. إذا لم يُحدد، فالمبدئي هو PCRs 0-5, 7, 11, 13-15. لاحظ أن هذه الأوامر لن تتضمن أي PCRs في التنبؤ/السياسة (حتى لو حُددت صراحة) إذا كانت هناك قياسات في سجل الأحداث لا تتطابق مع قيمة PCR الحالية، أو كانت هناك قياسات غير معروفة في سجل الأحداث، أو عرّفت المكونات قياسات غير مرئية في سجل الأحداث.
أُضيف في الإصدار 255.
--nv-index=
أُضيف في الإصدار 255.
--components=
أُضيف في الإصدار 255.
--location=
إذا استُخدم مع list-components، فسيتم تمييز نطاق الموقع المحدد في قائمة المكونات.
المبدئي هو "760-:940-"، مما يعني أن السياسات المُنشأة مبدئيًا ستغطي بشكل أساسي وقت تشغيل مساحة مستخدم نظام التشغيل بالكامل، من initrd (حيث أن "760-" يتبع عن كثب 750-enter-initrd.pcrlock) حتى (ويشمل) وقت التشغيل الرئيسي للنظام (حيث أن "940-" يتبعه عن كثب 950-shutdown.pcrlock). انظر systemd.pcrlock(5) للحصول على قائمة كاملة بالمكونات المعروفة، والتي توضح أين يُوضع هذا النطاق مبدئيًا.
أُضيف في الإصدار 255.
--recovery-pin=
أُضيف في الإصدار 255.
--pcrlock=
أُضيف في الإصدار 255.
--policy=
أُضيف في الإصدار 255.
--force
أُضيف في الإصدار 255.
--entry-token=
أُضيف في الإصدار 256.
--quiet
أُضيف في الإصدار 258.
--json=وضع
--no-pager
-h، --help
--version
حالة الخروج¶
عند النجاح، يُعاد الرقم 0، وإلا فيُعاد رمز فشل غير صفري.
انظر أيضًا¶
systemd(1), systemd.pcrlock(5), systemd-cryptenroll(1), systemd-cryptsetup@.service(8), systemd-repart(8), systemd-pcrmachine.service(8), systemd-creds(1), systemd-stub(7), bootctl(1)
ملاحظات¶
- 1.
- تنسيق سجل أحداث TCG القانوني (CEL-JSON)
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| systemd 261~rc3 |