Menu English version
Blog Infra como Código

Como detectar o WannaCry?

Saiba como você pode proteger a sua infraestrutura Puppet contra o ransomware que já afetou mais de 150 países

Você provavelmente já ouviu falar do WannaCry, o ransomware que está infectando sistemas Windows vulneráveis ao redor do mundo. A ameaça foi detectada inicialmente na Inglaterra na última sexta-feira e, desde então, se espalhou por cerca de 200 mil computadores em mais de 150 países. O principal objetivo do vírus é criptografar os arquivos presentes nos computadores e exigir um valor em dinheiro (cerca de 300 dólares) pelo resgate das informações.

Enquanto muitas organizações de TI correm contra o tempo para entender o funcionamento do WannaCry, muitas ainda têm dificuldades para descobrir se há alguma vulnerabilidade nos seus sistemas. Neste post, escrito em colaboração com a Puppet, nós explicamos uma maneira simples de lidar com o ransomware e minimizar os efeitos do ciberataque.

Identificando o WannaCry

Identificar se os seus sistemas estão ou não suscetíveis a um ataque do WannaCry é relativamente simples. Primeiramente, você precisará identificar qual a última atualização aplicada nas máquinas. No entanto, obter esses dados para cada um dos computadores conectados na sua rede pode não ser uma tarefa tão rápida assim.

Se você tem Puppet, o processo de identificação pode ser feito rapidamente. O Puppet inclui o Facter, uma ferramenta para coletar metadados nos servidores. A empresa escreveu um módulo específico chamado puppetlabs/detect_wannacry que inclui uma funcionalidade para identificar se há algum servidor em vulnerabilidade. Isso será aplicado em todos os nodes da sua infraestrutura, ou seja, a partir desta ação será possível usar a Puppet Query Language para pesquisar quais sistemas precisarão receber mais atenção do seu time.

Adicione a seguinte linha de código no seu Puppetfile para incluir o módulo puppetlabs/detect_wannacry no em seu ambiente Puppet:

mod 'puppetlabs-detect_wannacry'

O módulo detect_wannacry inclui uma função chamada wannacry_vulnerable, que retornará um valor de true ou false (booleano). Use o seguinte comando do Puppet Enterprise Orchestrator para aplicar essa função para todos os nodes de Windows e para retornar o valor correspondente a cada um deles:

puppet job run --query 'inventory[certname]{ 
    facts.os.name = "windows" and nodes { deactivated is null } }'
    --concurrency 40

Depois de realizar esses passos, você precisará reunir todas as informações sobre os sistemas vulneráveis em uma lista. Para isso, você pode usar o seguinte PQL query:

puppet query 'inventory[certname] { 
    facts.wannacry_vulnerable = "true" 
}'

Remediando a ação do WannaCry com Puppet

O jeito mais rápido de remediar as ações do WannaCry é simplesmente desabilitar o SMBv1 na sua infraestrutura. O SMBv1 é um protocolo SMB antigo e é bem fácil de desabilitá-lo de maneira segura. No entanto, é preciso saber que essa ação no Windows exigirá uma reinicialização. Crie um profile em $environment/modules/profile/manifests/wannacry.pp com o conteúdo abaixo:

class profile::wannacry {

    #Tested on Windows 2012 R2

    exec { 'Disable SMBv1 Protocol':
        command => "Set-SmbServerConfiguration -EnableSMB1Protocol $false -force",
        provider => powershell,
        unless => "if (Get-SmbServerConfiguration | Select EnableSMB1Protocol) { exit 0 } else { exit 1 }",
    }

    exec { 'Remove SMBv1 Feature':
        command => "Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol",
        provider => powershell,
        unless => "if (Get-WindowsOptionalFeature -Online -FeatureName smb1protocol) { exit 0 } else { exit 1 }",
    }
}

Aplique o código acima no Puppet Enterprise com o comando “puppet code”. O último passo é criar um grupo de nodes no Puppet Enterprise web UI chamado “WannaCry” e criar uma regra que associe a classe profile::wannacry para todos os nodes com o valor true para wannacry_vulnerable.

Correções necessárias

O melhor jeito de remediar o WannaCry é aplicar as atualizações em todos os seus sistemas vulneráveis. No entanto, nem todos os times de TI tem um processo maduro para aplicar patchs, em especial utilizando gerenciamento de configurações e, muitas vezes, verificar e orquestrar os sistemas vulneráveis pode levar muito tempo. Desta forma, assim que for possível na sua organização, aplique as seguintes correções para remediar completamente os efeitos do WannaCry:

Windows Server 2008
  • KB4012212
Windows Server 2012
  • KB4012217
  • KB4015551
  • KB4019216
Windows Server 2012 R2
  • KB4012216
  • KB4015550
  • KB4019215
Windows Server 2016
  • KB4013429
  • KB4019472
  • KB4015217
  • KB4015438
  • KB4016635

Conclusão

O WannaCry é um exemplo dos motivos pelos quais estar preparado para enfrentar uma vulnerabilidade de larga escala é essencial para manter as suas operações de TI em pleno funcionamento. Este ransomware não é o primeiro ciberataque mundial e provavelmente não será o último. Por isso, ter um sistema de gerenciamento de configurações confiável e fácil de usar permite a você ter uma enorme vantagem em relação a outras corporações quando problemas como o WannaCry ocorrerem.