A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Comércio Eletrônico (2013/2) Prof. Dr. Charles Christian Miers Alunos: Bruno Bastos Rodrigues, Lucas da Cunha, Ramon Michels Ruppenthal Segurança em Máquinas.

Apresentações semelhantes


Apresentação em tema: "Comércio Eletrônico (2013/2) Prof. Dr. Charles Christian Miers Alunos: Bruno Bastos Rodrigues, Lucas da Cunha, Ramon Michels Ruppenthal Segurança em Máquinas."— Transcrição da apresentação:

1 Comércio Eletrônico (2013/2) Prof. Dr. Charles Christian Miers Alunos: Bruno Bastos Rodrigues, Lucas da Cunha, Ramon Michels Ruppenthal Segurança em Máquinas Virtuais no OpenStack

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. 2

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? 3

4 Introdução Computação em Nuvem NIST disponibiliza definições de Nuvem que são aceitas como referência mundial. Adaptado de: (MELL e GRANCE, 2009). 4

5 Modelos de Implantação Adaptado de: (LINKHEAD, 2010). 5

6 Modelos de Serviço 6

7 Arquitetura de Referência NIST Adaptado de: (MELL e GRANCE, 2009) 7

8 Como aproveitar ao máximo os recursos de hardware? 8

9 Virtualização de Recursos de Hardware!!! 9

10 Virtualização de Recursos Conceitos Tipos de Virtualização Soluções de Virtualização 10

11 Virtualização Fonte: (REDES E SERVIDORES, 2011) 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... 11

12 Aproveitamento de Recursos Ociosos Fonte: vmware.com 12

13 Tipos de Virtualização 13

14 Virtualização de Hardware Fonte: 14 Muito utilizada em mainframes; Partições lógicas (LPAR) dividem os recursos do hardware;

15 Containers 15 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.

16 Virtualização por Software 16

17 Hypervisor 17 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 18 Tipo 1: Bare-Metal (No Metal) Tipo 2: Host (Hospedado em um SO)

19 Virtualização Total Fonte: (Figura)www.datamotion.com 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. 19

20 Paravirtualização Fonte: (Figura)www.datamotion.com 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). 20

21 Emulação Fonte: (Figura)www.datamotion.com 21 Máquina virtual simula um hardware com CPU diferente do hardware físico; Hypervisor precisa converter instruções; SO funciona sem modificações.

22 Virtualização Assistida por Hardware 22 Hardware auxilia no isolamento das máquinas virtuais; Hardware se encarrega de partes ineficientes e/ou complexas da virtualização via software.

23 Plataformas de Virtualização 23 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.

24 Os 3 Principais Hypervisors para o OpenStack 24

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. 25

26 Arquitetura Xen Adaptado de: (MENEZES, 2008) 26

27 KVM KVM (Kernel-based Virtual Machine) foi criado em 2007 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); 27

28 Arquitetura KVM Adaptado de: (HABBIB, 2008) 28

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. 29

30 Arquitetura VMWare Fonte: 30

31 Introdução da plataforma OpenStack 31

32 Projeto OpenStack Fonte: (DIEDER, 2013) Sistema Operacional de Nuvem Criação de nuvem pública / privada IaaS Fundação OpenStack membros individuais organizações + 87 países Início desenvolvimento em 2010 Idealizado pela NASA (EUA) e Rackspace Release atual: Havana Linguagem: Python 32

33 Apoio da Comunidade ao OpenStack Fonte: (QYJOHN, 2012) Número mensal de participantes 33

34 Visão Geral Fonte: (DIEDER, 2013) 34

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. 35

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. 36

37 Guias para Segurança em Virtualização 37

38 Importância dos Guias de Segurança em Virtualização 38 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 39 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 40 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 41 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.

42 Recomendações por Áreas do NIST 42 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 43 Fases de Planejamento e Utilização Segura da Virtualização Iniciação -Tarefas de organização; - Ident. de requisitos; - Ident. de plataformas; -Ident. de Aplicações, etc. Planejamento e Projeto - Especificar características/ componentes relacionados; -Métodos de autenticação; -Mecanismos de cifragem, etc; Implementação -Configuração dos equipamentos e componentes 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

44 Red Hat 44 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 45 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 46 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 47 Subdivide suas seções em 3 áreas: Visão geral de virtualização; Riscos para ambientes virtualizados; e Recomendações.

