Lançamento do OpenBSD 7.9
(openbsd.org)- Foi adicionado o hibernar com atraso, que permite acordar o sistema após um tempo configurado enquanto está em estado de suspensão e então hiberná-lo imediatamente para evitar o descarregamento da bateria; o tempo de atraso pode ser definido em segundos com
machdep.hibernatedelay - Como mudanças de segurança, foi removido o bypass de
BIOCLOCKde bpf(4) para root, a promisetmppathde pledge(2) foi descontinuada, e foi introduzido __pledge_open(2), que permite de forma limitada o acesso interno a arquivos pela libc - O OpenSSH 10.3 corrige problemas de segurança como a possibilidade de execução de comandos relacionada à expansão do token
%no nome de usuário emssh(1), correspondência de principal em certificados nosshd(8), tratamento de setuid/setgid no legadoscp -O, aplicação de restrições de algoritmos ECDSA e ausência de verificação do mux proxy - O LibreSSL 4.3.0 adiciona suporte a keyshare TLS
MLKEM768_X25519,sievestarttls e OID de pubkeyRSASSA-PSS, além de corrigir a possibilidade de sobrescrita de 4 bytes na memória heap causada por um erro off-by-one na verificação de profundidade do verificador X.509 - Na pilha de rede, veb(4) passa a ser uma bridge com reconhecimento de VLAN, com suporte a PVID, bitmap de VID permitidos e configuração de portas access/trunk/hybrid, usando PVID padrão 1 para manter compatibilidade com configurações simples já existentes
- O autoconf IPv6 (SLAAC) agora vem ativado por padrão, e pflow(4) adiciona um template NAT em IPFIX/Netflow v10 que inclui IPs e portas de origem e destino após o NAT
- O pf(4) introduz limitadores de source/state e permite especificar a action a ser executada ao atingir o limite; a action padrão do limiter em pfctl(8) mudou de
no-matchparablock - Em virtualização, vmd(8) adiciona
vmboot, que permite usar sysupgrade(8) em VMs, além de melhorar o funcionamento com Apple Virtualization, caminhos de confidential computing como AMD SEV e vários problemas de race, travamentos e reset de rede - Em suporte a hardware, foram adicionados o SoC RK3588/RK3576 no arm64, o GL9755 SDHC em alguns notebooks Apple Silicon, o SoC SpacemiT K1 no riscv64, nhi(4) para USB4 e ispi(4) para Intel LPSS SPI, entre outros
- Em rede sem fio, há suporte básico a 802.11ax, suporte a janela de 160MHz em 5GHz e a 160MHz no iwx(4), adição de PMF em iwm(4), iwx(4) e qwx(4), e o powersave de
iwx(4)passa a vir ativado por padrão - Em instalação e upgrade, o
sysupgradeagora falha se o sistema de arquivos/usrestiver acima de 90%, reduzindo a possibilidade de corrupção do sistema, e no amd64 passa a haver suporte ao carregamento do arquivo de kernel a partir da EFI system partition, permitindo colocar o boot loader do OpenBSD e obsd.rdna partição de boot EFI - Em pacotes e componentes principais, são oferecidos 13.044 pacotes para amd64, 12.883 para aarch64 e 10.631 para i386, incluindo Chromium 147.0.7727.101, Firefox 150.0, Node.js 22.22.2, PostgreSQL 18.3, Rust 1.94.1 e LLVM/Clang 19.1.7·20.1.8·21.1.8
2 comentários
Comentários do Hacker News
A arte de lançamento do OpenBSD 7.9 foi feita por Lyra Henderson
https://www.openbsd.org/images/PinkPuffy.png
https://www.openbsd.org/images/puffy79.gif
A música de lançamento é "Diamond in the Rough", composta e produzida por Bob Kitella
https://www.openbsd.org/lyrics.html#79
As roupas ainda parecem ser principalmente camisetas: https://openbsdstore.com/
Eu o uso num servidorzinho em casa para DNS/DHCP, e a estabilidade impressiona; dá para ver claramente o acúmulo de tantos anos de auditoria
Problemas de segurança continuam sendo descobertos em outros sistemas operacionais, e com a IA isso deve acelerar ainda mais, então acho que já é hora de todo mundo considerar o OpenBSD
A abordagem focada em segurança ao longo de décadas é incomparável, e eu migrei completamente de Ubuntu/Debian para OpenBSD sem intenção de voltar
Se eu fosse escolher um BSD, ainda acho que iria de FreeBSD
O mesmo código roda bem em Linux/FreeBSD/Windows, mas no OpenBSD o desempenho multithread era baixo, e sockets assíncronos paravam depois de alguns segundos de transferência em alta velocidade
Isso não quer dizer que o OpenBSD esteja errado, só que ele parece diferente
Não consegui encontrar dados que sustentem isso, só impressões vagas
Discussão relacionada: https://forum.qubes-os.org/t/qubesos-vs-openbsd-security/790...
https://x.com/ortegaalfredo/status/2055362910415671459
Claro, também é difícil dizer que o lado do Linux está melhor, mas ele tem a vantagem de haver mais olhos para corrigir problemas por causa da participação de mercado
Para alguns, a grande notícia é que o Exim foi removido do ports
Há um bom texto sobre migrar de Exim para OpenSMTPD: https://nxdomain.no/~peter/time_for_opensmtpd.html
Eu o testei quando o OpenSMTPD ainda tinha acabado de surgir, mas não parecia estável o bastante; talvez agora seja hora de tentar de novo
Já rodo OpenSMTPD há vários anos tanto no OpenBSD quanto no Linux e não tenho do que reclamar
Ele nem fazia parte do sistema base, então provavelmente o mantenedor só não quis mais continuar cuidando dele
É enxuto e, comparado aos esquemas antigos, a forma de configuração parece bem moderna
Para a maioria dos casos de uso, considero o melhor servidor SMTP
Infelizmente, o suporte aos ports é fraco, então quem aprende o quanto ele é bom normalmente acaba sendo só usuário de OpenBSD
Eu o instalei e usei um pouco num G4 PowerBook há bastante tempo, provavelmente no começo dos anos 2000
Gostei da postura sem concessões contra blobs binários e do foco em segurança, e a experiência geral também foi muito boa
O código que li também era limpo e bem escrito
Sempre foi um sistema fácil de recomendar, e acho que vou instalá-lo de novo em algum lugar em breve
Como este também é o 60º lançamento, parabéns à equipe
Disseram que foi adicionado um mecanismo no escalonador para lidar com núcleos de CPU de velocidades diferentes
hw.blockcpuaceita uma sequência de quatro letras: S para SMT, P para núcleos normais de desempenho, E para núcleos de eficiência e L para núcleos mais lentos; isso é usado para escolher quais CPUs excluir do escalonador, e o padrão é SLAtualmente funciona em amd64 e arm64
Ainda assim, não acho muito intuitivo qual seria a vantagem de ter núcleos lentos disponíveis para o sistema em arquiteturas como big.LITTLE
Ninguém vai querer que as tarefas caiam nesses núcleos, e até trabalhos em segundo plano talvez gastem menos energia se terminarem rápido
Se os núcleos tiverem recursos diferentes, também fica a dúvida do que acontece quando um processo que exige algo como AVX-512 é escalonado para um núcleo sem esse recurso
O OpenBSD escolheu aqui uma abordagem rápida e bruta, desativando os núcleos lentos, mas não sei se existem boas heurísticas para atribuir trabalho a eles
Só consigo imaginar algum mecanismo complexo de marcar manualmente executáveis ou threads com algo como “este processo é adequado para núcleos lentos”
Pelo que vi na lista de e-mails, um escalonador simples coloca processos em qualquer lugar, e os núcleos pequenos de alguns sistemas big.LITTLE novos são muito lentos, o que prejudica bastante recompilar código
Se tarefas em segundo plano rodam continuamente, reagem a eventos imprevisíveis ou acordam com frequência para fazer pequenos trabalhos, a lógica de boost da CPU por si só não resolve o consumo de energia
E, em x86-64 ou ARM, núcleos P e E usam o mesmo conjunto de instruções, então não há risco de executar instruções erradas da CPU
Conjuntos de instruções realmente heterogêneos podem voltar a aparecer no futuro, então ainda vale ficar atento
Se alguém aqui usa OpenBSD, eu gostaria de saber para quê
Eu queria experimentar o NetBSD em aplicações para sistemas embarcados ou dispositivos IoT, mas ainda não tive a chance
O OpenBSD também é ótimo em hardware Apple antigo que Cupertino já não suporta mais
Estou rodando um cluster de Intel Mac Mini com uptime quase perfeito
Para servidores que exigem estabilidade e segurança, como web, e-mail, DNS, NFS e banco de dados, não preciso procurar mais nada
Há uma curva de aprendizado, mas vale muito a pena
O principal motivo é que gosto da leveza e simplicidade da estrutura
O empacotamento é simples, e o desenvolvimento e os upgrades do kernel também são simples
O próprio código do kernel segue um estilo de que gosto, focado no essencial e sem abstrações ou complicações desnecessárias
Entre os outros BSDs que já usei, entre NetBSD e FreeBSD/DragonFlyBSD, ainda prefiro ele
Gosto da sensação de conseguir entender a maior parte do sistema
Não é tão cheio de recursos quanto o Linux, mas essa sensação de compreender seu próprio sistema é revigorante
É mais como tirar férias numa cidade pequena e bonita e viver de forma comum e tranquila; claro, a percepção pode variar de pessoa para pessoa
É bastante estável e familiar
Se você conhece Unix, é realmente simples
Espero que o OpenBSD não desapareça, e nem sei bem o que poderia substituí-lo
O Linux ficou complexo demais e difícil de acompanhar
Eu cuido da parte digital, desenvolvendo uma aplicação em Ruby on Rails e fazendo o deploy no OpenBSD
O sistema inteiro roda em um único servidor barato Supermicro U1 num rack em casa
nsde e-mail comopensmtpdfuncionam de imediato com configuração mínima até em KVM com pouquíssima memóriaA documentação é excelente e instalar é fácil
O sysupgrade foi uma grande melhoria, mas eu gostaria que o ciclo de lançamentos fosse um pouco mais lento
Disseram que trocaram o spinlock
casnos mutexes do kernel por um parking lock, e fiquei curioso sobre o que é isso e como funcionaNão encontrei nada a respeito nas páginas de manual
https://man.openbsd.org/OpenBSD-5.5/lock.9
https://man.openbsd.org/OpenBSD-5.9/mutex.9
https://webkit.org/blog/6161/locking-in-webkit/
Spinlocks têm bom desempenho quando não há muita contenção e o lock fica retido por pouco tempo, mas se uma dessas condições falhar, a thread bloqueada pode facilmente consumir um núcleo inteiro de CPU só esperando
Fugindo um pouco do assunto, eu queria que o lado do FreeBSD também abandonasse um pouco aquele logo de bolha de vidro corporativo e sem alma, e a tipografia que parece caixa de brinquedo espacial do começo dos anos 90, para voltar ao Beastie e a uma serifada elegante
Quero dizer, é inveja mesmo; a arte do OpenBSD é realmente excelente
Eu gostaria que o OpenBSD tivesse suporte a Bluetooth
A falta disso infelizmente é uma limitação decisiva, e quando testei no desktop ele foi excelente
Foi removido em 2014
O OpenBSD parece ótimo, mas no momento passa a impressão de estar mais limitado a servidores do que a desktops, o que talvez até seja uma vantagem por causa do foco em simplicidade
Ainda assim, eu gostaria de ver mais suporte a hardware
Se você rodar OpenBSD numa máquina virtual, talvez consiga juntar o suporte a hardware do Linux/Windows no host com as vantagens do OpenBSD
Por exemplo, estou usando um Seeed Studio XIAO nRF52840 para um teclado BLE
Eu estava justamente me perguntando quando o 7.9 ia sair
E ainda por cima tem música de lançamento, o que é ótimo
Se não me falha a memória, fazia tempo que não saía uma música nova
Como também mencionaram em outro tópico, a última tinha sido a do 7.3
Comentários no Lobste.rs
Hoje descobri que o OpenBSD tem arte e música em cada lançamento: https://www.openbsd.org/lyrics.html#79
Fazia isso por três motivos: manter a livraria trazendo material relacionado ao OpenBSD, apoiar o projeto e ter a arte e a música em formato físico; sinto falta desse processo quase ritualístico
BSD sempre me desperta curiosidade, mas acho que não conseguiria sair do Linux por causa dos jogos
Muitos jogos online têm uma grande superfície de ataque para vulnerabilidades, são feitos com código proprietário que ninguém audita e às vezes ficam abandonados sem atualizações logo após o lançamento
Gosto de não precisar manter informações bancárias ou documentos de identidade do governo na mesma máquina
Com um pouco de esforço, configurei o
sshde pude mexer à vontade nos recursos do BSD; se quiser, isso ainda vira uma oportunidade de expandir para self-hostingHoje estou rodando Home Assistant sobre
bhyve, gerenciado pelo FreeBSD, e pensando no que subir em seguida para aproveitar melhor o servidorClaro que também dá para fazer isso com máquina virtual, mas pelo menos para mim isso não substitui totalmente a sensação de mexer em um sistema real
Testei o OpenBSD 7.9 no QEMU, e embora o instalador pareça um pouco antiquado e a combinação padrão
X11+fvwm2+xtermtambém tenha cara de velha, ele inicializou e funcionou bemO
doasfuncionou muito bem, e também consegui instalar pacotes compkg_addFiquei surpreso por não haver
curlnemwgetna instalação padrão, mas do ponto de vista de segurança gosto da filosofia de configuração mínimaEle guia você pelo processo inteiro, mas também permite intervir manualmente com facilidade sempre que necessário
Dá para simplesmente ficar apertando Enter ou assumir o controle da maior parte do processo
A combinação padrão
X11+fvwm2+xtermparece existir com a intenção de ter um conjunto de pacotes que possa ser instalado e funcionar até em hardware tão velho quanto um pedaço de pão mofadoAinda assim, o Wayland já foi portado para o OpenBSD, e é bom ver isso se concretizando tão rápido, considerando que em 2023 ainda parecia mais um plano
Para downloads, a expectativa é usar o ftp(1), que apesar do nome não é exclusivo para FTP e também suporta downloads via HTTP(S)
Finalmente vou poder instalar de novo no Yeelong Lemote
Por causa da mudança no
pledgeno último errata, acabei recompilando só o kernel do 7.8 e deixando o userland como estava, e isso me pegou; e no Loongson, naturalmente, também não há atualizações binárias