4
1 Virtualização a nível de Sistema Operacional e sua proposta de segurança Por Augusto Juvenal F. G. Costa Fabrizio Batista Pereira Resumo A virtualização de sistemas operacionais é uma tecnologia cuja principal proposta é particionar os recursos do hardware, reduzindo a frequente ociosidade desses recursos em momentos do dia e do mês. Este trabalho tem como objetivo em dissertar sobre a segurança na evolução de virtualizações voltada na melhoria da segurança do ambiente virtualizado. Introdução Foi previsto pela Gartner 1 , empresa de consultoria em TI, que em 2012, 50% dos projetos empresariais e pessoais iriam rodar em máquinas virtuais. O que muitas organizações falham, de acordo com Amir Ben-Efraim, CEO da segurança em virtualização provida pela Altor Networks, é a quebra de firewalls, entre outras proteções existentes, devido a segmentação dos servidores em várias máquinas virtuais. As medidas de segurança física tornam-se "cegas" para o tráfego entre VMs, uma vez que não há firewall na conexão VM-VM, como comentado pelo analista da Gartner Neil MacDonald que “a maioria das máquinas virtuais implementadas estão menos seguras que os sistemas físicos que foram substituídos” e “a virtualização irá modificar radicalmente a forma como você proteger e gerenciar estes ambientes”. Virtualização A Ideia de virtualização é permite agrupar diversos servidores de baixa demanda em uma única máquina, reduzindo os custos. Com a virtualização podemos executar diferentes sistemas operacionais em um mesmo hardware simultaneamente; Executar um sistema operacional (e suas aplicações) como um processo de outro SO; Utilizar sistemas operacionais e aplicações escritas para uma plataforma em outra plataforma, entre outras utilidades. A partir destas premissas da virtualização podemos definir dois tipos que virtualização: na camada de software e na camada de hardware. 1 http://www.gartner.com/technology/about.jsp

Virtualização a Nível de Sistema Operacional e sua Proposta de Segurança

Embed Size (px)

Citation preview

Page 1: Virtualização a Nível de Sistema Operacional e sua Proposta de Segurança

1

Virtualização a nível de Sistema Operacional e sua proposta de segurança

Por

Augusto Juvenal F. G. Costa

Fabrizio Batista Pereira

Resumo

A virtualização de sistemas operacionais é uma tecnologia cuja principal proposta é

particionar os recursos do hardware, reduzindo a frequente ociosidade desses recursos

em momentos do dia e do mês. Este trabalho tem como objetivo em dissertar sobre a

segurança na evolução de virtualizações voltada na melhoria da segurança do ambiente

virtualizado.

Introdução

Foi previsto pela Gartner1, empresa de consultoria em TI, que em 2012, 50% dos

projetos empresariais e pessoais iriam rodar em máquinas virtuais. O que muitas

organizações falham, de acordo com Amir Ben-Efraim, CEO da segurança em

virtualização provida pela Altor Networks, é a quebra de firewalls, entre outras

proteções existentes, devido a segmentação dos servidores em várias máquinas virtuais.

As medidas de segurança física tornam-se "cegas" para o tráfego entre VMs,

uma vez que não há firewall na conexão VM-VM, como comentado pelo analista da

Gartner Neil MacDonald que “a maioria das máquinas virtuais implementadas estão

menos seguras que os sistemas físicos que foram substituídos” e “a virtualização irá

modificar radicalmente a forma como você proteger e gerenciar estes ambientes”.

Virtualização

A Ideia de virtualização é permite agrupar diversos servidores de baixa demanda

em uma única máquina, reduzindo os custos. Com a virtualização podemos executar

diferentes sistemas operacionais em um mesmo hardware simultaneamente; Executar

um sistema operacional (e suas aplicações) como um processo de outro SO; Utilizar

sistemas operacionais e aplicações escritas para uma plataforma em outra plataforma,

entre outras utilidades. A partir destas premissas da virtualização podemos definir dois

tipos que virtualização: na camada de software e na camada de hardware.

1 http://www.gartner.com/technology/about.jsp

Page 2: Virtualização a Nível de Sistema Operacional e sua Proposta de Segurança

2

Virtualização a nível de Sistema Operacional

No que diz respeito a virtualização no nível de sistema operacional (na camada

de software), pode-se dizer que sua arquitetura possui um baixo overhead (quase que

insignificante), maximizando a utilização de recursos de um servidor. Este desempenho

é dado pelo fato da virtualização envolver apenas um kernel, não permitindo a execução

de diferentes sistemas operacionais, quebrando uma das premissas citadas

anteriormente, mesmo assim, não exclui este tipo de implementação do conceito de

virtualização.

