rilis manajer sistem systemd 243

Setelah lima bulan pengembangan disajikan rilis manajer sistem systemd 243. Di antara inovasi tersebut, kita dapat mencatat integrasi ke dalam PID 1 dari pengendali untuk memori rendah dalam sistem, dukungan untuk melampirkan program BPF Anda sendiri untuk memfilter lalu lintas unit, banyak opsi baru untuk systemd-networkd, mode untuk memantau bandwidth jaringan antarmuka, mengaktifkan secara default pada sistem 64-bit nomor PID 22-bit, bukan 16-bit, transisi ke hierarki cgroup terpadu, penyertaan dalam generator jaringan-systemd.

Perubahan besar:

  • Pengenalan sinyal yang dihasilkan kernel tentang kehabisan memori (Out-Of-Memory, OOM) telah ditambahkan ke pengendali PID 1 untuk mentransfer unit yang telah mencapai batas konsumsi memori ke keadaan khusus dengan kemampuan opsional untuk memaksanya untuk berhenti. atau berhenti;
  • Untuk file unit, parameter baru IPIngressFilterPath dan
    IPEgressFilterPath, yang memungkinkan Anda menghubungkan program BPF dengan penangan arbitrer untuk memfilter paket IP masuk dan keluar yang dihasilkan oleh proses yang terkait dengan unit ini. Fitur yang diusulkan memungkinkan Anda membuat semacam firewall untuk layanan systemd. Contoh penulisan filter jaringan sederhana berdasarkan BPF;

  • Perintah "bersih" telah ditambahkan ke utilitas systemctl untuk menghapus cache, file runtime, informasi status dan direktori log;
  • systemd-networkd menambahkan dukungan untuk antarmuka jaringan MACsec, nlmon, IPVTAP dan Xfrm;
  • systemd-networkd mengimplementasikan konfigurasi terpisah dari tumpukan DHCPv4 dan DHCPv6 melalui bagian “[DHCPv4]” dan “[DHCPv6]” di file konfigurasi. Menambahkan opsi RoutesToDNS untuk menambahkan rute terpisah ke server DNS yang ditentukan dalam parameter yang diterima dari server DHCP (sehingga lalu lintas ke DNS dikirim melalui tautan yang sama dengan rute utama yang diterima dari DHCP). Opsi baru telah ditambahkan untuk DHCPv4: MaxAttempts - jumlah maksimum permintaan untuk mendapatkan alamat, BlackList - daftar hitam server DHCP, SendRelease - aktifkan pengiriman pesan DHCP RELEASE saat sesi berakhir;
  • Perintah baru telah ditambahkan ke utilitas systemd-analyze:
    • "systemd-analyze timestamp" - penguraian dan konversi waktu;
    • "systemd-analyze timespan" - analisis dan konversi periode waktu;
    • "kondisi analisis sistem" - penguraian dan pengujian ekspresi ConditionXYZ;
    • "systemd-analyze exit-status" - mengurai dan mengubah kode keluar dari angka menjadi nama dan sebaliknya;
    • "systemd-analyze unit-files" - Mencantumkan semua jalur file untuk unit dan alias unit.
  • Pilihan SuccessExitStatus, RestartPreventExitStatus dan
    RestartForceExitStatus sekarang tidak hanya mendukung kode pengembalian numerik, tetapi juga pengidentifikasi teksnya (misalnya, "DATAERR"). Anda dapat melihat daftar kode yang ditetapkan ke pengidentifikasi menggunakan perintah “sytemd-analyze exit-status”;

  • Perintah “hapus” telah ditambahkan ke utilitas networkctl untuk menghapus perangkat jaringan virtual, serta opsi “—stats” untuk menampilkan statistik perangkat;
  • Pengaturan SpeedMeter dan SpeedMeterIntervalSec telah ditambahkan ke networkd.conf untuk mengukur throughput antarmuka jaringan secara berkala. Statistik yang diperoleh dari hasil pengukuran dapat dilihat pada output perintah 'status jaringan';
  • Menambahkan utilitas baru systemd-network-generator untuk menghasilkan file
    .network, .netdev, dan .link berdasarkan pengaturan IP yang diteruskan saat diluncurkan melalui baris perintah kernel Linux dalam format pengaturan Dracut;

  • Nilai sysctl "kernel.pid_max" pada sistem 64-bit sekarang disetel secara default ke 4194304 (PID 22-bit, bukan 16-bit), yang mengurangi kemungkinan tabrakan saat menetapkan PID, meningkatkan batas jumlah secara bersamaan proses yang berjalan, dan memiliki dampak positif pada keamanan. Perubahan ini berpotensi menyebabkan masalah kompatibilitas, namun masalah tersebut belum pernah dilaporkan dalam praktiknya;
  • Secara default, tahap pembangunan beralih ke hierarki terpadu cgroups-v2 (“-Ddefault-hierarchy=unified”). Sebelumnya, defaultnya adalah mode hybrid (“-Ddefault-hierarchy=hybrid”);
  • Perilaku filter panggilan sistem (SystemCallFilter) telah diubah, yang, jika terjadi panggilan sistem yang dilarang, kini menghentikan seluruh proses, bukan thread individual, karena mengakhiri thread individual dapat menyebabkan masalah yang tidak dapat diprediksi. Perubahan hanya berlaku jika Anda memiliki kernel Linux 4.14+ dan libseccomp 2.4.0+;
  • Program yang tidak memiliki hak istimewa diberikan kemampuan untuk mengirim paket ICMP Echo (ping) dengan mengatur sysctl "net.ipv4.ping_group_range" untuk seluruh rentang grup (untuk semua proses);
  • Untuk mempercepat proses pembuatan, pembuatan manual manual telah dihentikan secara default (untuk membuat dokumentasi lengkap, Anda perlu menggunakan opsi “-Dman=true” atau “-Dhtml=true” untuk manual dalam format html). Untuk mempermudah melihat dokumentasi, dua skrip disertakan: build/man/man dan build/man/html untuk membuat dan melihat pratinjau manual yang menarik;
  • Untuk memproses nama domain dengan karakter dari alfabet nasional, perpustakaan libidn2 digunakan secara default (untuk mengembalikan libidn, gunakan opsi “-Dlibidn=true”);
  • Dukungan untuk file executable /usr/sbin/halt.local, yang menyediakan fungsionalitas yang tidak didistribusikan secara luas di distribusi, telah dihentikan. Untuk mengatur peluncuran perintah saat mematikan, disarankan untuk menggunakan skrip di /usr/lib/systemd/system-shutdown/ atau menentukan unit baru yang bergantung pada final.target;
  • Pada tahap terakhir pematian, systemd sekarang secara otomatis meningkatkan level log di sysctl "kernel.printk", yang memecahkan masalah dengan menampilkan peristiwa log yang terjadi pada tahap pematian selanjutnya, ketika daemon logging biasa telah selesai ;
  • Dalam jurnalctl dan utilitas lain yang menampilkan log, peringatan disorot dengan warna kuning, dan catatan audit disorot dengan warna biru untuk menyorotnya secara visual dari yang lain;
  • Dalam variabel lingkungan $PATH, jalur ke bin/ sekarang berada sebelum jalur ke sbin/, yaitu. jika ada nama yang sama dari file yang dapat dieksekusi di kedua direktori, file dari bin/ akan dieksekusi;
  • systemd-logind menyediakan panggilan SetBrightness() untuk mengubah kecerahan layar dengan aman setiap sesi;
  • Bendera “--tunggu-inisialisasi” telah ditambahkan ke perintah “udevadm info” untuk menunggu perangkat melakukan inisialisasi;
  • Selama boot sistem, pengendali PID 1 sekarang menampilkan nama unit, bukan baris dengan deskripsinya. Untuk kembali ke perilaku sebelumnya, Anda dapat menggunakan opsi StatusUnitFormat di /etc/systemd/system.conf atau opsi kernel systemd.status_unit_format;
  • Menambahkan opsi KExecWatchdogSec ke /etc/systemd/system.conf untuk pengawas PID 1, yang menentukan batas waktu untuk memulai ulang menggunakan kexec. Pengaturan lama
    ShutdownWatchdogSec telah diubah namanya menjadi RebootWatchdogSec dan menentukan batas waktu untuk pekerjaan selama shutdown atau restart normal;

  • Opsi baru telah ditambahkan untuk layanan Kondisi Eksekusi, yang memungkinkan Anda menentukan perintah yang akan dijalankan sebelum ExecStartPre. Berdasarkan kode kesalahan yang dikembalikan oleh perintah, keputusan dibuat untuk mengeksekusi unit lebih lanjut - jika kode 0 dikembalikan, peluncuran unit dilanjutkan, jika dari 1 hingga 254 berakhir secara diam-diam tanpa tanda kegagalan, jika 255 berakhir dengan bendera kegagalan;
  • Menambahkan layanan baru systemd-pstore.service untuk mengekstrak data dari sys/fs/pstore/ dan dari menyimpan ke /var/lib/pstore untuk analisis lebih lanjut;
  • Perintah baru telah ditambahkan ke utilitas timedatectl untuk mengonfigurasi parameter NTP untuk systemd-timesyncd sehubungan dengan antarmuka jaringan;
  • Perintah "localectl list-locales" tidak lagi menampilkan lokal selain UTF-8;
  • Memastikan kesalahan penetapan variabel dalam file sysctl.d/ diabaikan jika nama variabel dimulai dengan karakter “-“;
  • Layanan systemd-random-seed.service sekarang sepenuhnya bertanggung jawab untuk menginisialisasi kumpulan entropi generator nomor pseudorandom kernel Linux. Layanan yang memerlukan /dev/urandom yang diinisialisasi dengan benar harus dimulai setelah systemd-random-seed.service;
  • Boot loader systemd-boot menyediakan kemampuan opsional untuk mendukung berkas benih dengan urutan acak di Partisi Sistem EFI (ESP);
  • Perintah baru telah ditambahkan ke utilitas bootctl: “bootctl random-seed” untuk menghasilkan file seed di ESP dan “bootctl is-installed” untuk memeriksa instalasi boot loader systemd-boot. bootctl juga telah disesuaikan untuk menampilkan peringatan tentang konfigurasi entri boot yang salah (misalnya, ketika image kernel dihapus, tetapi entri untuk memuatnya tetap ada);
  • Menyediakan pemilihan partisi swap secara otomatis saat sistem masuk ke mode tidur. Partisi dipilih tergantung pada prioritas yang dikonfigurasi untuknya, dan jika prioritasnya sama, jumlah ruang kosong;
  • Menambahkan opsi batas waktu file kunci ke /etc/crypttab untuk mengatur berapa lama perangkat dengan kunci enkripsi akan menunggu sebelum meminta kata sandi untuk mengakses partisi terenkripsi;
  • Menambahkan opsi IOWeight untuk mengatur bobot I/O untuk penjadwal BFQ;
  • systemd-resolved menambahkan mode operasi 'ketat' untuk DNS-over-TLS dan mengimplementasikan kemampuan untuk menyimpan cache hanya respons DNS positif ("Cache no-negative" diresolved.conf);
  • Untuk VXLAN, systemd-networkd telah menambahkan opsi GenericProtocolExtension untuk mengaktifkan ekstensi protokol VXLAN. Untuk VXLAN dan GENEVE, opsi IPDoNotFragment telah ditambahkan untuk menyetel tanda larangan fragmentasi untuk paket keluar;
  • Di systemd-networkd, di bagian “[Route]”, opsi FastOpenNoCookie telah muncul untuk mengaktifkan mekanisme pembukaan koneksi TCP dengan cepat (TFO - TCP Fast Open, RFC 7413) sehubungan dengan rute individual, serta opsi TTLPropagate untuk mengkonfigurasi TTL LSP (Label Switched Path). Opsi "Jenis" menyediakan dukungan untuk mode perutean lokal, siaran, anycast, multicast, apa saja, dan xresolve;
  • Systemd-networkd menawarkan opsi DefaultRouteOnDevice di bagian “[Jaringan]” untuk secara otomatis mengonfigurasi rute default untuk perangkat jaringan tertentu;
  • Systemd-networkd telah menambahkan ProxyARP dan
    ProxyARPWifi untuk mengatur perilaku proxy ARP, MulticastRouter untuk mengatur parameter routing dalam mode multicast, MulticastIGMPVersion untuk mengubah versi IGMP (Internet Group Management Protocol) untuk multicast;

  • Systemd-networkd telah menambahkan opsi Lokal, Peer, dan PeerPort untuk terowongan FooOverUDP guna mengonfigurasi alamat IP lokal dan jarak jauh, serta nomor port jaringan. Untuk terowongan TUN, opsi VnetHeader telah ditambahkan untuk mengonfigurasi dukungan GSO (Generic Segment Offload);
  • Di systemd-networkd, di file .network dan .link di bagian [Match], opsi Properti telah muncul, yang memungkinkan Anda mengidentifikasi perangkat berdasarkan properti spesifiknya di udev;
  • Di systemd-networkd, opsi AssignToLoopback telah ditambahkan untuk terowongan, yang mengontrol apakah ujung terowongan ditetapkan ke perangkat loopback “lo”;
  • systemd-networkd secara otomatis mengaktifkan tumpukan IPv6 jika diblokir melalui sysctldisable_ipv6 - IPv6 diaktifkan jika pengaturan IPv6 (statis atau DHCPv6) ditentukan untuk antarmuka jaringan, jika tidak, nilai sysctl yang sudah ditetapkan tidak akan berubah;
  • Dalam file .network, pengaturan CriticalConnection telah digantikan oleh opsi KeepConfiguration, yang memberikan lebih banyak cara untuk mendefinisikan situasi (“yes”, “static”, “dhcp-on-stop”, “dhcp”) di mana systemd-networkd seharusnya jangan menyentuh koneksi yang ada saat startup;
  • Kerentanan diperbaiki CVE-2019-15718, disebabkan oleh kurangnya kontrol akses ke antarmuka D-Bus yang diselesaikan sistem. Masalah ini memungkinkan pengguna yang tidak memiliki hak istimewa untuk melakukan operasi yang hanya tersedia bagi administrator, seperti mengubah pengaturan DNS dan mengarahkan permintaan DNS ke server jahat;
  • Kerentanan diperbaiki CVE-2019-9619terkait dengan tidak mengaktifkan pam_systemd untuk sesi non-interaktif, yang memungkinkan spoofing dari sesi aktif.

Sumber: opennet.ru

Tambah komentar