◇ OpenCyber Academy
Tecnólogo · Capítulo 6 · Português

Capítulo 6 — Sistemas operacionais e virtualização

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Capítulo 6 — Sistemas operacionais e virtualização

Mapa da aula

Aula 06 publicada. Mapa, exemplo, EX016.

flowchart TD
  N0["6.1 Chaves nos servidores"]
  N1["6.2 Clonagem e snapshots"]
  N2["6.3 Aleatoriedade em máquinas virtuais"]
  N3["Síntese"]
  N0 --> N1 --> N2 --> N3
  N3 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX016"]

Desenho lógico

flowchart LR
  N0["6.1 Chaves nos servidores"]
  N1["6.2 Clonagem e snapshots"]
  N2["6.3 Aleatoriedade em máquinas virtuais"]
  N3["Síntese"]
  N0 --> N1 --> N2 --> N3 --> Q["EX016"]
[6.1 Chaves nos servidores]
    |
    v
[6.2 Clonagem e snapshots]
    |
    v
[6.3 Aleatoriedade em máquinas virtuais]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX016]

Objetivos de aprendizagem

Você vai (1) proteger chaves em servidores Linux e máquinas virtuais; (2) entender os riscos da clonagem e dos snapshots; (3) usar a aleatoriedade segura do sistema operacional.

6.1 Chaves nos servidores

Os servidores web da prefeitura guardam chaves privadas TLS. Rosa confere como elas são armazenadas: as chaves devem poder ser lidas apenas pela conta do servidor web, nunca por todos os usuários, e não devem ficar em diretórios pessoais nem em pastas compartilhadas. Ela encontra um servidor em que o arquivo da chave pode ser lido por todas as contas, uma sobra de uma sessão de solução de problemas. Ela corrige as permissões, registra a mudança e acrescenta uma verificação semanal que relata os arquivos de chave com permissões frouxas. As permissões do sistema operacional são um controle de chaves básico, mas poderoso.

6.2 Clonagem e snapshots

As máquinas virtuais podem ser clonadas e ter snapshots, o que é conveniente, mas arriscado para a criptografia. Um servidor clonado carrega as mesmas chaves privadas do original, então duas máquinas passam a ter uma única identidade. Os snapshots podem capturar as chaves e o estado do gerador aleatório que estão na memória. Rosa descobre que a imagem modelo da prefeitura incluía uma chave de host SSH gerada de antemão, de modo que toda nova máquina virtual tinha a mesma chave. Ela corrige o modelo para gerar as chaves na primeira inicialização e substitui as chaves duplicadas, documentando quantas máquinas foram afetadas.

6.3 Aleatoriedade em máquinas virtuais

Máquinas virtuais recém-iniciadas podem ter pouca entropia, e máquinas clonadas podem começar com estados de gerador idênticos. Os sistemas operacionais modernos lidam melhor com isso, alimentando o gerador a partir do hipervisor e de fontes de hardware, e a NIST SP 800-90A descreve os projetos de gerador que eles usam. Rosa confere se as imagens Linux da prefeitura usam a interface getrandom do kernel, que bloqueia até que o gerador esteja alimentado, e se as aplicações a usam, por exemplo por meio do módulo secrets do Python. Ela anota que as aplicações nunca devem manter seus próprios geradores aleatórios caseiros.

Exemplo resolvido

Rosa corrige uma chave TLS legível por todos, remove uma chave de host SSH duplicada do modelo de máquina virtual e confirma que as imagens usam a aleatoriedade do sistema devidamente alimentada.

Caso sintético. Os servidores e as imagens são inventados; a SP 800-90A é real.

Erros e limites

Snapshots e backups podem conter chaves; proteja-os como chaves. Corrigir um modelo não corrige as máquinas já clonadas a partir dele.

Exercícios

Síntese

Os sistemas operacionais e a virtualização moldam a segurança das chaves por meio das permissões, dos modelos e da aleatoriedade alimentada.

Continue estudando — aula 06 (capítulo 06 de 30)

← Capítulo 05 · Índice das aulas · Capítulo 07 →

Continue para a próxima aula já escrita.