Escolar Documentos
Profissional Documentos
Cultura Documentos
OpenStack
Objetivo Geral/Específicos
2
Introdução a Computação em
Nuvem
Definição (NIST - Instituto Nacional de Padrões e Tecnologia):
“É um modelo que permite um acesso universal e adequado à rede sob-demanda
para um conjunto compartilhado de recursos computacionais configuráveis (por
exemplo: rede, servidores, armazenamento, aplicações, serviços) que podem ser
rapidamente fornecidos e disponibilizados com um mínimo de esforço de gestão
ou interação com o fornecedor do serviço”
3
Introdução Computação em Nuvem
NIST disponibiliza definições de Nuvem que são
aceitas como referência mundial.
6
Arquitetura de Referência NIST
8
Virtualização de Recursos de
Hardware!!!
9
Virtualização de Recursos
Conceitos
Tipos de Virtualização
Soluções de Virtualização
10
Virtualização
O conceito surgiu em 1967 pela IBM com a criação do primeiro
hypervisor (POPEK; GOLDBERG, 1973).
O que é? Abstração de um conjunto de recursos
(computacionais e/ou de comunicação)
É possível virtualizar diversos componentes...
12 Fonte: vmware.com
Tipos de Virtualização
13
Virtualização de Hardware
Muito utilizada em mainframes;
Partições lógicas (LPAR) dividem os recursos do
hardware;
14 Fonte: www.ibm.com
Containers
Também chamada de virtualização de S.O.
O kernel e algumas ferramentas devem ser modificadas;
Para cada instância, cria um ambiente virtual isolado (container)
executado sobre um único kernel que garante o isolamento;
Consome bem menos recursos.
15
Virtualização por Software
16
Hypervisor
Hypervisor é uma camada de software que
permite ao node executar diversas máquinas
virtuais com a possibilidade de configuração e
hardware diferentes do node, também é
comumente chamado de VMM (Virtual Machine
Monitor).
Exemplos: VMWare, Xen, KVM, LXC, PowerVM,
etc.
17
Tipos de Hypervisors
Tipo 1: Bare-Metal (No Metal)
Tipo 2: Host (Hospedado em um SO)
18
Virtualização Total
Um ou mais sistemas operacionais (SOs) e os aplicativos que
eles contêm são executados em cima do hardware virtual;
Cada instância de um sistema operacional e seus aplicativos é
executada em uma MV separada chamada de sistema
operacional hospedado.
22
Plataformas de Virtualização
O OpenStack divide as plataformas em 3 grupos:
Grupo A: os drivers são totalmente suportados.
Hypervisors: libvirt qemu/KVM em x86;
Grupo B: os drivers não foram totalmente
testados. Hypervisors: XenAPI em x86;
Grupo C: os drivers foram minimamente testados
ou não foram testados. Hypervisors: VMWare,
baremetal, docker, Hyper-V, libvirt (LXC, Xen),
PowerVM e ARM.
23
Os 3 Principais Hypervisors para o
OpenStack
24
XEN
Xen:
25
Arquitetura Xen
27
Arquitetura KVM
29
Arquitetura VMWare
30 Fonte: www.vmware.com
Introdução da plataforma
OpenStack
31
Projeto OpenStack
Sistema Operacional de Nuvem
Criação de nuvem pública / privada IaaS
Fundação OpenStack
+ 1000 membros individuais
+ 850 organizações
+ 87 países
Início desenvolvimento em 2010
Idealizado pela NASA (EUA) e Rackspace
Release atual: Havana
Linguagem: Python
35
Necessidade de Segurança nas
VM’s
Necessidade de orquestrar instruções aos recursos físicos
Cada processador suporta um conjunto de instruções.
Algumas executam em modo privilegiado e outras em modo usuário.
36
Guias para Segurança em
Virtualização
37
Importância dos Guias de Segurança
em Virtualização
Fornecem uma visão geral da segurança em
virtualização;
Identificam as principais questões de segurança
relacionadas;
Estabelecem normas, prioridades e medidas de
prevenção.
38
Principais Guias Relacionados
NIST – Guide to Security for Full Virtualization
Technologies
39
NIST
Subdivide as recomendações em 4 áreas:
Segurança do hypervisor;
Segurança do Guest;
Segurança da infraestrutura virtualizada; e
Segurança na virtualização de desktops.
Fornece um ciclo de planejamento e utilização para
uma virtualização segura:
Iniciação;
Planejamento e projeto;
Implementação;
Operações e Manutenção; e
Disposição.
40
Recomendações por Áreas do NIST
Segurança do Hypervisor:
Instalar updates de segurança;
Restringir acesso administrativo;
Sincronizar a infraestrutura com um timeserver
confiável;
Desabilitar serviços não utilizados; e
Monitoramento, análise de logs.
Segurança dos Guests
Seguir recomendações práticas para gerenciamento de
S.O físico;
Instalar updates de segurança;
Backup de drivers virtuais regularmente; e
Utilizar diferentes soluções de autenticação.
41
Recomendações por Áreas do NIST
Segurança da infraestrutura virtual:
Isolamento de rede;
Isolamento de armazenamento; e
Isolamento de instruções.
Virtualização de Desktops:
Única diferença para virtualização de servidores é a
capacidade de gerenciamento de imagens.
Servidores -> gerenciamento de imagens restrito
Desktop -> responsabilidade é do usuário
42
Fases de Planejamento e Utilização
Segura da Virtualização
Planejamento e Projeto
- Especificar características/
Operação e Manutenção
componentes relacionados;
-Métodos de autenticação; - Revisão de logs;
-Mecanismos de cifragem, - Detecção de ataques;
etc; - Monitoramento constante
1 2 3 4 5
Fases de Planejamento e Utilização Segura da Virtualização
43
Red Hat
Subdivide as recomendações em 3 áreas:
Segurança do host/hypervisor;
Segurança dos Guests; e
Segurança de rede no ambiente virtualizado.
44
Recomendações por Áreas
Segurança do host/hypervisor
Executar apenas serviços recomendados;
Limitar acesso apenas à usuários com
necessidade de gerenciar o sistema;
Garantir que seja possível realizar auditorias; e
Utilizar canais seguros de comunicação
SSL/TLS;
Criar rede isolada de gerenciamento.
45
Recomendações por Áreas
Segurança dos Guests
Utilização de canais seguros de comunicação;
Garantir a segurança das aplicações; e
Cifragem de dados para que não sejam acessados
fora do escopo de segurança dos guests.
Segurança de Rede
Utilização de protocolos seguros de comunicação;
Firewalls;
Políticas; e
Isolamento da rede de administradores dos guests.
46
PCI Security Standards
Subdivide suas seções em 3 áreas:
Visão geral de virtualização;
Riscos para ambientes virtualizados; e
Recomendações.
47
Recomendações por Áreas
Visão geral
Conceitos de virtualização (tipos/classes);
Componentes da virtualização.
Riscos para ambientes virtualizados
Vulnerabilidades no ambiente físico aplicado em
um ambiente virtual;
Vulnerabilidades proporcionadas pelo hypervisor;
Aumento da complexidade dos sistemas
virtualizados e redes;
Mais de uma função por sistema físico.
48
Recomendações por Áreas
Mistura de VM’s de diferentes níveis de
confiança;
Falta de separação de funções;
VM’s em estado de espera;
Imagens e Snapshots;
Imaturidade das funções de monitoramento;
Vazamento de informações entre segmentos
virtuais de rede.
49
Comparativo
Pontos Abordados NIST RED HAT PCI
1 – Segurança do hypervisor.
(Monitoramento/logs/
Abordado Abordado Abordado
Configuração/ restrições de
acesso administrativo)
2 – Segurança da
Abordado Abordado Abordado
infraestrutura virtual
3 - Mistura de VM’s de
diferentes níveis de N.A N.A Abordado
confiança no mesmo host
4 - Segurança em
Abordado Abordado Abordado
virtualização de servidores
5 - Segurança em
Abordado N.A Abordado
virtualização de desktops
50
Comparativo
Pontos Abordados NIST RED HAT PCI
6 - Vazamento de
informações entre Abordado N.A Abordado
segmentos virtuais de rede.
8 – Segurança na geração de
N.A N.A Abordado
Imagens e Snapshots
51
Análise das Vulnerabilidades dos
Hypervisors
Fontes de análise: LaunchPad (Bugs)
Parâmetros:
Status: nova, confirmada, em triagem, em progresso e corrigida,
incompleto, correção enviada, correção liberada, não será
corrigido.
Importance (Relevância ou Importância): lista de espera,
indefinida, baixa, média, alta e crítica.
CVE (Vulnerabilidades)
Parâmetros:
Severidade: baixa (0-3), média (4-6), alta e média (4-10), alta (7-
10);
Vetor de acesso: rede, rede local, apenas local;
Complexidade de acesso: baixa, média e alta;
Autenticação: nenhuma, única, múltipla.
52
LaunchPad
LaunchPad: estrutura para que a comunidade submeta bugs;
Categorização dos bugs listados;
Cada tipo de bug possui uma equipe especializada; e
OSSG (OpenStack Security Group) --> VMT (Vulnerability Management
Team)
53 (LAUNCHPAD, 2013)
CVE (Common Vulnerabilities and
Exposures)
É uma lista de problemas comuns de segurança
pertinentes a diversos sistemas
Metas:
Enumerar todos os problemas de segurança
publicamente conhecidos
Padronizar os tipos de problemas
Ser publico, aberto compartilhável, sem restrições
de distribuição
62
Objetivo do Estudo de Caso
Compreensão geral da plataforma;
DevStack, Arquitetura
Nova
Realizar a criação de uma VM;
Monitoramento
Verificar a comunicação entre os componentes;
Verificar se a imagem requisitada no Glance está
cifrada
Soluções para possíveis problemas encontrados.
Opções de segurança SELinux sVirt
63
Arquitetura
66
Configuração do DevStack
Hypervisor utilizado pelo DevStack:
Qemu
Abordagem multi-node
Compute
Controller
67
Criação de uma VM
por CLI
1 – Verificar os grupos de segurança
2 – Habilitar ping/ssh
3 – Adicionar Regras
4 – Gerar Chave
5 – Listar os tipos de imagens
6 – Listar as imagens
7 – Criar a VM
68
Processo de Criação de uma VM
69
Processo de Criação de uma VM
70
Processo de Criação de uma VM
71
Processo de Criação de uma VM
72
Monitoramento
73
Monitoramento
74
Monitoramento
Glance autenticando no Keystone
75
Monitoramento
Glance autenticando no Keystone
76
Monitoramento
Glance buscando a imagem no MySQL
77
Monitoramento
Glance buscando a imagem no MySQL
78
Considerações Parciais
Comunicação interna realizada por padrão de
forma insegura.
Credenciais passadas em texto as claras.
79
Correção
Configurar Glance.conf para cifrar os metadados
da imagem.
Etc/Glance/Glance.conf
80
Imagens Cifradas
81
Correção
Configurar Keystone.conf para utilizar tokens
PKI, comunicando-se com SSL e certificadas
com X509.
etc/Keystone/Keystone.conf
Fonte: http://docs.openstack.org/developer/keystone/configuration.html#generating-
82
ssl-certificates
Certificados + SSL
84
Resultado
85
Resultado
86
sVirt (SELinux) + virsh (Libvirt)
Isolamento de VM’s
87
Isolamento com sVirt
89
Considerações Finais
VM-N
Vulnerabilidades de virtualização de nuvem VM-1 VM-2
possuem alta complexidade Hypervisor
Nuvem
Virtualização = abstração de software
Virtualização na nuvem = 2x abstração
Hardware
90
Considerações Finais
Muitas vezes a segurança da plataforma depende
da sua configuração adequada.
As configurações de segurança não são habilitadas
por padrão tanto para o DevStack e a para instalação
tradicional.
Habilitar o protocolo SSL proporciona segurança na
comunicação interna na plataforma.
91
Considerações Finais
Compreensão da importância da virtualização no
contexto de nuvem, dos diversos tipos de
virtualização, sua segurança.
Visão geral do funcionamento da
plataforma/hypervisors e da segurança por meio
dos guias.
92
Referências
DIEDER, MARCELO. Como Gerenciar uma Nuvem Pública ou
Privada Utilizando o OpenStack. Fórum Internacional de Software
Livre (FISL) 14ª edição. Porto Alegre, Brasil. 2013.
GONZALEZ, M.; MIERS, C.; ROJAS, M.A.; REDÍGOLO, F.; CARVALHO, T.;
NÄSLUND, M.; POURZANDI, M. A Quantitative Analysis of Current Security
Concerns and Solutions for Cloud Computing. Journal of Cloud Computing
(JoCCASA), vol. 1, 2012.
LAUNCHPAD (2013). OpenStack. Disponível em:
https://launchpad.net/openstack.
MELL, P.; GRANCE, T. The NIST Definition of Cloud Computing. National
Institute of Standards and Technology (NIST), Information Technology
Laboratory. Gaithersburg, Maryland – USA. 2011.
PCI Security Standards Council. (2011). Data Security Standard (PCI DSS).
Virtualization Special Interest Group. Disponível em:
https://www.pcisecuritystandards.org/documents/Virtualization_InfoSupp_v2.pdf
93
Referências
PEPPLE, K. (2012). OpenStack Folsom Architecture. Disponível em:
http://ken.pepple.info/openstack/2012/09/25/openstack-folsom-
architecture/
Red Hat. (2013). Virtualization Security Guide. Disponível em:
https://access.redhat.com/site/documentation/en-
US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Security_Guide/
RITA DE C. C. DE CASTRO; LUIZA DOMINGOS; GLAUCIVÂNIA LUZ;
CLAUDIO PEREIRA; MARCELO GOMES. Gestão de
Vulnerabilidades em Cloud Computing: Um Cenário da Nuvem
Pública. Universidade Estadual do Ceará (UECE). 2012.
SLIPETSKYY, R. Security Issues In OpenStack. Master thesis in
Security and Mobile Computing, Departament of Telematics, Norwegian
University of Science and Technology (NUST). Junho de 2011.
VMWare. (2013). VMWare Virtualization. Disponível em:
http://www.vmware.com/virtualization/
WEN, X.; GU, G.; LI, Q.; GAO, Y.; ZHANG, X. Comparison of Open-
Source Cloud Management Platforms: OpenStack and
OpenNebula. In 9th International Conference on Fuzzy Systems and
Knowledge Discovery, FSKD '12, pages 2457- 2461. 2012.
94