Alles eigene: der erste SSD-Controller auf chinesischer Godson-Architektur

Erblickte das Licht der Welt Freigabe eines freien, plattformübergreifenden UNIX-ähnlichen Betriebssystems OpenBSD 6.5. Das Projekt OpenBSD wurde 1995 von Theo de Raadt gegründet, nachdem ein Konflikt mit den Entwicklern von NetBSD, der dazu führte, dass Theo den Zugang zum CVS-Repository von NetBSD verwehrt wurde. Danach gründete Theo de Raadt mit einer Gruppe Gleichgesinnter auf der Basis des Quellbaum von NetBSD ein neues Open-Source-Betriebssystem, dessen Hauptzieleportabilität (wird unterstützt 13 Hardware-Plattformen), Standardisierung, ordnungsgemäße Funktion, aktive Sicherheit und integrierte kryptografische Mittel. Die Größe des vollständigen Installationspakets ISO-Abbilds des basalen OpenBSD 6.5 Systems beträgt 407 MB.

Neben dem Betriebssystem selbst ist das OpenBSD-Projekt bekannt für seine Komponenten, die in anderen Systemen verbreitet sind und sich als eine der sichersten und qualitativ hochwertigsten Lösungen etabliert haben. Dazu gehören: LibreSSL (Fork OpenSSL), OpenSSH, Paketfilter PF, Routing-Daemons OpenBGPD und OpenOSPFD, NTP-Server OpenNTPD, Mailserver OpenSMTPD, Terminal-Multiplexer (ähnlich GNU screen), tmux, Daemon identd mit einer Implementierung des IDENT-Protokolls, BSDL-Alternative zum GNU groff-Paket — mandoc, Protokoll für die Einrichtung von ausfallsicheren Systemen CARP (Common Address Redundancy Protocol), leichter HTTP-Server,, Datei-Synchronisationswerkzeug OpenRSYNC.

Zu den bemerkenswertesten Änderungen gehören: eine portierte Version von bgpd, die für die Verwendung in anderen Betriebssystemen angepasst wurde, der Verzicht auf die Nutzung von root-Rechten bei Xenocara und tcpdump, der standardmäßige Einsatz des Linkers LDD für amd64 und i386, eine deutlich verbesserte MPLS-Unterstützung, verstärkter Schutz gegen Exploits mit Rücksprungziel-Programmierung (ROP), ein einfacher rekursiver DNS-Server "unwind" hinzugefügt, ein Detektor für undefiniertes Verhalten in den Kernel integriert, sowie eine eigene Implementierung des rsync-Dienstprogramms vorgestellt.

