A Web tem um problema de software desatualizado
Publicados: 2022-11-21Alguns podem dizer que nada dura para sempre na web. E que talvez a mudança seja a única constante. Sites favoritos vêm e vão, assim como ferramentas e tecnologias. Claro, há alguma verdade nessas afirmações – mas também é mais complicado.
Veja bem, as coisas realmente não desaparecem tanto quanto desaparecem no fundo. O site que costumava estar cheio de tráfego pode se transformar em uma cidade fantasma. E é igualmente provável que a tecnologia por trás desse site também esteja juntando poeira.
Mas não são apenas os sites antigos e desacompanhados que apresentam problemas. Também há situações em que um site de missão crítica depende de software desatualizado. Isso pode ser qualquer coisa, desde um plugin abandonado do WordPress até uma versão não suportada do PHP.
Está longe de ser uma situação ideal. E muitos problemas potenciais podem surgir ao aderir a esses velhos modos de espera. No entanto, também é a realidade da web moderna. Tão rapidamente quanto a nova tecnologia chega para atrair os holofotes, a velha continua a se arrastar nas sombras.
O problema é complexo – assim como as possíveis soluções. É possível livrar a teia desses dinossauros?
Por que os sites continuam a usar código herdado?
Quando você imagina um site que usa código legado, o que vem à sua mente? Talvez seja um blog que não vê novos conteúdos há alguns anos. Ou uma comunidade online extinta. Você pode até pensar em um site comercial inativo.
O ponto comum desses exemplos é que provavelmente são sites pequenos e baratos (talvez gratuitos). Entidades que estão congeladas no tempo.
Agora considere um site de grande empresa altamente personalizado. Talvez inclua uma funcionalidade sob medida que permita aos clientes pagar suas contas. Pode haver um plug-in personalizado do WordPress que facilite um fluxo de trabalho específico para os membros da equipe.
A funcionalidade personalizada é cara e demorada para produzir. E, em alguns casos, pode ser frágil. Ele pode depender de um método ou recurso que não tem suporte em versões mais recentes de seu software dependente. Por exemplo, um aplicativo criado para PHP 5 pode não funcionar mais no PHP 8.
E enquanto um desenvolvedor (ou uma equipe deles) pode refatorar o código – nem sempre é fácil ou cabe dentro de um determinado orçamento. Muito parecido com as velhas histórias de usuários corporativos que mantiveram o Internet Explorer 6 por muito tempo depois de seu tempo, o código legado pode durar anos.
O resultado final é que o software desatualizado permanece em uso ativo. Isso é verdade nas extremidades alta e baixa da escala.
Dois exemplos principais: PHP e WordPress
As estatísticas de uso mudam regularmente - e, sem dúvida, mudarão depois que este artigo for publicado. Mas duas tendências, em particular, são exemplos excelentes de software desatualizado em ação: PHP e WordPress.
PHP 5 e 7 ainda estão por aí
No momento em que este livro foi escrito, a versão mais recente do PHP é 8.1. Foi lançado em novembro de 2021 e as atualizações de segurança estão programadas para terminar em novembro de 2024. A versão 8.0 foi lançada em novembro de 2020 (as atualizações de segurança terminam em novembro de 2023). A versão 7.4 foi lançada mundialmente em novembro de 2019 (as atualizações de segurança terminam em novembro de 2022).
Assim, as versões 8 e superiores estão conosco há vários anos. No entanto, de acordo com as estatísticas de uso de PHP da W3Techs, pouco mais de 6% dos sites pesquisados estão executando PHP 8 ou 8.1. Enquanto isso, 70% estão usando algum sabor do PHP 7 e quase 23% ainda estão executando o PHP 5 (que encerrou o suporte em 2018).
A transição entre as versões principais do PHP tende a ser lenta. Isso provavelmente se deve em parte a mudanças na compatibilidade. O WordPress e seu ecossistema, por exemplo, percorreram um longo caminho em direção ao suporte total ao PHP 8.
Além disso, os hosts da Web tradicionalmente não pressionam demais os clientes para atualizar (mais sobre isso daqui a pouco). Ao mesmo tempo, os proprietários de sites variam de desconhecer o PHP a não se preocuparem demais com a atualização.
Resumindo: tem havido pouco senso de urgência. Ou não o suficiente para virar a maré e obter mais sites usando a versão mais recente.
WordPress 4 e 5 ao vivo
À medida que avançamos (trocadilho intencional), o WordPress 6.1 foi lançado. É a versão mais recente do sistema de gerenciamento de conteúdo (CMS) mais popular conhecido pela humanidade.
E de acordo com as estatísticas de uso do W3Techs WordPress, quase 60% dos sites pesquisados estão usando a versão 6 ou superior. É significativamente maior do que as taxas de uso do PHP 8. Isso provavelmente não é tão surpreendente, no entanto.
Em comparação, a atualização do WordPress é mais fácil e pode até ser automatizada. Os proprietários do site e os responsáveis pela manutenção não precisam necessariamente levantar um dedo para atualizar. Provedores de hospedagem gerenciada também podem cuidar disso. E o WordPress é conhecido por valorizar a compatibilidade com versões anteriores, então há menos chance de ocorrer um grande problema.
Mas versões desatualizadas ainda estão lá. A versão 5 alimenta 34% das instalações, enquanto mais de 6% das instalações se apegam à versão 4.
Se há uma boa notícia, é que o núcleo do WordPress continua lançando atualizações de segurança para várias versões mais antigas do software. Ainda assim, esses sites perdem novos recursos e aprimoramentos de desempenho. Sem mencionar possíveis problemas de compatibilidade de tema e plugin. Ah, e é improvável que eles funcionem com a versão mais recente do PHP.
Também é importante notar que essas estatísticas não levam em consideração sites que executam plugins e temas desatualizados ou abandonados. Essa poderia ser uma galáxia totalmente diferente que vale a pena explorar, mas igualmente relevante. É aqui que se origina a maioria dos problemas de segurança relacionados ao WordPress.
Por que isso é uma preocupação
O termo “software desatualizado” pode evocar todos os tipos de visões de pesadelo. Uma pessoa comprando online com uma versão não corrigida do Windows XP vem à mente. Pode funcionar, mas há muitos riscos em continuar a usá-lo.
A segurança é uma preocupação primordial. É lógico que usar uma versão do PHP que não está mais recebendo atualizações de segurança é um risco. Ataques que podem ser facilmente interrompidos com versões mais recentes podem causar danos a uma configuração herdada.
Mas também está empregando uma antiga biblioteca JavaScript ou utilitário de servidor com uma falha de segurança aberta. Dependências de todos os tipos podem ser perigosas, afinal. A vulnerabilidade recente do Log4j é apenas um dos muitos lembretes.
Depois, há questões de eficiência e desempenho. O software desatualizado que não possui esses aprimoramentos pode afetar negativamente a experiência do usuário, o SEO e o consumo de energia.
E quanto mais desatualizado o software, mais difícil (e mais caro) pode ser atualizar no futuro. Cada versão subseqüente pode adicionar obstáculos ao processo.
Alguns hosts da Web estão forçando o problema
Os hosts da Web têm um papel a desempenhar em ajudar seus clientes a implementar novos softwares. E alguns estão se tornando mais agressivos nesses esforços.
O PHP tem sido um alvo primário. Alguns hosts permitirão que os clientes continuem executando uma versão não suportada, mas começaram a cobrar uma taxa extra. Isso pode ser resultado de custos de suporte mais altos para clientes que usam software desatualizado. No mínimo, é uma forma de convencer os usuários a atualizar.
Ainda assim, outros adotaram uma postura mais linha-dura. Eles notificarão os clientes que usam uma versão desatualizada do PHP e fornecerão uma data de atualização agendada. A partir daí, o site é atualizado independentemente de ter sido testado ou corrigido para a nova versão.
Resta saber qual será a eficácia dessas medidas. Mas a limpeza de software desatualizado é uma tarefa enorme. Assim, alguém deve fazer a bola rolar. Os hosts estão bem posicionados para fazer isso.
Fora com o velho?
Com mais de 30 anos, a web hospedou uma quantidade incalculável de software. Considere todos os aplicativos – grandes e pequenos – que foram baixados e instalados nos servidores ao longo do tempo. Não é de admirar que alguns tenham sido deixados no local bem depois da data de vencimento.
Às vezes, esse código legado permanece por necessidade – outros aplicativos dependem dele. Mas também pode acontecer simplesmente porque o proprietário do site não está ciente da situação. Ninguém pode tê-los abordado sobre uma atualização.
Em ambos os casos, os recursos são necessários para aumentar os esforços de modernização. No nível corporativo, isso significa tempo e dinheiro dedicados para manter as coisas evoluindo com versões mais recentes.
Nos degraus mais baixos da escada, a educação é um fator chave. Os hosts da Web estão começando a perceber a importância de manter os clientes informados. E os web designers devem fazer o mesmo.
Ele começa informando aos clientes onde eles estão, os perigos do uso de software desatualizado e os benefícios da atualização. A partir daí, eles podem tomar decisões informadas.
Não, um único site atualizado não mudará o mundo. Mas cada um é um pequeno passo em direção a uma web mais segura que pode aproveitar as tecnologias mais recentes.