Ao seu favor, é possível realizar centenas de virtualizações enquanto uma

virtualização que permite vários kernels permite apenas 2 ou 3 máquinas sem a perda de

desempenho. Comparada a virtualização de hardware e software a virtualização a nível

de sistema operacional leva vantagem em poder ser executada em hardware de baixo

custo.

LXC

Uma, entre algumas aplicações de containers, é a virtualização a nível de sistema

operacional Linux ou Linux Containers (LXC2). Originalmente, o LXC não era tão

seguro quanto outros métodos de virtualização (em Linux kernels antes de 3.8). Estes

tipos de containers são muitas vezes considerados como algo no meio, entre um chroot

em esteroides e uma máquina virtual de pleno direito. O objetivo da LXC é criar um

ambiente tão próximo quanto possível, como um padrão de instalação Linux, mas sem a

necessidade de um núcleo separado, por razões já citadas anteriormente.

LXC é um software livre e a maior parte do código é liberado sob os termos da

licença GNU LGPLv2.1+. Alguns bits de compatibilidade Android são liberados sob

uma licença BSD 2 cláusula padrão e alguns binários e modelos são enviados sob a

licença GNU GPLv2.

Segurança

Ameaças à segurança são uma das mais imprevisíveis e desafiadoras causas de

quedas de serviço em sistemas, o que pode ser extremamente custoso para a instituição.

A virtualização é uma poderosa ferramenta na prevenção contra ameaças de segurança,

na medida em que evita custos com interrupção de serviço e perda de dados.

2 https://linuxcontainers.org/

Page 3: Virtualização a Nível de Sistema Operacional e sua Proposta de Segurança

3

Um dos maiores benefícios da virtualização é o isolamento de processos em máquinas

virtuais e containers. Com a virtualização, podemos isolar aplicações de alto risco de

aplicações potencialmente vulneráveis. O isolamento eleva a proteção contra aplicações

maliciosas, aumentando a dificuldade das mesmas acessarem dados, ou afetar processos

que estejam executando em outros containers.

Além disso, isolando falhas, prevenimos que uma aplicação em mau

funcionamento comprometa todo o sistema. Além do mais, podemos definir um

container com privilégios para acesso a dados e serviços vitais. Ainda neste contexto,

um container pode ser usada para dar privilégios limitados a usuários ou aplicações

convidados em um ambiente que pode ser seguramente “deletado” quando o serviço for

concluído. Se alguns destes containers estiverem comprometidos, somente seria

necessário descartar aqueles corrompidos e iniciar novos containers, ou recuperar cópias

de seguranças (backup). A virtualização permite que uma aplicação em mau

funcionamento executando em sua máquina virtual possa ser reiniciada rapidamente e

de um modo seguro, sem afetar outras aplicações que estejam executando no mesmo

sistema anfitrião. Ela permite também que administradores possam suspender, reiniciar

e migrar containers, ajudando a suavizar efeitos de ataques e falhas em aplicações, ou

até mesmo falhas em hardware, quando acontecerem.

Em caso de falha, as máquinas virtuais podem simplesmente ser reiniciadas de

um ponto de restauração, uma cópia de segurança, ou outro mecanismo de recuperação

que possa trazer o sistema a um estado saudável. Se a camada física do sistema falha, os

containers podem ser migrados e restaurados em outras máquinas físicas. Esta

habilidade para recriar um serviço sem ter que “iniciar do zero” é especialmente útil

para serviços de missão crítica e de execução prolongada, porque provê uma rápida

recuperação de desastres. Uma boa ideia é armazenar pontos de restauração em locais

remotos para posteriormente serem recuperados em caso de falha.

Conclusão

A segurança é um tema muito amplo e inacabável, pode-se dizer que sempre

haverá um problema a ser corrigido a cada otimização em busca de um novo produto

capaz de um maior isolamento, uma maior tolerância a falha e principalmente maior

capacidade de suportar (ou até mesmo ser uma ferramenta para desenvolvimento de)

sistemas cada vez mais complexos e modernos. A virtualização de sistemas é um

ambiente muito novo e que tem grandes soluções a serem desenvolvidas.

Page 4: Virtualização a Nível de Sistema Operacional e sua Proposta de Segurança

4

Referências

[1]- AJAY Tirumala, FENG Qin, Jon Dugan, JIM Ferguson, and Kevin Gibbs. Iperf

version 1.7.1.

[2]- SILVA, Rodrigo Ferreira da. Virtualização de Sistemas Operacionais. 2007.

[3]- SOLTESZ, Stephen; PÖTZL, Herbert; FIUCZYNSKI, Marc E. et al. Container-

based Operating System Virtualization: A Scalable, High-performance Alternative to

Hypervisors. 2007.