Haupt- Verbesserungen:

  • Bei der Erstellung für die Architekturen amd64 und i386 wird standardmäßig der vom LLVM-Projekt entwickelten Linker LDD verwendet. Für die Architektur mips64 wurde die Unterstützung für die Erstellung mit Clang hinzugefügt;
  • Neue Treiber pvclock für den paravirtualisierten KVM-Timer und ixl für Intel Ethernet 700. Der uaudio-Treiber wurde durch eine neue Implementierung mit Unterstützung für USB Audio 2.0 ersetzt.
  • Die Leistung der Treiber für drahtlose Geräte wie bwfm, iwn, iwm und athn wurde verbessert. Im drahtlosen Stack wurde die Unterstützung für RTM_80211INFO-Nachrichten hinzugefügt, um detaillierte Informationen über den Status der Schnittstelle an die Befehle dhclient und route zu übertragen. Das standardmäßige Verhalten beim Verbinden mit drahtlosen Netzwerken wurde geändert – bei Vorhandensein einer konfigurierten Autoverbindungs-Liste verbindet sich OpenBSD jetzt nicht mehr mit unbekannten offenen Netzwerken (um das vorherige Verhalten wiederherzustellen, kann ein leeres Netzwerk zur Liste hinzugefügt werden);
  • Im Netzwerkstack wurden neue Treiber für Pseudogeräte wie bpe (Backbone Provider Edge) und mpip (MPLS IP Layer 2) eingeführt. Für MPLS-Schnittstellen wurde die Unterstützung für die Konfiguration alternativer Routing-Domänen hinzugefügt. Der Treiber vlan funktioniert nun ohne Warteschlangenverarbeitung und leitet direkt an die übergeordnete Netzwerkschnittstelle weiter. Im ifconfig wurde der Modus txprio für die Verwaltung der Priorisierung beim Codieren von Headern in tunnelierten Paketen hinzugefügt (unterstützt für die Treiber vlan, gre, gif und etherip);
  • In der Implementierung des BPF-Filters wurde die Möglichkeit eingeführt, den Verwerfungsmechanismus (drop) ohne Paket-erfassung zu verwenden. Diese Funktion wird in TCPDUMP zur Filterung zu Beginn des Paketempfangs durch das Gerät genutzt;
  • Im Installer wurde die Unterstützung für rdsetroot hinzugefügt, um ein Disk-Image in den RAMDISK des Kernels einzufügen. Das Löschen einiger Komponenten früherer Versionen wird während des Systemupdates sichergestellt;
  • Der Systemaufruf wurde verbessert unveil, der den Zugriff auf das Dateisystem isoliert. In der neuen Version wurde die Erkennung von Übereinstimmungen im Verhältnis zum Arbeitsverzeichnis des aktuellen Prozesses bei der Analyse relativer Pfade hinzugefügt. Die Verwendung von stat und access für eingeschränkte Komponenten von Dateipfaden ist verboten. Für die Anwendungen ospfd, ospf6d, rebound, getconf, kvm_mkdb, bdftopcf, Xserver, passwd, spamlogd, spamd, sensorsd, snmpd, htpasswd und ifstated wurde ein Schutz mit unveil implementiert;
  • In Clang wurden die Mittel zur Blockierung der Anwendung von Return-Oriented Programming (ROP) verbessert, was zu einer deutlichen Reduzierung der Anzahl von polymorphen Gadgets in den resultierenden ausführbaren Dateien für die Architekturen i386 und amd64 führten;
  • In Clang wurde die Leistung und Sicherheit bei der Anwendung des
    Schutzmechanismus RETGUARD, der darauf abzielt, die Ausführung von Exploits zu erschweren, die auf der Ausnutzung von Code-Schnipseln und Techniken des Return-Oriented Programming basieren. Um die Arbeitsgeschwindigkeit zu erhöhen, werden Daten wenn möglich in Registern anstelle des Stacks abgelegt, und bei Rückgaben wird der Prozessorcache effizienter genutzt. RETGUARD wird jetzt auch anstelle des traditionellen Stackschutzes auf Systemen amd64 und arm64 eingesetzt;
  • Die mit dem Netzwerk-Stack verbundenen Dienstprogramme wurden verbessert: Pcap-Filter unterstützt jetzt die Paketfilterung von MPLS. In ospfd, ospf6d und ripd wurde die Möglichkeit zur Anpassung von Routing-Prioritäten hinzugefügt. In
    ripd wurde ein Schutz auf Grundlage des Mechanismus pledge. In ifconfig wurden die Modi sff und sffdump hinzugefügt, um diagnostische Informationen von optischen Transmittern zu erhalten;
  • Die erste Version des neuen Resolvers wurde eingeführt unwind, der rekursive DNS-Anfragen bearbeitet und Verbindungen nur über die Schnittstelle 127.0.0.1 akzeptiert.
    Unwind ist für den Einsatz auf Client-Systemen wie Laptops konzipiert, die zwischen verschiedenen drahtlosen Netzwerken wechseln. Bei der Erkennung einer Blockierung des DNS-Datenverkehrs im lokalen Netzwerk wechselt Unwind zur Nutzung der über DHCP bereitgestellten IP-Adresse des rekursiven DNS-Servers, versucht jedoch weiterhin periodisch, selbstständig eine Auflösung durchzuführen, und sobald direkte Anfragen wieder funktionieren, kehrt es zu eigenständigen Abfragen der DNS-Server zurück;
  • Im bgpd wurden Maßnahmen zur Reduzierung des Speicherverbrauchs ergriffen, ein einfacher Regeloptimierer hinzugefügt (er führt die Zusammenführung von Filterregeln durch, die sich nur in den Filtersets unterscheiden), der Prozess zur Konfiguration von BGP MPLS VPN wurde geändert, Unterstützung für IPv6 BGP MPLS VPN hinzugefügt, die Funktionalität 'as-override' zur Ersetzung der AS des Nachbarn durch die lokale AS in den Pfaden implementiert, die Fähigkeit zur Zuordnung mehrerer Communities in einer Regel hinzugefügt, neue Matching-Attribute wie '*', 'local-as' und 'neighbor-as' hinzugefügt, die Arbeit mit großen Regelsets verbessert, neue Befehle zur Arbeit mit Gruppen benachbarter autonomer Systeme ('bgpctl neighbor group', 'bgpctl show neighbor group', 'bgpctl show rib neighbor group') hinzugefügt, und im bgpctl wurde die Möglichkeit hinzugefügt, Netzwerke in die BGP VPN-Tabellen aufzunehmen. Erstmals wurde eine tragbare Version von OpenBGPD-portable vorbereitet, die bereit ist, in Systemen zu arbeiten, die sich von OpenBSD unterscheiden;
  • Die Option kubsan um Fälle von unbestimmtem Verhalten im OpenBSD-Kernel zu identifizieren.
  • Das Tool tcpdump kommt vollständig ohne Root-Rechte aus;
  • Die Leistung von malloc in mehrteiligen Anwendungen wurde verbessert;
  • Eine erste Version des Programms wurde hinzugefügt OpenRSYNC mit einer eigenen Implementierung des Datei-Synchronisations-Tools rsync;
  • Die Version des E-Mail-Servers OpenSMTPD wurde aktualisiert, in der smtpd.conf ein neues Matching-Kriterium 'from rdns' hinzugefügt wurde, das es ermöglicht, Empfänger basierend auf der Auflösung von inversen DNS zu wählen (Bestimmung des Hostnamens anhand der IP). Beim Suchen in den Tabellen wurde die Möglichkeit hinzugefügt, reguläre Ausdrücke zu verwenden;
  • Das Paket OpenSSH 8.0 wurde aktualisiert, eine detaillierte Übersicht über die Verbesserungen ist verfügbar. hier;
  • Das Paket LibreSSL wurde aktualisiert, eine detaillierte Übersicht über die Verbesserungen ist in den Release-Ankündigungen verfügbar. 2.9.0 und 2.9.1;
  • In Mandoc wurde die Ausgabe in HTML erheblich verbessert, die Darstellung von Tabellen wurde optimiert und es wurde eine Option '-O' hinzugefügt, um eine Seite mit der Definition des angegebenen Begriffs zu öffnen;
  • Die Möglichkeiten des Grafikstacks Xenocara wurden erweitert: Der X-Server benötigt jetzt keinen setuid-Flag für den Start. Im Mesa-Treiber radeonsi wurde die Unterstützung für die hardwarebeschleunigte GPU Southern Islands (Radeon HD 7000) und Sea Islands (Radeon HD 8000) hinzugefügt;
  • C++-Ports für Architekturen, die von Clang nicht unterstützt werden, werden jetzt mit GCC aus den Ports erstellt. Die Anzahl der Ports für die Architektur AMD64 betrug 10602, für aarch64 – 9654, für i386 – 10535. Von den in den Ports befindlichen Anwendungen wurden hervorgehoben:
    • 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 und 8.3.0
    • GNOME 3.30.2.1
    • Go 1.12.1
    • JDK 8u202 und 11.0.2+9-3
    • LLVM/Clang 7.0.1
    • LibreOffice 6.2.2.2
    • Lua 5.1.5, 5.2.4 und 5.3.5
    • MariaDB 10.0.38
    • Mono 5.18.1.0
    • Mozilla Firefox 66.0.2 und ESR 60.6.1
    • Mozilla Thunderbird 60.6.1
    • Node.js 10.15.0
    • OpenLDAP 2.3.43 und 2.4.47
    • PHP 7.1.28, 7.2.17 und 7.3.4
    • Postfix 3.3.3 und 3.4.20190106
    • PostgreSQL 11.2
    • Python 2.7.16 und 3.6.8
    • R 3.5.3
    • Ruby 2.4.6, 2.5.5 und 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 und 8.6.8
    • TeX Live 2018
    • Vim 8.1.1048 und Neovim 0.3.4
    • Xfce 4.12
  • Komponenten von Drittanbietern, die in OpenBSD 6.5 enthalten sind:
    • Grafikstack Xenocara basierend auf X.Org-Server 1.19.7 mit Patches, freetype 2.9.1, fontconfig 2.12.4, Mesa 18.3.5, xterm 344, xkeyboard-config 2.20;
    • LLVM/Clang 7.0.1 (mit Patches)
    • GCC 4.2.1 (mit Patches) und 3.3.6 (mit Patches)
    • Perl 5.28.1 (mit Patches)
    • NSD 4.1.27
    • Unbound 1.9.1
    • Ncurses 5.7
    • Binutils 2.17 (mit Patches)
    • Gdb 6.3 (mit Patches)
    • Awk 10. Aug. 2011
    • Expat 2.2.6

Quelle: opennet.ru

60GB SSD 8Gb DDR4