发布于 2015-10-18 23:59:10 | 222 次阅读 | 评论: 0 | 来源: 网友投递
OpenBSD 类UNIX操作系统
OpenBSD是一个多平台的,基于4.4BSD的类UNIX操作系统,是BSD衍生出的三种免费操作系统(另外两种是NetBSD和FreeBSD)之一,被称为世界上最安全的操作系统。专案领导人 Theo de Raadt在1995年发起了OpenBSD 专案,希望创造一个注重安全的操作系统。
OpenBSD 5.8 正式发布,此版本是第 38 个基于 CD-ROM 的版本(and 39th via FTP/HTTP)。此版本包括系统各个方面的新特性和一些重要改进。更多改进内容请看发行说明或者是 errata。Download (pkglist): amd64/install58.iso (220MB, SHA256), i386/install58.iso (210MB, SHA256)。
详细改进列表:
- Improved hardware support, including: o New rtwn(4) driver for Realtek RTL8188CE wifi cards. o New hpb(4) driver for HyperTransport bridges as found in the IBM CPC945. o The ugold(4) driver now supports TEMPerHUMV1.x temperature and humidity sensors. o Improved sensor support for the upd(4) driver for USB Power Devices (UPS). o Support for jumbo frames on re(4) devices using RTL8168C/D/E/F/G and RTL8411, including PC Engines APU. o re(4) now works with newer devices e.g. RTL8111GU. o Partial support has been added for full-speed isochronous devices in ehci(4), allowing USB 1.1 audio devices to be used on EHCI-only systems in some cases. o Improved macppc stability and G5 performances with MP kernels. o acpicpu(4) uses ACPI C-state information to reduce power consumption of idle CPUs. o Kernel supports x86 AVX instructions on CPUs that have them. o Avoid assigning low address to PCI BARs, fixing various issues on machines whose BIOSes neglect to claim low memory. o wscons(4) works with even more odd trackpads. o Added pvbus(4) paravirtual device tree root on virtual machines that are running on hypervisors. o New octdwctwo(4) driver for USB support on OpenBSD/octeon. o New amdcf(4) driver for embedded flash on OpenBSD/octeon. o Support for RTL8188EU devices was added to the urtwn(4) driver. - Removed hardware support: o The lmc(4) driver for Lan Media Corporation SSI/T1/DS1/HSSI/DS3 devices has been removed. o The san(4) driver for Sangoma Technologies AFT T1/E1 devices has been removed. - Generic network stack improvements: o MTU of vlan(4) devices can now be set independently from the parent interface's MTU. o The same network range can now be assigned to multiple interfaces, using interface priorities to choose between them. o New MPLS pseudowire driver mpw(4). o Much preparatory work for MP unlocking of the network stack. - Installer improvements: o The logic of the 'Allow root ssh login?' question has been changed. - The default answer is now 'no'. - 'prohibit-password' has been added to the list of possible answers. o autoinstall(8) has been extended to allow - hostname-mode.conf response file names. - response files to be placed in a subdir of the webserver's document root. - passing a template file to disklabel(8) to automatically partition the disk. o ntpd(8) is now enabled by default at install time. o DUID support has improved enough that new installs now use them unconditionally. o Installing sets from CD-ROM has been fixed if more than one CD-ROM drive is present. o The 'Which CD-ROM contains the install media?' question has been removed. Available cdrom devices are now shown directly in the 'Location of sets?' prompt. - Routing daemons and other userland network improvements: o Many improvements and simplifications in ldpd(8), including configuration reload and support for mpw(4) pseudowire interfaces. o bgpd(8) now allows rules to match on the peer AS number. o For terminated BGP sessions, bgpctl(8) now displays the number of prefixes received on the last session. o ospfd(8) now correctly handles carp(4) interfaces in "backup" mode at startup. o Log messages in bgpd(8) and ospfd(8) have been made more specific. o The default Diffie-Hellman group for VPNs configured by ipsec.conf(5) has been changed to modp3072. o New radiusd(8), Remote Authentication Dial In User Service (RADIUS) daemon. - Security improvements: o sudo in base has been replaced with doas(1), sudo is available as a package. o file(1) has been replaced with a new modern implementation, including sandbox and privilege separation. o pax(1) (and tar(1) and cpio(1)) now prevent archive extraction from escaping the current directory via symlinks; tar(1) without -P option now strips up through any ".." path components. o Static PIE support for sparc. o Alpha switched to secure PLT. o Improved kernel checks of ELF headers. o Support for the NX (No-eXecute) bit on i386, resulting in much better W^X enforcement in userland for hardware that has this feature. o Enforcement of W^X in the kernel address space on i386 when using processors with the NX bit. o Work started on a new process-containment facility called tame(2). - Assorted improvements: o The worm(6) now grows at a rate proportional to terminal size. o dlclose(3) now unregisters handlers registered by a pthread_atfork(3) call from the unloaded libraries. o cp(1), mv(1), and pax(1) with the -rw option now preserve timestamps with full nanosecond precision. o pax(1) now detects failure to decompress an archive when reading it and errors out immediately. o nm(1) now supports the -D option for displaying the dynamic symbol table. o dump(8) now uses DUIDs in /etc/dumpdates when present and the -U option has thus been removed. o Corrected kdump(1) reporting of lseek(2) return value on ILP32 archs and getsockopt/setsockopt(2) level and optname arguments. iovec, msghdr, and cmsghdr structures are now dumped. o sed(1) -i option added. o New, much simpler man.conf(5) configuration file format for man(1), apropos(1), and makewhatis(8). o When using man(1) with the less(1) pager, support the :t internal command to search for definitions of keywords similar to what ctags(1) provides. o Improvements in checking of numeric option values in many utilities. o Upgraded to binutils version 2.17 with additional fixes. o Improved correctness of poll(2) and poll(2) of O_RDONLY FIFO fds. o Restored reporting of closed sockets by netstat(1) and systat(1). o fdisk(8) now zeros correct GPT sector at end of disk. o fdisk(8) now accepts 'T' sizes for terabytes. o fdisk(8) repaired to work on 4K sector disks again. o dhcpd(8) now logs correct giaddr and ciaddr information even when DHCP relays are present. o dhcpd(8) now accommodates Linux and MS clients by not sending routers or static routes info when classless static routes are sent. o dhcpd(8) and dhclient(8) now accept hostnames beginning with a digit. o dhclient(8) no longer rejects leases with addresses overlapping existing subnets on other interfaces. Kernel routing logic now just works. o Improvements to realloc(3) decrease system calls and increase efficiency. o The reaper now tears down dead processes without holding on to the kernel lock. This greatly reduces latency and increases performance on multi-processor systems. - OpenBSD httpd(8): o New features: - Added support for matching and redirections with Lua patterns(7). - Implemented If-Modified-Since for conditional GET or HEAD requests (RFC 7232). - Added byte-range support for range requests (RFC 7233). - Allowing to specify a global or per-location default media type instead of application/octet-stream. - Added support for HTTP Strict Transport Security (HSTS; RFC 6797). - Added initial regression test suite based on relayd(8)'s implementation. o Fixes and improvements: - TLS in httpd(8) and relayd(8) now defaults to TLSv1.2-only. - Fixed support for large TLS keys or certificate bundles with up to 16KB each. - Fixed the Content-Length header for files larger than 2 GB on 32-bit architectures. - Fixed translation of CGI environment variables in accordance with RFCs 7230 and 3875. - Improved memory usage and fixed possible memory exhaustion on large file transfers. - Added URL-encoding of specific CGI variables before using them in the Location header. - Prepend files or directories containing ":" with "./" in directory indexes as per RFC 3986. - Allowing to specify characters like "?" in the Location URI. - Various other bug fixes and improvements. - OpenSMTPD 5.4.4 o smtpd(8) reliability and bug fixes. o NOTE: Some security risks were discovered and fixed after the OpenBSD 5.8 release. See 5.8 errata 004. - OpenSSH 7.0: o Security: - ssh(1): when forwarding X11 connections with ForwardX11Trusted=no, connections made after ForwardX11Timeout expired could be permitted and no longer subject to XSECURITY restrictions because of an ineffective timeout check in ssh(1) coupled with "fail open" behaviour in the X11 server when clients attempted connections with expired credentials. This problem was reported by Jann Horn. - ssh-agent(1): fix weakness of agent locking (ssh-add -x) to password guessing by implementing an increasing failure delay, storing a salted hash of the password rather than the password itself and using a timing-safe comparison function for verifying unlock attempts. This problem was reported by Ryan Castellucci. - sshd(8): OpenSSH 6.8 and 6.9 incorrectly set TTYs to be world-writable. Local attackers may be able to write arbitrary messages to logged-in users, including terminal escape sequences. - sshd(8): fix circumvention of MaxAuthTries using keyboard-interactive authentication. By specifying a long, repeating keyboard-interactive "devices" string, an attacker could request the same authentication method be tried thousands of times in a single pass. The LoginGraceTime timeout in sshd(8) and any authentication failure delays implemented by the authentication mechanism itself were still applied. o Potentially-incompatible changes: - Support for the legacy SSH version 1 protocol is disabled by default at compile time. - Support for the 1024-bit diffie-hellman-group1-sha1 key exchange is disabled by default at run-time. It may be re-enabled using the instructions at http://www.openssh.com/legacy.html. - Support for ssh-dss, ssh-dss-cert-* host and user keys is disabled by default at run-time. These may be re-enabled using the instructions at http://www.openssh.com/legacy.html. - Support for the legacy v00 cert format has been removed. - The default for the sshd_config(5) PermitRootLogin option has changed from "yes" to "prohibit-password" (but the OpenBSD installer defaults to "no"). - NOTE: 'PermitRootLogin prohibit-password' is subtly broken in the OpenBSD 5.8 / OpenSSH 7.0; see 5.8 errata 001. o New/changed features: - ssh(1), sshd(8): promote chacha20-poly1305@openssh.com to be the default cipher. - sshd(8): support admin-specified arguments to AuthorizedKeysCommand. (bz#2081) - sshd(8): add AuthorizedPrincipalsCommand that allows retrieving authorized principals information from a subprocess rather than a file. - ssh(1), ssh-add(1): support PKCS#11 devices with external PIN entry devices. (bz#2240) - sshd(8): allow GSSAPI host credential check to be relaxed for multihomed hosts via GSSAPIStrictAcceptorCheck option. (bz#928) - ssh-keygen(1): support ssh-keygen -lF hostname to search known_hosts and print key hashes rather than full keys. - ssh-agent(1): add -D flag to leave ssh-agent(1) in foreground without enabling debug mode. (bz#2381) - ssh_config(5): add PubkeyAcceptedKeyTypes option to control which public key types are available for user authentication. - sshd_config(5): add HostKeyAlgorithms option to control which public key types are offered for host authentications. - ssh(1), sshd(8): extend Ciphers, MACs, KexAlgorithms, HostKeyAlgorithms, PubkeyAcceptedKeyTypes and HostbasedKeyTypes options to allow appending to the default set of algorithms instead of replacing it. Options may now be prefixed with a + to append to the default, e.g. "HostKeyAlgorithms=+ssh-dss". o The following significant bugs have been fixed in this release: - ssh(1), sshd(8): deprecate legacy SSH2_MSG_KEX_DH_GEX_REQUEST_OLD message and do not try to use it against some 3rd-party SSH implementations that use it (older PuTTY, WinSCP). - Many fixes for problems caused by compile-time deactivation of SSH1 support. (including bz#2369) - ssh(1), sshd(8): cap DH-GEX group size at 4Kbits for Cisco implementations as some would fail when attempting to use group sizes greater than 4K. (bz#2209) - ssh(1): fix out-of-bound read in EscapeChar configuration option parsing. (bz#2396) - sshd(8): fix application of PermitTunnel, LoginGraceTime, AuthenticationMethods and StreamLocalBindMask options in Match blocks. - ssh(1), sshd(8): improve disconnection message on TCP reset. (bz#2257) - ssh(1): remove failed remote forwards established by multiplexing from the list of active forwards. (bz#2363) - sshd(8): make parsing of authorized_keys "environment=" options independent of PermitUserEnv being enabled. (bz#2329) - sshd(8): fix post-auth crash with permitopen=none. (bz#2355) - ssh(1), ssh-add(1), ssh-keygen(1): allow new-format private keys to be encrypted with AEAD ciphers. (bz#2366) - ssh(1): allow ListenAddress, Port and AddressFamily configuration options to appear in any order. (bz#86) - sshd(8): check for and reject missing arguments for VersionAddendum and ForceCommand. (bz#2281) - ssh(1), sshd(8): don't treat unknown certificate extensions as fatal. (bz#2387) - ssh-keygen(1): make stdout and stderr output consistent. (bz#2325) - ssh(1): mention missing DISPLAY environment in debug log when X11 forwarding requested. (bz#1682) - sshd(8): correctly record login when UseLogin is set. (bz#378) - sshd(8): add some missing options to sshd -T output and fix output of VersionAddendum and HostCertificate. (bz#2346) - Document and improve consistency of options that accept a "none" argument: TrustedUserCAKeys, RevokedKeys (bz#2382), AuthorizedPrincipalsFile (bz#2288). - ssh(1): include remote username in debug output. (bz#2368) - sshd(8): avoid compatibility problem with some versions of Tera Term, which would crash when they received the hostkeys notification message (hostkeys-00@openssh.com). - sshd(8): mention ssh-keygen -E as useful when comparing legacy MD5 host key fingerprints. (bz#2332) - ssh(1): clarify pseudo-terminal request behaviour and use make manual language consistent. (bz#1716) - ssh(1): document that the TERM environment variable is not subject to SendEnv and AcceptEnv. (bz#2386) - ssh(1), sshd(8): add compatability workarounds for Cisco and more PuTTY versions. (bz#2424) - Fix some omissions and errors in the PROTOCOL and PROTCOL.mux documentation relating to Unix domain socket forwarding. (bz#2421, bz#2422) - ssh(1): Improve the ssh(1) manual page to include a better desciption of Unix domain socket forwarding. (bz#2423) - ssh(1), ssh-agent(1): skip uninitialised PKCS#11 slots, fixing failures to load keys when they are present. (bz#2427) - ssh(1), ssh-agent(1): do not ignore PKCS#11 hosted keys that wth empty CKA_ID. (bz#2429) - sshd(8): clarify documentation for UseDNS option. (bz#2045) - LibreSSL o User-visible features: - Reject all server DH keys smaller than 1024 bits. - Multiple CVEs fixed including CVE-2015-0207, CVE-2015-0209, CVE-2015-0286, CVE-2015-0287, CVE-2015-0288, CVE-2015-0289, CVE-2015-1788, CVE-2015-1789, CVE-2015-1792. - Protocol parsing conversions to BoringSSL's CRYPTO ByteString (CBS) API. - Added EC_curve_nid2nist and EC_curve_nist2nid from OpenSSL. - Removed Dynamic Engine support. - Removed MDC-2DES support. - Switched openssl dhparam default from 512 to 2048 bits. - Fixed openssl pkeyutl -verify to exit with a 0 on success. - Fixed dozens of Coverity issues including dead code, memory leaks, logic errors and more. - Ensure that openssl(1) restores terminal echo state after reading a password. - Incorporated fix for OpenSSL issue #3683. - Removed SSLv3 support from openssl(1). - Modified tls_write in libtls to allow partial writes, clarified with examples in the documentation. - Removed RSAX engine. - Tested SSLv3 removal with the OpenBSD ports tree and found several applications that were not ready to build without SSLv3 yet. For now, building a program that intentionally uses SSLv3 will result in a linker warning. - Added TLS_method, TLS_client_method and TLS_server_method as a replacement for the SSLv23_*method calls. - Default cert.pem, openssl.cnf, and x509v3.cnf files are now installed under $sysconfdir/ssl or the directory specified by --with-openssldir. Previous versions of LibreSSL left these empty. - NOTE: LibreSSL 2.2.2 in OpenBSD 5.8 incorrectly handles ClientHello messages that do not include TLS extensions, resulting in such handshakes being aborted. see 5.8 errata 002. o Code improvements: - Fix incorrect comparison function in openssl(1) certhash command. Thanks to Christian Neukirchen / Void Linux. - Removal of OPENSSL_issetugid and all library getenv calls. Applications can and should no longer rely on environment variables for changing library behavior. OPENSSL_CONF and SSLEAY_CONF are still supported with the openssl(1) command, but note that $ENV:: is no longer supported in .cnf files. - libtls API and documentation additions. - Various bug fixes and simplifications to libssl and libcrypto. - Reworked openssl(1) option handling. - LibreSSL version define LIBRESSL_VERSION_NUMBER will now be bumped for each portable release. - Removed workarounds for TLS client padding bugs. - Removed IE 6 SSLv3 workarounds. - --with-enginesdir is removed as a configuration parameter. - Syslogd: o OpenBSD syslogd(8) can bind to explicitly given UDP or TCP sockets to receive messages. TCP streams are accepted with the octet counting or the non transparent framing method. o Blocks in syslog.conf(5) started with +host process messages created by certain hosts specifically. o Handle situations when the file descriptor limit is exhausted gracefully. o Since libtls handles short writes smarter, syslogd(8) can use the complete output buffer to save messages, coping with longer TLS server down times without losing messages. - Ports and packages: Many pre-built packages for each architecture: o alpha: 7093 o powerpc: 8114 o amd64: 8866 o sh: 133 o hppa: 5813 o sparc: 3655 o i386: 8839 o sparc64: 7851 o mips64: 4267 o vax: 1959 o mips64el: 5922 - Some highlights: o Chromium 44.0.2403.125 o Mozilla Thunderbird 38.1.0 o Emacs 21.4 and 24.5 o Node.js 0.10.35 o GCC 4.8.4 and 4.9.3 o OpenLDAP 2.3.43 and 2.4.41 o GHC 7.8.4 o PHP 5.4.43, 5.5.27 and 5.6.11 o GNOME 3.14.2 o Postfix 2.11.4 o Go 1.4.2 o PostgreSQL 9.4.1 o Groff 1.22.3 o Python 2.7.9 and 3.4.2 o JDK 1.7.0.80 and 1.8.0.45 o R 3.1.2 o KDE 3.5.10 and 4.14.3 (plus o Ruby 1.8.7.374, 1.9.3.551, KDE4 core updates) 2.0.0.598, 2.1.5, and 2.2.0 o LLVM/Clang 3.5 (20140228) o Sendmail 8.15.2 o LibreOffice 4.4.4.3 o Tcl/Tk 8.5.18 and 8.6.4 o MariaDB 10.0.20 o TeX Live 2014 o Mono 3.12.1 o Vim 7.4.769 o Mozilla Firefox 38.1.1esr and o Xfce 4.12 39.0.3 - As usual, steady improvements in manual pages and other documentation. - The system includes the following major components from outside suppliers: o Xenocara (based on X.Org 7.7 with xserver 1.16.4 + patches, freetype 2.6, fontconfig 2.11.1, Mesa 10.2.9, xterm 314, xkeyboard-config 2.14 and more) o Gcc 4.2.1 (+ patches) and 3.3.6 (+ patches) o Perl 5.20.2 (+ patches) o SQLite 3.8.9 (+ patches) o NSD 4.1.3 o Unbound 1.5.4 o Ncurses 5.7 o Binutils 2.17 (+ patches) o Gdb 6.3 (+ patches) o Less 458 (+ patches) o Awk Aug 10, 2011 version
via distrowatch.com
OpenBSD是一个从NetBSD衍生出来的类Unix操作系统。专案领导人Theo de Raadt在1995年]发起了OpenBSD专案,希望创造一个注重安全的操作系统,此外OpenBSD也以高品质的文件、坚持开放程式码以及严格的软 件授权著名。OpenBSD的吉祥物是河豚。
OpenBSD包含了一些在其他操作系统缺少或是选择性的安全功能,此外OpenBSD极度重视程式码的品质,任何对核心的修改都需要经过严格的程 式码审阅。OpenBSD可以在17种不同的硬件环境下运作,包含DEC Alpha、Intel i386、Hewlett-Packard PA-RISC、AMD64、Motorola 68000、PowerPC、Sun SPARC等。