Segurança em Máquinas Virtuais no OpenStack - ppt carregar
Segurança em Máquinas Virtuais no OpenStack
PublicouLucas Monte Alterado mais de 3 anos atrás
Apresentação em tema: "Segurança em Máquinas Virtuais no OpenStack"— Transcrição da apresentação:
1 Segurança em Máquinas Virtuais no OpenStack
Comércio Eletrônico (2013/2) Prof. Dr. Charles Christian Miers Alunos: Bruno Bastos Rodrigues, Lucas da Cunha, Ramon Michels Ruppenthal
2 Objetivo Geral/Específicos
Objetivo Geral: apresentar preocupações e soluções de segurança inerentes à virtualização de recursos dentro do contexto de nuvem, utilizando como estudo de caso a plataforma OpenStack Grizzly. Objetivos Específicos: Entendimento dos conceitos básicos envolvidos; Elencar as principais questões de segurança relacionadas à virtualização; Testes práticos na plataforma OpenStack em pontos específicos.
3 Introdução a Computação em Nuvem
Definição (NIST): "É 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" Porque utilizar Computação em Nuvem? Benefícios C.C -> Custo/Benefício  maior eficiencia no uso dos recursos computacionais se comparado ao modelo cliente-servidor -> Capacidade de armazenamento quase ilimitado (passa a impressao ao usuário de que é ilimitado) -> Backup e recuperação -> Integração de software automática -> Fácil acesso a informacao ------ Desvantagens -> Os dados do usuario estao sujeitos a (falta de) disponibilidade do servidor -> Segurança -> Vendor Lock-in -> ficar preso a tecnologias de um fornecedor (Portabilidade e interoperabilidade são características essenciais)
4 Introdução Computação em Nuvem
NIST disponibiliza definições de Nuvem que são aceitas como referência mundial. O que é? A definicao do NIST é composta por 5 caracteristicas essenciais: 1 - Acesso por banda larga -> todos os recursos da nuvem são acessiveis por meio da Web 2 - Elasticidade rapida -> os recursos computacionais são providos e desprovidos automaticamente pela nuvem 3 - Serviço medido -> nuvem controla e otimiza o uso de recursos fornecendo métricas de acordo com o tipo de serviço sendo fornecido 4 - Self-service -> os recursos são providos de acordo com a necessidade do usuário 5 - Conjunto de recursos ->os recursos de computação (armazenamento, processamento, memória, largura de banda e máquinas virtuais) do provedor são agrupados para atender múltiplos usuários Adaptado de: (MELL e GRANCE, 2009).
5 Modelos de Implantação
Publica: caracterizada por expor seus recursos computacionais sob a forma de serviços que podem ser contratados por usuários. A infraestrutura da nuvem é disponibilizada através da Internet para o público em geral ou para um grande grupo industrial e é gerida por uma entidade que venda serviços em nuvem. Privada: a infraestrutura da nuvem é utilizada exclusivamente por um único usuário ou organização. Geralmente, é construída sobre um datacenter privado e pode ser gerida pelo usuário/organização ou por terceiros. Comunitária: utilizada quando várias organizações apresentam requisitos semelhantes (condições de segurança, políticas de segurança, etc.) e decidem compartilhar parte das suas infraestruturas. Híbrida: qualquer tipo de combinação de duas ou mais das categorias anteriores. Caracteriza-se por se comportar como uma nuvem pública e também como uma nuvem privada, combinando estes dois conceitos. Adaptado de: (LINKHEAD, 2010).
6 Modelos de Serviço IaaS é uma opção interessante quando o objetivo de negócio do usuário, seja este uma empresa ou organização, necessite de uma infraestrutura computacional, como um data center, mas que manter esta infraestrutura seja inviável economicamente. PaaS Um grande fator inibidor de PaaS é o fato de que as aplicações desenvolvidas em uma PaaS normalmente ficam presas ao fornecedor, fazendo com que as aplicações estejam ligadas somente a um provedor de nuvem. SaaS O modelo de serviço de software como serviço (SaaS) oferece o produto final da computação em nuvem, a aplicação pronta para ser utilizada pelo consumidor através da web. Neste modelo o consumidor não gerencia ou controla as camadas subjacentes de serviços, somente a própria aplicação e todo o software e os dados associados são armazenados de maneira centralizada, facilitando o gerenciamento e suporte da nuvem às aplicações.
7 Arquitetura de Referência NIST
Consumidor representa a principal parte interessada nos serviços do Fornecedor, é uma pessoa ou organização que mantém uma relação de negócios, e utiliza os serviços do Fornecedor. O Consumidor necessita da SLA para especificar os detalhes técnicos do serviço e garantir a QoS do que se está sendo contratado, o Fornecedor também pode especificar na SLA os serviços que não estão inclusos, limitações, obrigações para o Consumidor, entre outras especificações. Auditor: é responsável por examinar de maneira independente, se os serviços oferecidos pelo Fornecedor cumprem o que está previsto em termos de segurança, desempenho, privacidade, entre outros. Fornecedor: é o ator que mais possui responsabilidades, sendo este o mais importante dos atores, pois é responsável por manter toda a estrutura física e lógica da nuvem, tendo que prover todos os serviços requisitados pelo Consumidor mantendo ao mesmo tempo a disponibilidade, segurança e privacidade. Corretor: responsável por 3 servicos: 4.1. Intermediação de Serviço: aumenta um determinado serviço, melhorando alguma capacidade específica e fornecendo serviços de valor agregado aos Consumidores; 4.2. Agregação de Serviço: combina e integra múltiplos serviços em um ou mais novos serviços. Fornece a integração dos dados e garante a movimentação segura dos dados entre o Consumidor e múltiplos Fornecedores; 4.3. Arbitragem de Serviço: similar a agregação de serviços, porém os serviços agregados não são fixos, é dada a liberdade ao Corretor para escolher os serviços de um outro Fornecedor; Adaptado de: (MELL e GRANCE, 2009)
8 Como aproveitar ao máximo os recursos de hardware?
Gancho para virtualização
9 Virtualização de Recursos de Hardware!!!
(Gancho para próxima seção) – Apresentar a camada de virtualização que proporciona a maximização do uso dos recursos
10 Virtualização de Recursos
Conceitos Tipos de Virtualização Soluções de Virtualização
11 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... Não é um conceito novo => 1967! Virtualização -> Simulação de uma plataforma de hardware, S.O, dispositivo de armazenamento, recursos de rede, etc. -> Empresas estão adotando a virtualização com o objetivo de reduzir os custos. Fonte: (REDES E SERVIDORES, 2011)
12 Aproveitamento de Recursos Ociosos
Figura retirada da apresentação do prof. Charles para demonstrar o aproveitamento dos recursos de um servidor com o uso de virtualização Fonte: vmware.com
13 Tipos de Virtualização
Visão geral dos tipos de virtualização
14 Virtualização de Hardware
Muito utilizada em mainframes; Partições lógicas (LPAR) dividem os recursos do hardware; LPAR -> particoes lógicas. O sistema deve possuir circuitos de hardware especiais para que seus recursos possam ser subdividos entre particoes lógicas. É tipicamente utilizada para separar diferentes funcoes do sistema, também para manter ambientes de testes separados de um ambiente de producao. IBM foi a primeira a utilizar LPAR em 1976 Fonte:
15 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. Container é um tipo de virtualização que a nível de S.O que não utiliza VM's. Utiliza a funcionalidade de cgroups do kernel Cgroups => ferramenta do kernel para limitar, isolar e contabilizar os recursos de hardware como (cpu, memoria, etc)
16 Virtualização por Software
17 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.
18 Tipos de Hypervisors Tipo 1: Bare-Metal (No Metal)
Tipo 2: Host (Hospedado em um SO) Bare-metal -> executa diretamente sobre o hardware do sistema Host -> executa hospedado em um sistema operacional
19 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. Fonte: (Figura)
20 Paravirtualização Em vez de utilizar diretamente as instruções de hardware, os SOs virtualizados utilizam uma API (Application Programming Interface) exposta pelo Hypervisor para executar as instruções normais do sistema operacional hospedado (KOSLOVSKI, 2011). Apresenta uma interface de software para as máquinas virtuais, que é similar, mas não idêntica ao hardware adjacente ->A paravirtualização refere-se à comunicação entre o guest OS e o hypervisor para prover performance e eficiência. ->Envolve a modificação do kernel do OS virtual, a fim de substituir instruções não virtualizadas que se comunicam diretamente com a camada de virtualização (hypercalls) Fonte: (Figura)
21 Emulação Máquina virtual simula um hardware com CPU diferente do hardware físico; Hypervisor precisa converter instruções; SO funciona sem modificações. É a reprodução das caracteriscas de um ambiente desejado. A desvantagem desse tipo de virtualização é que geralmente o desempenho é ruim, e pelo fato de ser uma simulação nem sempre os resultados obtidos serão os mesmos que o ambiente real poderia gerar. Fonte: (Figura)
22 Virtualização Assistida por Hardware
Hardware auxilia no isolamento das máquinas virtuais; Hardware se encarrega de partes ineficientes e/ou complexas da virtualização via software. Este método privilegia as chamadas sensíveis que são automaticamente capturadas pelo hypervisor, removendo a necessidade de tradução binária ou paravirtualização.
23 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. Não quer dizer que Grupo A melhor do que B, apenas que o Grupo A foi mais testado e adaptado a plataforma que os demais.
24 Os 3 Principais Hypervisors para o OpenStack
25 XEN Xen: Originário de um projeto de pesquisa da universidade de Cambridge, na Inglaterra em 2003 (BARHAM et al., 2003). Xen tem seus componentes divididos em dois Domínios: Domínio 0 (Dom0): tem o maior privilégio em uma máquina, ou seja, é a única máquina virtual (por padrão) que possui acesso e controle direto sobre o hardware; Domínio U (DomU): Os domínios hospedados em Xen são gerenciados (criados, destruídos, suspensos, reiniciados, etc.) através de interfaces administrativas disponibilizadas no Dom0. - Explicar arquitetra
26 Arquitetura Xen Adaptado de: (MENEZES, 2008)
27 KVM KVM (Kernel-based Virtual Machine) foi criado em pela empresa Red Hat e sua tecnologia é voltada ao Linux; Os desenvolvedores do KVM criaram um método que transformou o próprio kernel do Linux em um MMV, assim, pôde-se simplificar a gestão e melhorar o desempenho em ambientes virtualizados (HABIB, 2008);
28 Arquitetura KVM Adaptado de: (HABBIB, 2008)
29 VMWare VMware: Criado em 1998 e em 2004 foi comprado pela EMC pelo valor de U$625 milhões (VMWARE, 2012b); Teoricamente, qualquer SO (Sistema Operacional) que pode ser executado em uma arquitetura x86 pode funcionar como um SO hospedado no VMware.
30 Arquitetura VMWare Fonte: www.vmware.com
É um hypervisor do tipo 1, bare-metal --- Fechamento Introduzir plataforma OpenStack Fonte:
31 Introdução da plataforma OpenStack
32 Projeto OpenStack Sistema Operacional de Nuvem
Criação de nuvem pública / privada IaaS Fundação OpenStack membros individuais + 850 organizações + 87 países Início desenvolvimento em 2010 Idealizado pela NASA (EUA) e Rackspace Release atual: Havana Linguagem: Python Fonte: (DIEDER, 2013)
33 Apoio da Comunidade ao OpenStack
Número mensal de participantes Demonstra o crescimento da plataforma em comparação as demais. Apoio de grandes organizações foi um fator fundamental para o sucesso da plataforma. Salientar que são plataformas open source!! AWS não está no gráfico. Fonte: (QYJOHN, 2012)
34 Visão Geral Fonte: (DIEDER, 2013)
35 Necessidade de Segurança no Ambiente de Nuvem
"Pelo fato da computação em nuvem ser um projeto emergente, além de trazer consigo vulnerabilidades de tecnologias que lhe deram origem, traz à luz também novas vulnerabilidade" (CASTRO et. al, 2012). Componentes de rede; Máquinas virtuais; API's; Componentes WEB; Entre outros.
36 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.
37 Guias para Segurança em Virtualização
38 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.
39 Principais Guias Relacionados
NIST – Guide to Security for Full Virtualization Technologies PCI Security Standards Council – Data Security Standards (DSS) Virtualization Guideline Red Hat – Virtualization Security Guide
40 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.
41 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; Backup de drivers virtuais regularmente; e Utilizar diferentes soluções de autenticação.
42 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
43 Fases de Planejamento e Utilização Segura da Virtualização
Planejamento e Projeto Especificar características/ componentes relacionados; Métodos de autenticação; Mecanismos de cifragem, etc; Operação e Manutenção - Revisão de logs; Detecção de ataques; Monitoramento constante Disposição/Remoção - Preservação das informações; Exclusão apropriada de dados; Descarte apropriado de equipamentos, etc. Iniciação -Tarefas de organização; - Ident. de requisitos; - Ident. de plataformas; Ident. de Aplicações, etc. Implementação Configuração dos equipamentos e componentes 1 -> Analisar o que vai ser preciso, identificar os requisitos e tudo que for necessário para a viabilizar a virtualizaçao 2 -> Planejar a implementação definindo todas as etapas que devem ser realizadas e testadas 3 -> Realizar a configuração que foi planejada para os componentes 4 -> Estar sempre atento as ferramentas de apoio, como logs, detectores de intrusao... O monitoramento deve ser uma tarefa constante 5 -> Trata a remoção segura de uma tecnologia de virtualização, buscando preservar ao máximo as informacoes dos usuários. 1 2 3 4 5 Fases de Planejamento e Utilização Segura da Virtualização
44 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. Apresenta diversas recomendações específicas para o Red Hat Enterprise Linux.
45 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.
46 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.
47 PCI Security Standards
Subdivide suas seções em 3 áreas: Visão geral de virtualização; Riscos para ambientes virtualizados; e Recomendações.
48 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. -> Mais de uma função por sistema físico: Uma função comprometida pode causar execução de códigos arbitrários no hypervisor ou DoS.
49 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.
50 Comparativo Abordado N.A 5 - Segurança em virtualização de desktops
Pontos Abordados NIST RED HAT PCI 1 – Segurança do hypervisor. (Monitoramento/logs/ Configuração/ restrições de acesso administrativo) Abordado 2 – Segurança da infraestrutura virtual 3 - Mistura de VM's de diferentes níveis de confiança no mesmo host N.A 4 - Segurança em virtualização de servidores 5 - Segurança em virtualização de desktops
51 Comparativo Abordado N.A
Pontos Abordados NIST RED HAT PCI 6 - Vazamento de informações entre segmentos virtuais de rede. Abordado N.A 7 - Imaturidade das funções de monitoramento 8 – Segurança na geração de Imagens e Snapshots 9 – Isolamento de Rede 10 – Proteção da Imagem da VM 11 – Segurança dos dados da VM 12 - Segurança das API's do hypervisor
52 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) 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. Analise de bugs no OpenStack -> permite avaliar a situacao dos hypervisors. Status: permite ver qual apresenta mais bugs em analise, em processo de correcao, corrigidos. Importancia: permite observar qual hypervisor apresenta bugs com maior importancia na plataforma (alto risco, ou nenhum risco por exemplo)
53 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) (LAUNCHPAD, 2013)
54 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 (CVE MITRE, 2013)
55 Qemu/KVM - Bugs Fonte: (LAUNCHPAD, 2013).
56 Qemu/KVM - Vulnerabilidades
Fonte: (CVE MITRE, 2013).
57 Xen - Bugs Fonte: (LAUNCHPAD, 2013).
58 Xen - Vulnerabilidades
59 VMWare - Bugs Fonte: (LAUNCHPAD, 2013).
60 VMWare - Vulnerabilildades
61 Considerações sobre o Comparativo
De modo geral, foi possível observar que os três hypervisors listados possuem um alto número de bugs e vulnerabilidades, o que confirma o que foi afirmado por (GONZALEZ et. al, 2012)  É importante observar que nenhum dos três hypervisors analisados apresentou "bons" resultados no CVE, ou seja, em nenhum deles a maioria de suas vulnerabilidades foram classificadas com severidade baixa.  Tal fato confirma a necessidade de um reforço de segurança nesta área que possui fator fundamental na computação em nuvem. Fonte: (GONZALEZ et. al., 2012).
62 Estudo de Caso com o OpenStack
63 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
64 Arquitetura Adaptado de (PEPPLE, 2012)
Swift: Permite armazenar e recuperar arquivos que não estejam montados em um diretório. É um sistema de armazenamento a longo prazo para os dados mais permanentes ou estáticos. Horizon: Prove uma interface web modular para todos os componentes do OpenStack. Com esta interface web visual é possível gerenciar mais facilmente os componentes da nuvem. Nova (gerenciamento da nuvem): É o software que controla a infraestrutura de IaaS, alocando ou liberando recursos computacionais, como rede, autenticação, entre outros. Glance (serviço de imagens): Fornece um catálogo e repositório para imagens de disco virtuais. Estas imagens são mais utilizadas no Nova, que gerencia estas imagens. Cinder (armazenamento de blocos): Fornece um armazenamento de blocos para as máquinas virtuais Neutron (antigo Quantum - serviço de rede): Provisiona serviços de rede para os componentes que são gerenciados pelo Nova. Permite que os usuários criem e anexe sua interface a ele, que possui arquitetura "plugável" própria para isto. Keystone (serviço de identidade): Fornece autenticação e autorização para todos os serviços do OpenStack. Adaptado de (PEPPLE, 2012)
65 Nova Infraestrutura computacional (codinome Nova):
Gerenciador da infraestrutura computacional de uma nuvem OpenStack Controla todas as necessidades de recursos computacionais, rede, autorização, e escalabilidade da nuvem. Fonte: (PEPPLE, 2012)
66 Instalação do OpenStack
Abordagem para desenvolvedores Instalação por scripts Multi-node, Single-node, em VM Não recomendada para uso em produção! Scripts facilitam a instalação porém limitam a personalização.
67 Configuração do DevStack
Hypervisor utilizado pelo DevStack: Qemu Abordagem multi-node Compute Controller Controller = roda todos os servicos do OpenStack Compute = faz o servico sujo de processamento!! hhehe
68 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
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 Processo de Criação de uma VM
73 Monitoramento Objetivo: Verificação da comunicação interna (autenticação no Keystone) e da requisição da imagem no Glance. Procedimento: filtragem pelas portas IP_HOST:9292 (Glance) IP_HOST:5000 (Keystone)
74 Monitoramento
75 Monitoramento Glance autenticando no Keystone
76 Monitoramento Glance autenticando no Keystone
77 Monitoramento Glance buscando a imagem no MySQL
78 Monitoramento Glance buscando a imagem no MySQL
79 Considerações Parciais
Comunicação interna realizada por padrão de forma insegura. Credenciais passadas em texto as claras. Imagem requisitada para criação da VM não é cifrada Solução: PKI + Certification Authority (CA) para validar a PKI de uma entidade (usuario, sistema, componente, entre outros)
80 Correção Configurar Glance.conf para cifrar os metadados da imagem.
Etc/Glance/Glance.conf
81 Imagens Cifradas
82 Correção Configurar Keystone.conf para utilizar tokens PKI, comunicando-se com SSL e certificadas com X509. etc/Keystone/Keystone.conf Na criptografia, X.509 é um padrão ITU-T para infraestruturas de chaves públicas (ICP). A X.509 especifica, entre várias outras coisas, o formato dos certificados digitais, de tal maneira que se possa amarrar firmemente um nome a umachave pública, permitindo autenticação forte (WIKI) Fonte:
83 Certificados + SSL Somente no release Folsom o recurso foi adicionado
A adição de protocolos seguros de comunicação como SSL só ocorreu a partir do release Folsom. Somente no release Folsom o recurso foi adicionado Fonte: (OSSG, 2013) OpenStack Security Group
84 Gerando Certificados no Keystone
86 Resultado
87 sVirt (SELinux) + virsh (Libvirt) Isolamento de VM's
88 Isolamento com sVirt Fonte: (IBM, 2013)
89 Gerenciamento do Ciclo de Vida das VMs com o virsh
90 Considerações Finais Vulnerabilidades de virtualização de nuvem
VM-N Vulnerabilidades de virtualização de nuvem possuem alta complexidade Virtualização = abstração de software Virtualização na nuvem = 2x abstração No CVE => Maioria das vulnerabilidades provenientes de erros de programação Rápida evolução da plataforma, consequentemente da sua segurança. VM-1 VM-2 Hypervisor Nuvem Hardware -> Mais camadas lógicas - maior probabilidade de erros -> erros => possiveis vulnerabilidades. -> Erros de programação que possibilitam a execução de códigos arbitrários no hypervisor, afetando outras VM's e também negações de serviço. Essex: armazenamento de senhas as claras / problemas de isolamento no Swift / validade das tokens Folsom: servicos maliciosos poderiam utilizar a token sem autorização, inicio do uso de SSL nas comunicações Grizzly
91 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. Tanto para o DevStack (instalação por script) e a instalacão tradicional do OpenStack (em que cada componente é instalado e configurado manualmente), Cabe ao usuário configurar as opções de segurança que a plataforma proporciona. Mencionar: SSL + certificados Cifragem de objetos e volumes (está disponibilizada mas não integrada por padrão a plataforma)
92 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. Este trabalho visou proporcionar uma visão geral da virtualização, contextualizando sua importância para a otimização de recursos dentro de um data center e Como componente vital da computação em nuvem. Porém também é um componente que por ser uma abstração de software possui diversos pontos vulneráveis! Visão geral da plataforma OpenStack
93 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 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 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
94 Referências PEPPLE, K. (2012). OpenStack Folsom Architecture. Disponível em: 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) 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: 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