WASViking Docs
⌘K
Primeiros passos

Reverter uma mudança que deu problema

Desfaça um job concluído de atualização de segurança pelo WASViking Resolve. Cada pacote volta à versão que tinha antes, a mudança passa pela mesma aprovação e pela mesma janela da atualização, a reavaliação mede o risco que voltou, e as atualizações revertidas ficam fora das recomendações até você decidir o contrário.

Às vezes uma atualização quebra algo que a vulnerabilidade nunca quebrou: uma biblioteca TLS que não conclui mais o handshake com um parceiro, uma atualização cumulativa que faz um serviço de banco de dados travar. O Resolve permite desfazer a mudança com a mesma disciplina que aplicou para instalá-la. O rollback é um job próprio, vinculado ao job que ele desfaz, de modo que o registro mostra o que entrou, o que saiu, quem decidiu cada etapa e por quê. Ao final deste guia você terá revertido um job concluído em um host Linux ou Windows, lido o veredito da reavaliação e visto como as atualizações revertidas ficam fora das recomendações por um tempo.

Antes de começar

  • Um job Apply security updates (aplicar atualizações de segurança) concluído em um host Linux ou Windows. Apenas jobs concluídos de atualização de segurança podem ser revertidos; um job de reinicialização ou um upgrade de aplicação de terceiros não tem nada a reverter.
  • O agente Sentinel Host 0.1.38 ou posterior nesse host. A tela do Resolve não oferece a ação em um agente mais antigo; atualize-o antes em Infrastructure Defense → Sentinel Hosts.
  • A permissão Manage no Infrastructure Defense para criar o job de rollback e a permissão Approve para aprová-lo, exatamente como em qualquer outra mudança. A governança de aprovação do ambiente do host vale para um rollback da mesma forma que vale para uma atualização.

O que um rollback faz em cada plataforma

Plataforma O que o agente faz O que ele nunca faz
Linux (apt e dnf) Faz o downgrade de cada pacote para a versão exata que ele tinha antes do job, uma transação por pacote, com um índice atualizado para que a versão anterior possa ser encontrada. Tocar no kernel. O kernel anterior normalmente continua instalado; inicie por ele no menu de boot se o novo for o problema.
Windows Remove cada atualização pelo número do KB por meio do Windows Update Agent, o mesmo mecanismo que a instalou. Uma atualização que a plataforma não permite remover (uma servicing stack update, uma atualização de definições) é reportada como tal. Um KB que o agente não lista mais é tentado pelo instalador standalone. Instalar ou remover qualquer coisa que o job original não tenha nomeado.
macOS Nada. A Apple não oferece forma de remover uma atualização do macOS já instalada; a tela do Resolve informa isso em vez de oferecer a ação. Recupere o host a partir de um backup ou reinstale-o.

Um rollback é uma mudança como qualquer outra. O host mantém a regra de "uma mudança por vez", a janela de manutenção continua valendo, e um host com uma reinicialização ainda pendente de uma mudança anterior retém o rollback da mesma forma que retém uma atualização.

Passo 1: encontre a mudança e abra o rollback

Abra Infrastructure Defense → Resolve e role até Jobs. Um job concluído de atualização de segurança que pode ser revertido mostra Roll back this change (reverter esta mudança) na coluna Actions. Abra-o.

Tabela Jobs na tela do Resolve com o formulário Roll back this change aberto em um job concluído de acme-app-01: o motivo, o plano de retorno trazido do job original, uma referência de incidente e o número de dias em que as atualizações revertidas ficam fora do Resolve

