Académique Documents
Professionnel Documents
Culture Documents
RIO DE JANEIRO
JUNHO/2009
COMPUTAO EM NUVEM:
UMA NOVA ABORDAGEM EM AMBIENTES DE REDE
RIO DE JANEIRO
JUNHO/2009
II
COMPUTAO EM NUVEM:
UMA NOVA ABORDAGEM EM AMBIENTES DE REDE
Comisso Examinadora:
________________________________________
Prof. Frederico Sauer Guimares Oliveira, Doutor
________________________________________
Prof. Celso Rabelo Machado Pinto, Especialista
________________________________________
Prof. Rodrigo de Almeida David, Especialista
RIO DE JANEIRO
JUNHO/2009
III
____________________________________
Andr Covelinhas da Rocha
IV
DEDICATRIA
seu
apoio,
seu
incentivo
AGRADECIMENTOS
VI
EPGRAFE
VII
SUMRIO
CAPTULO 1 .....................................................................................................................10
1 - INTRODUO ............................................................................................................10
CAPTULO 2 .....................................................................................................................12
2 - COMPUTAO EM NUVEM ....................................................................................12
2.1. COMPARAES .......................................................................................................14
2.2. HISTRIA ..................................................................................................................16
2.3. ANATOMIA DA COMPUTAO EM NUVEM ......................................................18
2.3.1. Software Como Servio.............................................................................................19
2.3.2. Plataforma Como Servio.........................................................................................19
2.3.3. Infra-estrutura Como Servio....................................................................................20
2.4. TIPOS DE IMPLEMENTAO DA NUVEM ..........................................................22
2.4.1. Nuvens Pblicas........................................................................................................22
2.4.2. Nuvens Privadas........................................................................................................22
2.4.3. Nuvens Hbridas........................................................................................................23
2.5. APROVEITAMENTO DA NUVEM ..........................................................................23
2.5.1. Usando a Nuvem.......................................................................................................24
2.5.2. Alavancando a Nuvem..............................................................................................24
2.5.3. Construindo a Nuvem................................................................................................26
2.6. CARACTERSTICAS ................................................................................................26
2.6.1. Independncia de Dispositivo e Local......................................................................26
2.6.2. Multi-locao............................................................................................................27
2.7. MITIGAO DE RISCOS..........................................................................................28
VIII
CAPTULO 3 .....................................................................................................................31
3 - VIRTUALIZAO ......................................................................................................31
3.1. VIRTUALIZAO DE SISTEMAS OPERACIONAIS ............................................37
3.2. VIRTUALIZAO DE PLATAFORMA ...................................................................37
3.3. VIRTUALIZAO DE REDE ...................................................................................39
3.4. VIRTUALIZAO DE APLICAES .....................................................................40
CAPTULO 4 .....................................................................................................................42
4 - IMPLEMENTANDO UM AMBIENTE DE NUVEM .................................................42
4.1. SISTEMAS UTILIZADOS .........................................................................................43
4.2. DIAGRAMA DE REDE .............................................................................................46
4.3. INSTALAO DOS SISTEMAS ..............................................................................50
4.3.1. Firewall + Proxy Reverso + DNS..............................................................................51
4.3.1.1. Configuraes de Segurana..................................................................................53
4.3.1.2. Configuraes do Servio DNS..............................................................................56
4.3.1.3. Configuraes do Proxy Reverso...........................................................................60
4.3.2. Cloud Server..............................................................................................................62
4.3.2.1. Instalao dos Softwares Necessrios....................................................................65
4.3.3. Gerncia....................................................................................................................71
4.4. CONSIDERAES SOBRE A CONTRIBUIO DO TRABALHO ......................86
CAPTULO 5 .....................................................................................................................88
5 - CONCLUSO ..............................................................................................................88
APNDICE 1 ARQUIVO DE CONFIGURAO DO VICOMPRESS ..................92
REFERNCIAS BIBLIOGRFICAS .........................................................................93
IX
10
CAPTULO 1
1 - INTRODUO
11
de forma a torn-lo capaz de fornecer funcionalidades essenciais ao expediente de todos,
sejam usurios domsticos ou empresariais.
A Computao em Nuvem uma tecnologia emergente que altera o conceito
em termos de infra-estrutura, onde a execuo de dados e softwares acontece diretamente
na nuvem (internet). Ela abstrai a plataforma de aplicao de softwares da infra-estrutura
de hardware subjacente, desobrigando o usurio de estar preso a um hardware especfico.
A Computao em Nuvem est mostrando que possvel nos dias atuais o
uso de tecnologia antes apresentada apenas em publicaes sobre tecnologias do futuro.
O trabalho est segmentado da seguinte forma: O captulo 2 descreve os
conceitos fundamentais da computao em nuvem. O captulo 3 descreve os tipos de
virtualizao existentes, e de que forma elas esto inseridas no conceito deste trabalho. O
captulo 4 descreve os passos necessrios para implementar e gerenciar um ambiente de
nuvem, e descreve as consideraes a respeito da contribuio do trabalho. O captulo 5
conclui o trabalho.
12
CAPTULO 2
2 - COMPUTAO EM NUVEM
13
14
2.1 - COMPARAES
15
possui habilidade para crescimento dinmico de capacidade, tornando possvel a alocao
de recursos sob-demanda, em tempo real, permitindo que aplicaes que necessitem de
processamento mais intensivo no se limitem a capacidade de uma determinada infraestrutura. (IBM Systems Journal, 2004)
Nota do Autor:4 Este trabalho utiliza o termo Servidor para remeter a servios e aplicaes. O
termo, em nenhuma forma, est diretamente associado a mquinas ou computadores, e sim, as
aplicaes que so executadas nos mesmos.
16
2.2 - HISTRIA
17
em srie, com um ponto de incio e fim definidos, a despeito de servios em nuvem, que
podem ser contnuos. Alm disso, nuvens expandem os tipos de recursos disponveis
(armazenamento de arquivos, bancos de dados, e servios web), e aumentam a
aplicabilidade da web para aplicaes empresariais.
Ao mesmo tempo, o conceito de computao utilitria (utility computing),
tornou-se foco em projetos e operaes de TI. Como Nick Carr observou em seu livro The
Big Switch8, a infra-estrutura de servios de computao estava comeando a se tornar
similar ao uso da eletricidade como servio fundamental. O livro em questo fala sobre
como seria excepcional poder comprar recursos computacionais sob-demanda, pagando
apenas pelo que fosse necessrio, quando necessrio.
Para usurios finais, computao em nuvem significa que no existem
custos com aquisio de hardware, gerenciamento de licenas ou upgrades de software,
contratao de novos empregados ou consultores, locao de instalaes, e custos de
capital de qualquer natureza. No existem custos implcitos, apenas uma contagem pelo
consumo ou uma taxa fixa de inscrio. Utiliza-se somente o que for necessrio, e paga-se
somente pelo que for utilizado.
A computao em nuvem eleva o modelo de computao utilitria ao
prximo nvel. uma forma nova e evoluda deste modelo, em que muitos tipos diferentes
de recursos (hardware, software, armazenamento, comunicaes, etc.) podem ser
combinados e recombinados on the fly9, para alcanar capacidades ou servios especficos,
de acordo com a necessidade do cliente. Desde ciclos de CPU para projetos de HPC (high
performance computing10) a altssima capacidade de armazenamento para backups de
8 The Big Switch <http://www.nicholasgcarr.com/bigswitch/> Acessado em 05 e abril de 2009.
9 O termo On The Fly significa em tempo de vo, ou seja, em tempo de execuo, sem a necessidade de
paralisao para alterar configuraes.
10 High Performance Computing: Modelo de computao de alto desempenho, utilizado para processamento
intensivo de dados, atravs de uma rede fracamente acoplada. Exemplo: Cluster..
<http://www.sun.com/servers/hpc/index.jsp> Acessado em 05 de abril de 2009.
18
grandes corporaes, a computao em nuvem pode, em tempo real, distribuir virtualmente
qualquer capacidade de TI.
Enquanto a primeira revoluo da internet viu o modelo three-tier11 ou ntier emergir como uma arquitetura geral, o uso de virtualizao em nuvens criou um novo
conjunto de camadas: aplicao, plataforma e infra-estrutura. Estas camadas no
encapsulam apenas recursos sob-demanda, mas tambm definem um novo modelo de
desenvolvimento de aplicaes. Em cada camada de abstrao, existe uma mirade de
oportunidades de negcio, no tocante a definio de servios que podem ser oferecidos em
uma base pay-per-use12.
19
A ilustrao 2 representa a fundao das camadas existentes em uma
arquitetura de nuvem. Como se pode perceber, necessrio que se possua uma infraestrutura slida, para que sob a mesma, possa estabelecer-se uma plataforma onde sero
disponibilizadas aplicaes baseadas em nuvem.
20
Web Services) ou Vmdk14, contendo uma pilha bsica web, que pode ser, por exemplo,
uma distribuio Linux, com um servidor web e um ambiente de programao (como Perl15
ou Ruby16).
Ofertas de PaaS podem sustentar todas as fases do desenvolvimento e teste
de softwares, e podem tambm ser especficas a uma rea particular, como gerncia de
contedos.
Um exemplo comercial deste tipo de oferta o Google App Engine, que
serve aplicaes na infra-estrutura do Google. Servios PaaS como este podem prover uma
grande flexibilidade. No entanto, podem ser limitados pela capacidade disponvel no
provedor.
14 Vmdk (Virtual Machine Disk): um dos formatos de discos virtuais utilizados por mquinas abstradas
pelos produtos da VMware <www.vmware.com> Acessado em 06 de abril de 2009.
15 Perl (Practical Extraction And Report Language): uma linguagem de programao estvel e
multiplataforma, utilizada em aplicaes de misso crtica, onde destaca-se o uso para desenvolvimento
de aplicaes web de todos os tipos. <http://www.perl.org/> Acessado em 05 abril de 2009.
16 Ruby: Linguagem dinmica, open source, com foco na simplicidade e na produtividade. Tem uma sintaxe
elegante de leitura natural e fcil escrita. <http://www.ruby-lang.org/pt/> Acessado em 05 abril de 2009.
21
Services, cujos servios EC26 e S317 oferecem capacidade computacional e de
armazenamento, respectivamente. Outro exemplo a Joyent <http://www.joyent.com/>
acessado em 05 de abril de 2009, cujo produto principal uma linha de servidores
virtualizados que fornecem uma infra-estrutura de alta escalabilidade sob-demanda, com a
finalidade de rodar pginas web, incluindo aplicaes mais bem elaboradas, escritas em
Ruby
on
Rails18,
PHP19,
Python20
Java21.
Existe
tambm
GoGrid
17 S3: Simple Storage Service Servio de armazenamento para internet, destinado a tornar a computao
escalar para web mais fcil para desenvolvedores. <http://aws.amazon.com/s3/> Acessado em 05 de abril
de 2009.
18 Ruby on Rails: um framework de desenvolvimento web, gratuito e de cdigo aberto.
<http://www.rubyonrails.pro.br/> Acessado em 05 de abril de 2009.
19 PHP (Hypertext Preprocessor): uma linguagem de programao amplamente utilizada, voltada ao
desenvolvimento de contedo dinmico para web. <http://php.net/> Acessado em 05 de abril de 2009.
20 Python: uma linguagem de programao de alto nvel orientada a objetos, que pode ser utilizada para o
desenvolvimento de vrios tipos de aplicaes. <http://www.python.org/> Acessado em 05 de abril de
2009.
21 Java: Sua versatilidade, eficincia, portabilidade de plataforma e segurana fazem dela a tecnologia ideal
para a computao em rede. <http://java.com/pt_BR/about/> Acessado em 05 de abril de 2009.
22
A ilustrao 3 exemplifica, na cor azul, os tipos de servios de nuvem
apresentados e algumas de suas operadoras. Na cor verde, as camadas tecnolgicas que
tornam a computao em nuvem possvel. Nesta ilustrao, tm-se uma viso mais clara da
hierarquia tecnolgica que d origem a computao em nuvem.
2.4.2 - NUVENS PRIVADAS: So uma boa opo para companhias que lidam com
proteo de dados e necessidades relacionadas ao nvel de servio. Elas so uma infraestrutura sob-demanda, mantidas por um nico cliente, que controla quais aplicaes iro
executar, e onde. Neste modelo privado, o cliente possui o servidor, a rede, os discos, e
23
pode decidir quais usurios estaro autorizados a utilizar a infra-estrutura. Esta forma de
computao em nuvem tambm conhecida como nuvem interna.
Mesmo os que se sentirem compelidos a construir uma arquitetura de nuvem
privada, provavelmente sentiro a necessidade de executar tambm aplicaes no espao
de uma nuvem pblica. Esta necessidade d origem a um outro conceito: o de Nuvem
Hbrida.
24
2.5.1 - USANDO A NUVEM: O nmero e qualidade de ofertas pblicas de servios
baseados em nuvem crescente (Johnm Willis, 2008). Usar uma nuvem freqentemente
a melhor opo para iniciantes, projetos de pesquisa, desenvolvedores de web 2.0 ou
apenas experimentadores, que desejem uma maneira simples e de baixo custo para iniciar.
Quando se iniciante em internet, recomendvel que se mantenha os custos com TI os
menores possveis. Esta exatamente a finalidade de uma nuvem. A ilustrao 4
exemplifica alguns dos ofertantes de servios de nuvem.
25
de carga ou antecipar picos para servios em demanda. Esta uma opo muito atraente
para empresas. No entanto, potencialmente um dos mais difceis casos de uso, pois o
sucesso dependente do estado total da aplicao, e tambm da interdependncia com
outros conjuntos de dados que podem necessitar serem replicados e balanceados entre dois
sites.
demos de novos softwares, para depois instal-los, licenci-los e s ento poder test-los.
No futuro, a avaliao de softwares pode ser realizada dentro da nuvem, antes que licenas
e suporte precisem ser comprados.
26
2.5.3 - CONSTRUINDO A NUVEM: Apesar dos benefcios econmicos da computao
em nuvem, necessria muita cautela na adoo da plataforma, pois deve-se antes de
qualquer movimento, assegurar a aplicao rigorosa de polticas de segurana. Uma vez
estabelecidos estes padres, pode-se iniciar a migrao e posteriormente a homologao de
sistemas empresariais maduros em um ambiente de nuvem privada, de forma a avaliar e
convencionar os nveis ideais necessrios de capacidade computacional.
2.6 - CARACTERSTICAS
23 Thinclient: um computador cliente de uma rede modelo cliente-servidor, que possui poucos ou nenhum
aplicativo instalados, de forma a depender de um servidor central para o processamento de dados.
24 Off-site: Tomando lugar ou localizado longe do local original, com a finalidade de realizar uma
determinada atividade. Ex: Uma estao de tratamento de resduos. <http://www.answers.com/topic/offsite> Acessado em 05 de abril de 2009.
27
28
menor a energia consumida com operao e resfriamento de mquinas, diminuindo assim
a emisso de carbono.
29
2. Conformidade da Concesso: Certificar-se de que o fornecedor est
disposto a se submeter auditorias externas e certificaes de segurana;
30
alguns dos problemas de infra-estrutura enfrentados atualmente. Assim, vale ressaltar que
deve existir uma grande preocupao com as decises e aes que devem ser executadas
em caso de desastre. Devido ao disposto, recomendvel que alm dos itens sugeridos
faa-se uso de tecnologias que garantam a consistncia e a disponibilidade dos dados das
empresas. Algumas destas tecnologias podem ser vistas no Captulo 4.
31
CAPTULO 3
3 - VIRTUALIZAO
26 A Pedra Angular: Salmo 118:22 A pedra angular que os construtores rejeitaram, veio a ser posta como
principal pedra.
27 Hypervisor: Permite que um computador rode mltiplos sistemas operacionais simultaneamente. <http://
www.vmware.com/interfaces/paravirtualization.html> Acessado em 06 de abril de 2009.
32
33
Microsystems,
pode
suportar
uma
capacidade
virtualmente
ilimitada
de
34
A ilustrao 7 simboliza a migrao de arquiteturas fsicas para arquiteturas
de nuvem. Nesta imagem, so usados como recursos para implementao da nuvem
servidores blade e storages.
35
Melhor Aproveitamento de
Recursos
Ilustrao 8: Caso real de consolidao de servidores: Baixo consumo de CPU justifica virtualizao.
Autor: Azul Seguros
36
37
mercado. Como se pode perceber, os hosts consolidados (virtualizados), bem como o
computador em que ocorre a virtualizao, consomem muito pouco processamento, dando
a viso clara de como recursos podem ser melhor aproveitados atravs do uso desta
tcnica.
38
computador completo, com seus respectivos componentes (disco, rede, memria, vdeo,
etc.) emulado atravs da implementao de Hypervisors Tipo 2, que executam no topo de
um sistema operacional tradicional;
39
40
atravs de interfaces sub-otimizadas, ou ainda atravs do uso de um grande nmero de
computadores para resolver o problema em questo.
Um desafio significativo em redes de computao em nuvem no apenas o
fornecimento de uma interface individual e virtual de rede para um dado ambiente, mas
tambm a necessidade crescente de infra-estruturas de nuvem que ofeream data-centers
privados mais complexos, e que provisionem um conjunto de diferentes papis com
interconexes lgicas entre si.
41
abstraes de ambientes de programao de nvel mais elevado. Espera-se que com o
passar do tempo, o nvel de abstrao das interfaces para desenvolvedores avance, ao passo
que novas funcionalidades agreguem-se plataforma.
42
CAPTULO 4
43
4.1 - SISTEMAS UTILIZADOS
tipicamente em grandes empresas. Possui alta tolerncia a cargas e falhas, alm de grande
performance, e conta com recursos nativos de virtualizao e alta disponibilidade. (Sun
Microsystens, 2009)
44
Ilustrao 11: Adoo da linguagem PHP nos ltimos anos. Autor: PHP
nos modos stateless packet filtering e statefull packet filtering. capaz ainda de realizar
traduo de endereos de rede (NAT) e outras funes avanadas, como filtragem por
strings, que podem ser lidas de dentro de cabealhos. (Netfilter, 2009)
45
OpenOffice:
Sute
open
source
completa
de
escritrio.
Seu
46
comerciais. (OpenOffice, 2009)
47
1) Cloud Server: Principal fornecedor de servios deste projeto. Foi
escolhida a plataforma OpenSolaris para seu desenvolvimento, devido ser uma plataforma
estvel, robusta e de grande performance, alm de possuir ferramentas nativas para
virtualizao e expanso dinmica de recursos. Como algumas das preocupaes so a
escalabilidade e a disponibilidade do ambiente, a plataforma em questo apresentou-se
como melhor alternativa.
33 Valores mnimos tolerveis, que representam o estado normal de um determinado sistema. A excedncia
destes valores significa que um sistema est operando fora de suas especificaes, e que uma ao
corretiva deve ser empregada, afim de restabelecer o estado normal do mesmo, evitando dificuldade ou
instabilidade no acesso ao recurso.
34 Quantidade de tempo que um determinado host ou servio permanece indisponvel.
48
4) Backup Server: Servio responsvel por realizar e manter cpias de
segurana de informaes sensveis, como dados de usurios, configuraes de sistemas e
informaes armazenadas em banco de dados. A implementao deste servio permite que
sejam recuperadas em pouco tempo informaes necessrias a reconstruo parcial ou total
de ambientes, bem como dados que eventualmente possam ser extraviados pelos usurios.
49
desempenho e segurana. Segundo seu desenvolvedor, imune aos ataques conhecidos,
como por exemplo, envenenamento de cache de zonas. Ainda segundo seu desenvolvedor,
devido a arquitetura modular da aplicao, onde 3 programas realizam tarefas especficas
(diferentemente de outras aplicaes monolticas, onde apenas uma aplicao realiza todo
o trabalho), um simples computador 486 capaz de gerenciar mais de 500 domnios, com
um desempenho satisfatrio. A confiana de seu mantenedor em seu trabalho to grande
que h uma recompensa em dinheiro para quem apontar falhas de segurana na aplicao.
50
4.3 INSTALAO DOS SISTEMAS
NR
FUNO
NOME DE HOST
SERVIOS
firewall
alfa
cloudserver
beta
gerencia
gama
51
4.3.1 - FIREWALL + PROXY REVERSO + DNS: Sistemas de firewall so fundamentais
para a segurana de ambientes de rede, pois previnem o acesso no autorizado a estas ou a
servios especficos, atravs da criao de permetros de segurana (Paulo Mendona,
2009). Este trabalho aborda a implementao de um Firewall Statefull, pois como est
sendo levada em considerao a segurana do ambiente, acredita-se que este modelo seja o
mais adequado. Tambm ser feito uso de um proxy reverso, que ficar localizado antes do
servidor web, e funcionar realizando cache de pginas e arquivos acessados com maior
freqncia, evitando desta forma que o servidor web desperdice recursos com tarefas
redundantes, realizando na maior parte do tempo operaes mais relevantes. O servio
DNS, por ser sensvel, foi escolhido com cautela, pois est sendo buscada nesta
implementao a maior performance e segurana possvel. Todos estes ficaro alocados em
uma mesma mquina, que no tocante a hardware, prope-se que possua 3 interfaces de
rede, para que se possam acomodar todos os segmentos da mesma. Dever ainda, possuir
um disco de 20Gb e 256Mb de memria RAM. Para sistema operacional, ser utilizado o
Slackware 12.2, sem ambiente grfico, levando-se em considerao os seguintes detalhes:
alocados para a partio root (/), 25% para a partio usr, 10% para a partio swap e o
restante para a partio var. O filesystem utilizado dever ser o EXT4, devido sua
consistncia e desempenho, proporcionados por tcnicas como Alocao Tardia, Marcas
Temporais de maior resoluo (nanosegundos) e verificaes melhores de integridade.
(Mathur, 2007)
52
forenaite.net. A interface de rede identificada por eth0 ser responsvel pela
comunicao do segmento DMZ, que representa a rea onde sero disponibilizados
servios publicamente atravs da internet, e dever possuir o endereo IP 10.0.0.1/28. A
interface de rede identificada por eth1 ser responsvel pela comunicao do segmento
LAN, onde sero realizadas as comunicaes internas, como gerncia do ambiente, acesso
a banco de dados e gravao de backups (este ltimo no implementado neste trabalho). O
endereo IP dever ser 172.16.1.1/26. A interface de rede identificada por eth2 ser
responsvel pela comunicao com a rede externa (internet). Dever possuir endereo de
rede 10.128.0.11/24, pois um endereo IP pertencente ao mesmo segmento de rede do
link de dados utilizado durante o desenvolvimento deste trabalho. Seu gateway dever ser
10.128.0.10, pois neste trabalho quem fornecer
configurao bsica de rede, existe a figura do servidor DNS, que ser o prprio firewall,
pois conforme explicado no incio deste captulo, algumas funes sero acumuladas. O
endereo utilizado ser 127.0.0.1, tendo em vista que os processos de firewall e DNS
estaro executando no mesmo host.
53
#!/bin/bash
# Fore FW. Andre Rocha, Maio de 2009
case "$1" in
stop)
# Limpa as regras do Firewall #
iptables -F
iptables -t nat -F
iptables -X 2> /dev/null
iptables -t nat -X 2> /dev/null
;;
54
start)
# Declara Interfaces #
IF_DMZ=eth0
IF_LAN=eth1
# Interface que da acesso ao link intrenet
IF_INET=eth2
# Declara Redes #
LAN=172.16.1.0/26
DMZ=10.0.0.0/28
# Rede utilizada durante o desenvolvimento do trabalho
INET=10.128.0.0/24
# Ativa o forward de IPs #
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
# Limpa as regras do Firewall #
iptables -F
iptables -t nat -F
iptables -X 2> /dev/null
iptables -t nat -X 2> /dev/null
# Nega todos os acessos por padrao #
iptables -P INPUT
DROP
iptables -P FORWARD DROP
# Evita Spoofing
iptables -A FORWARD -i $IF_INET -s ! $INET -j DROP
iptables -A FORWARD -i $IF_LAN -s ! $LAN -j DROP
iptables -A FORWARD -i $IF_DMZ -s ! $DMZ -j DROP
iptables -P OUTPUT ACCEPT
# Habilita o NAT
iptables -t nat -A POSTROUTING -o $IF_INET -j MASQUERADE
# Permite Loopback
iptables -A INPUT
-i lo -j ACCEPT
iptables -A FORWARD -i lo -j ACCEPT
# Habilita modo Statefull
iptables -A INPUT
-m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Descarta pacotes invalidos
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -A INPUT
-m state --state INVALID -j DROP
# Libera IPs da Administracao
iptables -A FORWARD -s 10.128.0.4 -j ACCEPT
iptables -A FORWARD -s 10.128.0.9 -j ACCEPT
# Permite Acesso ao Proxy Reverso #
PortasTCP=" 80 443 "
for A in $PortasTCP
do
iptables -A INPUT -i $IF_DMZ -p tcp --dport $A -j ACCEPT
iptables -A INPUT -i $IF_LAN -p tcp --dport $A -j ACCEPT
iptables -A INPUT -i $IF_INET -p tcp --dport $A -j ACCEPT
done
55
# Permite acesso ao DNS
iptables -A INPUT -i $IF_LAN -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i $IF_DMZ -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i $IF_INET -p udp --dport 53 -j ACCEPT
# Permite SSH - Nao deve ser liberado em caso de producao
iptables -A INPUT -i $IF_LAN -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i $IF_DMZ -p tcp --dport 22 -j ACCEPT
# Permite Ping #
iptables -A INPUT -i $IF_DMZ -p icmp -j ACCEPT
iptables -A INPUT -i $IF_LAN -p icmp -j ACCEPT
iptables -A INPUT -i $IF_INET -p icmp -j ACCEPT
iptables -A FORWARD -i $IF_DMZ -p icmp -j ACCEPT
# Permite SNMP #
iptables -A INPUT -i $IF_LAN -p udp --dport 161 -j ACCEPT
# Permite acesso aos/dos servidores da
ServerLAN=" 1 2 3 "
for I in $ServerLAN
do
iptables -A FORWARD -i $IF_LAN -p tcp
iptables -A FORWARD -i $IF_LAN -p udp
iptables -A FORWARD -i $IF_LAN -p tcp
iptables -A FORWARD -i $IF_LAN -p udp
iptables -A FORWARD -i $IF_DMZ -p tcp
iptables -A FORWARD -i $IF_DMZ -p udp
iptables -A FORWARD -i $IF_DMZ -p tcp
iptables -A FORWARD -i $IF_DMZ -p udp
iptables -A FORWARD -i $IF_DMZ -p tcp
iptables -A FORWARD -i $IF_DMZ -p udp
iptables -A FORWARD -i $IF_INET -p tcp
iptables -A FORWARD -i $IF_INET -p udp
done
# Bloqueia NETBIOS
NetBIOS=" 137 138 139 "
for L in $NetBIOS
do
iptables -A FORWARD
iptables -A FORWARD
iptables -A FORWARD
iptables -A FORWARD
iptables -A FORWARD
iptables -A FORWARD
done
# Habilita Logs #
Logs=" 0 1 2 "
for G in $Logs
do
iptables -A INPUT
"InputDeny_eth$G-Log "
iptables -A INPUT
iptables -A FORWARD
"ForwardDeny_eth$G-Log "
iptables -A FORWARD
done
;;
-i
-i
-i
-i
-i
-i
$IF_LAN
$IF_LAN
$IF_DMZ
$IF_DMZ
$IF_INET
$IF_INET
LAN #
-d
-d
-s
-s
-d
-d
-s
-s
-o
-o
-o
-o
-p
-p
-p
-p
-p
-p
172.16.1.$I -j ACCEPT
172.16.1.$I -j ACCEPT
172.16.1.$I -j ACCEPT
172.16.1.$I -j ACCEPT
10.0.0.$I -j ACCEPT
10.0.0.$I -j ACCEPT
10.0.0.$I -j ACCEPT
10.0.0.$I -j ACCEPT
$IF_INET -j ACCEPT
$IF_INET -j ACCEPT
$IF_DMZ -j ACCEPT
$IF_DMZ -j ACCEPT
tcp
udp
tcp
udp
tcp
udp
--dport
--dport
--dport
--dport
--dport
--dport
$L
$L
$L
$L
$L
$L
-j
-j
-j
-j
-j
-j
DROP
DROP
DROP
DROP
DROP
DROP
56
restart)
$0 stop
$0 start
;;
*)
;;
esac
exit 0
Para que o script possa ser executado, dever ser atribuda a permisso
correspondente, levando em considerao que apenas o usurio administrador do sistema
identificado por root, possa manipul-lo. Para obter este nvel de privilgio, basta
executar o comando chmod 700 /etc/rc.d/rc.firewall.
57
sobre domnios), conforme necessidade. Ele utiliza uma tcnica de restries a respeito do
que ser retornado como resposta, para evitar ataques relacionados a este tipo de consulta,
como por exemplo, o envenenamento de cache, ou em sua forma original, DNS Cache
Poisoning (SecureWorks, 2007). Os servidores autoritativos so encontrados atravs de
uma cadeia de delegaes, que comea pelos endereos dos servidores root (servidores
raiz) configurados internamente. Tudo isso faz parte do modelo de segurana empregado
nesta soluo. Se o DNSCache no houvesse sido desenhado para funcionar desta forma,
estaria passivo aos mesmos tipos de ataque de envenenamento de cache sofridos pelos
servidores DNS atualmente no-seguros35, como por exemplo, o Bind (ISC, 2009).
nomes, exclusivamente por queries UDP. Por ser autoritativo, no serve nomes
recursivamente (responde a consultas sobre domnios sobre os quais no tem autoridade)
de forma direta, e tampouco responde a queries TCP. Este servio recebe requisies de
hosts apenas por intermdio de outros servidores recursivos, como o DNSCache ou o Bind.
Devido a isso, seu endereo IP nunca dever ser configurado em um sistema operacional
na rea referente a Servidores DNS ou semelhante.
58
mesmo processo responsvel por vrias funes), a agregao de funcionalidades
excessivas em um nico mdulo o principal motivo para ocorrncia de desastres na
segurana (RFC 2010, RFC 2870).
#!/bin/bash
# Fore DjbDNS Installer. Andre Rocha, Maio de 2009
# Realiza o download dos softwares necessrios, inclusive dependncias
cd /usr/src
wget http://www.auroradigital.com.br/djbdns.tar.gz
tar zxvf djbdns.tar.gz
# Instalacao do UCSPI-TCP, que e a primeira dependencia
tar zxvf ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
patch < ../ucspi-tcp_errnopatch
make && make setup check
# Instalacao do DAEMONS TOOLS, que e a segunda dependencia
mkdir -p /package ; chmod 1755 /package
cd /package
tar xzvf /usr/src/daemontools-0.76.tar.gz
cd /package/admin/daemontools-0.76/src
patch < /usr/src/daemontools_errnopatch
cd ..
package/install
# Instala o TinyDNS
cd /usr/src
tar zxvf djbdns-1.05.tar.gz
cd djbdns-1.05
patch < ../djbdns_errnopatch
make && make setup check
# Cria as contas de usurio necessrias
useradd -s /dev/null -d /dev/null dnscache
useradd -s /dev/null -d /dev/null dnslog
useradd -s /dev/null -d /dev/null tinydns
59
Aps realizada a instalao, deve-se proceder com a configurao do
sistema. O comando dnscache-conf dnscache dnslog /etc/dnscache 172.16.1.1 configura
o mdulo DNSCache, que aps ativado, passar a responder s solicitaes que chegarem
pela interface do segmento LAN. O endereo IP 172.16.1.1 nunca dever ser cadastrado
nos registros de NS (Name Servers). Deve ser configurado apenas nos sistemas
operacionais, na rea referente a Servidores DNS ou Nameserver, pois sua funo
apenas resolver nomes. O comando ln -s /etc/dnscache /service habilita o DNSCache.
Por padro, este software no responde a nenhuma rede que no for explicitamente
autorizada. Para informar as redes que esto autorizadas a utilizar o cache, basta executar
os comandos touch /etc/dnscache/root/ip/10.0.0, que libera a rede DMZ, touch
/etc/dnscache/root/ip/172.16.1, que libera a rede LAN, e em seguida touch /etc/dnscache/
root/ip/127, que libera o acesso via loopback.
ele
ter
autoridade.
Isso
pode
ser
feito
atravs
do
comando
cd
60
addr.arpa. Feito isso, os nomes dos hosts onde sero executados servios pblicos podem
ser
cadastrados,
ns1.forenaite.net
atravs
10.0.0.1
do
;
comando
./add-host
cd
/service/tinydns/root
beta.forenaite.net
10.0.0.2
./add-alias
./add-host
Para que todas as alteraes entrem em vigor, basta reiniciar o servio, com
o comando svc -h /service/dnscache/.
4.3.1.3 - Configuraes do Proxy Reverso: O ltimo sistema a ser configurado para este
host o proxy reverso. Para este servio ser utilizada a aplicao ViCompress, devido s
caractersticas apresentadas no captulo 4. Acredita-se que sua instalao no seja
complexa, pois a documentao disponvel no site do desenvolvedor36 bastante clara. O
61
servio de proxy reverso deve ser configurado de forma que intercepte as requisies
entrantes direcionadas ao protocolo HTTP, confrontando o resultado das solicitaes com o
contedo de sua rvore de cache. Caso a resposta para a solicitao conste no cache do
proxy reverso, o mesmo se encarregar de a enviar diretamente ao solicitante, sem que esta
chegue ao servidor web. Esta prtica visa aumentar a performance e o balanceamento de
processos do ambiente, fazendo com que as aplicaes envolvidas funcionem de forma
otimizada e sem gargalos. Para agilizar o processo de instalao, foi criado o seguinte
script, que se destina a realizar automaticamente a instalao da aplicao ViCompress.
#!/bin/bash
# Fore ViCompress Installer. Andre Rocha, Maio de 2009
# Faz o download e descompacta a aplicacao
cd /usr/src
wget http://www.visolve.com/vicompress/vicompress-1.0.9.tar.gz
tar xzf vicompress-1.0.9.tar.gz ; cd vicompress-1.0.9/src/
# Prepara o cdigo fonte para ser instalado
./configure /usr/vicompress
# Compila e instala o software
make && make install
62
O acesso a este script deve ser controlado, de forma que somente o
administrador do sistema possa manipul-lo. Isso pode ser feito atravs do comando
chmod 500 /etc/rc.d/rc.vicompress. Isto finaliza a configurao e tambm a instalao
deste host. Para fins acadmicos, o arquivo de configurao do ViCompress pode ser
examinado na ntegra no Apndice 1, pois mesmo o manual da aplicao citar os pontos
relevantes do processo, acredita-se que h espao para interpretaes variadas.
sem cache
e sem
compresso
com cache
e compresso
63
alocados para a partio root (/), 25% para a partio var, 10% para swap e o restante
para a partio home, pois tipicamente onde ficam armazenados os dados dos usurios. O
filesystem dever ser o ZFS28, devido sua consistncia, capacidades nativas de backup,
clonagem, self-healing37, escalabilidade e fcil administrao; alm de possibilitar o uso de
conteiners38. Mais informaes sobre a instalao do OpenSolaris podem ser obtidas na
documentao oficial39.
64
Como as configuraes de rede em ambientes Solaris so tipicamente mais
complexas, as mesmas sero cobertas em detalhes. Sero descritos a seguir, os passos
necessrios a obteno de uma configurao correta para o ambiente proposto.
A primeira ao que deve ser realizada o cadastramento das subnets que o
sistema faz parte. Este processo requer que as mesmas sejam declaradas no arquivo
/etc/inet/netmasks. No caso deste trabalho, este arquivo possuir contedo semelhante ao
apresentado na ilustrao 15.
65
66
assim a privacidade dos usurios do sistema. Como os servios sero fornecidos via web,
necessrio que seja habilitado o protocolo HTTPS, que implementa o uso de criptografia
SSL sobre o protocolo HTTP. A configurao deste protocolo em servidores web baseados
em Apache trivial, pois todas as informaes necessrias esto presentes no manual do
produto40. No entanto, necessria a utilizao de uma chave privada para criptografia.
Esta chave deve possuir uma senha secreta, que precisa ser inserida todas as vezes que o
servio HTTPS for iniciado. Esta interatividade conflita com a proposta deste trabalho,
pois sistemas de nuvem devem possuir caractersticas que o tornem o mais automtico
possvel. Uma prtica que pode resolver esta questo a criao de uma chave privada que
no possua senha cadastrada. Porm, esta no uma prtica aceitvel, pois caso a chave
privada seja roubada, o ladro poder utilizar a mesma livremente, pois no haver uma
senha para controlar seu uso legtimo. Desta forma, o infrator poder assumir facilmente a
identidade do proprietrio, e poder aplicar golpes virtuais, como por exemplo, enviar
mensagens assinadas digitalmente passando-se por outra pessoa. Para resolver esta
questo, ser utilizado um simples script criado em linguagem Expect41. Esta linguagem
capaz de realizar a captura de mensagens especficas de um terminal, como por exemplo,
uma solicitao de senha, permitindo que sejam criadas respostas para as mesmas,
automatizando
assim
processo.
Este
script
pode
ser
armazenado
em
/etc/scripts/startssl, e seu nvel de acesso deve ser controlado, de forma que apenas o
administrador do sistema tenha acesso, pois possuir informaes sensveis. A definio do
privilgio pode ser feita com o comando chmod 500 /etc/scripts/startssl. Ser
apresentado a seguir o cdigo do script que foi desenvolvido para a automatizao do
processo de inicializao do servidor web com uso de criptografia.
40 Apache SSL/TLS Encryption <http://httpd.apache.org/docs/2.2/ssl/> Acessado em 17 de maio de 2009.
41 Expect uma ferramenta para automatizar aplicaes interativas, como Telnet e FTP. (Charles Hymes,
2009)
67
#!/usr/bin/expect
# Fore ApacheSSL Auto Start. Andre Rocha, Maio de 2009
# Nao exibe no terminal a informacao que sera inserida
set force_conservative 1
set timeout -1
# Software que sera iniciado e que solicitara os dados
spawn /usr/apache2/2.2/bin/apachectl -f /etc/apache2/2.2/httpd.conf
start
-k
match_max 100000
# Espera exibicao de uma determinada string, e envia a resposta
expect "Enter pass phrase:"
send -- "univercidade\r"
expect eof
certificado digital gerado, para que o mesmo tenha sua autenticidade reconhecida. Sem um
certificado assinado, um servidor web utilizando criptografa SSL no funcionar. Por isso,
foi preciso assinar localmente o certificado. Certificados assinados localmente no so
menos seguros que certificados assinados por uma autoridade certificadora. A diferena,
que a assinatura deste ltimo j vem cadastrada nos sistemas operacionais atuais, e a
assinatura do anterior, como foi criada localmente, no. Devido a isso, quando o servidor
web referenciado neste trabalho for acessado atravs do protocolo HTTPS, ser exibida
uma mensagem referente ao certificado utilizado no ser reconhecido. Isto no representa
nenhum tipo de risco para o sistema ou para o utilizador. Um exemplo da mensagem
exibida pode ser visto na ilustrao 17.
68
Nome da
autoridade
que assinou o
cer tificado
Dados
trafegando
em texto claro
Ilustrao 18: Captura de trfego no criptografado
69
A ilustrao 19 exibe a captura de um trfego criptografado. Nesta imagem
percebe-se claramente que no possvel visualizar nenhum tipo de informao pessoal.
70
#!/bin/bash
export
PATH=/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/apache2/2.2/
bin
export LD_LIBRARY_PATH=/lib:/usr/apache2/2.2/lib:/usr/apache2/2.2/libexec
case $1 in
'start')
/etc/scripts/startssl
;;
'stop')
/usr/apache2/2.2/bin/apachectl stop
;;
'restart')
/usr/apache2/2.2/bin/apachectl stop
sleep 2
/etc/scripts/startssl
;;
*)
esac
71
72
gerncia, que alm de possibilitar tudo o que foi citado, servir de ferramenta para
comprovar a validade e eficcia de se possuir um ambiente baseado em tecnologia de
nuvem, como por exemplo, a implementao prtica deste trabalho.
Para materializar a figura do gerente, ser necessrio utilizar um
computador a parte, que deve possuir configurao de hardware semelhante a apresentada
a seguir. Da parte de hardware, a mquina deve possuir 2 interfaces de rede, alm de um
disco de 30Gb, e 256Mb de memria RAM. O sistema operacional utilizado ser o Debian
5.01. Para o preparo da mquina, devero ser levados em considerao os seguintes
detalhes:
alocados para a partio root (/), 55% para a partio var, 3% para swap e o restante para
a partio log. Nesta ltima, ficaro armazenados os logs das aplicaes, pois um sistema
de gerncia tipicamente gera grandes quantidades de logs. O filesystem dever ser o
EXT344, nativo em sistemas Linux, por questes de integridade e disponibilidade.
de domnio ser forenaite.net. A Interface de rede que ser responsvel pela comunicao
com o segmento LAN dever possuir endereo IP semelhante a 172.16.1.3/26, enquanto
que a interface de rede responsvel pelo segmento DMZ dever possuir endereo IP
semelhante a 10.0.0.3/28. O servidor DNS a ser utilizado possui IP 172.16.1.1, e o gateway
tambm ficar a cargo desta mesma mquina.
73
Inicialmente, o ambiente de gerncia foi desenvolvido e implementado em
plataforma Slackware. No entanto, as operaes de automatizao e a complexidade dos
scripts criados para esta plataforma adicionaram um certo grau de dificuldade
manuteno do ambiente proposto. O autor acredita que gerar complexidade alm do
necessrio no uma boa prtica, e a medida adotada em favor da resoluo desta questo
foi a alterao do sistema operacional original para a distribuio Debian, pois este possui
ferramentas que facilitam a instalao de aplicativos, minimizando assim a quantidade de
intervenes administrativas necessrias. Com esta alterao, o script criado para
automatizar a instalao e configurao dos sistemas de gerncia teve uma reduo
significativa em sua quantidade de linhas de cdigo, o que diminui a complexidade de
manuteno.
74
segurana estejam disponveis, ser possvel restabelecer o estado original dos sistemas em
um curto espao de tempo. Sem a adoo desta prtica, possvel que incontveis horas
tcnicas sejam necessrias at que o ambiente retorne a seu estado original, o que
dependendo do caso pode multiplicar os prejuzos. O resultado deste desenvolvimento
pode ser conferido abaixo.
#!/bin/bash
#
#
#
#
demais
-m
-s
75
function nagios_install()
{
printf "\nInstalando o NAGIOS + NDOUTILS
...\n\n" ; sleep 5
apt-get -y install ndoutils-nagios3-mysql
}
CENTREON
MYSQL
function ndoutils_setup()
{
printf "\nConfigurando o NAGIOS para utilizar o NDOUTILS ...\n\n" ;
sleep 5
htpasswd -c -b /etc/nagios3/htpasswd.users nagiosadmin univercidade
grep
-v
"broker_module"
/etc/nagios3/nagios.cfg
>
/tmp/nagios.cfg.tmp
echo
"broker_module=/usr/lib/ndoutils/ndomod-mysql-3x.o
config_file=/etc/nagios3/ndomod.cfg" >> /tmp/nagios.cfg.tmp
cat /tmp/nagios.cfg.tmp > /etc/nagios3/nagios.cfg
chown nagios:nagios /etc/nagios3/*
echo
"grant
select,insert,update,delete
on
ndoutils.*
to
ndoutils@'' identified by 'ndoutils';"|mysql -uroot -punivercidade
}
function ndoutils_start()
{
printf "\nIniciando o NDOUTILS ...\n\n" ; sleep 5
sed s/0/1/g /etc/default/ndoutils > /tmp/ndoutils.tmp
cat /tmp/ndoutils.tmp > /etc/default/ndoutils
/etc/init.d/ndoutils start
}
function get_centreon()
{
echo -ne "\nFazendo o download do Centreon ...\n\n" ; sleep 2
wget http://www.auroradigital.com.br/centreon-2.0.2.tar.gz
if [ $? -ne 0 ]
then
echo -ne "\nErro ao fazer o download do Centron!\n"
echo -ne "\nGrave manualmente o arquivo de instalacao em
'/usr/local/src'"
echo -ne "\ne execute '$0 centreon' para continuar a
instalacao.\n\n"
exit 1
else
echo "Download realizado com sucesso!" ; sleep 2
sleep 3
fi
}
function install_centreon()
{
echo -ne "\nInstalando o Centreon ...\n\n" ; sleep 2
cd /usr/local/src
tar xzvf centreon-2.0.2.tar.gz ; cd centreon-2.0.2
ln -f /usr/lib/ndoutils/ndomod-mysql-3x.o /usr/sbin/ndomod.o
./install.sh
-i
-f
/usr/local/src/centreon2.0.2/tmpl/vardistrib/debian-lenny
chown -R nagios:www-data /etc/nagios3
}
76
### PROGRAMA PRINCIPAL ###
case $1 in
all)
resolv_depends
account_create
nagios_install
ndoutils_setup
ndoutils_start
get_centreon
install_centreon
;;
centreon)
get_centreon
install_centreon
;;
nagios)
nagios_install
ndoutils_setup
ndoutils_start
;;
esac
77
78
A configurao inicial do Centreon pode ser realizada sem maiores
dificuldades, tendo em vista sua interface ser bastante intuitiva. Esta interface pode ser
visualizada no endereo http://mon.forenaite.net/centreon. O primeiro acesso inicia
automaticamente o processo de configurao. Neste processo, apenas necessrio que
sejam informados nomes de usurio, senhas e nomes para os bancos de dados que sero
utilizados. Para este trabalho as informaes adotadas foram:
OpenSolaris,
SNMP
pode
ser
configurado
direto
no
arquivo
79
public para
rocommunity supercloud
fore
fore
fore
fore
fore
fore
v1
v2c
usm
v1
v2c
usm
local
local
local
lan
lan
lan
.1 80
80
Para monitorar servidores web baseados em Apache, basta incluir em seu
arquivo de configurao as diretivas abaixo:
ExtendedStatus On
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from .forenaite.net
</Location>
<Location /server-info>
SetHandler server-info
Order deny,allow
Deny from all
Allow from .forenaite.net
</Location>
81
Nota: A documentao oficial no deixa claro a configurao que possibilita
o acesso do Centreon base de dados do Nagios. Com o objetivo de auxiliar na
implementao, ser exibida na ilustrao 24 o local e as informaes corretas que devem
ser utilizadas para possibilitar o acesso da ferramenta base citada.
1
2
3
Como se pode perceber, a ilustrao 24 indica de forma numerada o passoa-passo a percorrer at alcanar os campos que devem ser preenchidos, bem como seus
valores corretos.
82
Como recurso complementar a gerncia, foi utilizada a ferramenta Cacti47,
que tem a capacidade de gerar vrios tipos de grficos que auxiliam no acompanhamento
do estado dos sistemas. Estes grficos permitem, entre outras coisas, visualizar o consumo
de processamento, consumo do link de dados, consumo de disco, e quantidade de processos
ativos. Foi realizada a instalao e configurao tendo por base os procedimentos descritos
na pgina oficial da ferramenta48. Os aplicativos adicionais que foram instalados
anteriormente para satisfazer as dependncias da ferramenta Centreon tambm so
utilizados para o Cacti, dispensando assim que novas dependncias (softwares que so prrequisitos) tenham que ser resolvidas. A interface do Cacti pode ser acessada atravs do
endereo http://mon.forenaite.net/cacti.
83
84
85
pois precisa processar sozinho todos os trmites necessrios a atender as requisies dos
usurios. Sob este aspecto, um sistema de nuvem leva vantagem, pois seus processos esto
distribudos por reas de competncia, sendo tratados em computadores diferentes. O
trabalho em conjunto faz com que toda a arquitetura funcione de forma otimizada, pois sua
carga est distribuda, o que aumenta a confiabilidade do ambiente.
50 VMWare ESX: Produto comercial da empresa VMWare, fornecedora de solues para virtualizao de
ambientes.
86
4.4 CONSIDERAES SOBRE A CONTRIBUIO DO TRABALHO
vida humana;
87
A luz destes objetivos pode-se entender que:
88
CAPTULO 5
5 - CONCLUSO
89
definir necessidade de recursos (como computao e quantidade de banda), e agreg-los
virtualmente no interior da infra-estrutura de um provedor de nuvem.
Apesar das preocupaes, um ambiente de nuvem se prope a oferecer
segurana to boa quanto ou melhor que um ambiente local, pois em nuvem tornam-se
mandatrios o uso de tcnicas como criptografia de arquivos e de comunicao, o que
impede que terceiros, mesmo que tenham acesso aos arquivos fsicos e fluxos de dados,
possam decifr-los. Alm disso, existem os logs de acesso, possibilitando que se realizem
auditorias quando forem necessrias. Com a centralizao dos dados, h o aumento de
recursos focados em segurana, pois provedores devotam esforos para solucionar
problemas que muitos consumidores no podem arcar.
A implementao realizada para vivenciar aspectos peculiares da
computao em nuvem permitiu agregar a visualizao da utilizao dos recursos de forma
otimizada e eficiente.
Atravs da monitoria e anlise dos grficos, foi possvel perceber o melhor
aproveitamento e balanceamento de recursos de um ambiente de nuvem, em comparao
com um sistema tradicional centralizado. Tambm foi possvel perceber a importncia do
uso da criptografia, quando foi realizada a captura de trfego criptografado e no
criptografado. Ficou clara tambm a importncia do desenvolvimento de scripts que
suportam a soluo adotada, pois alm de automatizarem tarefas (o que facilita na
recuperao de uma situao de desastre), auxilia na automatizao do funcionamento
normal do ambiente, viso clara para o uso de criptografa SSL em servidor web, que em
sua forma original, necessita que toda vez que o mesmo for iniciado, o administrador do
sistema esteja presente para que seja inserida a senha secreta da chave de criptografia
utilizada. Foi possvel ainda comprovar a eficcia do uso de um proxy reverso, que prov
uma economia considervel no consumo do link de dados. Outro detalhe importante
90
inerente ao baixo requisito de hardware, pois ficou claro que mquinas com poucos
recursos, desde que distribudas adequadamente, podem rodar de forma satisfatria um
ambiente de nuvem. Concluindo, apesar das dificuldades tcnicas enfrentadas para
implementar e manter um ambiente de nuvem, o uso desta tecnologia compensadora,
pois possibilita a explorao de novas formas de operao, novos horizontes e tambm
novos planos de negcio, trazendo assim benefcios reais a seus utilizadores.
Como trabalhos futuros, pode-se propor a extenso deste trabalho das
seguintes formas:
imagem para boot via rede (remoto) que contenha apenas um ambiente grfico e um
browser, criar terminais burros (thinclients23), para acesso aos cloud-desktops.
91
Etc.
92
APNDICE 1 ARQUIVO DE CONFIGURAO DO VICOMPRESS
93
REFERNCIAS BIBLIOGRFICAS
Base de Conhecimento da Sun Microsystems
<http://sunsolve.sun.com> Acessado em 11 de maro de 2009.
Laboratrio de Tecnologia de Nuvem da IBM Corporation
<http://www.ibm.com/ibm/cloud/labs/> Acessado em 10 de maro de 2009.
VMWare Server
<http://www.vmware.com/products/server/> Acessado em 04/04/2009.
VMWare White Papers
<http://www.vmware.com/solutions/whitepapers/virtualization.html>
04/04/2009.
Acessado
em
94
PHP
<http://www.php.net/> Acessado em 03 de maio de 2009.
Netfilter Iptables
<http://www.netfilter.org/> Acessado em 03 de maio de 2009.
Net-SNMP
<http://www.net-snmp.org/> Acessado em 03 de maio de 2009.
D.J.Bernstein DjbDNS
<http://cr.yp.to/djbdns.html> Acessado em 03 de maio de 2009.
Nagios
<http://www.nagios.org/> Acessado em 03 de maio de 2009.
Cacti
<http://www.cacti.net/> Acessado em 03 de maio de 2009.
Centreon
<http://www.centreon.com/> Acessado em 03 de maio de 2009.
MySQL
<http://www.mysql.com/> Acessado em 03 de maio de 2009.
EyeOS
<http://eyeos.org/> Acessado em 03 de maio de 2009.
OpenOffice
<http://www.openoffice.org/> Acessado em 03 de maio de 2009.
Jeremy Grossmann e Xavier Alt - GNS3
<http://www.gns3.net/> Acessado em 03 de maio de 2009.
Christophe Fillot - Dynamips
<http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator> Acessado em 03 de maio de
2009.
IBM Grid Literature
<http://www-03.ibm.com/linux/grid/resources/> Acessado em 04 de maio de 2009.
IBM Systems Journal
<http://www.research.ibm.com/journal/sj43-1.html> Acessado em 04 de maio de 2009.
IBM Research Autonomic Computing
<http://www.research.ibm.com/autonomic/> Acessado em 05 de maio de 2009.
Johnm Willis Blog
<http://www.johnmwillis.com/cloud-computing/cloud-vendors-a-to-z-revised/> Acessado
em 05 de maio de 2009.
95
Dion Hinchcliffe Blog
<http://blogs.zdnet.com/Hinchcliffe/> Acessado em 05 de maio de 2009.
IBM Logical Partitioning
<https://www01.ibm.com/servers/resourcelink/lib03030.nsf/pagesByDocid/477FB265C4183781852573
7C007DD123?OpenDocument&pathID=1> Acessado em 10 de maio de 2009.
Mathur - EXT4 Filesystem
<https://ols2006.108.redhat.com/2007/Reprints/mathur-Reprint.pdf> Acessado em 16 de
maio de 2009.
EXT4
<http://kernelnewbies.org/Ext4#head-97cbed179e6bcc48e47e645e06b95205ea832a68>
Acessado em 16 de maio de 2009.
Charles Hymes - Expect
<http://expect.nist.gov/> Acessado em 17 de maio de 2009.
SecureWorks - DNS Cache Poisoning
<http://www.secureworks.com/research/articles/dns-cache-poisoning/> Acessado em 17 de
maio de 2009.
ISC Internet Systems Consortium
<https://www.isc.org/> Acessado em 17 de maio de 2009.
RFC 2010 - Operational Criteria for Root Name Servers
(http://www.rfc-archive.org/getrfc.php?rfc=2010 - Acessado em 17 de maio de 2009.
RFC 2087 - IMAP4 QUOTA extension
<http://www.rfc-archive.org/getrfc.php?rfc=2087> Acessado em 17 de maio de 2009.
Centreon
<http://www.centreon.com> Acessado em 19 de maio de 2009.
Debian GNU/Linux
<http://www.debian.org/index.pt.html> Acessado em 28 de maio de 2009.