Pulsuz UNIX-ə bənzər əməliyyat sisteminin OpenBSD 7.4 buraxılışı təqdim olunur. OpenBSD layihəsi 1995-ci ildə NetBSD tərtibatçıları ilə münaqişədən sonra Teo de Raadt tərəfindən təsis edilib, nəticədə Teoya NetBSD CVS repozitoriyasına giriş qadağan edilib. Bundan sonra Teo de Raadt və bir qrup həmfikir insan NetBSD mənbə ağacına əsaslanan yeni açıq əməliyyat sistemi yaratdı, onun əsas inkişaf məqsədləri daşınma (13 aparat platforması dəstəklənir), standartlaşdırma, düzgün işləmə, proaktiv təhlükəsizlik idi. və inteqrasiya olunmuş kriptoqrafik alətlər. OpenBSD 7.4 baza sisteminin tam quraşdırma ISO təsviri 630 MB-dır.
Əməliyyat sisteminin özündən əlavə, OpenBSD layihəsi digər sistemlərdə geniş yayılmış və özünü ən təhlükəsiz və yüksək keyfiyyətli həllərdən biri kimi sübut edən komponentləri ilə tanınır. Onların arasında: LibreSSL (OpenSSL fork), OpenSSH, PF paket filtri, OpenBGPD və OpenOSPFD marşrutlaşdırma demonları, OpenNTPD NTP serveri, OpenSMTPD poçt serveri, mətn terminalı multipleksoru (GNU ekranının analoqu) tmux, IDENT protokolunun tətbiqi ilə identd demon, BSDL alternativi GNU groff paketi - mandoc, xətaya dözümlü sistemlərin təşkili üçün protokol CARP (Ümum Ünvan Redundancy Protocol), yüngül http server, OpenRSYNC fayl sinxronizasiya yardım proqramı.
Əsas təkmilləşdirmələr:
- Amd64 və i386 arxitekturaları üçün AMD prosessorları üçün mikrokodun yenilənməsi üçün komponentlər əlavə edilmişdir. Yeni mikrokod versiyaları yükləmə zamanı avtomatik quraşdırılır. Mikrokod ikili faylları yaymaq üçün "ports/sysutils/firmware/amd" adlı port yaradılmışdır. Yeni mikrokod standart fw_update yardım proqramından istifadə etməklə quraşdırılır. Intel prosessorları üçün oxşar mikrokod yeniləmə dəstəyi 2018-ci ildə həyata keçirilib və OpenBSD 6.3 buraxılışına daxil edilib.
- IBT (Dolaylı Şöbə İzləmə, amd64) və BTI (Branch Target Identification, arm64) mühafizə mexanizmləri nüvə və istifadəçi sahəsi üçün işə salınıb. Bu mexanizmlər yaddaşda saxlanılan funksiya göstəricilərini dəyişdirən istismarlardan istifadə nəticəsində normal icra qaydasının (nəzarət axını) pozulmasının qarşısını almaq üçün nəzərdə tutulmuşdur (həyata keçirilən mühafizə zərərli kodun funksiyanın ortasına keçməsinə imkan vermir).
- ARM64 arxitekturasına malik sistemlərdə istifadəçi məkanını qorumaq üçün göstərici identifikasiyası aktivləşdirilir. Bu texnologiya, göstəricinin özünün istifadə olunmamış yuxarı bitlərində saxlanılan rəqəmsal imzalardan istifadə edərək, qayıdış ünvanlarını yoxlamaq üçün xüsusi ARM64 təlimatlarına imkan verir.
- Clang sistemi kompilyator parametrləri, eləcə də portlardan gələn clang və gcc, yuxarıda qeyd olunan mühafizə mexanizmlərindən istifadə etmək üçün dəyişdirilib, geriyə yönümlü proqramlaşdırma (ROP) üsullarından istifadə edərək, bütün əsas proqramların və ən çox daşınan tətbiqlərin istismara qarşı qorunmasını əhəmiyyətli dərəcədə gücləndirib. ROP-dan istifadə edərək təcavüzkar öz kodunu yaddaşa yerləşdirməyə cəhd etmir, əksinə, geri qaytarma təlimatı ilə (adətən kitabxana funksiyalarının sonu) bitən yüklənmiş kitabxanalarda mövcud maşın təlimat hissələrini manipulyasiya edir. İstismar istənilən funksionallığı əldə etmək üçün belə bloklara (“qadcetlər”) zənglər silsiləsi qurmaqla işləyir.
- Yeni sistem çağırışı, kqueue1 əlavə edildi. O, kqueue-dən bayraqları keçməsi ilə fərqlənir. Hal-hazırda, kqueue1 yalnız exec() çağırdıqdan sonra uşaq prosesində fayl deskriptorlarını avtomatik bağlamaq üçün O_CLOEXEC (exec-də yaxın) bayrağını dəstəkləyir.
- Amd64 və i386 arxitekturaları üçün dinamik sistem və tətbiqlərin izlənilməsi üçün dt psevdo-cihazına dəstək tətbiq edilmişdir. Ktrace jurnalına istifadəçi tərəfindən müəyyən edilmiş qeydlərin daxil edilməsi üçün utrace sistem çağırışı əlavə edilmişdir.
- MS-DOS fayl sistemlərindən istifadə edərkən qeyri-müəyyən davranışı həll etmək üçün FreeBSD-dən daşınan düzəlişlər.
- Gecikmiş qruplaşdırılmış metadata yazmaq üçün istifadə edilən softdep quraşdırma seçimi deaktiv edilib.
- Açıq sistem çağırışı ilə qorunan proqramlara əsas zibilləri cari iş qovluğunda saxlamağa icazə verilir.
- ARM64 arxitekturası gücə qənaət etmək və gözləmə rejimini həyata keçirmək üçün Apple-ın M1/M2 çiplərində mövcud olan dərin boş vəziyyət imkanlarından istifadə edir.
- AMD prosessorlarında Zenbleed zəifliyi üçün həll yolu əlavə edildi.
- Çoxprosessorlu (SMP) sistemlər üçün dəstək təkmilləşdirilmişdir. Arprequest() funksiyası, daxil olan ARP paket emal kodu və IPv6 yığınında qonşu kəşf tətbiqi bloklanıb.
- Pfsync paket süzgəc cədvəlinin sinxronizasiya interfeysi kilidlə işləməyi və şəbəkə yığınının paralelləşdirilməsi üzrə gələcək işlərlə uyğunluğu yaxşılaşdırmaq üçün yenidən yazılmışdır.
- drm (Direct Rendering Manager) çərçivəsinin tətbiqi Linux kernel 6.1.55 (əvvəlki buraxılış: 6.1.15) ilə sinxronlaşdırılıb. Alder Lake və Raptor Lake mikroarxitekturalarına əsaslanan Intel prosessorları olan sistemlərdə təkmilləşdirilmiş performans.
- VMM hipervizorunda təkmilləşdirmələr aparılıb. Blok və şəbəkə virtio cihazları üçün çoxprosesli modelin dəstəyi vmd-də tətbiq edilib. Blok virtio cihazına sıfır surət rejimində vektor giriş/çıxışı üçün dəstək əlavə edilib. Qonaq sisteminin AMD prosessorunun p-vəziyyət rejimlərinə girişi məhdudlaşdırılıb. Sahiblər üçün virtual maşınlar vmctl vasitəsilə açılış nüvəsini yenidən yazmağa icazə verilir.
- char32_t və char16_t tipli uchar.h başlıq faylı və C11 standartında müəyyən edilmiş c32rtomb(), mbrtoc32(), c16rtomb() və mbrtoc16() funksiyaları əlavə edildi.
- Malloc funksiyası indi ktrace ("MALLOC_OPTIONS=D ktrace -tu proqramı") və kdump ("kdump -u malloc ...") istifadə edərək yaddaş sızıntılarını aşkar etmək üçün "D" seçiminə malikdir.
- make yardım proqramı bütün məruz qalmış qlobal dəyişənlərin adlarını göstərmək üçün ${.VARIABLES} dəyişənini dəstəkləmək üçün yeniləndi.
- kdump yardım proqramında indi verilmiş etiketlə utrace izləmə nöqtələrini seçmək üçün "-u" seçimi var.
- openrsync yardım proqramı "--size-only" və "--ignore-times" seçimləri ilə yenilənib.
- Cron və crontab indi müəyyən bir addımla dəyər diapazonlarını təyin edərkən təsadüfi ofsetləri dəstəkləyir, eyni cron qaydaları ilə müxtəlif maşınlardan eyni vaxtda resurs sorğularının qarşısını alır. Məsələn, dəqiqələr sahəsində "0~59/30" və ya "~/30" təyin etmək komandanın ardıcıl təsadüfi seçilmiş intervallarla saatda iki dəfə işləməsinə səbəb olacaq.
- Wsconsctl yardım proqramı indi ClickPad-də iki və ya üç barmaq klikləri üçün xəritəçəkmə düymələrini dəstəkləyir.
- Yeni hardware üçün əlavə dəstək və yeni sürücülər daxildir.
- armv7 və arm64 prosessorları olan sistemlərdə təkmilləşdirilmiş quraşdırma.
- EFI Sistem Bölməsindən faylları yükləmək üçün əlavə dəstək.
- Quraşdırıcı indi təkmilləşdirilmiş proqram təminatı RAID-i (softRAID) dəstəkləyir. Kök bölməni softRAID-də yerləşdirmək imkanı riscv64 və arm64 sistemlərində əlavə edilmişdir. Powerpc64 arxitekturası üçün ramdiskə SoftRAID əlavə edildi. Guided Disk Encryption dəstəyi arm64 üçün həyata keçirilib.
- malloc funksiyası indi boş yaddaş sahəsinə yazılanları aşkar etmək üçün gözləyən yaddaşın boşaldılması siyahısındakı bütün blokları yoxlayır.
- Bağlama əmrini yerinə yetirmək indi istifadəçini "_shutdown" qrupuna əlavə etməyi tələb edir ki, bu da bağlanma ilə bağlı imtiyazların ayrılmasına və disk cihazlarından birbaşa oxunmasına imkan verir.
- Açıq sistem çağırışından istifadə edərək, yamaq yardım proqramı yalnız cari kataloqa, müvəqqəti kataloqa və əmr satırında sadalanan fayllara daxil olmaq ilə məhdudlaşır.
- ND6 cavabını gözləyən paketlərin sayını göstərmək üçün sysctl net.inet6.icmp6.nd6_queued əlavə edildi (ARP-yə bənzər).
- Şəbəkə interfeysində IPv6 ünvanını konfiqurasiya edərkən, multicast ünvanı vasitəsilə qonşu marşrutlaşdırıcılara elan göndərilir.
- Şəbəkə kartı tərəfində seqmentin işlənməsi və paketlərin yığılması üçün TSO (TCP Seqmentasiya Boşaltma) və LRO (TCP Böyük Qəbul Boşaltma) üçün ilkin dəstək əlavə edildi.
- Pfctl yardım proqramı artıq pf paket filtri qaydalarını nüvədən daha sürətli yükləyir. ICMP vasitəsilə qaytarılan xəta mesajları üçün "saxlama vəziyyəti" və "nat-to" əməliyyatlarının işlənməsi aktivləşdirilib.
- Geri dönmə interfeysləri üçün IP, TCP və UDP yoxlama məbləğlərinin hesablanması qeyri-aktiv edilib.
- İlkin dəstək əlavə edildi VPN Marşrut əsaslı IPsec.
- Flowspec dəstəyi (RFC5575; hazırda yalnız flowspec qayda elanları dəstəklənir) bgpd-ə əlavə edildi. ASPA (Autonomous System Provider Authorization) tətbiqi layihə-ietf-sidrops-aspa-verification-16 və layihə-ietf-sidrops-aspa-profile-16 spesifikasiyalarına uyğunlaşdırılıb və AFI-dən (Ünvan Ailəsi Göstəricisi) müstəqil axtarış cədvəllərindən istifadəyə keçib.
- Rpki-müştəri performansı 30-50% yaxşılaşdırılıb. Gzip və deflate sıxılma dəstəyi əlavə edildi.
- LibreSSL və OpenSSH paketləri yeniləndi. Təkmilləşdirmələrin ətraflı icmalı üçün LibreSSL 3.8.0, OpenSSH 9.4 və OpenSSH 9.5-in rəylərinə baxın.
- AMD64 arxitekturası üçün portların sayı indi 11 845 (11 764-dən çox), aarch64 üçün 11 508 (11 561-dən çox) və i386 üçün 10 603 (10 572-dən çox) təşkil edir. Limanlardakı tətbiq versiyalarına aşağıdakılar daxildir:
- Ulduz 16.30.1, 18.19.0b, 20.4.0
- Audacity 3.3.3
- CMake 3.27.5
- Xrom 117.0.5938.149
- Emacs 29.1
- ffmpeg 4.4.4
- GCC 8.4.0 və 11.2.0
- GHC 9.2.7
- GNOME 44
- 1.21.1 gedin
- JDK 8u382, 11.0.20 və 17.0.8
- KDE Proqramlar 23.08.0
- KDE Frameworks 5.110.0
- Krita 5.1.5
- LLVM/Clang 13.0.0 və 16.0.6
- LibreOffice 7.6.2.1
- Lua 5.1.5, 5.2.4, 5.3.6 və 5.4.6
- MariaDB 10.9.6
- Meymun 6.12.0.199
- Mozilla Firefox 118.0.1 və ESR 115.3.1
- Mozilla Thunderbird 115.3.1
- Mutt 2.2.12 və NeoMutt 20230517
- Node.js 18.18.0
- OpenLDAP 2.6.6
- PHP 7.4.33, 8.0.30, 8.1.24 və 8.2.11
- Postfiks 3.7.3
- PostgreSQL 15.4
- Python 2.7.18, 3.9.18, 3.10.13 və 3.11.5
- Qt 5.15.10 və 6.5.2
- R 4.2.3
- Ruby 3.0.6, 3.1.4 və 3.2.2
- Pas 1.72.1
- SQLite 3.42.0
- Shotcut 23.07.29
- Sudo 1.9.14.2
- Meerkat 6.0.12
- Tcl/Tk 8.5.19 və 8.6.13
- Tex Live 2022
- Vim 9.0.1897 və Neovim 0.9.1
- Xfce 4.18
- OpenBSD 7.3-ə daxil edilmiş yenilənmiş üçüncü tərəf komponentləri:
- Xserver 7.7 + yamaqları, freetype 21.1.8, fontconfig 2.13.0, Mesa 2.14.2, xterm 22.3.7, xkeyboard-config 378, fonttosfnt 2.20 ilə X.Org 1.2.2 əsasında Xenocara qrafikası yığını.
- LLVM/Clang 13.0.0 (+ yamalar)
- GCC 4.2.1 (+ yamalar) və 3.3.6 (+ yamalar)
- Perl 5.36.1 (+ yamalar)
- YOX 4.7.0
- Bağlanmayan 1.18
- Lənətlər 5.7
- Binutils 2.17 (+ yamalar)
- Gdb 6.3 (+ yamaq)
- Awk 12.9.2023/XNUMX/XNUMX
- Expat 2.5.0.
Mənbə: opennet.ru