48 48 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. Recomendações por Áreas

49 49 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 50 Pontos AbordadosNISTRED HATPCI 1 – Segurança do hypervisor. (Monitoramento/logs/ Configuração/ restrições de acesso administrativo) Abordado 2 – Segurança da infraestrutura virtual Abordado 3 - Mistura de VM’s de diferentes níveis de confiança no mesmo host N.A Abordado 4 - Segurança em virtualização de servidores Abordado 5 - Segurança em virtualização de desktops AbordadoN.AAbordado Comparativo

51 51 Pontos AbordadosNISTRED HATPCI 6 - Vazamento de informações entre segmentos virtuais de rede. AbordadoN.AAbordado 7 - Imaturidade das funções de monitoramento N.A Abordado 8 – Segurança na geração de Imagens e Snapshots N.A Abordado 9 – Isolamento de Rede Abordado 10 – Proteção da Imagem da VM AbordadoN.AAbordado 11 – Segurança dos dados da VM Abordado 12 - Segurança das API’s do hypervisor N.A

52 Análise das Vulnerabilidades dos Hypervisors 52 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.

53 LaunchPad (LAUNCHPAD, 2013) 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

54 CVE (Common Vulnerabilities and Exposures) (CVE MITRE, 2013) 54 É 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

55 Qemu/KVM - Bugs Fonte: (LAUNCHPAD, 2013). 55

56 Qemu/KVM - Vulnerabilidades Fonte: (CVE MITRE, 2013). 56

57 Xen - Bugs Fonte: (LAUNCHPAD, 2013). 57

58 Xen - Vulnerabilidades Fonte: (CVE MITRE, 2013). 58

59 VMWare - Bugs Fonte: (LAUNCHPAD, 2013). 59

60 VMWare - Vulnerabilildades Fonte: (CVE MITRE, 2013). 60

61 Considerações sobre o Comparativo Fonte: (GONZALEZ et. al., 2012). 61

62 Estudo de Caso com o OpenStack 62

63 Objetivo do Estudo de Caso 63 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) 64

65 Nova Fonte: (PEPPLE, 2012) 65 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.

66 Instalação do OpenStack 66 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 67 Hypervisor utilizado pelo DevStack: Qemu Abordagem multi-node Compute Controller

68 Criação de uma VM por CLI 68 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 69

70 Processo de Criação de uma VM 70

71 Processo de Criação de uma VM 71

72 Processo de Criação de uma VM 72

73 Monitoramento 73 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 74

75 Monitoramento Glance autenticando no Keystone 75

76 Monitoramento Glance autenticando no Keystone 76

77 Monitoramento Glance buscando a imagem no MySQL 77

78 Monitoramento Glance buscando a imagem no MySQL 78

79 Considerações Parciais 79 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 80 Configurar Glance.conf para cifrar os metadados da imagem. Etc/Glance/Glance.conf

81 Imagens Cifradas 81

82 Correção Fonte: ssl-certificates ssl-certificates 82 Configurar Keystone.conf para utilizar tokens PKI, comunicando-se com SSL e certificadas com X509. etc/Keystone/Keystone.conf

83 Fonte: (OSSG, 2013) OpenStack Security Group 83 Certificados + SSL Somente no release Folsom o recurso foi adicionado

84 Gerando Certificados no Keystone 84

85 Resultado 85

86 Resultado 86

87 sVirt (SELinux) + virsh (Libvirt) Isolamento de VM’s 87

88 Isolamento com sVirt Fonte: (IBM, 2013) 88

89 Gerenciamento do Ciclo de Vida das VMs com o virsh 89

90 Considerações Finais 90 Hardware Nuvem Hypervisor VM-2 VM-1 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.

91 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. Considerações Finais 91

92 Considerações Finais 92 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.

93 Referências 93 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, 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 https://www.pcisecuritystandards.org/documents/Virtualization_InfoSupp_v2.pdf

94 Referências 94 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/ 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 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


Carregar ppt "Comércio Eletrônico (2013/2) Prof. Dr. Charles Christian Miers Alunos: Bruno Bastos Rodrigues, Lucas da Cunha, Ramon Michels Ruppenthal Segurança em Máquinas."

Apresentações semelhantes


Anúncios Google