Criar uma máquina virtual na Oracle Cloud ou na AWS é alugar uma parte da infraestrutura de um provedor e assumir a responsabilidade pelo que roda nela. A nuvem não cuida de tudo sozinha. A divisa entre o que fica com o provedor e o que fica com o cliente depende do tipo de serviço, e é ela que decide quem aplica as atualizações, quem configura o firewall e quem protege os dados.
O que é computação em nuvem
O NIST, o instituto de padrões dos Estados Unidos, define a computação em nuvem como um modelo de acesso pela rede, sob demanda, a um conjunto compartilhado de recursos configuráveis, como redes, servidores, armazenamento, aplicações e serviços, que são alocados e liberados rapidamente, com pouco esforço de gestão e pouca interação com o provedor.
Na prática, um servidor é criado em poucos minutos, por um console na web, e excluído quando deixa de ser necessário, sem compra de equipamento. O pagamento acompanha o uso, e alguns provedores oferecem uma cota gratuita.
A AWS distingue três formas de implantação:
- Nuvem: a aplicação roda inteira na nuvem, criada ali ou migrada para lá;
- Híbrida: recursos na nuvem ligados a sistemas que continuam fora dela, em geral no data center da própria empresa;
- Local, em inglês on-premises: recursos no data center da própria empresa, com ferramentas de virtualização, sem muitos dos benefícios da nuvem.
IaaS, PaaS e SaaS
Os serviços de nuvem se dividem em três modelos, conforme a parte que o provedor assume:
- IaaS, infraestrutura como serviço: os blocos básicos, como computação, rede e armazenamento, com o maior controle para o cliente. A máquina virtual é o exemplo típico. O provedor entrega processador, memória, disco e rede virtuais, e o cliente escolhe o sistema operacional e cuida dele.
- PaaS, plataforma como serviço: o provedor também cuida do hardware e do sistema operacional, e o cliente se concentra na aplicação. Um banco de dados gerenciado, em que o provedor instala e atualiza o servidor de banco, é um exemplo.
- SaaS, software como serviço: o provedor entrega um programa pronto, que ele mesmo executa e mantém. Um serviço de e-mail usado pelo navegador é um exemplo.
Na OCI, sigla de Oracle Cloud Infrastructure, as máquinas virtuais ficam no serviço Compute. Na AWS, ficam no Amazon EC2. Os dois são IaaS.
O modelo de responsabilidade compartilhada
A segurança na nuvem é dividida entre o provedor e o cliente. A AWS resume a divisão em duas expressões:
- Segurança da nuvem: o provedor protege a infraestrutura que executa todos os serviços;
- Segurança na nuvem: o cliente protege o que coloca e configura na nuvem, e a parte dele depende dos serviços que escolhe.
A Oracle usa a mesma ideia e separa as responsabilidades por áreas:
- Identidade e acesso: o cliente protege as credenciais e cria uma conta para cada pessoa, e a Oracle fornece o serviço de identidade;
- Carga de trabalho: o cliente atualiza e configura o sistema operacional e as aplicações das instâncias e as protege contra malware e ataques pela rede, e a Oracle fornece imagens reforçadas e atualizadas;
- Rede: o cliente configura a rede virtual, os gateways, o DNS e o balanceamento de carga, e a Oracle fornece a infraestrutura de rede e a proteção contra ataques de negação de serviço nas camadas 3 e 4, incluída em todas as contas;
- Dados: o cliente classifica os próprios dados e cumpre as obrigações legais sobre eles;
- Segurança física: a Oracle protege o hardware, o software, a rede e as instalações da infraestrutura global.
Ver código do diagrama
flowchart TB
subgraph CLIENTE["Cliente: segurança na nuvem"]
D["Dados e contas de acesso"] --- A["Aplicações instaladas"]
A --- S["Sistema operacional, atualizações e firewall da VM"]
S --- R["Regras de rede e chaves SSH"]
end
subgraph PROVEDOR["Provedor: segurança da nuvem"]
V["Virtualização"] --- H["Servidores, discos e rede física"]
H --- F["Data centers"]
end
R --- VComo a máquina virtual é IaaS, a parte do cliente é grande. Pela AWS, quem usa o EC2 cuida do sistema operacional da instância, com as atualizações e as correções de segurança, dos programas que instala e da configuração do firewall do provedor que protege a instância, o security group. Nos modelos PaaS e SaaS, o provedor assume mais camadas, mas os dados e os acessos continuam com o cliente.
Os controles herdados e os compartilhados
A AWS classifica os controles de segurança em três grupos:
- Herdados: o cliente os recebe inteiros do provedor, como a proteção física e ambiental dos data centers;
- Compartilhados: cada lado cuida da própria camada. Na gestão de correções, a AWS corrige as falhas da infraestrutura, e o cliente corrige as falhas do sistema operacional da instância e das aplicações;
- Específicos do cliente: dependem só do cliente, como a proteção dos serviços e das comunicações e a separação em zonas de segurança.
O modelo de responsabilidade compartilhada é um dos temas do exame AWS Certified Cloud Practitioner, meta do Bloco 4 do plano de estudos.
No suporte
Diante de uma VM invadida ou fora do ar, convém separar o que é do provedor e o que é de quem criou a máquina. Atualizações atrasadas, uma porta aberta para qualquer origem e uma chave vazada ficam do lado do cliente, e nenhum chamado ao provedor corrige esses pontos.
Para guardar
- A nuvem oferece, pela rede e sob demanda, recursos de computação compartilhados, alocados e liberados com pouco esforço.
- No IaaS, o provedor entrega a infraestrutura, e o cliente cuida do sistema operacional e de tudo o que roda nele.
- No PaaS, o provedor também cuida do sistema operacional, e no SaaS entrega o programa pronto.
- O provedor responde pela segurança da nuvem, e o cliente, pela segurança na nuvem.
- Na máquina virtual, as atualizações, o firewall, as regras de rede, as chaves e os dados ficam com o cliente.
Uma VM com Ubuntu, criada na OCI há seis meses e nunca atualizada, foi invadida por uma falha do sistema que já tinha correção. A responsabilidade era da Oracle ou de quem criou a VM?
De quem criou a VM. A máquina virtual é IaaS, e o sistema operacional e as atualizações ficam com o cliente. A Oracle fornece imagens atualizadas para a criação, mas as correções publicadas depois cabem ao cliente.
Na AWS, quem corrige uma falha no hipervisor que executa uma instância EC2, e quem corrige uma falha no sistema operacional dessa instância?
A AWS corrige a falha do hipervisor, que faz parte da infraestrutura, e o cliente corrige a falha do sistema operacional da instância. A gestão de correções é um controle compartilhado, em que cada lado corrige a própria camada.
Fontes
O material está em inglês.
- NIST, SP 800-145, definição de computação em nuvem: o acesso sob demanda a recursos compartilhados, alocados e liberados rapidamente;
- AWS, tipos de computação em nuvem: o IaaS, o PaaS, o SaaS e as formas de implantação;
- AWS, modelo de responsabilidade compartilhada: a segurança da nuvem e na nuvem, as tarefas do cliente no EC2 e os tipos de controle;
- Oracle, modelo de segurança compartilhada: as áreas de responsabilidade da Oracle e do cliente;
- AWS, guia do exame CLF-C02: o modelo de responsabilidade compartilhada entre as tarefas avaliadas.