rilascio di un sistema operativo simile a UNIX, multipiattaforma . Il progetto OpenBSD è stato fondato da Theo de Raadt nel 1995, dopo con gli sviluppatori di NetBSD, a seguito del quale l'accesso di Theo al repository CVS di NetBSD è stato bloccato. Dopo questo, Theo de Raadt insieme a un gruppo di sostenitori ha creato un nuovo sistema operativo open source basato sull'albero dei sorgenti di NetBSD, i cui principali obiettivi di sviluppo sono stati la portabilità ( 13 piattaforme hardware), standardizzazione, funzionamento corretto, sicurezza attiva e strumenti crittografici integrati. La dimensione dell'immagine ISO completa del la dimensione di base del sistema OpenBSD 6.5 è di 407 MB.
Oltre al sistema operativo stesso, il progetto OpenBSD è noto per i suoi componenti, che hanno trovato diffusione in altri sistemi e si sono distinti come tra le soluzioni più sicure e di qualità. Tra questi: ( OpenSSL), , filtro pacchetto , demoni di routing , server NTP , server di posta , multiplexer di terminale testuale (analogo a GNU screen) , demone con l'implementazione del protocollo IDENT, un'alternativa BSDL al pacchetto GNU groff — , protocollo per l'organizzazione di sistemi fault-tolerant CARP (Common Address Redundancy Protocol), leggero , utility di sincronizzazione dei file .
Tra le modifiche più significative: è stata presentata una versione portatile di bgpd, adattata per funzionare su altri sistemi operativi, eliminati i privilegi di root in Xenocara e tcpdump, per amd64 e i386 è stato utilizzato di default il linker LDD, notevolmente migliorato il supporto per MPLS, rafforzata la protezione contro gli exploit basati su tecniche di programmazione orientata al ritorno (ROP), è stato aggiunto il semplice server DNS ricorsivo unwind, integrato nel kernel un rivelatore di comportamento indefinito, è stata presentata una propria implementazione dello strumento rsync.
Principali :
- Nella compilazione per le architetture amd64 e i386 è stato usato di default il linker LDD, sviluppato dal progetto LLVM. Per l'architettura mips64 è stato aggiunto il supporto per la compilazione utilizzando Clang;
- Nuovi driver pvclock per il timer KVM para-virtualizzato e ixl per Ethernet Intel 700. Il driver uaudio è stato sostituito con una nuova implementazione con supporto per USB Audio 2.0.
- Migliorato il funzionamento dei driver per dispositivi wireless bwfm, iwn, iwm e athn. Nel stack wireless è stato aggiunto il supporto per i messaggi RTM_80211INFO per il passaggio di informazioni dettagliate sullo stato dell'interfaccia ai comandi dhclient e route. Modificato il comportamento silenzioso durante la connessione a reti wireless: quando è presente un elenco di connessione automatica configurato, OpenBSD ora non si connette a reti aperte sconosciute (per ripristinare il comportamento precedente è possibile aggiungere una rete vuota all'elenco);
- Nel stack di rete sono stati presentati nuovi driver di pseudo-dispositivi bpe (Backbone Provider Edge) e mpip (MPLS IP layer 2). Per le interfacce MPLS è stato aggiunto il supporto per la configurazione di domini di instradamento alternativi. Garantito il funzionamento del driver vlan evitando la gestione delle code con uscita direttamente nell'interfaccia di rete principale. In ifconfig è stato aggiunto il modo txprio per gestire la codifica della priorità negli header dei pacchetti tunnelizzati (supportato per driver vlan, gre, gif ed etherip);
- Nell'implementazione del filtro bpf è stata aggiunta la possibilità di applicare meccanismi di scarto (drop) senza catturare i pacchetti. Questa possibilità è stata utilizzata in tcpdump per filtrare all'inizio della ricezione del pacchetto dal dispositivo;
- Nel programma di installazione è stato garantito il supporto per aggiungere un'immagine del disco nel RAMDISK del kernel. Garantito l'eliminazione di alcuni componenti delle versioni precedenti durante l'aggiornamento del sistema;
- Migliorato il sistema di chiamata , che garantisce l'isolamento nell'accesso al file system. Nella nuova versione è stata aggiunta la definizione di corrispondenze relative alla directory di lavoro del processo corrente durante l'analisi dei percorsi relativi. Vietato l'uso di stat e access per componenti di file path limitati. Per le applicazioni ospfd, ospf6d, rebound, getconf, kvm_mkdb, bdftopcf, Xserver, passwd, spamlogd, spamd, sensorsd, snmpd, htpasswd e ifstated è stata implementata la protezione utilizzando unveil;
- In Clang sono stati migliorati gli strumenti per bloccare l'uso di tecniche di programmazione orientata al ritorno (ROP), consentendo una significativa riduzione del numero di gadget polimorfici presenti nei file eseguibili risultanti per le architetture i386 e amd64;
- In Clang sono stati aumentati le prestazioni e la sicurezza nell'applicazione
del meccanismo di protezione , progettato per rendere più difficile l'esecuzione di exploit basati sull'utilizzo di code reuse e tecniche di programmazione orientata al ritorno. Per accelerare le operazioni, i dati vengono posizionati nei registri quando possibile, e durante il ritorno viene utilizzata in modo più efficace la cache della CPU. RETGUARD ora viene utilizzato anche invece della tradizionale protezione dello stack sui sistemi amd64 e arm64; - Migliorati gli strumenti associati allo stack di rete: In pcap-filter è stato aggiunto il supporto per la filtrazione dei pacchetti MPLS. In ospfd, ospf6d e ripd è stata aggiunta la possibilità di configurare le priorità di instradamento. In
ripd è stata aggiunta una protezione basata sul meccanismo . In ifconfig sono stati aggiunti i modi sff e sffdump per ottenere informazioni diagnostiche dai trasmettitori ottici; - Presentato il primo rilascio di un nuovo resolver , che gestisce le richieste DNS ricorsive e accetta connessioni solo sull'interfaccia 127.0.0.1.
Unwind è progettato per uso su sistemi client, come i laptop, che si spostano tra diverse reti wireless. In caso di rilevamento di un blocco del traffico DNS nella rete locale, unwind passa a utilizzare l'indirizzo del server DNS ricorsivo fornito tramite DHCP, ma continua a tentare periodicamente di eseguire risoluzioni autonomamente e, non appena le richieste dirette iniziano a passare, torna a contattare i server DNS autonomamente; - In bgpd, è stato fatto un lavoro per ridurre il consumo di memoria, aggiunto un semplice ottimizzatore di regole (esegue la fusione di regole di filtraggio che differiscono solo per i set di filtri), modificato il processo di configurazione BGP MPLS VPN, aggiunto il supporto per IPv6 BGP MPLS VPN, implementata la funzionalità «as-override» per sostituire l'AS del vicino con l'AS locale nei percorsi, aggiunta la possibilità di corrispondenza con più comunità in una regola, aggiunti nuovi indicatori di corrispondenza «*», «local-as» e «neighbor-as», migliorato il funzionamento con grandi set di regole, aggiunti nuovi comandi per lavorare con gruppi di sistemi autonomi vicini («bgpctl neighbor group», «bgpctl show neighbor group», «bgpctl show rib neighbor group»), in bgpctl aggiunta la possibilità di aggiungere reti nelle tabelle BGP VPN. È stata preparata per la prima volta una versione portabile di OpenBGPD-portable, pronta per essere utilizzata in sistemi diversi da OpenBSD;
- È stata aggiunta l'opzione per identificare i casi di comportamento indefinito nel kernel di OpenBSD.
- L'utilità tcpdump è stata completamente esentata dall'uso di privilegi di root;
- Migliorata la performance di malloc nelle applicazioni multithread;
- Inclusa la versione iniziale del programma con la propria implementazione dell'utilità di sincronizzazione file rsync;
- Aggiornata la versione del server di posta OpenSMTPD, in cui è stato aggiunto nel smtpd.conf un nuovo criterio di corrispondenza «from rdns», che consente di selezionare i messaggi sulla base della risoluzione DNS inversa (determinazione del nome host dall'IP). È stata aggiunta la possibilità di utilizzare espressioni regolari nella ricerca nelle tabelle;
- Aggiornato il pacchetto OpenSSH 8.0, è possibile consultare una panoramica dettagliata dei miglioramenti ;
- Aggiornato il pacchetto LibreSSL, è disponibile una panoramica dettagliata dei miglioramenti negli annunci delle versioni e ;
- In Mandoc è notevolmente migliorato l'output in HTML, migliorata la resa delle tabelle e aggiunto l'opzione «-O» per aprire la pagina con la definizione del termine specificato;
- Ampliate le funzionalità del stack grafico Xenocara: il server X ora non richiede l'installazione con il flag setuid per l'avvio. Nel driver Mesa radeonsi è stata abilitata la supporto per l'accelerazione hardware per le GPU Southern Islands (Radeon HD 7000) e Sea Islands (Radeon HD 8000);
- I port per il linguaggio C++ per architetture non supportate in Clang ora vengono compilati utilizzando GCC dai port. Il numero di port per l'architettura AMD64 è stato di 10602, per aarch64 — 9654, per i386 — 10535. Tra le applicazioni presenti nei port, si segnalano:
- Asterisk 16.2.1
- Audacity 2.3.1
- CMake 3.10.2
- Chromium 73.0.3683.86
- FFmpeg 4.1.3
- GCC 4.9.4 e 8.3.0
- GNOME 3.30.2.1
- Go 1.12.1
- JDK 8u202 e 11.0.2+9-3
- LLVM/Clang 7.0.1
- LibreOffice 6.2.2.2
- Lua 5.1.5, 5.2.4 e 5.3.5
- MariaDB 10.0.38
- Mono 5.18.1.0
- Mozilla Firefox 66.0.2 e ESR 60.6.1
- Mozilla Thunderbird 60.6.1
- Node.js 10.15.0
- OpenLDAP 2.3.43 e 2.4.47
- PHP 7.1.28, 7.2.17 e 7.3.4
- Postfix 3.3.3 e 3.4.20190106
- PostgreSQL 11.2
- Python 2.7.16 e 3.6.8
- R 3.5.3
- Ruby 2.4.6, 2.5.5 e 2.6.2
- Rust 1.33.0
- Sendmail 8.16.0.41
- SQLite3 3.27.2
- Suricata 4.1.3
- Tcl/Tk 8.5.19 e 8.6.8
- TeX Live 2018
- Vim 8.1.1048 e Neovim 0.3.4
- Xfce 4.12
- Componenti di terze parti inclusi in OpenBSD 6.5:
- Stack grafico Xenocara basato su X.Org server 1.19.7 con patch, freetype 2.9.1, fontconfig 2.12.4, Mesa 18.3.5, xterm 344, xkeyboard-config 2.20;
- LLVM/Clang 7.0.1 (con patch)
- GCC 4.2.1 (con patch) e 3.3.6 (con patch)
- Perl 5.28.1 (con patch)
- NSD 4.1.27
- Unbound 1.9.1
- Ncurses 5.7
- Binutils 2.17 (con patch)
- Gdb 6.3 (con patch)
- Awk 10 agosto 2011
- Expat 2.2.6
Fonte: opennet.ru
