إصدار مدير نظام systemd 243

بعد خمسة أشهر من التطوير المقدمة الافراج عن مدير النظام systemd 243. من بين الابتكارات ، يمكننا ملاحظة التكامل في PID 1 لمعالج نفاد الذاكرة في النظام ، ودعم إرفاق برامج BPF الخاصة لتصفية حركة مرور الوحدات ، والعديد من الخيارات الجديدة لـ systemd-networkd ، ووضع لمراقبة عرض النطاق الترددي لواجهات الشبكة ، مما يتيح افتراضيًا على أنظمة 64 بت 22 بت PIDs بدلاً من 16 بت ، الانتقال إلى التسلسل الهرمي لمجموعات c الموحدة ، المضمنة في systemd-network-generator.

التغييرات الرئيسية:

  • تمت إضافة التعرف على إشارات خارج الذاكرة التي تم إنشاؤها بواسطة kernel (Out-Of-Memory، OOM) إلى معالج PID 1 لوضع الوحدات التي وصلت إلى الحد الأقصى لاستهلاك الذاكرة في حالة خاصة مع خيار إجبارها على الإنهاء أو توقف
  • معلمات جديدة IPIngressFilterPath و
    IPEgressFilterPath ، والذي يسمح لك بتوصيل برامج BPF بمعالجات عشوائية لتصفية حزم IP الواردة والصادرة الناتجة عن العمليات المرتبطة بهذه الوحدة. تسمح لك الميزات المقترحة بإنشاء نوع من جدران الحماية لخدمات systemd. مثال الكتابة مرشح شبكة بسيط يعتمد على BPF ؛

  • تمت إضافة الأمر "clean" إلى الأداة المساعدة systemctl لإزالة ذاكرة التخزين المؤقت وملفات وقت التشغيل ومعلومات الحالة وأدلة السجل ؛
  • دعم إضافي لواجهات شبكة MACsec و nlmon و IPVTAP و Xfrm إلى systemd-networkd ؛
  • يقوم systemd-networkd بتنفيذ تكوين منفصل لحزم DHCPv4 و DHCPv6 من خلال أقسام "[DHCPv4]" و "[DHCPv6]" في ملف التكوين. تمت إضافة خيار RoutesToDNS لإضافة مسار منفصل إلى خادم DNS المحدد في المعلمات المستلمة من خادم DHCP (بحيث يتم إرسال حركة المرور إلى DNS من خلال نفس الرابط مثل المسار الرئيسي المستلم من DHCP). تمت إضافة خيارات جديدة لـ DHCPv4: عدد المحاولات - الحد الأقصى لعدد الطلبات للحصول على عنوان ، القائمة السوداء - القائمة السوداء لخوادم DHCP ، SendRelease - تمكين إرسال رسائل إصدار DHCP عند انتهاء الجلسة ؛
  • تمت إضافة أوامر جديدة إلى الأداة المساعدة systemd-analysis:
    • "systemd-analysis timestamp" - تحليل الوقت وتحويله ؛
    • "systemd-analysis الفاصل الزمني" - تحليل الفترات الزمنية وتحويلها ؛
    • "systemd-analysis condition" - تحليل واختبار تعبيرات ConditionXYZ ؛
    • "systemd-analysis-status" - تحليل وتحويل رموز الخروج من الأرقام إلى الأسماء والعكس بالعكس ؛
    • "systemd-analysis unit-files" - يسرد جميع مسارات الملفات للوحدات والأسماء المستعارة للوحدات.
  • خيارات SuccessExitStatus و RestartPreventExitStatus و
    لا تدعم RestartForceExitStatus الآن رموز الإرجاع الرقمية فحسب ، بل تدعم أيضًا معرفات النص (مثل "DATAERR"). يمكنك عرض قائمة الرموز الملزمة للمعرفات من خلال الأمر "sytemd-analysis exit-status" ؛

  • تمت إضافة الأمر "delete" إلى الأداة المساعدة networkctl لإزالة أجهزة الشبكة الافتراضية ، وكذلك خيار "-stats" لعرض إحصائيات الجهاز ؛
  • تمت إضافة إعدادات SpeedMeter و SpeedMeterIntervalSec إلى networkd.conf لقياس إنتاجية واجهات الشبكة بشكل دوري. يمكن عرض الإحصائيات التي تم الحصول عليها من نتائج القياس في إخراج الأمر "networkctl status" ؛
  • تمت إضافة أداة جديدة لإنشاء الملفات
    .network و .netdev و. link استنادًا إلى إعدادات IP التي تم تمريرها عند بدء التشغيل عبر سطر أوامر Linux kernel بتنسيق إعدادات Dracut ؛

  • يتم الآن تعيين قيمة sysctl "kernel.pid_max" في أنظمة 64 بت افتراضيًا على 4194304 (22 بت PID بدلاً من 16 بت) ، مما يقلل من احتمالية حدوث تضارب عند تعيين معرفات PID ، ويزيد من الحد على عدد عمليات تشغيل في وقت واحد ، ولها تأثير إيجابي على الأمن. يحتمل أن يؤدي التغيير إلى مشاكل التوافق ، ولكن في الممارسة العملية ، لم يتم الإبلاغ عن هذه المشاكل بعد ؛
  • بشكل افتراضي ، في مرحلة البناء ، تم الانتقال إلى التسلسل الهرمي الموحد cgroups-v2 ("-Ddefault-hierarchy = unified"). سابقًا ، تم تعيين الوضع المختلط افتراضيًا ("-Ddefault-hierarchy = hybrid") ؛
  • تم تغيير سلوك مرشح استدعاء النظام (SystemCallFilter) ، والذي ، في حالة استدعاء النظام المحظور ، ينهي الآن العملية بأكملها ، وليس الخيوط الفردية (الخيط) ، لأن إنهاء سلاسل العمليات الفردية قد يؤدي إلى مشاكل غير متوقعة . هذا التغيير صالح فقط إذا كان لديك Linux kernel 4.14+ و libseccomp 2.4.0+ ؛
  • تُمنح البرامج غير المتميزة القدرة على إرسال حزم ICMP Echo (ping) عن طريق تعيين sysctl "net.ipv4.ping_group_range" لمجموعة كاملة من المجموعات (لجميع العمليات) ؛
  • لتسريع عملية الإنشاء ، يتم إيقاف إنشاء أدلة المستخدم افتراضيًا (لإنشاء وثائق كاملة ، تحتاج إلى استخدام الخيار "-Dman = true" أو "-Dhtml = true" للأدلة بتنسيق html). لتسهيل تصفح الوثائق ، تم تضمين نصين ، بناء / رجل / رجل وبناء / رجل / html ، لإنشاء ومعاينة الكتيبات ذات الأهمية ؛
  • لمعالجة أسماء النطاقات بأحرف أبجدية وطنية ، يتم استخدام مكتبة libidn2 افتراضيًا (لإرجاع libidn ، استخدم الخيار "-Dlibidn = true") ؛
  • توقف دعم الملف القابل للتنفيذ /usr/sbin/halt.local ، والذي يوفر وظائف لم يتم توزيعها على نطاق واسع في التوزيعات. لتنظيم إطلاق الأوامر عند الإغلاق ، يوصى باستخدام البرامج النصية في / usr / lib / systemd / system-shutdown / أو تحديد وحدة جديدة تعتمد على final.target ؛
  • في المرحلة الأخيرة من إيقاف التشغيل ، يقوم systemd الآن تلقائيًا بزيادة مستوى التسجيل في sysctl "kernel.printk" ، والذي يحل مشكلة عرض الأحداث في السجل التي حدثت في المراحل المتأخرة من الإغلاق ، عندما تم الانتهاء بالفعل من شياطين التسجيل العادية ؛
  • في Journalctl والأدوات المساعدة الأخرى التي تعرض السجلات ، يتم تمييز التحذيرات باللون الأصفر ، ويتم تمييز سجلات التدقيق باللون الأزرق لتمييزها بصريًا من الحشد ؛
  • في متغير البيئة $ PATH ، يأتي المسار إلى bin / الآن قبل المسار إلى sbin / ، أي إذا كانت هناك أسماء متطابقة للملفات القابلة للتنفيذ في كلا المجلدين ، فسيتم تنفيذ الملف من bin / ؛
  • يوفر systemd-logind استدعاء SetBrightness () لتغيير سطوع الشاشة بأمان على أساس كل جلسة ؛
  • تمت إضافة علامة "--wait-for-initialization" إلى الأمر "udevadm info" لانتظار اكتمال تهيئة الجهاز ؛
  • أثناء تمهيد النظام ، يعرض معالج PID 1 الآن أسماء الوحدات ، بدلاً من سطر مع وصفها. لإرجاع السلوك السابق ، يمكنك استخدام خيار StatusUnitFormat في /etc/systemd/system.conf أو خيار systemd.status_unit_format kernel ؛
  • تمت إضافة الخيار KExecWatchdogSec إلى /etc/systemd/system.conf للرقابة في PID 1 لتحديد مهلة إعادة التشغيل باستخدام kexec. الإعداد القديم
    إعادة تسمية ShutdownWatchdogSec إلى RebootWatchdogSec ويحدد مهلة للوظائف أثناء إيقاف التشغيل أو إعادة التشغيل العادي ؛

  • تمت إضافة خيار جديد للخدمات شرط Exec، والذي يسمح لك بتحديد الأوامر التي سيتم تنفيذها قبل ExecStartPre. بناءً على رمز الخطأ الذي تم إرجاعه بواسطة الأمر ، يتم اتخاذ قرار بشأن التنفيذ الإضافي للوحدة - إذا تم إرجاع الرمز 0 ، يستمر تشغيل الوحدة ، إذا تم إكمالها من 1 إلى 254 بصمت دون وضع علامة على حدوث الفشل ، إذا اكتمل 255 بعلامة حدوث الفشل ؛
  • تمت إضافة خدمة systemd-pstore.service جديدة لاسترداد البيانات من sys / fs / pstore / وحفظها في / var / lib / pstore لمزيد من التحليل ؛
  • تمت إضافة أوامر جديدة إلى الأداة المساعدة timedatectl لتكوين إعدادات NTP لـ systemd-timeyncd فيما يتعلق بواجهات الشبكة ؛
  • إيقاف إظهار لغات غير UTF-8 في أمر "localectl list-locales" ؛
  • تم تنفيذ تجاهل لأخطاء التخصيص المتغيرة في sysctl.d / files إذا كان اسم المتغير يبدأ بالحرف "-" ؛
  • خدمة خدمة بذور النظام العشوائية أصبح الآن مسؤولاً بشكل كامل عن تهيئة تجمع إنتروبيا لمولد الأرقام الزائف العشوائي لـ Linux kernel. يجب أن تبدأ الخدمات التي تتطلب تهيئة / dev / urandom بشكل صحيح بعد systemd-random-seed.service ؛
  • يحتوي برنامج bootloader systemd-boot على خيار الصيانة ملف البذور مع تسلسل عشوائي في قسم نظام EFI (ESP) ؛
  • تمت إضافة أوامر جديدة "bootctl random-seed" إلى الأداة المساعدة bootctl لإنشاء ملف أولي في ESP و "bootctl مثبت" للتحقق من تثبيت برنامج bootloader systemd-boot. يوفر Bootctl أيضًا تحذيرات حول إدخالات التمهيد التي تم تكوينها بشكل غير صحيح (على سبيل المثال ، عند حذف صورة kernel ، ولكن يتم ترك الإدخال الخاص بالتمهيد) ؛
  • تم توفير الاختيار التلقائي لقسم التبديل عندما يدخل النظام في وضع السكون. يتم تحديد القسم بناءً على الأولوية التي تم تكوينها له ، وفي حالة الأولويات المتطابقة ، مقدار المساحة الخالية ؛
  • تمت إضافة خيار keyfile-timeout إلى / etc / crypttab لتعيين المدة التي ينتظرها الجهاز مع مفتاح التشفير قبل المطالبة بكلمة مرور للوصول إلى القسم المشفر ؛
  • تمت إضافة خيار IOWeight لتعيين وزن الإدخال / الإخراج لجدولة BFQ ؛
  • أضاف systemd -olved وضع تشغيل "صارم" لـ DNS-over-TLS ونفذ القدرة على تخزين استجابات DNS الإيجابية فقط مؤقتًا ("Cache no-negative" inolved.conf) ؛
  • بالنسبة لـ VXLAN ، تمت إضافة خيار GenericProtocolExtension إلى systemd-networkd لتمكين ملحقات بروتوكول VXLAN. بالنسبة لـ VXLAN و GENEVE ، تمت إضافة خيار IPDoNotFragment لتعيين علامة no التجزئة للحزم الصادرة ؛
  • في systemd-networkd ، في قسم "[المسار]" ، ظهر خيار FastOpenNoCookie لتمكين آلية الاتصال السريع TCP Fast Open (TFO - RFC 7413) فيما يتعلق بالمسارات الفردية ، بالإضافة إلى خيار TTLPropagate لتكوين TTL LSP (تسمية مسار تبديل). يوفر خيار "النوع" الدعم للأوضاع المحلية ، والبثية ، والبثية ، والبث المتعدد ، وأي أوضاع توجيه xresolve ؛
  • يوفر systemd-networkd خيار DefaultRouteOnDevice في قسم "[الشبكة]" لتكوين مسار افتراضي لجهاز شبكة معين تلقائيًا ؛
  • تمت إضافة خيارات ProxyARP إلى systemd-networkd لجسور الشبكة و
    ProxyARPWifi لتكوين سلوك الوكيل ARP ، MulticastRouter لتعيين معلمات التوجيه في وضع الإرسال المتعدد ، MulticastIGMPVersion لتغيير إصدار IGMP (بروتوكول إدارة مجموعة الإنترنت) للبث المتعدد ؛

  • أضاف Systemd-networkd خيارات Local و Peer و PeerPort لأنفاق FooOverUDP لتكوين عناوين IP المحلية والبعيدة ورقم منفذ الشبكة. تمت إضافة خيار VnetHeader لأنفاق TUN لتكوين دعم GSO (إلغاء تحميل المقطع العام) ؛
  • في systemd-networkd ، في ملفات .network و. link ، في قسم [Match] ، ظهر خيار الخاصية ، والذي يسمح لك بتحديد الأجهزة حسب الخصائص الخاصة بها في udev ؛
  • تمت إضافة خيار AssignToLoopback إلى systemd-networkd للأنفاق للتحكم في ما إذا كانت نهاية النفق مرتبطة بجهاز الاسترجاع "lo" ؛
  • يقوم systemd-networkd تلقائيًا بتنشيط مكدس IPv6 إذا تم حظره عبر sysctl disable_ipv6 - يتم تنشيط IPv6 إذا تم تحديد إعدادات IPv6 (ثابت أو DHCPv6) لواجهة الشبكة ، وإلا فلن تتغير قيمة sysctl المحددة بالفعل ؛
  • في ملفات الشبكة ، تم استبدال الإعداد CriticalConnection بخيار KeepConfiguration ، والذي يوفر المزيد من الوسائل لتحديد المواقف ("نعم" ، "ثابت" ، "dhcp-on-stop" ، "dhcp") التي يجب على systemd-networkd فيها لا تلمس الاتصالات الموجودة عند بدء التشغيل ؛
  • تم إصلاح الضعف CVE-2019-15718، بسبب نقص التحكم في الوصول إلى واجهة D-Bus التي تم حلها بواسطة systemd. تسمح المشكلة لمستخدم لا يتمتع بامتيازات بإجراء عمليات يمكن للمسؤولين فقط القيام بها ، مثل تغيير إعدادات DNS وتوجيه استعلامات DNS إلى خادم وهمي ؛
  • تم إصلاح الضعف CVE-2019-9619تتعلق بعدم تمكين pam_systemd للجلسات غير التفاعلية ، مما يسمح بانتحال الجلسة النشطة.

المصدر: opennet.ru

إضافة تعليق