Módulo 7 · 7.2
Manter as atualizações em dia
Módulo 7: Segurança · Tempo de leitura: 8 minutos
Objetivo de aprendizagem: Depois desta lição, saberá configurar as atualizações para que aconteçam de forma rápida e segura, e saberá o que fazer com um plugin que já não recebe atualizações.
Conceitos-chave: versão menor, versão principal, atualização de segurança, atualizações automáticas (core, plugins, temas), rollback, atualizações do instalador, plugin abandonado, registo de alterações, staging para atualizações importantes
Porque atualizar rapidamente é mais importante do que esperar com cautela
A lição 7.1 mostrou isto: os atacantes procuram vulnerabilidades conhecidas para as quais já existe uma atualização. Entre o aparecimento de uma correção e as primeiras verificações em massa passam-se por vezes apenas algumas horas ou dias. Quem "espera primeiro um mês para ver se a atualização está bem" fica exposto durante esse mês.
Ao mesmo tempo, uma atualização pode quebrar alguma coisa. A solução não é esperar, mas sim garantir que a atualização seja automática, rápida e reversível:
- atualizações menores e de plugins automáticas;
- uma cópia de segurança imediatamente antes da atualização, com reversão automática se algo correr mal;
- testar primeiro as atualizações importantes em ambiente de testes (staging) (lição 8.3), mas dentro de dias, não de meses.
Versões menores e principais do WordPress
O WordPress numera as versões como 7.1.4:
- 7.1 é a versão principal (major release). Surgem algumas por ano, com novas funcionalidades.
- .4 é uma versão menor (minor release): correções e atualizações de segurança, sem grandes alterações.
Desde a versão 3.7, o WordPress instala versões menores e atualizações de segurança automaticamente, a menos que tenha desativado essa opção. As versões principais são instaladas por si, por norma, com um botão em Painel > Atualizações. No ficheiro wp-config.php pode controlar este comportamento:
define( 'WP_AUTO_UPDATE_CORE', 'minor' ); // padrão: apenas versões menores
define( 'WP_AUTO_UPDATE_CORE', true ); // também versões principais
define( 'WP_AUTO_UPDATE_CORE', false ); // nada automático (não recomendado)Escolha uma das três linhas. A opção padrão (minor) é adequada para a maioria dos sites; se o seu instalador ou o seu fornecedor de alojamento atualizar as versões principais por si, isso também é uma boa opção.
Oficialmente, o WordPress só dá suporte à versão principal mais recente. As correções de segurança são, durante algum tempo, também aplicadas a séries mais antigas, mas não deve contar com isso.
Plugins e temas automáticos
Desde o WordPress 5.5, pode clicar em Plugins para Ativar atualizações automáticas por plugin, e em Apresentação > Temas por tema. Ative isto para a maioria dos plugins: é aí que estão as vulnerabilidades (lição 7.1).
Desde o WordPress 6.6, o WordPress verifica, depois de uma atualização automática de um plugin, se o site continua a funcionar. Se a atualização causar um erro fatal, o WordPress repõe a versão anterior (um rollback) e recebe um e-mail. Isto resolve o maior risco das atualizações automáticas: um site em branco que só descobre uma semana depois.
Instaladores como o Installatron (lição 2.2) também conseguem fazer isto: com uma cópia de segurança prévia e uma reversão se a atualização falhar. Utilize conscientemente um destes dois sistemas; não entram em conflito, mas convém saber quem faz o quê.
Exceções em que por vezes se desativam as atualizações automáticas:
- um plugin que sabe que costuma alterar bastante nas versões principais (um criador de páginas, um plugin de loja online com integrações); atualize-o depois de testar em ambiente de testes (staging), mas rapidamente;
- um tema com alterações feitas diretamente nos ficheiros. É melhor colocar essas alterações num tema filho (lição 5.2), para que o tema principal possa ser atualizado automaticamente sem problemas.
Plugins pagos
Os plugins pagos só recebem atualizações enquanto a licença for válida. Uma licença expirada significa: sem atualizações de segurança. Mantenha as suas licenças em dia (lição 9.4). E um plugin pago obtido de um site de downloads não recebe quaisquer atualizações (lição 5.3).
O plugin abandonado
Um plugin sem atualizações há muito tempo, ou que foi retirado do diretório de plugins do wordpress.org ("Este plugin está encerrado"), deixa de receber correções. O que fazer:
- Veja porquê. No caso de um plugin encerrado, muitas vezes é indicado o motivo (por exemplo, um problema de segurança). Se for um problema de segurança, aja imediatamente.
- Procure uma alternativa que seja ativamente mantida (lição 5.3), ou verifique se ainda precisa dessa funcionalidade.
- Substitua em ambiente de testes (staging), teste, e depois remova completamente o plugin antigo.
Deixar um plugin abandonado "por precaução" é exatamente o risco que quer evitar.
Ler o registo de alterações
Cada atualização inclui um registo de alterações (changelog): o que foi alterado. Encontra-o em Painel > Atualizações ou na página do plugin (separador Development ou Changelog). Preste especial atenção a palavras como "security", "segurança" ou "fix vulnerability": nesse caso, deve atualizar o mais depressa possível. E a "breaking change", "requires PHP 8.x" ou "nova versão de": nesse caso, teste primeiro.
Depois de uma atualização
- Verifique rapidamente o seu site, incluindo as funcionalidades mais importantes (formulário, carrinho de compras, início de sessão).
- Leia os e-mails do WordPress ou do seu instalador sobre atualizações bem-sucedidas, falhadas ou revertidas. Um rollback significa que a versão antiga (vulnerável) voltou a estar ativa: resolva isso, muitas vezes atualizando também o PHP, o tema ou outro plugin, ou substituindo o plugin.
- Verifique no Diagnóstico do site (lição 5.4) se existem ainda avisos.
Na prática: como se apresenta num painel
Na administração do WordPress:
- Painel > Atualizações: o estado do WordPress, dos plugins e dos temas. Aqui também indica se as atualizações automáticas para versões principais estão ativadas.
- Plugins: na coluna Atualizações automáticas, por plugin, "ativar" ou "desativar". No topo, pode usar as Ações por lotes para ativar vários de uma vez.
- Apresentação > Temas: clique num tema para encontrar o botão de atualizações automáticas.
No Installatron (DirectAdmin), configura isto por instalação em Editar > Definições > Auto-Update. No Softaculous (cPanel) e no WP Toolkit (Plesk), a mesma opção encontra-se nas definições da instalação.
Resumo
- As vulnerabilidades conhecidas são rapidamente exploradas; a atualização deve ser rápida, automática e reversível.
- O WordPress instala versões menores automaticamente (desde a 3.7); as versões principais são instaladas por norma após um clique, ou automaticamente se assim o escolher.
- Ative as atualizações automáticas para a maioria dos plugins e temas; desde a versão 6.6, o WordPress reverte atualizações de plugins falhadas.
- Uma licença expirada ou um plugin abandonado significam ausência de atualizações de segurança: substitua-o.
- Leia o registo de alterações e os e-mails após uma atualização; resolva ativamente um rollback.
Questionário
Exercício
Exercício A7.2: O seu WordPress está atualizado? Verifique na administração do seu site, em Painel > Atualizações, qual a versão do WordPress que tem e preencha-a, juntamente com o seu domínio. O programa procura a versão mais recente na API pública de versões do wordpress.org e compara: verde se tiver a mais recente, laranja se estiver na mesma versão principal mas lhe faltar uma atualização menor, vermelho se estiver a utilizar uma versão principal mais antiga. Indique também quantos plugins têm atualizações automáticas ativadas e quantos não têm, e porquê.
Leitura adicional
Estes artigos descrevem os passos nos painéis da WebOké; noutros painéis funcionam de forma semelhante.
- Manual DirectAdmin 13.5: Atualizações e atualizações automáticas
- Atualizar o WordPress e o Joomla através do Installatron
- Erro 500 ou "erro crítico" no seu website (também após uma atualização do WordPress)
- Configurar atualizações automáticas (wordpress.org, Inglês): https://wordpress.org/documentation/article/configuring-automatic-background-updates/