O formulário pede:

  • Why this change has to go. (por que esta mudança precisa sair) Obrigatório. Esta é a evidência de que a atualização deu problema; ela vai para o registro de aprovação, para o e-mail aos aprovadores e para a exportação CSV.
  • Back-out plan. (plano de retorno) Vem preenchido com o plano que o solicitante informou quando o job original foi agendado, se houver. Ajuste-o para o registro.
  • Change or incident reference. (referência de mudança ou incidente) Opcional, para o chamado na sua própria ferramenta.
  • Keep these updates out of Resolve for N days. (manter estas atualizações fora do Resolve por N dias) Quatorze por padrão, até noventa, zero para nenhum. Depois do rollback, as mesmas atualizações voltam direto como pendentes no próximo inventário; esta retenção impede que a WASViking® as recomende de novo na mesma tarde (veja o Passo 5).
  • Run now (executar agora) dispensa a janela de manutenção quando a governança aprova o job na criação. Quando uma pessoa precisa aprová-lo, é essa pessoa que faz a escolha de agendamento.
  • Allow a reboot (permitir uma reinicialização) aparece apenas quando a política do host permite reinicialização automática; uma remoção no Windows pode pedir uma.

Em um host Windows, o mesmo formulário explica a remoção baseada em KB e quais atualizações não podem ser removidas.

O mesmo formulário no host Windows acme-db-01, com a nota de que o Windows remove cada atualização pelo seu KB por meio do Windows Update e de que servicing stack updates e atualizações de definições são reportadas como não removíveis

Confirme com Create the rollback job (criar o job de rollback). Nada é executado ainda: um job de rollback é criado para os mesmos pacotes, congelado com a versão à qual cada um retorna.

Passo 2: aprove o rollback

O novo job aparece no topo da tabela Jobs com um selo Rollback of (rollback de) que nomeia o job que ele desfaz, a movimentação esperada da pontuação (da pontuação atual de volta à pontuação que o host tinha antes da atualização) e a aprovação que a governança do ambiente dele exige: automática, uma pessoa ou um quórum formal de pessoas diferentes do solicitante.

O job de rollback aguardando aprovação: o selo Rollback of com o id do job original, três pacotes, VES de 70 para 88 esperado, a data da janela de aprovação e o formulário Approve or reject aberto com a referência de incidente trazida do job original

Aprove-o como você aprovaria uma atualização. Escolha Run now para dispensar a janela de manutenção, ou deixe como está e o host pega o job quando a janela abrir. Uma aprovação de emergência está disponível sob as mesmas regras de qualquer job formal.

Passo 3: o que acontece no host

O agente executa as suas pré-verificações (privilégios, espaço livre, memória no Linux) e então retorna cada pacote, reportando o resultado por item:

  • downgraded to (rebaixado para) a versão anterior, ou removed (removido) para um KB do Windows, quando o pacote realmente voltou;
  • not installed on the host (não instalado no host) quando a atualização já não estava mais lá;
  • not uninstallable (não desinstalável) quando o Windows não permite remover aquela atualização;
  • skipped (ignorado) para um pacote de kernel, para um pacote sem versão anterior registrada ou para uma versão que o agente se recusou a passar ao gerenciador de pacotes;
  • failed (falhou) com o motivo, por exemplo uma versão anterior que nenhum repositório configurado oferece mais.

O job falha apenas quando absolutamente nada voltou. Um rollback parcial é reportado como tal, item por item, nunca como sucesso total.

Passo 4: leia o veredito

O rollback é concluído quando o próximo inventário tiver sido reavaliado. A coluna Status passa então a exibir Rolled back: VES 70 to 88; 3 of 3 packages returned to the previous version; 17 vulnerabilities open again. (revertido: VES de 70 para 88; 3 de 3 pacotes retornaram à versão anterior; 17 vulnerabilidades abertas novamente). Os números são medidos pela reavaliação, nunca estimados: a pontuação volta a subir porque as vulnerabilidades que a atualização fechou estão abertas de novo, e a linha diz isso com todas as letras.

O job de rollback verificado: Completed, o veredito Rolled back com a movimentação da pontuação, os pacotes retornados e as vulnerabilidades abertas novamente, ao lado do job original que ele desfez

Uma remoção no Windows que precisa de reinicialização informa restart pending to finish the removal (reinicialização pendente para concluir a remoção); o host mostra a reinicialização pendente e as ações usuais de reinicialização se aplicam.

Passo 5: a retenção das atualizações revertidas

As atualizações que um rollback retornou voltam direto como pendentes no próximo inventário. Para evitar que o Resolve as recomende de novo logo em seguida, os pacotes que realmente voltaram ficam retidos naquele host pelos dias que o job de rollback pediu. Enquanto a retenção durar:

  • a linha Recommended actions do host deixa esses pacotes fora do plano e informa isso;
  • a página do ativo do host mostra um card Held Back After Rollback (retidos após rollback) com cada pacote, a versão que foi revertida, a data em que a retenção termina e o job de rollback que a criou.

Linha Recommended actions de acme-app-01 com o Review aberto: apenas libxml2 e sudo no plano e uma nota Held back informando que três atualizações revertidas anteriormente ficam fora do plano até a data da retenção

Card Held Back After Rollback na página do ativo de acme-app-01: openssl, libssl3t64 e curl, as versões revertidas, a data em que a retenção termina, o id do job de rollback e um botão Release hold por linha

Uma retenção expira sozinha. Para voltar a oferecer uma atualização antes disso, por exemplo depois que o fornecedor publicou um build corrigido, pressione Release hold (liberar retenção) naquela linha. A liberação é registrada em seu nome e a atualização volta às recomendações a partir da próxima avaliação do host.

O aviso após liberar uma retenção: o Resolve oferece esta atualização novamente a partir da próxima avaliação do host

A retenção governa o que a WASViking® recomenda. Ela não impede as atualizações automáticas do próprio sistema operacional: um host Windows com a instalação automática ligada pode reinstalar uma atualização removida no seu próprio agendamento. Pause as atualizações automáticas nesse host pela sua política habitual se a retenção precisar ser estrita.

Operação no dia a dia

  • Alertas. Um rollback verificado gera um alerta Rollback Verified nos seus canais com os pacotes retornados, as vulnerabilidades abertas novamente e a retenção; um rollback que falhou gera Patch Job Failed com o motivo.
  • Evidências. O job de rollback carrega o motivo, o plano de retorno, a referência, o job que ele desfez e a retenção, além de todas as decisões de aprovação sobre ele. Export approval records (exportar registros de aprovação), na tela do Resolve, grava tudo isso em CSV, uma linha por decisão, com o id do job original na coluna rollback_of.
  • Trilha de auditoria. Criar o rollback, aprová-lo e liberar uma retenção são entradas de auditoria como qualquer outra ação do Resolve.

Solução de problemas

O job não tem a ação Roll back this change. Ou ele não é um job concluído de atualização de segurança, ou o host roda macOS, ou o agente é anterior à versão 0.1.38, ou o host tem outro job ativo, ou o job já foi revertido (um job é revertido uma única vez). O aviso após o clique indica o motivo quando o botão estava lá um instante atrás.

Nothing in this job can be rolled back. (nada neste job pode ser revertido) O job continha apenas pacotes de kernel, ou entradas sem versão anterior ou identificador de KB. O kernel nunca sofre downgrade, de propósito; em vez disso, inicie pelo kernel anterior.

Um pacote voltou como "failed: still at" a nova versão. A versão anterior não está mais disponível em nenhum repositório configurado (algumas distribuições mantêm apenas o build atual de uma atualização de segurança). Restaure o pacote a partir do seu próprio mirror ou snapshot; os outros pacotes do job voltaram, cada um na sua linha.

Uma atualização do Windows voltou como "not uninstallable". O Windows não permite remover servicing stack updates nem atualizações de definições, e alguns pacotes combinados só podem ser removidos pelas ferramentas da própria plataforma. O resultado por item os nomeia; o restante do job voltou.

A atualização foi recomendada de novo no dia seguinte. O job de rollback foi criado com uma retenção de zero dias, ou a retenção foi liberada. Na próxima vez, reverta com uma retenção mais longa, ou deixe a atualização desmarcada no Review do próximo job.

Próximos passos

  • Configure o Infrastructure Defense mostra como agendar e aprovar uma atualização, a mudança que um rollback desfaz.
  • Infrastructure Defense, em Capacidades, explica o Resolve, a governança de aprovação e como o Viking Exposure Score é medido antes e depois de cada mudança.