Vous êtes sur la page 1sur 43

Sumário

Olá, eu sou o DevMan! Desta página em diante, eu estarei lhe


ajudando a compreender com ainda mais facilidade o conteúdo
desta edição. Será um prazer contar com sua companhia!
Confira abaixo o que teremos nesta revista:

Easy Infra, 05 – Configurações básicas no Apache2


Servidores
Instalação, configurações, desempenho e segurança em Sistemas Linux
[ Ricardo Franzen ]

Segurança, 21 – Hardening
Servidores
Blindando um Sistema GNU/Linux
[ Flávio Alexandre dos Reis, Marcos Fabiano Verbena e Eduardo Pagani Julio ]

29 – Sistema de Detecção de Intrusão


Segurança, Redes Uma abordagem da segurança em redes utilizando o Prelude-IDS
[ Edelberto Franco Silva e Eduardo Pagani Julio ]

Servidores, Core, 48 – Configurando o Servidor DHCP3


Tutorial
DHCP no Ubuntu como ferramenta de administração de redes transparente
[ Racy Rassilan ]

54 – Virtualização com o Hyper-V


Desempenho, Tutorial Entenda os conceitos e adote a virtualização em seu ambiente de TI
[ Jorge Barata ]

[Easy Infra] Artigos introdutórios sobre infraestrutura: redes, ser- [Redes] Artigo dentro do contexto de Redes: configuração, ferra- [Tutorial] Artigo no estilo tutorial passo a passo.
vidores, sistemas operacionais, ferramentas, etc. mentas de monitoração/gerenciamento, entre outros.
[Desempenho] Matérias que abordam questões relacionadas
[Servidores] Destaque para itens como instalação, configuração e [Segurança] Artigo dentro do contexto de Segurança: redes, a desempenho.
gerência, de servidores DHCP, DNS, Web, etc. servidores, sistemas operacionais, infraestrutura em geral.
[Sistemas Operacionais] Foco em características de sis- [Core] Técnicas, ferramentas, e outros assuntos que fogem ás
temas operacionais como Windows, Linux, FreeBSD, entre demais categorias.
outros.
Editorial

N
a segunda edição da Easy Java publicamos o primeiro artigo sobre o JDBC. Agora,
Ano I • Edição 01 • 2011
reservamos novamente o destaque de capa para mais um tema relacionado
à persistência, o Hibernate. Após conhecer este framework, você entenderá
o motivo de termos apresentado o Java Database Connectivity para só então mostrar a
ferramenta mais utilizada para armazenar e recuperar dados da comunidade Java.
Deste modo, em Introdução à Persistência com Hibernate – Parte 1, abordaremos
a arquitetura do Hibernate e veremos como configurar e desenvolver aplicações
Edição adotando este framework de mapeamento objeto-relacional, que devido a sua robustez e
Editor simplicidade, se tornou o recurso padrão para esta funcionalidade. Para facilitar o estudo,
Eduardo Spínola (eduspinola@gmail.com) no vídeo deste artigo destacamos na prática o seu uso.

Arte Se você está começando a implementar seus primeiros sistemas, conhecer o processo
Capa e Diagramação Romulo Araujo (romulo@devmedia.com.br) de desenvolvimento de software será algo que te ajudará a aprimorar a qualidade dos
mesmos. Quando estamos começando, é normal iniciar a codificação sem nos preocupar
Produção com a organização do código, planejamento, entre outras características. No entanto, este
Gerência de Marketing Kaline Dolabella (kalined@terra.com.br)
não é um bom caminho a seguir. Neste contexto, indicamos a matéria Modelagem de
Jornalista Responsável Kaline Dolabella - JP24185
software com UML.
Revisão e Supervisão Thiago Vincenzo (thiago.v.ciancio@devmedia.com.br)
Após um assunto mais teórico, que tal por as mãos na massa e Desenvolver aplicações
Coordenação Geral Daniella Costa (daniella@devmedia.com.br)
web com o NetBeans? Neste momento vamos criar uma simples aplicação CRUD, isto é,
Atendimento ao leitor que fornece as funcionalidades de criação, leitura, atualização e remoção de dados em um
A DevMedia possui uma Central de Atendimento on-line, onde você pode banco de dados, empregando o padrão MVC (acrônimo de Model-View-Controller) e o
tirar suas dúvidas sobre serviços, enviar críticas e sugestões e falar com um de
nossos atendentes. Através da nossa central também é possível alterar dados framework JPA (Java Persistence API). Como complemento, veja o vídeo que nos apresenta
cadastrais, consultar o status de assinaturas e conferir a data de envio de suas a IDE NetBeans e ensina como criar uma aplicação web a partir dos seus recursos.
revistas. Acesse www.devmedia.com.br/central, ou se preferir entre em Para encerrar, preparamos uma matéria desafio, que fornece algumas questões sobre
contato conosco através do telefone 21 3382-5038.
temas abordados nas edições anteriores para testar seus conhecimentos. Solucionando
Publicidade Problemas usando Java, ensina a escrever soluções Java a partir dos recursos da linguagem
Cristiany Queiroz e seguindo uma metodologia mínima. Lembre-se, um bom programador é aquele que
publicidade@devmedia.com.br – 21 3382-5038 conhece um grande leque de recursos e sabe como utilizá-los. Para isso, é preciso por em
Anúncios – Anunciando nas publicações e nos sites do Grupo DevMedia, você prática os conhecimentos adquiridos e assim obter ainda mais experiência com eles. Ainda
divulga sua marca ou produto para mais de 100 mil desenvolvedores de todo o relacionado a este artigo, elaboramos um vídeo para conhecer e explorar os recursos que
Brasil, em mais de 200 cidades. Solicite nossos Media Kits, com detalhes sobre
o Eclipse Helios nos oferece e que podem ser úteis na resolução de problemas comuns
preços e formatos de anúncios.
a qualquer implementação.

Com isso, concluímos a quarta edição da Easy Java.


Boa leitura e até a próxima!

Eduardo Oliveira Spínola


Fale com o Editor! eduspinola@gmail.com
É muito importante para a equipe saber o um artigo na revista ou no site Easy Java
que você está achando da revista: que tipo Magazine, entre em contato com o editor,
twitter.com/Java_Magazine
de artigo você gostaria de ler, que artigo você informando o título e mini-resumo do tema
mais gostou e qual artigo você menos gostou. que você gostaria de publicar:
Fique a vontade para entrar em contato com
os editores e dar a sua sugestão! Eduardo Spínola - Editor da Revista
Se você estiver interessado em publicar eduspinola@gmail.com
Configurações básicas no
Apache2
Instalação, configurações, desempenho e segurança
em Sistemas Linux
Ricardo Franzen

O
Apache é um software multipla-
taforma e pode ser instalado nos Resumo DevMan
principais sistemas operacionais
disponíveis no mercado, como Linux, De que se trata o artigo:
BSDs, Windows, entre outros menos po- Neste artigo será realizada a instalação do Apache de duas formas distintas. Uma delas é compilando
pulares. Por ser um software robusto, logo através do código-fonte e a outra é através de pacotes próprios da distribuição. Também serão apresentadas
se pensa que exige um hardware muito configurações básicas de desempenho e segurança, recomendáveis em qualquer servidor Web Apache.
poderoso para funcionar adequadamente.
É aí que os inexperientes se enganam. Para que serve:
O Apache é um servidor web open source As configurações sugeridas são aplicáveis em servidores de pequeno, médio e grande porte, com poucas
extremamente confiável e que tem suas ou milhares de requisições por minuto.
funcionalidades expansíveis através de
módulos que podem ser adicionados na Em que situação o tema é útil:
medida em que se tornam necessários. Seu Este artigo é ideal para aqueles que estão iniciando na área de infraestrutura e servidores, e até mesmo
nome na verdade é Apache HTTP Server para os leitores com um pouco mais de experiência, que estão sempre em busca de novos conhecimentos,
(veja seção Links), mas é popularmente permitindo uma melhor configuração de servidores.
conhecido como Apache.
O principal objetivo deste artigo é apre- possui um desenvolvimento maduro e mod_python, mod_ ftp, entre outros. A
sentar um conjunto de operações básicas sério. variedade de módulos é muito grande e
no Apache, especialmente no que diz O principal fator relacionado à perfor- pode ser consultada diretamente no site
respeito à instalação, configuração, de- mance é o número de instâncias do servi- do projeto (veja seção Links).
sempenho e segurança. dor httpd. O Apache suporta um grande Serão apresentadas duas formas de ins-
número de instâncias simultâneas, onde talação do Apache no Linux. A primeira
Servidor Web Apache cada uma é relacionada a um cliente aces- delas é compilando o servidor a partir
O Apache é hoje um dos mais respeita- sando o servidor. do código fonte, e a segunda é através de
dos softwares Open Source existentes no Na verdade, o gargalo acaba se locali- um gerenciador de pacotes. Optou-se por
mercado, sendo um concorrente direto do zando na velocidade do link e, dependen- utilizar o Ubuntu (veja seção Links) por
IIS (veja seção Links), desenvolvido pela do das páginas servidas, no hardware. ser a distribuição Linux mais popular
Microsoft. Códigos PHP mal escritos e scripts CGI hoje em dia.
Sua qualidade fica claramente estam- podem elevar a carga do processador e,
pada quando analisamos sua utilização multiplicando pelo número de instâncias
a nível global na Internet. Segundo o site simultâneas fazendo essas requisições,
Netcraft (veja seção Links), em Janeiro tem-se um verdadeiro problema. Por este
de 2010, 53,84% dos sites existentes na motivo é possível afirmar que um servi-
internet rodavam sob o Apache, contra dor bem configurado não é sinônimo de
24,08% do IIS. desempenho superior.
Uma vantagem, que é maior que o dobro Como já informado, o Apache oferece
do segundo colocado, prova a excelência suporte a módulos que, quando instalados,
desta aplicação e a qualidade que um adicionam funcionalidades ao servidor.
software open source pode obter quando Como exemplos, pode-se citar o mod_php,

Edição 01 • Infra Magazine 5


Configurações básicas no Apache2

Compilando os fontes funções extras ao Apache. Entretanto, caso o administrador deseja customizar ao
Este artigo parte do princípio que o leitor tenha interesse de habilitar ou desabilitar máximo o servidor.
está familiarizado com a compilação de algumas opções já na instalação, pode
algum software ou, ao menos detém as fazê-lo com o comando: Configurações Básicas
noções básicas, além de possuir os pacotes Depois da instalação padrão, o Apache
# ./configure --help
para realizar tal procedimento. já pode ser utilizado normalmente, elimi-
Em caso de dúvidas, no Ubuntu, é neces- Agora, devem ser executados os três nando a necessidade de inúmeras configu-
sário instalar o pacote build-essential para comandos básicos necessários para a rações adicionais. Para testá-lo, basta abrir
que seja possível compilar os arquivos do compilação: o seu browser e acessar o endereço http://
Apache. Para isto, execute o comando: localhost. Neste momento você verá uma
# ./configure mensagem de confirmação do Apache.
# apt-get install build-essential # make
# make install O próximo passo será realizar algumas
Quando este artigo foi escrito, a versão alterações no httpd.conf e demonstrar
estável era a 2.2.16. No entanto, as con- Aguarde, dependendo do seu compu- como habilitar o suporte a módulos, que
figurações realizadas são válidas para tador, isto pode levar alguns minutos. estendem as possibilidades de utilização
qualquer versão do Apache2. Concluído este processo, o servidor será do servidor. Como exemplo, será instalado
É possível baixar o arquivo pelo browser instalado no diretório padrão que é /usr/ o módulo do PHP5, por este ser um dos
ou pelo terminal. Lembre-se, geralmente local/apache2. recursos mais utilizados no Apache e
servidores não possuem interface gráfica Para levantar o serviço com as configu- pelo PHP ser uma das principais lingua-
instalada. Dessa forma, seguiremos a rações padrão, execute o comando: gens de programação voltadas à internet
segunda opção. atualmente.
Para realizar o download do pacote, # /usr/local/apache2/bin/apachectl start Quando o Apache é compilado, o arquivo
execute o comando: Após estes passos o Apache deve ter de configuração é um só, o httpd.conf. Na
sido compilado com sucesso. Agora, ao instalação via gerenciador de pacotes no
# wget http://linorg.usp.br/apache/httpd/httpd-2 acessar o endereço 127.0.0.1 com um na- Ubuntu, esse arquivo é fragmentado para
.2.14.tar.gz
vegador será exibida uma mensagem de facilitar sua utilização. Todas as confi-
Agora é necessário efetuar a transfor- confirmação, mostrando que o servidor gurações citadas neste artigo podem ser
mação em Super Usuário, através do está funcionando. realizadas em qualquer um dos ambientes,
comando: porém, a base será na configuração frag-
Instalando através do Gerenciador de mentada que, de certa forma, acaba sendo
# sudo su
Pacotes Synaptics um pouco mais complexa.
Assim será possível executar todos os Este artigo foi escrito utilizando como Os arquivos de configuração encontram-
comandos sem nenhum tipo de problema. base de testes a distribuição Linux Ubun- se no diretório /etc/apache2.
Porém, muito cuidado com os comandos tu, porém os mesmos passos podem ser
que serão utilizados: como root nada im- aplicados a outras distribuições derivadas ServerName
pedirá você de fazer alterações indevidas do Debian. Nossa primeira alteração no httpd.conf
no sistema. Para realizar a instalação é necessário será o parâmetro ServerName. Este parâme-
Neste momento é necessário descompac- acessar o menu Sistema > Administração > tro é utilizado quando o servidor Apache
tar o arquivo baixado. Para isso, execute Gerenciador de Pacotes Synaptic, pesquisar irá responder por um endereço do tipo
o comando abaixo para armazenar os por “Apache” e depois selecionar o pacote www.meusite.com.br. Na instalação padrão,
arquivos no diretório /usr/src: “Apache2”. Em seguida é só aplicar e espe- o ServerName não é especificado, ficando
rar o sistema realizar todo o trabalho. a critério do administrador utilizá-lo ou
# tar -zxvf httpd-2.2.14.tar.gz -C /usr/src
Caso esteja utilizando o terminal, este não. Este parâmetro pode ser inserido no
Observe que foi utilizado o parâmetro processo pode ser feito com o comando: início do arquivo de configuração apache2.
“-C” para especificar o destino dos arqui- conf da seguinte forma:
# apt-get install apache2
vos que estão sendo extraídos do pacote.
Fe it o i s s o, d e ve - s e ac e s s a r e s s e A instalação via gerenciador de paco- ServerName “www.meusite.com” (caso seja uma
URL) ou
diretório: tes é visivelmente mais simples e torna ServerName “111.11.111.11” (caso seja um IP)
todo gerenciamento mais fácil, visto que
# cd /usr/src/httpd-2.2.14/
atualizações e patches de segurança são Virtual Hosts
Seguindo a proposta do artigo, esta aplicadas e instaladas automaticamente. Mas o que fazer se o servidor for res-
instalação será básica, ou seja, não serão A compilação (apresentada no tópico ponder por mais de um site ou possuir
instalados módulos e/ou adicionadas anterior) só se faz necessária quando subdomínios? Neste caso deve-se editar

6 Infra Magazine • Edição 01


outro arquivo, responsável pelos Virtual determinar o tempo que o browser do Feitas estas alterações, o Apache deve ser
Hosts dentro do Apache, que pode ser cliente fará cache de determinados tipos reiniciado com o seguinte comando:
encontrado no diretório /etc/apache2/sites- de arquivo, reduzindo assim a quantidade
# /etc/init.d/apache2 reload
available/default. de requisições feitas ao servidor, sem falar
Na configuração padrão, existe um Virtu- na velocidade de carregamento do site, Algumas alterações relativas à segurança
al Host configurado que é responsável pelo que será visivelmente incrementada. Pode ainda podem ser feitas no arquivo security,
domínio padrão do seu servidor. Um novo não parecer, mas pequenas configurações localizado no diretório /etc/apache2/conf.d/
Virtual Host pode ser configurado apenas como esta muitas vezes não são feitas pelos security.
copiando as configurações de um já exis- administradores e acabam gerando um Não é interessante que alguma pessoa
tente e alterando o parâmetro Document elevado número de requisições repetidas mal intencionada consiga informações
Root, que indica o diretório onde ficarão e desnecessárias ao servidor Web. sobre o servidor facilmente. Para evitar
armazenados os respectivos arquivos. que isso aconteça, alguns parâmetros
Existe também a possibilidade de criar Hardening podem ser alterados para restringir o ní-
diferentes arquivos ao invés de utilizar o Segundo a Wikipédia, hardening é um vel de informação que é passado para os
arquivo default. Se isso for feito, para que o processo de mapeamento das ameaças, clientes. São eles:
Apache reconheça este arquivo, precisa-se mitigação dos riscos e execução das ativi- • ServerTokens OS: Esta diretiva é res-
adicioná-lo à lista de sites habilitados com dades corretivas com foco na infraestru- ponsável pelo nível de informação sobre
o comando: tura com o objetivo principal de torná-la o servidor que será retornado no cabeça-
preparada para enfrentar tentativas de lho HTTP. Os parâmetros existentes são:
# a2ensite nome-do-arquivo
ataque. Full, OS, Minimal, Minor, Major e Prod.
Depois é necessário fazer com que o Se o servidor vai estar aberto na Internet, Onde Full retorna muitas informações
Apache recarregue as configurações e tem-se obrigação de mantê-lo seguro. Sem como o Sistema Operacional e os módulos
reconheça o novo arquivo com os novos entrar em detalhes de configuração de instalados e Prod retorna o mínimo de
Virtual Hosts. Isto pode ser feito através firewall e de sistema, que seria assunto para informações;
do comando: outro artigo, deve-se atentar para alguns pe- • ServerSignature On: Adiciona em pá-
quenos detalhes e configurações que podem ginas geradas pelo servidor (páginas de
# /etc/init.d/apache reload
fazer a diferença no servidor. erro, listagem de arquivos, etc.) uma linha
Dentro de cada Virtual Host é possível Por padrão, em diretórios que não pos- contendo a versão do servidor e o nome do
configurar diversos “subdiretórios” entre suem nenhum arquivo index, o Apache Virtual Host;
os parâmetros <Directory></Directory>. lista todos os arquivos existentes nos • TraceEnable On: Este parâmetro é ape-
Dessa forma pode-se criar configura- mesmos. Isto em alguns casos não é de nas utilizado para testes e diagnóstico do
ções personalizadas para determinados interesse do administrador, seja porque servidor.
diretórios ou até apontá-los para outros o diretório contém arquivos privados, ou
lugares. apenas para não permitir que os
Um exemplo de configuração de um arquivos que ali se encontram sejam
Listagem 1. Exemplo de Configuração de um Virtual Host.
Virtual Host no Apache pode ser visto na vistos. Esta configuração pode ser
Listagem 1. realizada em diretórios específi- <VirtualHost *:80>
Na Listagem 1 é possível observar a cos mas, em algumas situações, a ServerAdmin seu-email@meusite.com.br
configuração para o domínio www.meusite. intenção pode ser a de bloquear a ServerName www.meusite.com.br
com.br. Nele foram adicionados alguns listagem de arquivos em todos os ServerAlias meusite.com.br www.meusite.com.br
parâmetros para melhorar o acesso ao diretórios. Para isso, é necessário DocumentRoot /var/www/meusite.com.br
site, são eles: editar o arquivo /etc/apache2/sites- ExpiresActive On
• ServerAlias: Parâmetro que permite que available/default e alterar os seguintes <FilesMatch “\.(gif|jpg|jpeg|png|css|js|swf|GIF|JPG|
o site responda em mais de um endereço. parâmetros: JPEG|PNG|txt|TXT)$”>
ExpiresDefault “access plus 1 year”
Configura-se esse parâmetro para que o </FilesMatch>
Options FollowSymLinks
site responda também sem o www na fren- AllowOverride None
te do endereço. Muitos administradores se <Directory /var/www/meusite.com.br>
Options -FollowSymLinks +SymLinksIfOwnerMatch
esquecem de fazer isto e quando o usuário para: AllowOverride None
tenta acessar o site sem utilizar o www o Deny from all
Oder Deny,Allow </Directory>
Apache retorna um erro;
Deny from all
• ExpiresActive: Esta funcionalidade do Options None CustomLog /var/log/apache2/meusite.com.br.log
Apache é um recurso muito interessan- AllowOverride None combined
</VirtualHost>
te e pouco utilizado. Com ele, pode-se

Edição 01 • Infra Magazine 7


Configurações básicas no Apache2

Altere estes três parâmetros para: que estão disponíveis nos repositórios do Desabilitar ou habilitar o safe mode:
Ubuntu, execute:
ServerTokens Prod safe_mode = Off
ServerSignature Off # apt-cache search apache2-mod
TraceEnable Off Para determinar a memória que um
script PHP pode alocar, utiliza-se o coman-
Como de costume, sempre que alguma Habilitando o suporte ao PHP do memory_limit, prevenindo que algum
configuração é alterada o Apache precisa A instalação padrão do Apache não vem script mal escrito ou mal intencionado
ser reiniciado para carregar os novos com suporte ao PHP ou a qualquer outra consuma toda a memória do servidor:
parâmetros. linguagem interpretada. Para habilitar o
suporte ao PHP, é necessário realizar a memory_limit = 16M

Veja na vídeo aula deste artigo algumas instalação do pacote libapache2-mod_php5 Caso o servidor não seja de testes, mas
dicas sobre como aumentar a segurança para depois configurá-lo no Apache. sim de produção, talvez seja interessante
do seu servidor web. O primeiro passo para isso será abrir um desabilitar a exibição de erros e alertas nas
console e digitar o comando: páginas geradas:
Utilizando Módulos
Na sua instalação padrão, o Apache traz # sudo su display_errors = Off

habilitado muitos módulos que, algumas Como já informado, o código acima faz Ao fazer isto, pode-se querer registrar
vezes, não são utilizados. Os módulos com que todos os comandos sejam reali- estes erros em algum lugar e, para isso, é
disponíveis podem ser vistos em /etc/ zados com os privilégios do usuário root. importante habilitar o log de erros:
apache2/mods-available. Já os módulos que Com isso é possível chamar o gerenciador
log_errors = On
estão habilitados ficam em /etc/apache2/ de pacotes e instalar o módulo do PHP:
mods-enabled. Por medida de segurança, também é
Como esta questão de módulos a serem # apt-get install libapache2-mod-php5 interessante desabilitar variáveis globais.
utilizados é muito particular e varia em Para verificar se o módulo foi realmente Isso evita que alguma pessoa mal inten-
cada caso, será explicado apenas como instalado, é necessário acessar o diretório cionada, em alguns casos, consiga alterar
habilitar e desabilitar os módulos no /etc/apache2/mods-available. Nele, devem ser valores de variáveis, fazendo com que o
Apache. listados, entre outros, dois arquivos: php5. sistema se comporte de forma anormal:
Para habilitar um módulo, deve-se exe- conf e php5.load.
register_globals = Off
cutar o comando: Agora que o módulo PHP está instalado
no sistema, é possível habilitá-lo no servi- Mais informações sobre o parâmetro
# a2enmod modulo dor Apache. Para isso, o seguinte comando register_globals podem ser encontradas no
deve ser executado: endereço (veja seção Links).
Por exemplo: Em sua configuração padrão, o PHP
# a2enmod php5 vem com o suporte a upload de arquivos
# a2enmod php5 Depois de habilitado, os dois arquivos habilitado. Se esta função não for utilizada,
anteriormente descritos (php5.conf e pode-se desabilitá-la e evitar um possível
Agora, para desabilitar um módulo, php5.load) receberam links simbólicos no problema gerado por alguma pessoa mal
pode-se executar: diretório /etc/apache2/mods-enabled. Isto intencionada que consiga se aproveitar
significa que o módulo do PHP5 será desse serviço. Para esse ajuste, altere a
# a2dismod modulo carregado na próxima inicialização do configuração para:
Apache, que precisa ser reiniciado com
file_uploads = Off
Para listar todos os módulos do Apache o comando:
Mas, caso seja necessário receber arqui-
# /etc/init.d/apache2 restart vos, e mais, arquivos grandes, é necessário
Nota do DevMan Dependendo dos serviços que serão alterar o tamanho máximo dos arquivos
disponibilizados no seu servidor, pode que podem ser recebidos, por exemplo:
Safe Mode: Safe Mode, ou Modo Seguro, é uma tentativa ser necessário alterar algum parâmetro de
upload_max_filesize = 5M
de resolver um problema de segurança em servidores funcionamento do PHP. Estas alterações
compartilhados. Com ele, o PHP faz verificações quando são feitas no arquivo php.ini que fica loca- Caso a aplicação utilize sessões, pode ser
trabalha com manipulação de arquivos, verificando a
propriedade do script atual e do arquivo a ser alterado. A lizado no diretório /etc/php5/apache2. interessante aumentar o tamanho máximo
partir da versão 5.3.0 do PHP este recurso se tornou obsoleto Para exemplificar, vejamos algumas do tempo de vida de uma sessão que, por
e seu uso desencorajado no próprio manual, na versão 6.0 será configurações importantes que podem ser padrão, é de 24 minutos. Esta opção é
completamente removido.
realizadas no php.ini. recomendada para sistemas que possuem

8 Infra Magazine • Edição 01


uma utilização frequente e contínua, evi- o novíssimo HipHop (veja seção Links), No entanto, é importante informar que os
tando assim que o usuário tenha que se desenvolvido pelo Facebook. Ele traduz testes devem ser realizados em ambientes
autenticar a todo o momento: os códigos PHP para C++ e, depois disso, específicos para tal, nunca em servidores
o compila, aumentando assim a veloci- de produção, onde um erro de configuração
session.gc.maxlifetime = 1440 (em segundos) dade na execução. pode gerar um problema mais sério.
Enfim, o php.ini é bastante extenso, sen-
do recomendada a leitura do arquivo. Os Conclusão
comandos e os comentários que se encon- Uma boa forma de aprender é através da Ricardo Franzen
tram nele podem ser bastante úteis, além tentativa e erro, pois assim aprende-se o que rfranzen@gmail.com
de ser uma excelente forma de estudo das pode e o que não pode ser feito. Por isso, não Estudante do curso de Sistemas
possibilidades que as configurações do se deve ter medo de arriscar e alterar algum de Informação, atua na área de
PHP oferecem. parâmetro de configuração. Caso erre em TI há 7 anos e com infraestrutura há 4
algum ponto, sempre haverá a possibilidade anos. Atualmente trabalha como Sys
Admin em uma administradora de hotéis com atuação
Companheiros para o Apache de voltar atrás e recuperar o estado em que
em todo território Nacional.
Claro que o Apache não é único no tudo estava funcionando corretamente.
mundo dos servidores Web. Existem
outros softwares que seguem a mesma Apache HTTP Server: Securing Apache: Step-by-Step:
proposta. Um bom exemplo é o Lighttpd, http://httpd.apache.org http://www.symantec.com/connect/articles/
que pode ser utilizado individualmente securing-apache-step-step
ou em conjunto com o Apache.
Módulos Apache:
O Lighttpd (veja seção Links) é um
modules.apache.org Otimizando seu web server com Apache2 +
Lighttpd:
servidor desenvolvido para ambientes IIS:
http://www.vivaolinux.com.br/artigo/Otimizando-
de alta performance. Seu consumo de www.iis.net
seu-web-server-com-Apache2-+-Lighttpd
memória é muito baixo, além de possuir
Netcraft:
um bom gerenciamento de carga. Entre- Documentação do Apache em Português do
www.netcraft.com
tanto, seu desempenho não é muito bom Brasil:
quando se trata de páginas dinâmicas, Ubuntu: http://httpd.apache.org/docs/2.2/pt-br/
como páginas em PHP. Já quando utiliza- www.ubuntu.com
Tutorial do Nikto, um scanner de
do para prover conteúdo estático, como
Parâmetro register_globals do PHP: vulnerabilidades para WebServers:
arquivos .html, .css, .js e imagens, seu
www.php.net/manual/pt_BR/security.globals.php http://blog.alexos.com.br/?p=297&lang=pt-br
desempenho é consideravelmente supe-
rior ao Apache. Uma boa combinação é Lighttpd: Framework para auditoria de
utilizar o Apache para prover conteúdo www.lighttpd.net vulnerabilidades em servidores Web:
dinâmico e o Lighttpd para conteúdo http://w3af.sourceforge.net/
HipHop: 
estático. http://developers.facebook.com/news.
Outro que não é exatamente um Web php?story=358&blog=1
Server, mas que merece ser lembrado, é

Edição 01 • Infra Magazine 9


D Resumo DevMan
evido ao crescente número de
ameaças existentes na Internet
e dentro dos ambientes corpo- De que se trata o artigo:
rativos, se faz necessária a utilização de Este artigo tem como objetivo demonstrar de forma prática algumas técnicas de blindagem de sistema
técnicas capazes de proporcionar maior também conhecidas como Hardening. Esta técnica consiste na implementação de diretivas de segurança
segurança, estabilidade e tranquilidade que devem ser seguidas antes, durante e após a instalação e configuração de servidores GNU/Linux.
para os administradores de redes. Pen-
sando nisso, este artigo tem como objetivo Para que serve:
apresentar o conceito e técnicas disponí- A técnica de Hardening pode ser utilizada em qualquer sistema operacional. Com o grande aumento
veis para a implementação de hardening em no número de ameaças existentes na Internet é fundamental que o sistema de um servidor esteja
servidores GNU/Linux. preparado para superar todas as tentativas de invasão. Esta técnica não deve ser implementada
Hardening, ou blindagem de sistemas, somente em servidores que ficam conectados diretamente a Internet, muitas vezes fornecendo
consiste na utilização de técnicas para serviços como, por exemplo servidores web, mas também em máquinas que provêm serviços inter-
prover mais segurança a servidores que nos de rede como servidores de arquivos e de impressão. Com a blindagem de sistemas é possível
disponibilizam serviços externos, como aumentar o desempenho do hardware, liberando recursos que estão sendo utilizados por aplicativos
servidores Web, ou até mesmo serviços desnecessários, implementando configurações específicas em alguns serviços, além de gerar um
internos, como servidores de banco de ambiente mais seguro.
dados, de arquivos, entre outros.
Neste artigo são analisadas e discutidas Em que situação o tema é útil:
técnicas para a aplicação de hardening Hardening pode ser utilizado para evitar que usuários mal intencionados aproveitem da ausência do
desde a instalação do sistema operacional, administrador e implantem scripts maliciosos em servidores infectando toda a rede, bloquear que o usu-
o processo de particionamento de discos, ário administrador faça login diretamente no terminal, efetuar logout por tempo de inatividade, remover
análise de serviços desnecessários e pacotes que não são utilizados, remover permissões especiais de binários executáveis, dentre outras
inseguros, localização de senhas fracas, técnicas que serão apresentadas posteriormente.
verificação de usuários inválidos, des-
conexão de usuários não autorizados,
implementação de políticas de utilização Hardening
de serviços de rede, gerenciamento de O hardening consiste na realização de
privilégios e aplicação de segurança no alguns ajustes finos para o fortalecimen-
terminal. to da segurança de um sistema. Muitos
Para a realização da parte prática do ar- administradores sem experiência em
tigo, foram utilizados três computadores segurança preparam seus servidores com
com as seguintes configurações: Cliente uma instalação básica e depois que suas
1: Ubuntu 9.10; Cliente 2: Ubuntu 9.10; aplicações estão disponíveis nenhum
Servidor: Debian Lenny. procedimento é feito para manter a inte-
Para o servidor, o sistema operacional gridade do sistema.
escolhido foi o GNU/Debian Lenny, por Em um sistema GNU/Linux é possível
ser um Linux reconhecidamente pela co- atingir um alto nível de segurança imple-
munidade como estável e robusto, voltado mentando configurações que permitam o
para servidores. As técnicas aqui demons- aperfeiçoamento da segurança aplicada
tradas foram implementadas no servidor ao sistema. Quando se deseja aplicar a
e as máquinas clientes foram utilizadas técnica de hardening há três grandezas que
apenas para a realização de acessos e mo- devem ser consideradas: segurança, risco
nitoramento, conforme a Figura 1. e flexibilidade.

10 Infra Magazine • Edição 01 Edição 01 • Infra Magazine 10


Ponto de Montagem nosuid noexec noatime
ça. Ao particionar o disco, é inserida no
/boot X - -
sistema uma maior segurança, pois cada
/ - - - partição tem sua tabela de alocação de
/home X x - arquivos separada. Um exemplo de como
/usr X - - pode ser configurada a tabela de partições
/tmp X x - é apresentado na Tabela 1.
O comando mount (comando UNIX
/var X x -
usado para montar partições) permite
/var/log X x x
utilizar algumas opções para aumentar
Tabela 1. Opções da tabela de partições a segurança nas partições. Crackers
podem aproveitar do diretório /tmp,
onde por padrão, qualquer usuário pode
Nota do DevMan gravar dados no sistema, para introduzir
um backdoor ou qualquer outro programa
O administrador deverá ter atenção ao implementar as técnicas. malicioso para ter um acesso completo
Caso não tenha experiência nos exemplos aqui demonstrados, ao sistema.
faça os testes em máquinas virtuais a fim de entender e evitar
possíveis falhas na implementação
Serviços desnecessários e inseguros
Depois do sistema instalado, deve ser
realizada uma verificação minuciosa de
Nota do DevMan todos os programas instalados e se são
realmente necessários, mesmo sendo uma
nosuid é o parâmetro usado para inibir a execução de binários instalação básica. Um servidor nunca deve
com permissão de suid bit; noexec é o parâmetro usado para
inibir a execução de um binário na partição; e noatime é o conter programas “clientes”. Serviços
parâmetro responsável por eliminar a necessidade de escrita como telnet, rshd, rlogind, rwhod, ftpd,
no disco para arquivos que precisam ser somente lidos. sendmail, identd, wget, dentre outros,
deverão ser removidos. Estes serviços
podem ser desinstalados usando o geren-
Nota do DevMan Figura 1. Estrutura utilizada para o artigo ciador de pacotes do sistema operacional,
ou desativando-os em todos os níveis de
Backdoor: são programas que instalam um ambiente de de implantar efetivamente as técnicas de inicialização. Além disso, podem-se remo-
serviço em um computador, tornando-o acessível à distância, hardening, é fundamental que haja um ver entradas específicas dos programas no
permitindo o controle remoto da máquina sem que o usuário
saiba, como uma porta dos fundos não autorizada. estudo completo do cenário e serviços em boot do sistema operacional.
questão. Inicialmente recomenda-se sem- Neste exemplo são apresentados os
pre instalar versões atuais dos sistemas passos necessários para a remoção de
Listagem 1. Listando pacotes instalados no operacionais, que contenham correções e pacotes que não são utilizados no sis-
Debian.
patches de segurança, pois pode ser pro- tema. A remoção de pacotes obsoletos
# dpkg -l | awk ‘{print $2,$3}’ | sed ‘1,5d’ >/root/ blemático utilizar uma versão antiga sem deverá ser executada, evitando assim que
auditoria/pacotes.txt atualizações, deixando o sistema tempora- vulnerabilidades sejam exploradas. Para
Listagem 2. Listando pacotes instalados no Red Hat.
riamente vulnerável no caso da existência seguir o exemplo, crie um diretório em /
de pacotes com falhas. Serviços críticos root chamado auditoria, onde será gerado
#rpm –qa > /root/auditoria/pacotes.txt como web, email e DNS devem estar sem- um arquivo com todos os pacotes que estão
pre nas versões mais atuais. Softwares instalados, podendo assim analisar quais
desnecessários devem ser desinstalados e serão removidos.
O administrador de redes deve analisar pacotes inseguros devem ser substituídos O comando dpkg -l, utilizado em distri-
muito bem essas grandezas e encontrar por alternativas mais confiáveis. buições GNU/Linux Debian e derivados,
um estado de harmonia entre elas, levan- A seguir são apresentadas algumas faz uma pesquisa no sistema e lista todos
do o sistema a uma alta produtividade e utilizações de hardening muito úteis na os pacotes instalados. Um filtro com o
segurança, pois quanto maior a segurança configuração de sistemas operacionais. comando awk é utilizado para formatar a
menor o risco e também a flexibilidade. saída do comando, mostrando assim so-
É importante ressaltar que as técnicas Particionamento de discos mente a segunda e terceira colunas, e o co-
aqui apresentadas podem não ser adequa- O particionamento de discos é um ponto mando sed, nesse exemplo, retira as cinco
das para todas as situações. Por isso, antes importante quando se pensa em seguran- primeiras linhas. Esse resultado é gravado

Edição 01 • Infra Magazine 11


Hardening

em um arquivo texto chamado pacotes.txt,


como pode ser visto na Listagem 1.
Em distribuições Red Hat e derivados
utiliza-se o comando rpm –qa, fazendo
assim uma pesquisa em todos os paco-
tes instalados, como pode ser visto na
Listagem 2.
A análise desse arquivo pode ser um
pouco demorada, ainda mais se o admi-
nistrador estiver analisando a saída gerada Figura 2. Execução do John the Ripper procurando por senhas fracas
por um servidor Red Hat, uma vez que
essa distribuição traz um número maior licitar que o usuário efetue a substituição
Listagem 3. Removendo aplicativos.
de pacotes instalados que um GNU/LI- da senha por outra que atenda a política
NUX Debian. Um pacote interessante para de segurança, tornando assim o sistema # aptitude purge wget
remover é o wget. Com esse comando, um mais robusto e tolerante à exploração de Listagem 4. Instalando o John the Ripper.
cracker pode fazer com que o servidor alvo vulnerabilidades.
execute downloads de arquivos, através de Se uma auditoria está sendo executada #aptitude install john

um servidor Web forjado, por exemplo. em um servidor GNU/Linux de uma em-


Assim, o cracker pode jogar qualquer script presa, será necessário descobrir se os usu- que pode ser adotado é a cada 20 dias,
que possa danificar o sistema ou até mes- ários estão usando senhas fracas. No que por exemplo. Defina a quantidade de
mo abrir uma porta para novas invasões. diz respeito às senhas, a norma ISO 27002 senhas já utilizadas que não poderão ser
O comando aptitude remove o aplicativo diz nos itens 11.2.3 e 11.3.1 que devem ser reaproveitadas. Deve-se também educar
wget, e a opção purge faz com que os arqui- controladas por meio de um processo de os usuários para que não divulguem suas
vos de configuração do aplicativo sejam gerenciamento formal e que os usuários senhas para terceiros.
removidos, caso existam, não deixando sejam solicitados a seguir boas práticas Tomando essas providências simples,
vestígios de sua instalação, como pode ser de segurança da informação na seleção e pode-se impedir que algum atacante con-
visto na Listagem 3. uso de senhas. siga quebrar a senha utilizando força bruta.
Outro exemplo é o pacote wireless-tools. No exemplo, o aplicativo John the Ripper Mesmo que a senha seja quebrada em algum
Caso o servidor em questão não tenha é utilizado para teste de senhas fracas. momento, com a troca de senhas periódica,
nenhuma placa de rede sem fio, não há Ele é uma ferramenta de Brute Force (força esta poderá já não ser mais válida.
necessidade de tal aplicativo. bruta, que testa combinações de senha O PAM (Pluggable Authentication Module)
para encontrar a resposta), que pode aju- é um conjunto de bibliotecas compartilha-
Procura de senhas fracas dar a descobrir senhas fracas de usuários, das que permitem ao administrador do
A senha deve ser única, intransferível e checando diretamente o arquivo /etc/sha- sistema local definir como determinadas
de propriedade de um único usuário. O ad- dow dos servidores. O aplicativo pode ser aplicações autenticam os usuários, sem
ministrador não deve saber essas senhas. instalado com o aptitude, como pode ser a necessidade de modificar e recompilar
Um procedimento muito comum para isso visto na Listagem 4. programas. O PAM é um recurso que au-
consiste na alteração da senha no momen- O John the Ripper é executado passando xilia muito quando se pensa em segurança.
to do primeiro login do usuário. Dessa como parâmetro o arquivo /etc/shadow. O Existem vários módulos que podem ser im-
forma o administrador não terá acesso comando time foi acrescentado para que plementados, aumentando assim o contro-
à senha escolhida pelo usuário. Mas, na possa contar o tempo que o aplicativo le de criação e troca de senhas. A Figura 3
maioria das vezes, as senhas escolhidas levou para descobrir a senha dos usuá- mostra que o usuário não conseguiu mu-
são fáceis de serem descobertas, pois são rios e também do root, conforme mostra dar a senha na primeira tentativa, receben-
usadas sequências simples, como 123456, a Figura 2. do a mensagem “Escolha uma senha mais
ou informações pessoais como datas de Regras para definir senhas fortes devem longa”. Isso ocorre devido a uma alteração
aniversário, nome próprio, entre outras. ser levadas em consideração como, por no módulo do PAM. A opção min=10 foi
Nestes casos, é possível utilizar ferra- exemplo, estipular um número mínimo adicionada, limitando assim um tamanho
mentas capazes de avaliar se a senha do de caracteres (por exemplo, 10 caracteres), mínimo para a senha escolhida, como
usuário é fraca ou não. O utilitário John the utilizar letras minúsculas, maiúsculas, pode ser visto na Listagem 5.
Ripper pode ser utilizado com a finalidade números e caracteres especiais. Faça com
de encontrar senhas fracas escolhidas por que as senhas sejam alteradas em inter- Usuários Inválidos
usuários de um sistema. Encontrando valos de tempo curtos, que podem ser Nos Sistemas GNU/Linux há três tipos
senhas fracas, o administrador poderá so- definidos pelo administrador. Um valor de usuários, usuário root, que é o admi-

12 Infra Magazine • Edição 01


nistrador do sistema, usuários comuns, disciplinares dependendo da natureza minais modo texto torna-se fundamental.
os quais possuem uma senha para logar do acesso. Dessa forma, o administrador deverá efe-
no sistema e acesso a um diretório home É importante salientar que, quando tuar o login como usuário comum e quando
onde os mesmos poderão ter privacidade ocorre uma invasão de sistema, é funda- for necessário executar uma tarefa admi-
com seus arquivos pessoais e, por último, mental que as evidências relacionadas ao nistrativa tornar-se root com o comando
os usuários de sistema, responsáveis por acesso indevido sejam registradas antes su. Determinar a data de validade para a
controlar requisições de serviços. O shell da desativação da conta não autorizada, senha dos usuários e, com auxílio do co-
é a interface entre usuário e sistema. Sem tendo cuidado para não destruir provas mando usermod, remover shells válidos de
um shell válido, não é possível digitar relacionadas ao crime. usuários que não estão em uso também são
comandos e interagir com o sistema. O ações importantes a serem tomadas para
usuário de sistema www-data, responsá- Colocar senha criptografada no GRUB garantir a robustez do sistema.
vel por receber requisições do servidor Muitos administradores não estão pre-
Web, que esteja com um shell válido, parados para lidar com estruturas críticas. Segurança no Terminal
poderá introduzir vulnerabilidades ao O simples acesso físico de um usuário a Quando é citado o assunto segurança,
seu sistema. sala de servidores pode representar uma logo se imagina a exploração de uma vul-
violação de segurança grave, pois este po- nerabilidade por uma ameaça remota e, na
Desconexão de usuários não autorizados derá conseguir acesso de root se reiniciar o maioria das vezes, as ameaças internas são
Inicialmente é importante ter o conhe- servidor e alterar a senha do root através do esquecidas ou até mesmo subestimadas.
cimento de que usuários não autorizados gerenciador de boot (grub). Esse processo Usuários internos mal intencionados podem
podem estar dentro ou fora da empresa. poderá ser evitado se uma senha cripto- causar grandes prejuízos e, se o usuário em
O acesso não autorizado por sistemas grafada for adicionada ao gerenciador, questão tiver acesso físico aos servidores, a
externos deve ser cancelado com extrema não permitindo que um usuário qualquer situação fica ainda mais grave.
urgência, em especial se o usuário estiver inicie o sistema no modo de segurança, Um usuário mal intencionado com acesso
ocultando sua identidade. Para os casos por exemplo. físico a sala de servidores pode usufruir
de acesso por usuários internos não au- de uma estação logada como usuário root
torizados, podem ser necessárias ações Política de utilização de serviços de Rede e assim danificar o sistema. A variável
TCP wrappers oferecem controle de acesso TMOUT tem a função de executar um lo-
a vários serviços. A maioria dos serviços gout automático após determinado tempo
Listagem 5. Limitando o tamanho mínimo de uma de rede modernos, como SSH, Telnet e de inatividade do terminal. Seu valor pode
senha.
FTP, utilizam os TCP wrappers que ficam ser configurado no arquivo /etc/profile. O
password required pam_unix.so nullok obscure monitorando a entrada de um pedido e o valor a ser adicionado deverá ser analisa-
min=10 md5
serviço requisitado. do com cuidado, evitando assim acessos
Listagem 6. Inserindo valores no /etc/profile. O uso do TCP wrappers é uma boa prática indevidos. Valores muito altos podem dar
na implementação de segurança em redes, espaço para que o usuário tenha acesso à
#vim /etc/profile
limitando o uso dos serviços de rede. Libe- estação logado como root, valores muito
TMOUT=60 rar acesso somente a IPs desejados, confi- baixos podem interferir em tarefas onde
export PATH TMOUT gurar as restrições do ssh não permitindo é necessário uma pesquisa, por exemplo.
Listagem 7. Comando source. login como root e configurar os módulos O arquivo /etc/profile será editado e adicio-
do pam para restringir acesso ao servidor nado a variável com valor de 60 segundos,
#source /etc/profile
em determinado horário, são boas práticas como pode ser visto na Listagem 6.
que devem ser adotadas. O arquivo /etc/profile só é lido durante o
boot do sistema, dessa forma utiliza-se o
Gerenciamento de privilégios comando source para que o arquivo possa
O usuário root é o mais visado por cra- ser lido novamente atribuindo ao sistema
ckers ou usuários mal intencionados. Seu as alterações aplicadas, como pode ser
foco é conseguir a senha root e obter acesso visto na Listagem 7.
total ao sistema. Após 60 segundos de inatividade, o shell
Para dificultar a ação destas ameaças, fará logout automático, conforme mostra
Figura 3. Alterando as senha dos usuários desativar o login como usuário root nos ter- a Figura 4.
Outro ponto importante a ser levado em
consideração quando se pensa em controle
de acesso em uma organização, é avaliar
Figura 4. Terminal efetuando logout automático quem tem acesso aos servidores. Usuários

Edição 01 • Infra Magazine 13


Hardening

Listagem 8. Editando o arquivo /etc/ssh/inittab.


mal intencionados podem simplesmente bilidades sejam exploradas. Uma regra
usar o CTRL+ALT+DEL para reiniciar o do firewall iptables poderá ser utilizada #vim /etc/inittab
servidor, parando assim todos os servi- para bloquear tentativas de acesso a essa
# Antes
ços disponíveis em uma rede. Isso pode porta, como exibe a Listagem 12.
# What to do when CTRL-ALT-DEL is pressed.
ocorrer em empresas que não têm uma Após adicionar a regra no firewall, ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
política de acesso aos seus servidores. faça novamente a pesquisa com o nmap
# Depois
Segundo a norma ISO 27002, devem-se e analise o resultado. Observe que a # What to do when CTRL-ALT-DEL is pressed.
tratar as questões de acesso físico à sala de porta 80 está sendo filtrada, conforme #ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
servidores. No entanto, independentemen- a Listagem 13.
#ou
te desta norma, pode-se inibir a função
CTRL+ALT+DEL editando o arquivo /etc/ SUID BIT # Depois
inittab, conforme a Listagem 8. O SUID BIT é uma das permissões # What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/bin/echo “Opção desativada !”
especiais disponíveis no GNU/Linux.
SSH Quando está atribuída a um binário, Listagem 9. Editando o arquivo /etc/ssh/sshd_config.
O SSH (Secure Shell) é um programa é possível que um usuário execute o
#vim /etc/ssh/sshd_config
usado para acessar remotamente outro mesmo com os privilégios de seu dono.
computador usando uma rede, executar Se o dono do binário for o usuário root, # Altere a porta padrão
comandos em uma máquina remota e o usuário vai executar o binário como Port 42129
copiar arquivos de um computador para root. # Protocolo 2 (anteriores possuem falhas de segurança)
Protocol 2
outro. Fornece autenticação forte e comu- Podemos encontrar problemas de
# Tempo ativado para digitar a senha
nicação segura sobre canais inseguros segurança ao ter binários com essa per- LoginGraceTime 45
(como a Internet, por exemplo). É muito missão especial configurada. Segundo a # Não aceitar login como root
usado para logar em um sistema GNU/ norma ISO 27002, no item 11.6.1, o acesso PermitRootLogin no
Linux através de uma máquina Windows, à informação e às funções dos sistemas # Não aceitar login sem senha
PermitEmptyPasswords no
Mac ou mesmo outro GNU/Linux, na qual de aplicações por usuário e pessoal do # Usar o modulo do pam para se autenticar
os tradicionais telnet e rlogin não podem suporte devem ser restritas, de acordo UsePAM yes
fornecer criptografia da senha e da sessão. com o definido na política de controle # Definir usuários que tem permissão de fazer login
Detalhes importantes precisam ser leva- de acesso. Esse ponto deve estar muito AllowUsers “flavio marcos eduardo”

dos em consideração quando um servidor bem determinado e esclarecido para Listagem 10. Reiniciando o serviço ssh
ssh é configurado. Para isso, algumas con- todos os funcionários da organização.
figurações importantes devem ser feitas Pois caso algo seja violado, existe um $invoke-rc.d ssh restart

no arquivo de configuração, conforme documento para comprovar que aquilo Listagem 11. Listagem de portas utilizando nmap.
apresenta a Listagem 9. não é certo.
#nmap -A -p 1-65535 localhost
Após efetuar as alterações, o serviço ssh Através de um script é possível localizar PORT STATE SERVICE VERSION
precisa ser reiniciado (ver Listagem 10). e alterar essa permissão, como apresenta
a Listagem 14. 22/tcp open ssh protocol 2.0
25/tcp open smtp Postfix smtpd
Portas Abertas Depois de criado o script, é necessário 53/tcp open domain dnsmasq 2.47
Quando o sistema novo é instalado, alterar suas permissões, deixando que 80/tcp open http httpd 2.2.11
alguns aplicativos (serviços) podem abrir apenas o usuário root possa executá-lo, e 631/tcp open ipp CUPS 1.3.9
3306/tcp open mysql MySQL 5.0.75-0
portas introduzindo assim vulnerabili- retirando qualquer permissão dos demais
dades no sistema. Com o aplicativo nmap, usuários e grupos. Para essa função é usa- Listagem 12. Bloqueando a porta 80 com iptables.
pode-se fazer uma busca por todas as do o comando chmod (Listagem 15).
#iptables –A INPUT –i eth0 –p tcp –dport 80 –j DROP
portas abertas no sistema e, em segui- O primeiro passo é executar o script,
da, podem ser criadas regras no firewall e como parâmetro deverá ser utilizado Listagem 13. Conferindo portas com nmap.
para bloquear as que não devem estar “n” ou “N”. Nesse modo ele apenas irá
#nmap -A -p 80 localhost
disponíveis. Uma listagem de portas feita gerar uma lista de binários que possuem PORT STATE SERVICE VERSION
utilizando o aplicativo nmap pode ser visto a permissão de SUID-BIT no sistema, de 22/tcp open ssh protocol 2.0
na Listagem 11. acordo com a Listagem 16. 25/tcp open smtp Postfix smtpd
53/tcp open domain dnsmasq 2.47
Analisando o resultado do nmap pode- Observe no diretório /root/audito-
80/tcp filtered http
se observar que a porta 80 está aberta, ria que o arquivo list.suid foi criado 631/tcp open ipp CUPS 1.3.9
normalmente usada por um servidor Web. (Listagem 17). 3306/tcp open mysql MySQL 5.0.75-0
Se esse serviço não for utilizado, a porta Como se trata de um sistema recém-
deverá ser fechada, evitando que vulnera- instalado, o administrador não deve

14 Infra Magazine • Edição 01


encontrar nenhum problema. Mas é neces- com a permissão ativa. Considerando que swd, para que os usuários consigam trocar
sária a atenção do mesmo, pois se estiver o firewall está sendo desenvolvido, o coman- suas próprias senhas. Com o comando
analisando um servidor de uma empresa, do su será necessário para que o usuário chmod atribui-se a permissão SUID BIT
onde este se encontra em produção, devem- comum possa virar root e assim executar ao binário /usr/bin/passwd, como visto na
se remover as permissões suid. as políticas implementadas no firewall. Listagem 20.
Agora execute o script utilizando o pa- Utilizando o comando chmod, atribui-se Com essa modificação, um dos proble-
râmetro “s” ou “S”, removendo assim a a permissão suid somente ao comando su, mas será resolvido. Mas apenas retirar
permissão SUID BIT de todos os binários, como visto na Listagem 19. a permissão SUID BIT dos comandos
como visto na Listagem 18. Deve-se obser- Outro binário que precisamos deixar não evitará problemas no sistema de
var quais binários serão necessários ficar com a permissão SUID BIT ativa é o pas- arquivos. Segundo a norma ISO 27002
nos itens 10.4 e 10.4.1, deve-se proteger
a integridade do software e da infor-
Listagem 15. Alterando as permissões do script. mação e ter um controle contra códigos
Nota do DevMan #chmod 700 /root/auditoria/localiza_suid.sh
maliciosos.
Uma backdoor é um código malicioso.
Listagem 16. Executando o script com o parâme-
nmap: Network Mapper, é um aplicativo livre e de código Um cracker pode instalar uma backdoor
aberto, sobre licença GPL, utilizado para explorar uma rede afim tro n ou N.
no sistema utilizando uma técnica como,
de efetuar uma auditoria de segurança.
#./localiza_suid.sh n por exemplo, o PHP Injection (inserção
Listagem 17. Listando o diretório auditoria.
de script malicioso através de páginas
vulneráveis), a colocando dentro do /tmp
Listagem 14. Script sugerido para remoção de # ls /root/auditoria/list.suid com permissões de SUID BIT e executá-la
permissões SUID-BIT.
Listagem 18. Executando o script com o parâme- remotamente.
#vim /root/auditoria/localiza_suid.sh tro (s ou S). Pa ra e xe mpl i f ic a r u m at aq u e a o
#!/bin/bash diretório /tmp, é utilizado o comando
# Envia uma mensagem na saída padrão de vídeo #./localiza_suid.sh s
echo “Verificando arquivos com permissão de
adduser para adicionar um usuário flavio,
Listagem 19. Adicionando permissão de SUID-BIT como visto na Listagem 21.
SUID BIT..”
ao binário su.
# faz uma busca em todo sistema por arquivos que Seguindo o exemplo, será utilizado o
contenham a permissão de SUID BIT e salva em um
arquivo texto
# chmod +s /bin/su comando cp para copiar todos os shells
find / -perm -4000 > /root/auditoria/list.suid
Listagem 20. Adicionando permissão de SUID-BIT
do sistema para a partição /tmp e, logo
# Envia mensagem na tela orientando o que deve ao passwd. após, será atribuída a permissão de SUID
ser feito
echo -n “Deseja remover o SUID BIT dos BIT, como visto na Listagem 22.
# chmod +s /usr/bin/passwd
arquivos?(S/N):” A seguir é apresentada uma sequência
# Recebe a opção escolhida Listagem 21. Adicionando o usuário flavio. de comandos, onde o usuário flavio está
read acao
logado no terminal tty1, o que pode ser
#adduser flavio
# Executa a ação verificado com o comando w. Em seguida
case $acao in Listagem 22. Teste com binários que tenham é realizado o acesso ao diretório /tmp,
S|s) permissão SUID-BIT.
chmod -Rv -s / onde é possível executar o script sh de
echo “ Permissões de SUID BIT Removidas!” # cp /bin/*sh* /tmp acordo com a Listagem 23.
sleep 3 # chmod 4755 /tmp/*sh*
exit
Pode-se observar com o comando id
;; Listagem 23. Usuário comum com permissão de que o usuário flavio ganhou acesso de
N|n) root. root “euid=0(root)”. Sendo o usuário root
exit
;; $w
o dono desse shell com a permissão de
*) 22:31:21 up 3:46, 1 users, load average: 0,07, 0,07, SUID BIT ativa, o usuário consegue
echo “Opção Inválida!!” 0,08 executar o shell sh como root, conforme
sleep 3 USER TTY FROM LOGIN@ IDLE JCPU
exit PCPU WHAT mostra a Figura 5.
;; flavio tty1 - 22:20 0.00s 0.26s 0.01s w Para evitar esse tipo de problema,
esac $ cd /tmp alguns parâmetros do comando mount
$ ./sh
podem ser utilizados. O parâmetro
apresentado aqui é o nosuid, que inibe a
execução de binários na partição indica-
da. Logado como usuário root, aplica-se
essa opção à partição montada em /tmp,
Figura 5. Usuário comum recebendo direitos de root como visto na Listagem 24.

Edição 01 • Infra Magazine 15


Hardening

Listagem 24. Remontando o diretório /tmp com a


opção nosuid.

# mount -o remount,rw,nosuid /tmp


# mount
Figura 6. Usuário comum sem direitos de root
Listagem 25. Remontando o diretório /tmp com a
opção noexec.

# mount -o remount,rw,noexec /tmp

Listagem 26. Script para alterar opção noexec e


nosuid em partições desejadas.

#!/bin/bash
case $1 in
start)
# monta as partições listadas
mount -o remount,rw,noexec /var
mount -o remount,rw,noexec /tmp
mount
Figura 7. Comando mount, em destaque a partição /tmp com opção noexec echo “Partições SEM permissão de execução”
;;
stop)
# monsta as partições listadas
mount -o remount,rw,exec /var
Figura 8. Tentando executar um binário em uma partição com a opção noexec aplicada mount -o remount,rw,exec /tmp
mount
echo “ Partições COM permissão de execução “
;;
*) echo “erro use $0 {start|stop}”
exit 0
;;
esac
exit 1

seja, ao reiniciar o sistema, essas con-


figurações serão perdidas. Para que as
Figura 9. Arquivo /etc/fstab alterado com as opções noexec configurações sejam mantidas mesmo
após um restart, basta editar o arquivo
É importante lembrar que o diretório /tmp problema, pode-se aplicar a opção noexec e /etc/fstab (responsável por armazenar
necessariamente deverá estar em uma par- remontar a partição. a tabela de partições do GNU/LINUX,
tição separada. Isso segue as boas práticas Utilizando o comando mount com o que é lido durante o boot do sistema).
de particionamento. parâmetro remount a partição /tmp será Dessa forma, quando a opção noexec é
Após ter aplicado a correção ao diretório remontada com a opção de leitura e escrita inserida diretamente no arquivo, já será
/tmp, faça novamente o login com o usuário e acrescentando o noexec, de acordo com a implementado o bloqueio ao iniciar a
flavio e tente executar a shell sh novamente. Listagem 25. montagem da tabela de partições do
Observe que a diretiva “euid=0(root)” não Para conferir se a alteração foi efetivada, sistema. Um exemplo desse arquivo pode
mais é listada. Dessa forma o usuário já utilizamos o comando mount novamente ser visto na Figura 9.
não tem mais permissões de root, conforme (ver Figura 7). O administrador poderá encontrar um
mostra a Figura 6. Após remontar a partição, foi realizada problema ao executar o aplicativo aptitu-
mais uma tentativa de executar o binário de se as partições /var e /tmp estiverem
NOEXEC sh. No entanto, agora sua execução está com o noexec e nosuid ativos, pois esse
Um script malicioso pode ser inserido em impedida, independente do usuário logado. aplicativo precisa executar scripts dentro
uma partição do sistema causando danos No exemplo foi executado como root, como de tais partições. O script da Listagem
ao servidor. O comando mount tem um mostra a Figura 8. 26 pode ser utilizado para contornar tal
parâmetro chamado noexec, seu uso pode Realizando a montagem das partições problema. Dessa forma pode-se remover
evitar que um script seja executado dentro manualmente, os parâmetros não serão a proteção ao executar o aplicativo e, em
dessa partição. Assim, para solucionar este aplicados de forma fixa às partições, ou seguida, reativá-las.

16 Infra Magazine • Edição 01


Conclusão Flávio Alexandre dos Reis Marcos Fabiano Verbena
Neste artigo foram tratados os concei- reis.falexandre@gmail.com reisfa. marcosverbena@gmail.com
tos de hardening, além de demonstrar blogspot.com Bacharel em Sistemas de Infor-
alg umas téc n icas para endurecer o Tecnólogo em Sistemas de mação CES/JF, Pós Graduando em
acesso ao sistema. Contudo, o assunto é Informação, Pós Graduando em Segurança da Informação - FMG/ JF
muito extenso e importante, devendo ser Segurança da Informação - FMG/JF,
tratado como fator fundamental em um Certificado LPIC-1.
projeto de implementação de um servi-
dor, antes mesmo de entrar em produção, Eduardo Pagani Julio
desde a instalação até a disponibilização
Site do nmap
epagani@gmail.com http://nmap.org/
de serviços na rede. Mestre em Computação pela Uni-
Sistemas como o AppArmor e o SELinux versidade Federal Fluminense. Hardening
estão sendo utilizados para aumentar Atualmente professor em Instituições http://www.ufpa.br/dicas/vir/inv-back.htm
ainda mais a segurança em sistemas de Ensino Superior da Região de Juiz
de Fora em disciplinas ligadas a redes, e consultor Linux Hardening
Linux, criando uma camada a mais de
atuando principalmente nas áreas de redes de compu- http://www.csirt.pop-mg.rnp.br/docs/hardening/
segurança, e devem ser considerados
tadores e segurança, com enfoque em Linux. linux.html
para também endurecer o sistema.
É importante salientar que existem
técnicas de hardening mais específicas,
como o hardening em kernel, em serviços
como Apache e MySql, entre outros, que
serão temas de novos artigos.

Edição 01 • Infra Magazine 17


E Resumo DevMan
ste artigo abordará os conceitos e
aplicações do Sistema de Detecção
de Intrusão (IDS) a fim de que, ao De que se trata o artigo:
final, o leitor tenha a capacidade de visu- O presente artigo tem como objetivo principal a apresentação do conceito de Sistema de Detecção de
alizar como este mecanismo de segurança Intrusão (Intrusion Detection System - IDS). IDSs têm em sua essência o auxílio à segurança do ambiente
funciona, além de como preparar um am- de computação em uma rede de computadores. Neste cenário, a cooperação deve estar presente em
biente integrado de detecção de intrusão. vários níveis. No artigo serão expostos conceitos, modelos e uma ferramenta disponível ao usuário. Esta
Mecanismos de segurança são cada vez ferramenta é o Prelude-IDS, que servirá como demonstrativo da aplicação em um ambiente real do
mais necessários na busca para que se conceito apresentado.
tenha confiabilidade, disponibilidade e
integridade em ambientes computacionais Para que serve:
e é exatamente este o ponto em que o IDS O Sistema de Detecção de Intrusão pode ser utilizado em ambientes corporativos, assim como em redes
vem a colaborar. Serão apresentados os locais, dependendo de seu modelo empregado. Basicamente tem-se um modelo baseado em host e outro
modelos de IDS, suas principais funcio- baseado em rede. Sua funcionalidade principal é servir como uma segunda linha de defesa à invasão, agindo
nalidades e sua finalidade. Ao final será posteriormente à constatação da intrusão no sistema. Sistemas neste caso pode ser a rede, um servidor ou
abordada uma ferramenta de IDS assim um computador pessoal analisando as atividades da rede ou do computador em questão.
como sua aplicação em um ambiente
real. Para a instalação do IDS, o sistema Em que situação o tema é útil:
operacional escolhido é o Linux, porém Registros de invasões são notados diariamente aos milhares por toda a Internet, assim como em redes
não se faz necessário que sejam monito- locais cabeadas ou sem fio. Com a constância no crescimento e na dependência dos ambientes compu-
rados somente ambientes com este mesmo tacionais de produção, das mais diversas áreas, pela interligação de sistemas e acesso/armazenamento
sistema operacional, uma vez que será de dados de forma segura, é necessário agir de forma a evitar a invasão de intrusos à rede. Porém, esta
demonstrada a interoperabilidade do IDS premissa pode nem sempre ser verdadeira, o que faz do Sistema de Detecção de Intrusão uma importante
escolhido por meio de um padrão proposto ferramenta no auxílio ao escopo de segurança da rede como um todo, uma vez que age após a constatação
de formato de mensagens e alertas. Os de uma provável invasão. É preciso pensar na segurança.
principais fatores que levaram à escolha
deste Sistema Operacional para testes par-
tem desde sua atenção à segurança do am- ma se encontra comprometido por algum
biente operacional como um todo, assim motivo, seja uma sessão ativa esquecida
como a existência de inúmeras ferramentas por um usuário, uma falha de segurança
voltadas a este fim; além de apresentar vá- de um software desatualizado instalado
rias distribuições gratuitas o Linux é open no servidor que gerencia toda a rede, ou
source, ou seja, seu código-fonte é aberto, em um dos computadores da rede partici-
acessível e pode ser modificado pelo usuá- pantes da rede local. Neste momento nos
rio (experiente). A ferramenta de IDS a ser deparamos com uma intrusão, e é aí que
apresentada neste artigo é o Prelude-IDS. se faz necessária a utilização de um meca-
Cada componente será detalhado, assim nismo que identifique e alerte ou responda
como os sensores de terceiros disponíveis à atividade maliciosa em questão.
e suas maiores virtudes. O Sistema de Detecção de Intrusão (In-
trusion Detection System - IDS) pode ser de-
Sistema de Detecção de Intrusão finido como um sistema automatizado de
Normalmente o que encontramos são segurança e defesa detectando atividades
mecanismos que tentam impedir o acesso hostis em uma rede ou em um computador
indevido ao sistema. Mas quando o siste- (host ou nó). Além disso, o IDS tenta impe-

18 Infra Magazine • Edição 01


dir tais atividades maliciosas ou reporta ao Considerações sobre IDS: É interessante que se tenha em mente o
administrador de redes responsável pelo •N ão é um software antivírus projetado fato dos alertas não serem conclusivos ou
ambiente. Trata-se de um mecanismo de para detectar softwares maliciosos tais que possa haver existência de erros tanto
segunda linha de defesa. Isto quer dizer como vírus, trojans, e outros; de análise como de configuração, o que
que, somente quando há evidências de • Não é usado como um sistema de registro pode gerar os chamados falsos positivos,
uma intrusão/ataque é que seus meca- de rede, por exemplo, para detectar total que são alertas, ou ações, em resposta a
nismos são utilizados. A primeira linha vulnerabilidade gerada por ataques DoS evidências encontradas pelo IDS, porém
defensiva é aquela que tentará limitar (Denial-of-Service) que venham a congestio- de forma equivocada. A mesma frágil
ou impedir o acesso ao ambiente, o que nar a rede. Para isso são usados sistemas configuração pode gerar falsos negativos,
pode ser, por exemplo, um firewall. O IDS de monitoramento de tráfego de rede; que se conceitua pela falta de alerta ou
pode apresentar uma forma de resposta • Não é uma ferramenta de avaliação de decisão para um ataque real. Busca-se
a algum tipo de ataque, trabalhando em vulnerabilidades, verificando erros e fa- sempre que o IDS tenha o menor núme-
conjunto com a primeira linha de defesa, lhas de sistema operacional e serviços de ro de falsos positivos e falsos negativos
por exemplo, incluindo regras no firewall rede. Tal atividade é de ordem dos scanners quanto possível.
ou bloqueando a sessão em questão. Pode de segurança que varrem a rede em busca
ainda reportar as atividades maliciosas destas mesmas falhas. Tipos de IDS
constatadas aos outros nós da rede. A detecção de intrusão pode ser clas-
Em um modelo básico de IDS é possível sificada em três categorias: detecção por
O que é IDS e como funciona incluir alguns elementos. Primeiramente, assinatura ou mau uso (Misuse Detection),
Conforme os conceitos descritos em um as decisões provenientes do IDS são ba- detecção por anomalia (Anomaly Detec-
dos artigos-base sobre IDS (ver referências seadas sob a coleta de dados realizada. tion) e detecção baseada em especificação
ao final), podemos conceituar a detecção As fontes de dados podem incluir desde (Specification-based Detection). A seguir
de intrusão como um processo de moni- entradas pelo teclado, registros de coman- serão explicadas de forma mais detalhada
toramento de eventos que ocorrem em um dos básicos a registros de aplicações. As cada uma destas categorias.
sistema de computação ou em uma rede decisões somente são tomadas quando
e tem o intuito de analisar possíveis inci- se tem uma quantidade significativa de Detecção por assinatura
dentes, possíveis violações ou iminências dados em sua base que confirmam a ma- Detectores deste tipo analisam as ativida-
de violações às regras de segurança deste liciosidade daquele computador. Os dados des do sistema procurando por eventos ou
ambiente. Incidentes podem ter várias são armazenados por tempo indefinido conjuntos de eventos que correspondam a
causas, desde a ação de malwares (worms, (que podem ser apagados posteriormente), padrões pré-definidos de ataques e outras
spywares etc.) até ataques que visam o para mais tarde servirem de referência, ou atividades maliciosas. Estes padrões são
ganho não autorizado do ambiente em então temporariamente, esperando o pro- conhecidos como assinaturas. Geralmente
questão. cessamento. Os dados coletados com in- cada assinatura corresponde a um ataque
A utilização de IDS como sistema de formações iguais (considerados, portanto, ou outra atividade específica. É natural e
prevenção pode envolver desde alertas elementos homogêneos), são cruciais para simples pensar em um exemplo típico des-
ao administrador da rede e exames pre- o trabalho do IDS. Um ou mais algoritmos te tipo de evidência, onde o atacante tenta
ventivos até a obstrução de uma conexão são executados, procurando evidências se logar no sistema por meio de um acesso
suspeita. Ou seja, o processo de detecção para que se tomem rapidamente decisões remoto, por exemplo o SSH (Secure Shell),
de intrusão é o de identificar e responder contra as atividades suspeitas. e erra a senha por mais de três vezes. Por
de maneira preventiva atividades suspei- Geralmente os IDS são controlados por meio de uma assinatura encontrada nos
tas que possam interferir nos princípios configurações que especificam todas logs (registros) do sistema, ou seja, a linha
da integridade, confiabilidade e disponi- suas ações. Estas configurações ditam correspondente ao erro de autenticação, é
bilidade. Além disso, as ferramentas de onde os dados serão coletados para então emitido ao administrador um alerta
IDS são capazes de distinguir de onde se análise, assim como qual resposta será e bloqueado o acesso do atacante, confor-
originaram os ataques, de dentro ou fora resultado para cada tipo de intrusão. O me a configuração do IDS realizada pelo
da rede em questão. Os IDS geralmente melhor ajuste de configurações ajuda a administrador.
analisam arquivos locais em busca de definir uma maior proteção ao ambiente, A seguir listamos as vantagens e des-
rastros de tentativas mal-sucedidas de porém, o contrário, provavelmente, será vantagens da utilização deste tipo de
conexão à máquina, ou até mesmo nas ca- prejudicial. O IDS gera um alarme, é ele detecção.
madas do modelo de pilha TCP/IP abaixo o responsável por todo o tipo de saída, Vantagens da detecção baseada em as-
da camada de aplicação, como por exem- desde respostas automáticas, alerta de sinaturas:
plo, alterações nos campos do cabeçalho atividades suspeitas ao administrador e •S ão muito eficientes na detecção (com-
do protocolo IP. notificação ao usuário. parando-se com a detecção baseada em

Edição 01 • Infra Magazine 19


Sistema de Detecção de Intrusão

anomalias) sem gerar grande número de usual conforme o perfil criado. A resposta a • Geralmente produz um grande número
alarmes falsos; esta detecção realizada pelo IDS baseado em de alarmes falsos devido ao comportamen-
•P odem diagnosticar o uso de uma ferra- anomalia é o bloqueio do acesso à Internet to imprevisível de usuários e sistemas;
menta ou técnica específica de ataque. para aquele usuário/terminal, que poderia • Requer muitas sessões para coleta de
ser uma verdade se não houvesse esta exce- amostra de dados do sistema, de modo a
Desvantagens da detecção baseada em ção, porém foi tratada na verdade como um caracterizar os padrões de comportamento
assinaturas: falso positivo. normais.
• Estes tipos de detectores somente podem Infelizmente, este tipo de detecção ge-
detectar ataques conhecidos, ou seja, que ralmente produzirá um grande número Detecção baseada em especificação
estão incluídos no conjunto de assinaturas de alarmes falsos, pois o comportamento Define um modelo muito mais complexo
que o IDS possui, necessitando-se assim de usuários e sistemas pode variar am- que os anteriores, já que sua análise pode
de constante atualização deste conjunto plamente. Apesar desta desvantagem, ser realizada nas camadas abaixo da cama-
(assim como os antivírus); pesquisadores afirmam que a detecção da de aplicação da pilha de protocolos da
• A maioria destes detectores possui assi- baseada em anomalias pode identificar Internet ou no nível de controle do sistema
naturas muito específicas, não detectando novas formas de ataques, coisa que a detec- operacional. Ela se restringe à operação
dessa forma as variantes de um mesmo ção baseada em assinatura não pode fazer. correta de um programa ou protocolo, e
ataque. Além disso, algumas formas de detecção monitora a execução do programa com
baseadas em anomalias produzem uma respeito à definição estipulada. Essa téc-
Detecção por anomalia saída que pode ser usada como fonte de nica pode fornecer a descoberta de ataques
Detectores baseados em anomalias iden- informações para detectores baseados previamente desconhecidos, com isso
tificam comportamentos não usuais (ano- em assinaturas. Por exemplo, um detector potencializando sua atividade, além de
malias) em um computador ou na rede. baseado em anomalias pode gerar um nú- apresentar taxas muito baixas de falsos po-
Eles funcionam a partir do pressuposto mero que representa a quantidade normal sitivos. Este modelo de detecção não é tão
que ataques são diferentes da atividade de arquivos acessados por um usuário par- amplamente divulgado como os demais
normal e assim podem ser detectados por ticular, com isso um detector baseado em citados neste artigo especialmente por sua
sistemas que identificam estas diferenças. assinaturas pode possuir uma assinatura maior complexidade de desenvolvimento
Este tipo de detecção constrói um perfil que gera um alarme quando esse número e restrição à aplicação que se destina, uma
que representa o comportamento normal excede 10%, por exemplo. vez que ele visa, por exemplo, uma única
de usuário, nós e conexões de rede. Este Ainda que alguns IDSs comerciais in- aplicação.
perfil é construído a partir de dados cluam formas limitadas de detecção de Pode-se pensar em um exemplo para
coletados em um período de operação anomalias, poucos, se nenhum, confiam este modelo de detecção onde será rea-
considerado normal, geralmente sob a somente nesta tecnologia. As detecções lizada uma pré-análise das chamadas
supervisão do administrador da rede em de anomalias existentes em sistemas co- de um servidor de FTP ao núcleo do
questão. Estes detectores monitoram a rede merciais geralmente giram em torno da sistema operacional. Todas as chamadas
e usam uma variedade de medidas para detecção de scans de rede ou portas. Entre- e principalmente as consideradas críticas
determinar quando os dados monitorados tanto, a detecção por anomalias continua ao sistema são analisadas a fim de se
estão fora do normal, ou seja, desviando na área de pesquisa e pode se tornar muito observar possíveis alterações posteriores
do perfil. importante para a o desenvolvimento de com objetivos maliciosos. Este tipo de de-
Um exemplo clássico a este tipo de detec- IDSs no futuro de forma cada vez mais tecção é considerada de mais baixo nível
ção é quando um usuário específico utiliza robusta. do que as demais citadas neste artigo, o
sempre o acesso à Internet durante certo A seguir são listadas as vantagens e que também demonstra um conhecimento
período do dia, no horário comercial, por desvantagens da utilização da detecção muito mais profundo das ações realizadas
exemplo. Imaginemos que este usuário é por anomalia. pelo programa a ser analisado assim como
um gerente da empresa que está sendo mo- Vantagens da detecção por anomalias: do sistema operacional e das funções de
nitorada pelo IDS baseado em anomalias. •D etecta comportamentos não usuais, rede.
Este IDS passou toda uma semana criando logo possui a capacidade de detectar sin-
o perfil deste usuário e, a partir do último tomas de ataques sem um conhecimento IDS baseado em rede
dia daquela semana, emprega seu perfil prévio deles; Este tipo de IDS tem por objetivo detec-
como mandatário ao horário permitido de •P roduz informações que podem ser tar ataques pela análise dos pacotes que
utilização da Internet. Certo dia, após a de- usadas na definição de assinaturas para trafegam pela rede através de uma escuta
tecção estar ativa, o gerente deseja utilizar o detectores baseados em assinaturas. em um segmento de rede (como um sniffer-
acesso à Internet durante a madrugada para farejador de pacotes). Com isso, um IDS
entregar um relatório de última hora, nada Desvantagens da detecção por anomalias: tem a capacidade de monitorar o tráfego

20 Infra Magazine • Edição 01


de todos os nós que estão conectados neste rede, necessitando assim de ativar portas atividades suspeitas representando uma
segmento, protegendo-os. de monitoramento nesses equipamentos tentativa de intrusão ou até mesmo uma
IDSs baseados em rede (Network Intru- para que o sensor funcione corretamente. invasão bem sucedida.
sion Detection System - NIDS) geralmente Outra grande desvantagem do IDS ba- Alguns HIDS possuem a capacidade de
consistem de um conjunto de sensores seado em rede é o de não poder analisar interpretar a atividade da rede e detectar
colocados em vários pontos da rede que informações criptografadas, já que essas ataques em todas as camadas do protocolo,
monitoram o tráfego, realizando uma somente serão visualizadas na máquina aumentando assim a sua capacidade de
análise local do mesmo e relatando ataques de destino. bloqueio a determinados ataques que não
a um console central de gerenciamento. Um exemplo de colocação em uma rede seriam notados pelo firewall ou pelo IDS
Como os sensores são limitados a execu- de um IDS baseado em rede pode ser visto de rede, tais como pacotes criptografados.
tarem somente o IDS, eles podem ser mais na Figura 1. Esta análise é restrita a pacotes direciona-
facilmente protegidos contra ataques. dos ao host protegido pelo IDS.
Este tipo de IDS garante que, com poucos IDS baseado em host Um exemplo de tentativa suspeita que
IDSs instalados, mas bem posicionados, Este tipo de IDS é instalado em um host é detectada pelo IDS baseado em host é o
pode se monitorar uma grande rede. É que será alertado sobre ataques ocorridos login sem sucesso em aplicações que utili-
geralmente simples adicionar esse tipo de contra a própria máquina. Este IDS avalia zam autenticação de rede. Desta forma, o
IDS a uma rede e são considerados bem a segurança deste host como base em ar- sistema IDS informará ao administrador
seguros a contra ataques. Porém, apre- quivos de log do sistema operacional, log de rede que existe um usuário tentando
sentam algumas desvantagens, como a de acesso e log de aplicação, por exemplo. utilizar uma aplicação que ele não tem
dificuldade em processar todos os pacotes Tem grande importância, pois fornece permissão.
em uma rede grande e sobrecarregada. segurança a tipos de ataques em que o Para ilustrar os conceitos, é apresentado
Assim, podem falhar no reconhecimento firewall e um IDS baseado em rede não o IDS Prelude, abordando seus componen-
de um ataque lançado durante períodos detectam, como os baseados em protocolos tes e método de funcionamento. Ao final
de tráfego intenso, além de muitas das criptografados, já que estão localizados no estaremos aptos, de forma conceitual, a
vantagens dos IDSs baseados em rede não destino da informação. seguir o passo a passo de instalação deste
se aplicarem às redes mais modernas base- Um exemplo de sua utilização pode ser IDS no Linux.
adas em switches, pois estes segmentam a visto na Figura 2, onde um IDS baseado
em host avisa aos demais sistemas de O Prelude-IDS
IDSs dos outros nós sobre a presença de O Prelude-IDS é um IDS híbrido, ou seja,
um intruso. é um produto que permite a unificação
O IDS baseado em host monitora as em um sistema centralizado a vários tipos
conexões de entrada no host e tenta deter- de aplicações, sejam elas de código-fonte
minar se alguma destas conexões pode ser aberto ou proprietário, além de poder
uma ameaça. Monitora também arquivos, interoperabilizar as funções de um NIDS
sistema de arquivos, logs, ou outras par- com as de um HIDS, sendo em sua essência
Figura 1. IDS baseado em Rede tes do host em particular, que podem ter um NIDS. A fim de implementar tal tarefa,
o Prelude-IDS utiliza o padrão IDMEF
(Intrusion Detection Message Exchange
Format) que permite que diferentes tipos
de sensores gerem eventos utilizando uma
mesma linguagem. Este modelo é baseado
na premissa de que não se deve confiar
em uma única fonte de informação para
uma análise de segurança, já que méto-
dos diferentes de análise têm vantagens
diferentes. Assim, o Prelude-IDS decidiu
unificar estes métodos em um único
produto, produzindo uma ferramenta
bastante completa de segurança.
Possui suporte às linguagens de progra-
mação C, C++, Python, Ruby, Lua e Perl, de
modo que é possível converter aplicações
Figura 2. IDS baseado em Host. de segurança existentes para a estrutura

Edição 01 • Infra Magazine 21


Sistema de Detecção de Intrusão

do Prelude-IDS. O framework do Prelude é táveis SUID desonestos e


descrito pela Figura 3. Ele fornece também processos ocultos;
sensores que funcionam como analisado- •S anCP: é uma ferramenta
res do registro, como é o caso do Prelude- de segurança de rede pro-
LML. Um sensor de Prelude-IDS pode ser jetada para coletar infor-
um programa que é capaz de trabalhar em mações estatísticas sobre o
conjunto com o framework Prelude-IDS. tráfego de rede, bem como,
O Prelude tem a habilidade de encontrar gravá-lo em um arquivo
atividades maliciosas em conjunto com ou- utilizando o formato pcap
tros tipos de sensores, listados a seguir, além para fins de auditoria, aná-
de mais de cem tipos de registros de sistema lise histórica e descoberta
(syslog), entre outros, a fim de melhorar sua de atividades da rede;
evidência ao apontar um ataque: • Snort: é um IDS de rede
• AuditD: fornece um espaço para o usu- (NIDS) capaz de desenvol- Figura 3. Framework do Prelude-IDS.
ário criar suas regras de auditoria, bem ver análise de tráfego em
como armazenar e pesquisar registros nos tempo real e registro de pacote em redes
arquivos de auditoria a partir do kernel 2.6. IP. Executa análise de protocolos e analisa
Possui um plugin de detecção de intrusão padrões de conteúdo, podendo ser consi-
que analisa os eventos em tempo real e en- derado um IDS que trabalha tanto com o
Nota do DevMan
via por meio de alertas IDMEF ao Prelude método de detecção por anomalia quanto
IDMEF é um protocolo experimental proposto para trocas
Manager; por assinatura, por exemplo, para a detec- de mensagens entre sistemas de detecção de intrusão
•N epenthes: é uma ferramenta de emu- ção de ataques do tipo : automatizados. Os sistemas de detecção podem usar o
lação de atividades de malwares, atuando • buffer overflows: sucintamente pode relatório de alerta sobre eventos que considerem suspeitos.
O desenvolvimento deste formato padrão tem como objetivo
passivamente neste tipo de emulação com ser descrito como o estouro do limite de permitir a interoperabilidade entre fontes, sejam elas
a intenção de tentar explorar tais falhas; espaço de memória para certa aplicação, comerciais ou abertas.
•N uFW: é uma ferramenta que funcio- o que pode gerar desde problemas na
na como uma extensão para o Netfilter execução da aplicação até a exploração
(Firewall Linux), que substitui as regras de dados por meio de acesso a endere- Componentes do Prelude-IDS
comuns baseadas no gerenciamento de IPs, ços de memória utilizados por outras Serão apresentados os componentes que
por informações mais detalhadas sobre os aplicações; formam o framework do Prelude-IDS, desde
dados dos computadores e dos usuários • stealth port scans: baseado no escane- seu sensor de coleta até sua biblioteca de
em si. Sua intenção é agregar maior fide- amento de portas com a finalidade de conexão e armazenagem de dados.
lidade às fontes, já que endereços IPs são encontrar aplicações rodando no com- • Prelude Manager: é um servidor de
trivialmente forjados; putador de destino, e pode ter como ob- alta disponibilidade que aceita conexões
•O SSEC: é um HIDS open source desen- jetivo explorar falhas e conseguir acesso a partir de sensores distribuídos e/ou
volvido por um brasileiro. Ele executa a por meio destas portas. Várias técnicas outros gerentes, e salva os eventos rece-
análise de logs, verificação de integridade, são utilizadas para esta verificação, sen- bidos para uma mídia especificada pelo
monitoramente de registro (no caso do do a baseada no three-way Handshake usuário (banco de dados, arquivo de log,
Windows) e detecção de rootkit, além de do TCP uma das mais eficientes; e-mail, etc.). É um concentrador capaz de
prover resposta ativa e alerta em tempo • ataques CGI: visam a exploração lidar com um grande número de conexões
real; de falhas que possam existir entre a e processamento de grandes quantidades
• PAM: Linux-PAM é um sistema de biblio- aplicação e o servidor controlados pelo de eventos. O Prelude Manager vem com
tecas que lida com as tarefas de autenticação suporte CGI; vários plugins como os de filtragem (por
de aplicações no sistema. A biblioteca oferece • SMB probes: exploração da checagem de critérios de impacto reportados pela men-
uma interface para a concessão de privilé- compartilhamento que utiliza o SMB; sagem do IDMEF, limiares de consulta,
gios de programas (como o login e su); • OS fingerprinting: tem o intuito de des- etc.) e envio de alertas ao administrador
• Samhain: é um sistema open source cobrir o Sistema Operacional utilizado por SMTP;
multiplataforma de detecção de intrusão pela possível vítima; • LibPrelude: é uma biblioteca que per-
baseado em host (HIDS) para POSIX (Unix, • Além de outras. mite conexões seguras entre os sensores
Linux, Cygwin/Windows) que fornece ve- e o Prelude Manager, fornece, ainda, uma
rificação de integridade de arquivos, bem Por padrão, oferece em torno de 20 mil re- API (Application Programming Interface)
como detecção de rootkits, monitoramento gras (somando-se as regras da Vulnerability para comunicação com os subsistemas do
de portas, detecção de arquivos execu- Research Team e do Emerging Threads). Prelude, que fornece as funcionalidades

22 Infra Magazine • Edição 01


versão 10.04 do Ubuntu Linux (codinome
Lucid), utilizaremos as versões a seguir,
uma vez que adotamos a versão 9.10 do
Ubuntu em toda a confecção deste artigo.
As versões dos componentes de Prelude-
IDS foram:
• Prelude Manager: 0.9.14.2-2;
• LibPrelude: 0.9.24.1-1;
• LibPreludeDB: 0.9.15.3-1;
• Prelude-LML: 0.9.14-2;
• Prelude-Correlator: 0.9.0~beta5-1;
• Prewikka: 0.9.17.1.
Figura 4. Arquitetura simples de um ambiente com Prelude-IDS

Baixando os pacotes necessários


Lua, conectar e buscar alertas em um ser- A seguir, mostraremos a etapa em que
Nota do DevMan vidor remoto do Prelude Manager e ativar se faz necessário o download dos pacotes
correções localmente, conforme suas regras do Prelude-IDS, assim como a de alguns
Lua é uma linguagem de programação poderosa, rápida e leve, para aquele incidente. Mensagens IDMEF outros pacotes. Utilizaremos o comando
projetada para estender aplicações, sejam elas em C, C++, são geradas como alerta de correção; apt-get em todo este processo. Pressupo-
Java, C#, Smalltalk, Fortran, Ada, Erlang, e outras linguagens
de script, como Perl e Ruby. Suas características a fazem uma • Prewikka: é a interface Web com o mos que o usuário logado no momento é o
linguagem ideal para configuração, automação (scripting) e usuário (GUI – Graphical User Interface) root. É possível assumir este controle com
prototipagem rápida. Lua está presente em muitos jogos (e.g. que provê várias facilidades na análise o comando sudo –s.
World of Warcraft) e o middleware para TV Digital Ginga. Essa
linguagem foi criada na PUC-Rio. e administração do Prelude. Além da Na Listagem 1 pode-se observar a ins-
visualização de alertas, é possível saber talação da base de dados MySQL, que
o status tanto do Prelude Manager como armazenará os alertas, e o Apache, servi-
necessárias para a geração e emissão dos sensores. dor web que servirá para a visualização
de alertas em IDMEF, além de garantir das alertas.
retransmissão de alertas para momentos Na Figura 4 é possível visualizar uma Conforme pode-se notar na Figura 5,
de interrupção temporária. Portanto, é arquitetura simples do Prelude-IDS, onde será necessária a criação de uma senha
a biblioteca utilizada por terceiros para temos vários sensores, por exemplo, o para o acesso do usuário root à base de
integração ao Prelude-IDS; Prelude-LML, se conectando a um Prelude dados do MySQL. Essa senha será utili-
• LibPreludeDB: a biblioteca em questão Manager que, por sua vez, armazena os zada novamente durante a instalação do
é uma camada de abstração sobre o tipo e dados coletados em uma base de dados Prelude-IDS.
o formato do banco de dados para arma- (podemos pensar aqui em um banco de O próximo passo que temos a seguir é a
zenamento das mensagens, permitindo dados MySQL) e as exibe ao administrador instalação do Prelude Manager, o gerente,
ao desenvolvedor utilizar sua base de por meio da GUI, o Prewikka. que é feito com o comando da Listagem 2,
armazenamento de mensagens IDMEF Após a demonstração de toda a estrutura assim como o resultado esperado. Após
sem a necessidade de SQL, independen- do Prelude-IDS, é possível iniciar a parte a instalação do prelude-manager é ne-
temente do tipo ou formato da base de prática deste artigo, mostrando como ins- cessário alterar o conteúdo do arquivo /
dados; talar o Prelude IDS em uma estação com etc/default/prelude-manager de RUN para
•P relude-LML: é um analisador de log o sistema operacional Linux. yes, conforme exibido na última linha
que permite ao Prelude coletar e analisar da Listagem 2, e rodar o comando /etc/
logs do sistema a fim de encontrar evidên- Instalação do Prelude-IDS init.d/prelude-manager start. As telas de
cias de ações maliciosas; transforma-o em Para a instalação do Prelude-IDS utili- configuração com o banco de dados são
um alerta IDMEF e então envia ao Prelude zamos a versão disponível no momento representadas pelas Figuras 6, 7 e 8.
Manager. É possível customizar a análise da escrita do artigo, o Linux Ubuntu 9.10 Figura 6. Tela de inicialização da con-
de logs por meio de criação de regras (assi- de codinome Karmic, com o kernel 2.6.31 figuração do Prelude-Manager com o
naturas). Hoje já avalia mais de 400 regras, instalado por padrão. As versões dos com- MySQL.
dentre elas aplicações conhecidas, como ponentes do Prelude-IDS foram instaladas Feito isto, instalaremos o Prelude-LML
Squid, Sudo, Cacti, Asterisk, OpenSSH, de modo a facilitar este guia, todas elas es- executando o comando da Listagem 3.
Apache, etc.; tavam disponíveis no repositório universe Porém, atenção ao erro reportado aqui.
•P relude-Correlator: permite, por meio de do Ubuntu. Apesar da versão corrente do Este erro existe porque é necessário que
criação de regras utilizando a linguagem Prelude-IDS ser a 1.0 e ser suportada pela o processo do passo da Listagem 4 seja

Edição 01 • Infra Magazine 23


Sistema de Detecção de Intrusão

executado a fim de registrar o sensor do Listagem 1. Instalando pacotes do MySQL e Apache.


Prelude-LML junto ao prelude-manager.
apt-get install mysql-server-5.1 apache2
Somente desta forma o Prelude-LML po-
derá se comunicar com o prelude-manager Listagem 2. Instalação e resultado do Prelude Manager.
e enviar seus alertas a ele.
apt-get install prelude-manager
Ao final desses passos, para que o am-
biente do Prelude-IDS esteja completo, dbconfig-common: writing config to /etc/dbconfig-common/prelude-manager.conf
precisamos apenas do Prelude-Correlator granting access to database prelude for prelude@localhost: success.
verifying access for prelude@localhost: success.
e da interface Web de administração, o creating database prelude: success.
Prewikka. A instalação dos pacotes é rea- verifying database prelude exists: success.
lizada pelo comando da Listagem 5. populating database via sql... done.
dbconfig-common: flushing administrative password
A Listagem 5, assim como a Listagem 2, Generating 1024 bits RSA private key... This might take a very long time.
pede a alteração do conteúdo de um ar- [Increasing system activity will speed-up the process].
Generation in progress... X
quivo cuja opção RUN deverá estar como
+++++O.+++++O
‘yes’. Esse arquivo está localizado em /etc/
default/prelude-correlator e é necessária a Created profile ‘prelude-manager’ with analyzerID ‘1559276264123084’.
Changed ‘prelude-manager’ ownership to UID:113 GID:122.
execução do comando /etc/init.d/prelude-
* prelude-manager disabled, please adjust the configuration to your needs
correlator start. Assim que a instalação * and then set RUN to ‘yes’ in /etc/default/prelude-manager to enable it.
do Prewikka iniciar, tem-se as telas de

Figura 5. Tela de instalação do MySQL. Figura 6. Tela de inicialização da configuração do Prelude-Manager com o MySQL.

Figura 7. Escolha do Banco de Dados MySQL Figura 8. Senha do usuário root criada na instalação do MySQL

24 Infra Magazine • Edição 01


Listagem 3. Instalação e resultado do Prelude –LML. configuração do banco de dados para sua
futura conexão e exibição na página Web,
apt-get install prelude-lml conforme as Figuras 9, 10 e 11.
* erro na hora de inicializar, isto porque e necessario o comando:
prelude-admin register “prelude-lml” “idmef:w” <manager address> --uid 0 --gid 0 Para que o servidor Prewikka seja exe-
cutado, é necessário rodar o seguinte
Listagem 4. Passos para o registro do Prelude –LML.
comando: prewikka-httpd. Talvez seja mais
// Abra outro terminal interessante rodar esse comando em um
--------- script de inicialização. Pode ser criado na
TERMINAL 2 pasta /etc/init.d/seuscript.sh e utilizado o
root@salomao-ubuntu:~# prelude-admin registration-server prelude-manager
comando update-rc.d para adicioná-lo à
The “ne5mpjua” password will be requested by “prelude-admin register”
in order to connect. Please remove the quotes before using it. inicialização. O Prewikka é acessado via
browser pelo endereço, em nosso caso:
Generating 1024 bits Diffie-Hellman key for anonymous authentication... HTTP://localhost:8000.
Waiting for peers install request on 0.0.0.0:5553... A Figura 12 mostra sua interface Web
-----------
E insira no terminal anterior a senha gerada: ne5mpjua
onde a aba ativa é a de alertas. Nela po-
demos ver os alertas gerados pelos sen-
TERMINAL 1 sores conectados ao prelude-manager. É
terá como resultado as linhas: possível visualizar alertas de sensores di-
Enter the one-shot password provided on 127.0.0.1:
ferentes, como snort e prelude-lml (sshd,
Confirm the one-shot password provided on 127.0.0.1:
netfilter – firewall do Linux). A interface
Connecting to registration server (127.0.0.1:5553)... Authentication succeeded. web dispõe de mais possibilidades para
----------- a administração do ambiente de rede. É
TERMINAL 2 possível, por exemplo, visualizar o status
e deverá confirmar “Y” na tela anterior o
dos sensores, assim como estatísticas
Connection from 127.0.0.1:40864...
Registration request for analyzerID=”276627230846594” permission=”idmef:w”. de todos os alertas e atividades do IDS.
Approve registration? [y/n]: y Fica claro que se trata de um ambiente
127.0.0.1:40864 successfully registered. de boa integração com as ferramentas e
------------
facilidade de visualização do ambiente de
TERMINAL 1
produção onde o Prelude-IDS se encontra
Successful registration to 127.0.0.1:5553. em atividade.
------------ Ainda é possível a integração de maneira
simples do IDS Snort, citado anteriormen-
Listagem 5. Instalação do Prelude-Correlator e Prewikka.
te. A única necessidade que se tem é a
apt-get install prelude-correlator prewikka de registrá-lo como um sensor, após sua
Setting up prelude-correlator (0.9.0~beta5-1) ...
instalação e configuração padrão, assim
* prelude-correlator disabled, please adjust the configuration to your needs como realizado nos passos da Listagem 4
* and then set RUN to ‘yes’ in /etc/default/prelude-correlator to enable it. para o Prelude-LML.

Figura 9. Início da configuração do banco de dados para Prewikka Figura 10. Seleção do banco de dados utilizado

Edição 01 • Infra Magazine 25


Sistema de Detecção de Intrusão

Figura 11. Senha do usuário root criada na instalação do MySQL Figura 12. Tela de alerta de eventos da interface web Prewikka

Conclusão Edelberto Franco Silva Prelude-IDS – IDS Híbrido


Neste artigo foram apresentados os con- esilva@ic.uff.br http://www.prelude-technologies.com
ceitos de IDS, assim como seus modelos Mestrando pela Universidade
básicos, baseados em rede e host, seus tipos Federal Fluminense (UFF) em Snort - NIDS
de detecção e ainda a ferramenta Prelude- Ciência da Computação e Bacharel http://www.snort.org
em Sistemas de Informação pela
IDS, esta última sendo abordada com a Snort BR – Comunidade brasileira do Snort
Faculdade Metodista Granbery (FMG). Tem como
finalidade de apresentar uma aplicação de
interesse a área de redes sem fio e segurança em redes. http://www.snort.org.br
código-aberto real onde é possível perce- Atualmente trabalha em projetos de redes mesh sem OSSEC - HIDS
ber os conceitos de IDS. O Prelude-IDS foi fio e de inclusão digital de escolas no âmbito federal, http://www.ossec.net
abordado exatamente por ser uma ferra- estadual e municipal.
menta integradora de IDS e não somente Lua – A linguagem de programação
um único e isolado sistema.
Eduardo Pagani Julio
http://www.lua.org
É interessante que se procure analisar os epagani@gmail.com Survey sobre IDS
sensores que hoje se integram a este IDS, a Mestre em Computação pela Uni- http://cseweb.ucsd.edu/classes/fa01/cse221/
fim de torná-lo o mais completo possível. versidade Federal Fluminense. projects/group10.pdf
O OSSEC e o Snort merecem destaque nes- Atualmente professor em Instituições
te ponto. Também é necessário dar atenção de Ensino Superior da Região de Juiz Pacotes do Prelude-IDS para Ubuntu
à correção de eventos por meio do Prelude- de Fora em disciplinas ligadas a redes, e consultor http://packages.ubuntu.com/search?keywords
Correlator, além da estruturação e criação atuando principalmente nas áreas de redes de compu- =prelude
tadores e segurança, com enfoque em Linux.
de bases de alertas replicados para que não Stealth TCP Port Scanning
haja somente um ponto de armazenamen- http://hatsecurity.com/2008/05/21/stealth-tcp-
to de dados e falhas. Replicações são feitas port-scanning/
de maneira simples, alterando apenas uma
diretiva em alguns poucos arquivos de Guide to Intrusion Detection and
configuração do Prelude-IDS. Prevention Systems
http://csrc.ncsl.nist.gov/publications/nistpubs/
800-94/SP800-94.pdf

26 Infra Magazine • Edição 01


O Resumo DevMan
presente artigo tem por objetivo
ensinar a configurar um servidor
DHCP3 (Dynamic Host Configura- De que se trata o artigo:
tion Protocol ou Protocolo de Configuração O presente artigo demonstra como funciona o DHCP, e como implementá-lo para garantir uma melhor
Dinâmica de Endereço de Rede) no Sistema administração de redes Windows e Linux em uma organização.
Operacional Linux Ubuntu, tornando a
administração de redes Linux e Windows Para que serve:
mais eficiente. Isso só será possível depois Serve principalmente para organizações em que a rede sempre está sofrendo alterações, como: aumento
que o leitor compreender o que é DHCP e de computadores, troca de servidores e troca de endereços IPs em servidores.
como esta maravilhosa ferramenta funcio-
na, demonstrando que sua utilização torna Em que situação o tema é útil:
a administração de redes um trabalho Existem várias situações, dentre elas: quando surge a necessidade de adicionar novas máquinas à rede,
prazeroso e transparente ao usuário inde- não sendo necessário definir as configurações manualmente ponto a ponto. Dessa forma, quando for ne-
pendente do SO utilizado pelo mesmo. cessário mudar o endereço IP do servidor, por exemplo, isso será repassado automaticamente às máquinas
da rede independente do Sistema Operacional utilizado.
DHCP
Antes da existência do DHCP, ser um ad-
ministrador de uma grande rede de com- para as estações de uma rede. Isto torna
putadores era um trabalho árduo e muitas possível ao administrador da rede de uma Nota do DevMan
vezes ineficiente devido a toda e qualquer empresa ou instituição, que geralmente
alteração no servidor como IP, Maskara, tem um grande número de máquinas, Transparente: Geralmente em todo o texto na área da computação
Gateway e DNS. Isto acabava causando a não necessite configurá-las manualmente ele está presente e muitos o confundem. Este termo não significa
transparência de ver através de algo como um vidro, mas sim o fato
necessidade dessas configurações serem digitando o IP, a Maskara, o Gateway e o de esconder as definições e funcionamento técnico aos usuários
repassadas às máquinas clientes manu- DNS tomando todo seu tempo e causando comuns, como é o caso do DHCP. O usuário não precisa saber qual o IP
de sua máquina e muito menos como esse endereço foi obtido.
almente ou mesmo quando surgia uma muita dor de cabeça sempre que surgirem
nova máquina na rede. O que tornava o novas máquinas.
processo demorado e susceptível a diver-
sos erros, como IPs duplicados na rede e, Funcionamento do DHCP Nota do DevMan
consequentemente, perda de comunicação O protocolo DHCP funciona de uma
entre as máquinas e a internet. forma muito inteligente. Inicialmente ele Maskara: Conhecido como sub-net, ou máscara de sub-rede, ao
Com o surgimento do DHCP em outubro estará rodando no servidor verificando contrário do IP, que é formado por valores entre 0 a 255, a maskara
é formada unicamente por valores 0 e o valor 255 servindo como
de 1993, veio a grande solução a este árduo constantemente se há alguma máquina na indicativo de qual classe um determinado IP de rede pertence. O
processo de configuração, e por ser tão rede que solicitou seu serviço via Broadcast IP classe A terá a maskara 255.0.0.0; o IP classe B 255.255.0.0; o
eficiente sobrevive até hoje como a melhor (mensagem enviada através de UDP a to- IP classe C, que é o mais utilizado, 255.255.255.0.
solução de Configuração Dinâmica de das as máquinas na rede). Se houver, então DNS: Domain Name System (Sistema de Resolução de Nomes)
Endereços de Rede. o servidor DHCP captura esta mensagem é através deste sistema que quando se digita um endereço no
navegador ele consegue acessá-lo. Exemplo: quando se digita
Um servidor DHCP é um serviço de e responsabiliza-se por liberar quatro in- o endereço www.devmedia.com.br no navegador é necessário
protocolo de redes existente no Gnu/ formações: IP, Maskara, Gateway e DNS, que um servidor DNS leia essa String e retorne ao navegador da
Linux utilizado para gerenciar as faixas que foram explicitamente informados no máquina solicitante o IP da máquina na Internet que contém
os arquivos que compõem a estrutura do site relacionado a este
de IPs que podem existir na rede, ou seu arquivo de configuração. Onde o IP endereço, no caso o IP 74.53.3.20. Experimente digitar este IP
seja, é um mecanismo para gerenciar o liberado para a maquina solicitante será no navegador, irá carregar o site da DevMedia.
protocolo TCP/IP liberando IPs válidos randômico, de acordo com a faixa definida

Edição 01 • Infra Magazine 27


Configurando o Servidor
DHCP3
no seu código de configuração, e se este TCP – Transmission Control Protocol UDP – User Datagram Protocol
ainda não estiver sendo usado por alguma É orientado à conexão, tornando-se muito confiável Não é orientado à conexão, tornando-se um proto-
máquina on-line na rede. uma vez que se utiliza de uma sessão para realizar colo não confiável, pois o UDP ao contrário do TCP já
a conexão entre os hosts e posteriormente iniciar a inicia a comunicação sem saber se a máquina destino
Depois de toda essa verificação por parte
comunicação. está on-line.
do servidor DHCP, será finalmente libera-

DHCP no Ubuntu como ferramenta de administração de redes


Fragmenta a mensagem em partes numeradas Não garante a sequência dos pacotes e não confirma
do um pacote do servidor para a máquina (pacotes), garantindo a sequência dos pacotes. suas entregas.
solicitante que contém uma configuração Implementa controle de erros, como: o reenvio Não implementa controle de erros. As aplicações que
válida para que o computador da rede de pacotes caso algum não chegue ao destino ou utilizam UDP é que ficam responsáveis por tentar
possa utilizar. Finalmente, a máquina chegue corrompido. tratar a confiabilidade do transporte de dados.
solicitante conseguirá agrupar-se na rede
e navegar na internet sem causar nenhum
É mais lento, utiliza alta sobrecarga podendo ofe-
recer suporte à conexão apenas ponto a ponto, ou
R R
É mais rápido, utiliza baixa sobrecarga podendo ofe-
acy assilan
recer suporte à conexão ponto a ponto e de ponto a
conflito com as que já estavam on-line. seja, máquina a máquina. vários pontos.

O administrador pode definir que o Tabela 1. Comparação entre o protocolo TCP e o UDP
DHCP funcionará de uma das quatro
formas seguintes: Automática, Dinâmica, internet. Isto acontece por que o DHCP trafegam na rede por este ser o protocolo
Manual ou todas juntas, através da edição reconhece o computador e libera as confi- responsável em definir o endereço IP úni-
do arquivo dhcpd.conf. gurações de IP, Maskara, Gateway e DNS co de cada maquina na rede.
• Automática: Nesta configuração, uma automaticamente via rede. Essa vantagem
determinada quantidade de IPs é definida é muito útil em duas vertentes, uma quan- Comparação entre UDP e TCP
para utilização na rede. Por exemplo, ima- do se muda constantemente o computador É sempre interessante verificar como
gine que no código foi especificado que o de lugar no caso do notebook, e outra os protocolos se comportam perante a
servidor iria fornecer IPs no intervalo de quando se faz necessário colocar uma nova necessidade de estabelecer uma conexão
192.168.10.1 a 192.168.10.50. Dessa forma, máquina na rede. para entrega de dados, pois o DHCP só
toda hora que uma máquina cliente fizer funciona pela existência deles.
uma solicitação, será direcionado a esta Protocolos UDP & TCP/IP A Tabela 1 apresenta um comparativo do
máquina um IP que ainda não esteja sendo Como podemos notar, o DHCP trabalha funcionamento dos dois protocolos.
utilizado dentro desta faixa; em função destes protocolos de rede: o A partir de agora fica mais fácil entender
•D inâmica: Muito parecido com o Au- UDP para mensagens via Broadcast; e como funciona o processo de comunicação
tomático. Entretanto, nesta configuração o TCP/IP para comunicação e troca de entre a máquina solicitante e o servidor
especifica-se o tempo que a máquina arquivos. Então nada mais justo do que DHCP. Quando uma máquina está na rede
poderá ficar conectada na rede. Isso é útil compreender um pouco sobre estes três e precisa de configurações válidas, ela irá
quando o administrador deseja definir protocolos que são vitais para o funciona- enviar uma solicitação de configurações
um tempo limite de conexão. Mas essa mento das redes de computadores: válidas via Broadcast através do protocolo
configuração geralmente não é utilizada, •U DP: ou User Datagram Protocol, é um UDP por ser mais rápido. E o servidor
pois os funcionários utilizam as maqui- padrão de protocolo de rede definido DHCP irá liberar para a máquina um IP
nas de uma corporação constantemente e pela RFC 768. Este padrão é utilizado por para esta conseguir utilizar o protocolo
seria estressante toda hora chegar alguém alguns programas para transportar dados TCP para suas tarefas que devem ser
falando que a maquina saiu da rede; de forma mais rápida entre dois hosts seguras, como tráfego de dados incor-
• Manual: Com essa configuração torna- (computadores) do que o TCP. O UDP ruptíveis.
se possível definir que uma máquina X consegue essa velocidade por não verificar
sempre tenha o mesmo IP, independente se os dados foram entregues sem erros e
do lugar e horário que ela se encontre se chegaram ao destinatário;
conectada na rede. Isso se torna possível • TCP: ou Transmission Control Protocol, é
devido à utilização do endereço MAC da o principal protocolo de rede devido a sua
placa de rede no código de configuração do alta confiabilidade. Este protocolo executa
DHCP, que garantirá sempre um IP espe- importantes funções de verificação de
cífico para este endereço MAC, conhecido integridade dos dados, o que garante sua
amplamente como endereço físico da placa confiabilidade, porém, não consegue ser
de rede. tão rápido quanto o UDP. Por outro lado,
também garante que os dados cheguem ao
A principal vantagem de ter um servidor destinatário de forma incorruptível;
DHCP gerenciando a rede é que bastando • I P: ou Internet Protocol, é o protocolo
conectar um computador ou notebook conhecido como protocolo de endereça-
em um terminal gerenciado pelo servidor mento. O protocolo IP tem a finalidade
já será o suficiente para termos acesso à de endereçar as mensagens (dados) que

28 Infra Magazine • Edição 01 Edição 01 • Infra Magazine 28


Instalando o Servidor DHCP Configurando o Servidor DHCP Para tal, serão realizados três passos
Agora que já foi transmitido o conheci- Depois de instalado o pacote dhcp3- que devem ser seg uidos à risca no
mento de como o DHCP funciona, é hora server, o serviço estará pronto para ser servidor para que tudo funcione corre-
de colocar o mesmo na prática instalando configurado. Basicamente tudo que en- tamente.
o DHCP. volve configuração no Linux, seja qual Primeiro Passo: Estando como root no
O processo de instalação no Ubuntu distribuição for, as configurações são Shell, abra o arquivo com o vim da seguinte
é muito simples, basta entrar no shell feitas por intermédio da edição de arqui- forma:
como root, digitar o seguinte comando: vos e o principal arquivo que deverá ser
apt-get install dhcp3-server e esperar pela editado para configurar o servidor DHCP vim dhcpd.conf

realização do download e instalação do é o dhcpd.conf, encontrado no diretório / Ele deve mostrar um conteúdo similar
pacote. etc/dhcp3/. à Listagem 1.

Listagem 1. Código fonte padrão do DHCP quando ele é instalado.

# # default-lease-time 600;
# Sample configuration file for ISC dhcpd for Debian # max-lease-time 7200;
# #}
# Attention: If /etc/ltsp/dhcpd.conf exists, that will be used as # Hosts which require special configuration options can be listed in
# configuration file instead of this file. # host statements. If no address is specified, the address will be
# # allocated dynamically (if possible), but the host-specific information
# $Id: dhcpd.conf,v 1.1.1.1 2002/05/21 00:07:44 peloy Exp $ # will still come from the host declaration.
# #host passacaglia {
# The ddns-updates-style parameter controls whether or not the server will # hardware ethernet 0:0:c0:5d:bd:95;
# attempt to do a DNS update when a lease is confirmed. We default to the # filename “vmunix.passacaglia”;
# behavior of the version 2 packages (‘none’, since DHCP v2 didn’t # server-name “toccata.fugue.com”;
# have support for DDNS.) #}
ddns-update-style none; # Fixed IP addresses can also be specified for hosts. These addresses
# option definitions common to all supported networks... # should not also be listed as being available for dynamic assignment.
option domain-name “example.org”; # Hosts for which fixed IP addresses have been specified can boot using
option domain-name-servers ns1.example.org, ns2.example.org; # BOOTP or DHCP. Hosts for which no fixed address is specified can only
default-lease-time 600; # be booted with DHCP, unless there is an address range on the subnet
max-lease-time 7200; # to which a BOOTP client is connected which has the dynamic-bootp flag
# If this DHCP server is the official DHCP server for the local # set.
# network, the authoritative directive should be uncommented. #host fantasia {
#authoritative; # hardware ethernet 08:00:07:26:c0:a5;
# Use this to send dhcp log messages to a different log file (you also # fixed-address fantasia.fugue.com;
# have to hack syslog.conf to complete the redirection). #}
log-facility local7; # You can declare a class of clients and then do address allocation
# No service will be given on this subnet, but declaring it helps the # based on that. The example below shows a case where all clients
# DHCP server to understand the network topology. # in a certain class get addresses on the 10.17.224/24 subnet, and all
#subnet 10.152.187.0 netmask 255.255.255.0 { # other clients get addresses on the 10.0.29/24 subnet.
#} #class “foo” {
# This is a very basic subnet declaration. # match if substring (option vendor-class-identifier, 0, 4) = “SUNW”;
#subnet 10.254.239.0 netmask 255.255.255.224 { #}
# range 10.254.239.10 10.254.239.20; #shared-network 224-29 {
# option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org; # subnet 10.17.224.0 netmask 255.255.255.0 {
#} # option routers rtr-224.example.org;
# This declaration allows BOOTP clients to get dynamic addresses, # }
# which we don’t really recommend. # subnet 10.0.29.0 netmask 255.255.255.0 {
#subnet 10.254.239.32 netmask 255.255.255.224 { # option routers rtr-29.example.org;
# range dynamic-bootp 10.254.239.40 10.254.239.60; # }
# option broadcast-address 10.254.239.31; # pool {
# option routers rtr-239-32-1.example.org; # allow members of “foo”;
#} # range 10.17.224.10 10.17.224.250;
# A slightly different configuration for an internal subnet. # }
#subnet 10.5.5.0 netmask 255.255.255.224 { # pool {
# range 10.5.5.26 10.5.5.30; # deny members of “foo”;
# option domain-name-servers ns1.internal.example.org; # range 10.0.29.10 10.0.29.230;
# option domain-name “internal.example.org”; # }
# option routers 10.5.5.1; #}
# option broadcast-address 10.5.5.31;

Edição 01 • Infra Magazine 29


Configurando o Servidor DHCP3

Note que a maior parte do arquivo fonte Listagem 2. Código fonte para configuração do DHCP.
da Listagem 1 é constituída por comentá-
option domain-name “ServidorDHCP”;
rios (“#”) que definem especificações de ddns-update-style none;
uso, que podem ser pesquisadas afim de authoritative;
um aprofundamento em um estudo futuro subnet 192.168.10.0 netmask 255.255.255.0 {

por sua parte. range 192.168.10.1 192.168.10.200;


Para simplificar as coisas, exclua todas as option domain-name-servers 200.165.132.148, 200.165.132.155;
linhas. Dessa forma o código ficará mais option routers 192.168.10.170;
option broadcast-address 192.168.10.255;
limpo, contendo apenas suas especifica- default-lease-time 600;
ções, tornando o processo de alteração max-lease-time 7200;
mais rápido e simples.
}
Segundo Passo: Adicione as linhas como
informado na Listagem 2. host micro1{
Ao término da edição do arquivo salve-o.
hardware ethernet 00:0d:87:ee:dd:a7;
fixed-address 192.168.10.100;
Explicação
}
As três primeiras linhas devem existir
por padrão para o funcionamento do Listagem 3. Código fonte para configuração do arquivo interfaces.
DHCP.
auto lo
A linha subnet 192.168.10.0 netmask iface lo inet loopback
255.255.255.0 serve como a criação de uma auto eth0
classe, que neste caso foi denominada sub- iface eth0 inet dhcp

net 192.168.10.0 netmask 255.255.255.0{...}.


Dentro dessa classe serão realizadas as
principais especificações, que são: solicite ficar mais tempo logado na máqui- Terceiro Passo: Agora é importante
• range 192.168.10.1 192.168.10.200 – De- na. Caso não queira passar pelo transtorno reiniciar o serviço. Para isso, acesse como
fine o intervalo de IPs liberados para as de mais de 10 pessoas te procurando di- root o diretório /etc/init.d/ e digite os se-
máquinas da rede pela classe. Podendo, zendo que não está conseguindo acessar a guintes comandos:
por exemplo, liberar outra faixa como internet remova essas duas linhas.
./dhcp3-server stop
10.10.10.1 10.10.10.158, entretanto para isso Note que foi realizada uma configuração
será necessário criar uma classe 10.10.10.0, mista, ou seja, dentro do subnet 192.168.10.0 Depois:
caso contrário não irá funcionar; netmask 255.255.255.0 { ... } foram realizadas
./dhcp3-server start
• option domain-name-servers – Define especificações da distribuição geral dos IPs
quais são os servidores de resolução de pela rede. E depois foi definido um IP fixo Sempre que se realiza alguma configuração
nomes (DNS). Sempre é bom utilizar estes: para uma determinada máquina na rede no SO Linux, é extremamente recomendável
200.165.132.148 e 200.165.132.155, uma vez através de associação do MAC da placa de parar e iniciar o serviço correspondente, pois
que os mesmos são da própria Oi/Telemar; rede ao IP escolhido nesta sessão: só assim terá certeza que as configurações
• o ption routers 192.168.10.170 – Define qual host micro1{ entraram e estão em vigor.
o IP do servidor que irá liberar para a rede hardware ethernet 00:0d:87:ee:dd:a7;
os IPs. Geralmente este IP é o da segunda fixed-address 192.168.10.100; Configurando os Clientes DHCP no Linux
placa de rede eth1; Esta etapa é muito simples, sendo
}
• o ption broadcast-address 192.168.10.255 – necessária a realização de dois passos.
Define qual IP será utilizado para enviar Geralmente o mais utilizado é simples- Basta ir até as máquinas da rede e editar
uma mensagem para todas as máquinas mente configurar a faixa de IP para a rede o arquivo interfaces, encontrado em /etc/
na rede. e pronto, como foi feito na classe subnet network/.
192.168.10.0 netmask 255.255.255.0{...}. Mas Primeiro Passo: Editar o arquivo interfa-
A linhas default-lease-time 600 e max- também demonstramos que é possível ces utilizando o vim ou vi.
lease-time 7200 definem respectivamente os especificar via MAC qual IP você deseja • Conteúdo a ser colocado dentro do ar-
tempos mínimo e máximo que o servidor que uma determinada máquina tenha, quivo de configuração interfaces:
DHCP irá liberar um IP válido para uma conforme vimos na classe host micro1{...}. • auto lo: Indica que as placas de rede
máquina. Após o esgotamento do tempo Isso possibilita fazer a configuração mista, deverão ser ativadas automaticamente
mínimo, ele oferece (de forma automática) ou seja, automática e via MAC ao mesmo durante o boot;
um pouco mais de tempo caso o usuário tempo. • iface lo inet loopback: Utilizado para co-

30 Infra Magazine • Edição 01


municação entre aplicações do sistema e O conteúdo do arquivo ficará como o Conclusão
demais aplicativos; mostrado na Listagem 3. Através deste artigo ficou claro que confi-
• auto eth0: Este ponto define quais das Feito isso basta salvar o arquivo. gurar um servidor DHCP é muito simples,
placas deverá ser ativada e configurada Segundo Passo: Agora que o arquivo está e possibilita ao administrador de redes
de acordo com a linha abaixo; configurado, será necessário reiniciar o administrá-la com mais facilidade, pois
• iface eht0 inet dhcp: Define que a confi- serviço de rede. Para isso acesse o diretório quando for necessário mudar o IP do servi-
guração da rede será via DHCP, onde esta /etc/init.d e digite os seguintes comandos: dor ou o gateway, não precisaremos infor-
máquina solicitará ao servidor os quatro mar essas mudanças máquina a máquina.
padrões de configuração, que são: endere- ./networking stop Isso permitirá ao administrador de redes
ço IP, Maskara, Gateway e DNS. Depois: uma administração que não incomode e/
ou permita que os usuários tenham acesso
./networking start direto a estes processos, tornando sua ad-
Com isso esta máquina conseguirá ad- ministração transparente ao usuário.
quirir todas as configurações do servidor A computação é uma ciência muito dinâ-
que foi configurado anteriormente. mica e esse dinamismo torna os processos
Figura 1. Ícone de configuração de rede denominado organizacionais mais eficientes. Portanto,
“conexão local” Configurando os Clientes DHCP no é necessário que todos os profissionais de
Windows XP TI sempre estejam preparados para utilizar
Configurar computadores que tenham o seus subsídios, garantindo não só o mero
SO Windows a adquirirem suas configu- funcionamento de computadores em suas
rações de rede via DHCP assim como no organizações, mas sim utilizar da melhor so-
Linux também é um processo muito sim- lução possível em termos de gestão de TI.
ples. Estando em uma máquina Windows Compreender como funcionam as redes
siga os seguintes passos: de computadores torna-se vital, uma vez
Primeiro Passo: Acesse Iniciar > Confi- que não se pode implementar uma solução
gurações > Conexões de Rede. Então será para algo sem conhecer seu funciona-
mostrada uma janela com um ícone cha- mento, e muito menos se nem souber da
mado “Conexão local”, como o mostrado existência de mecanismos computacionais
na Figura 1. que auxiliam sua administração, como é o
Agora clique com o botão direito sobre caso do DHCP.
este ícone. Surgirá um menu flutuante. Agora você tem conhecimento suficiente
Neste menu selecione “Propriedades”, para montar um servidor DHCP distri-
sendo exibida uma janela de configurações buindo as faixas de IPs ou especificando
da rede, como a da Figura 2. por MAC qual IP uma determinada máqui-
Segundo Passo: Localize a opção “Pro- na deve ter. Isto tornará a administração
Figura 2. Janela de Propriedades de Conexão local tocolo TCP/IP”, dê um clique sobre ela e um processo mais fácil e eficaz, evitando
posteriormente clique no botão “Proprie- transtornos como fazer tudo ponto a pon-
dades”. Logo em seguida será aberta outra to na rede. Então administrador, mão na
janela, semelhante à Figura 3. massa que essa tecnologia vai lhe garantir
Terceiro Passo: Estando com a janela da uma administração descomplicada e esta-
Figura 3 aberta, basta marcar as opções rá colocando-o no quadro de profissionais
como mostrado na figura, que são: “Obter que usam o melhor em gestão de TI.
um endereço IP automaticamente” e “Ob-
ter o endereço dos servidores DNS”. Clique Racy Rassilan
racy@pos.facom.ufu.br
no botão “Ok”; será retornada a janela da
É graduado em Ciência da
Figura 2, nela basta clicar novamente em
Computação pela Universidade
“Ok” e pronto, o computador está configu- Presidente Antonio Carlos - UNIPAC
rado para adquirir todas as configurações de Teófilo Otoni - MG e Mestrando
de rede via DHCP. em Banco de Dados pela Universidade Federal de
Para enriquecer o conteúdo desta maté- Uberlândia - UFU - MG. Atualmente é desenvolvedor de
ria, o vídeo a seguir expõe os conceitos e software e administrador de servidores Linux. Atuando
demonstra na prática o que é necessário principalmente com desenvolvimento de aplicações
para configurar o servidor DHCP. Desktop e Web com as linguagens JAVA e PHP.
Figura 3. Janela de Propriedades de Protocolo TCP/IP

Edição 01 • Infra Magazine 31


Configurando o Servidor DHCP3

Artigo sobre configuração do serviço DHCP feito pela UNICAMP. Blog com tutorial que explica como configurar um servidor DHCP
http://www.ccuec.unicamp.br/revista/infotec/linux/linux19-1.html no Linux Debian e Ubuntu utilizando DHCP3.
http://www.xjulio.info/blog/configurando-um-servidor-de-dhcp-no-
Artigo do site vivaolinux que aborda uma maneira fácil e rápida de
ubuntu-e-debian-com-o-dhcp3-server
configurar o servidor DHCP no Linux Conectiva.
http://www.vivaolinux.com.br/artigo/Servidor-DHCP-rapido-e-facil-para- Site que visa responder algumas perguntas básicas sobre DHCP, como:
Conectiva-Linux O que é DHCP? Para que serve? Como funciona? etc.
http://www.rnp.br/newsgen/9705/n1-2.html
Tutorial que explica como deve ser o conteúdo do arquivo dhcpd.conf no
Linux Ubuntu. Site de Julio Battisti com um excelente artigo explicando sobre os
http://thiagodfreitas.wordpress.com/2007/11/13/arquivo-de-configuracao- protocolos de redes.
etcdhcp3dhcpdconf-no-ubuntu/ http://www.juliobattisti.com.br/artigos/windows/tcpip_p11.asp
Artigo do site vivaolinux que mostra como implementar um servidor Site Guia do Hardware com um artigo que visa explicar as máscaras de
DHCP. sub-rede.
http://www.vivaolinux.com.br/artigo/Implementando-um-servidor-DHCP/ http://www.gdhpress.com.br/redeseservidores/leia/index.php?p=cap3-2
Tutorial feito pelo MIT explicando como configurar um servidor DHCP
no Linux Red Hat Enterprise.
http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/s1-dhcp-configuring-server.html

32 Infra Magazine • Edição 01


O Resumo DevMan
conceito de virtualização não é
novo, ele foi introduzido pela
IBM nos mainframes na década De que se trata o artigo:
de 60, principalmente porque havia a Este artigo abordará o conceito de virtualização, os principais softwares e, por fim, apresentaremos uma
necessidade de redução de custos sem introdução sobre virtualização com o Hyper-V.
perder serviços, o que só foi possível com
a consolidação de várias máquinas em Para que serve:
uma única. Atualmente, devido à grande Virtualização é um método que permite ao usuário instalar e usar simultaneamente mais de um sistema
procura de equipamentos, aplicativos operacional na mesma máquina.
e sistemas operacionais, que exigem
cada vez mais máquinas poderosas, as Em que situação o tema é útil:
empresas começaram a considerar a Empresas que tenham interesse em gerar mais produtividade ao ambiente de TI com cada vez menos
virtualização como a solução para seus gastos e investimentos em manutenção e equipamentos.
problemas. Virtualização é um método
que permite ao usuário de computador um sistema operacional guest seja execu-
instalar e usar simultaneamente mais de Conceitos de virtualização tado de modo isolado;
um sistema operacional na mesma má- Pode-se definir virtualização como: • Para-virtualização (Para-virtualization
quina. O objetivo central dessa tecnologia “Emular, simular, mascarar ambientes / Enlightenment): Um sistema operacional
é justamente gerar mais produtividade ao isolados, capazes de rodar diferentes modificado sendo executado em um
ambiente de TI (Tecnologia da Informa- sistemas operacionais dentro de uma mes- hypervisor. Na para-virtualização, o SO
ção) das empresas, com cada vez menos ma máquina, utilizando-se ao máximo a Guest e o Hypervisor colaboram para obter
gastos e investimentos em manutenção e capacidade do hardware, que por muitas o máximo em desempenho;
equipamentos. vezes fica ociosa em determinados perío- • Virtualização de Aplicação: Um método
Para isso já existem softwares que dos. Esse aproveitamento é maior devido para mascarar e executar aplicações em
fazem esse gerenciamento e podem ser à possibilidade de fornecer ambientes de um SO ou vindo de um SO, tanto local
aplicados de acordo com as necessidades execução independentes a diferentes usu- quanto via rede;
da empresa. Nesse contexto, o Hyper-V ários em um mesmo hardware.”.
foi lançado com suporte a vários siste- Seguem abaixo outras definições impor-
mas operacionais do mercado. Ele é um tantes sobre virtualização:
software que permite você executar e •H ypervisor: trata-se de uma platafor-
virtualizar vários sistemas operacionais ma de virtualização que permite execu-
na mesma máquina, cada uma se com- tar vários sistemas operacionais em um
portando como se fossem independentes. único computador físico chamado de
Os ganhos com virtualização vão desde host. A principal função do Hypervisor
a otimização dos recursos de hardware está na execução de ambientes isolados
e o maior nível de disponibilidade para de cada máquina virtual e no gerencia-
as aplicações até a redução de gastos mento do acesso entre os sistemas ope-
obtida com a consolidação do parque de racionais convidados (guests) que estão
servidores. executando em máquinas virtuais e os
Neste sentido, este artigo abordará o recursos de hardware do computador
conceito de virtualização, os principais (host);
softwares e, por fim, apresentaremos • Virtualização Completa (Full Virtua-
uma introdução sobre virtualização com lization): É quando uma máquina virtual
o Hyper-V. simula todo o hardware, permitindo que

Edição 01 • Infra Magazine 33


Virtualização com o Hyper-V
• Virtualização de Apresentação: Neste Alguns virtualizadores existentes
modelo de virtualização apenas a camada No mercado já existem diversos softwa- Nota do DevMan
Conheça a arquitetura e como configurar
de apresentação de um aplicativo é execu-
tada na máquina cliente. O processamento
res que atuam na virtualização. Com esses
aplicativos é possível investir em uma Máquina Virtual: Uma máquina virtual é um ambiente, isolado
e uso de memória ficam no servidor que tecnologia segura e confiável obtendo a ou não, de computação que é implementado em software e que
compartilha dos recursos de hardware do computador físico
estiver provendo esta modalidade de vir- disponibilidade de melhores recursos e o para que vários sistemas possam funcionar simultaneamente
tualização; aumento da produtividade. Vamos agora em um único computador.
•H osted Virtualization: Alguns autores conhecer quatro opções: J orge
Os recursos B arata
que podem ser compartilhados são: processadores,
conceituam esta técnica como uma virtu- memória, disco rígido, placas de rede, placa de vídeo e demais.
alização baseada no Tipo-2 de Hyperviso- 1) VMware
res, em que um sistema operacional guest A solução VMware Server proporciona
é executado sobre um sistema operacional integração entre diferentes sistemas ope- • Roda a maior parte dos sistemas x86 sem
host que intermedia toda a comunicação racionais, simulando redes com várias a necessidade de drivers personalizados.
da máquina virtual com o hypervisor; versões do Linux e do Windows. Ele é
• Hardware Virtualization Assistance: uma opção para se testar (sem a necessi- 3) Virtual Server R2 SP1
Melhoramentos no processador que dade de um computador dedicado a esta Outro produto da Microsoft são os re-
suportam guests não-modificados (full tarefa) outros sistemas operacionais e cursos do Virtual Server. Sua instalação
virtualization); Intel-VT / AMD-V. aplicativos de forma mais simples, ou até pode ser realizada apenas em sistemas
A experiência nos mostrou que a virtua- mesmo para manter a compatibilidade de operacionais servidor, como Windows
lização em larga escala pode oferecer bene- sistemas operacionais e aplicativos antigos Server 2000 e 2003.
fícios significativos. Mas também aprende- (legados) e recentes. Algumas de suas O Virtual Server fornece aos adminis-
mos que, ao mesmo tempo, a virtualização características são: tradores um maior controle, conectando
também traz uma série de desafios – como • Suporta sistemas operando na tecnologia máquinas virtuais e permitindo automa-
o gerenciamento de “ilhas” de ativos físicos 64 bits, incluindo Windows e Linux; tização durante o processo. Algumas de
e ativos virtualizados sem gerenciamento. • Monitora e fiscaliza a infraestrutura em suas características são:
Por isso, é muito comum o uso de ferra- um console central de gerência; •S uporte para conectividade permitindo
mentas de teste para simplificar e acelerar •T em suporte a dois processadores SMP cluster de todas as máquinas virtuais
o gerenciamento de toda a infraestrutura virtual (SMP virtual é um módulo adicio- executando sobre um host;
da virtualização e todos os processos asso- nal ao VMware que possibilita que uma •S uporta a tecnologia 64 bit;
ciados a ela. É preciso se certificar de que única máquina virtual possua mais de 1 • Melhorias no Hyper-threading.
a adoção da tecnologia de virtualização processador).
não trará resultados que comprometam os 4) XEN
benefícios ofertados por ela. 2) Virtual PC O Xen é uma opção opensource para
A virtualização pode ajudar as organi- O Virtual PC é a solução desenvolvida virtualização. Com funções semelhantes
zações a avançar em direção a um estado pela Microsoft para virtualização do com- ao VMware, ele se caracteriza por ter
mais ágil, proporcionando muito mais putador. Assim como as outras ferramen- como base o Linux. Em resumo, o Xen
flexibilidade aos sistemas de TI e dinami- tas, ele permite rodar diversos sistemas utiliza um conceito chamado para-vir-
zando as mudanças. Através da adoção operacionais em uma única máquina, tualização, onde o sistema operacional
dessas melhores práticas, os usuários po- atendendo usuários do Windows XP. rodando dentro da máquina virtual
dem aproveitar todos os benefícios dessa Uma das vantagens do software é a ágil tem a ilusão de estar sendo executado
tecnologia: reconfiguração dos equipamentos. Ele diretamente sobre o hardware. Ele se
1) Desenvolver uma estratégia coesa de otimiza a produtividade dos profissionais encarrega de organizar as requisições
virtualização por toda a infraestrutura de de suporte técnico, pois permite facilmente feitas pelas máquinas virtuais e repassá-
TI; a troca de sistemas operacionais sem a las ao sistema principal.
2) Integrar o gerenciamento das máquinas necessidade de realizar logins ou logouts Voltado para solução em servidores, ele
físicas e virtuais com ferramentas baseadas sempre que atendem a um chamado. Al- possibilita, como as outras soluções, vários
em diretivas para reduzir a complexidade gumas de suas características são: servidores virtuais em uma mesma máqui-
do sistema; • Suporte para até 4 adaptadores de rede na. Para Giani Maldaner, Diretor Técnico
3) Aumentar a segurança do servidor/ por máquina; da SISNEMA, o XEN é uma opção acessível
desktop virtual, provendo dessa forma • Configurações baseadas na linguagem e robusta àqueles que querem entrar no
a disponibilidade (ou continuidade) dos XML; mundo virtualizado. “Com a adoção cada
negócios; •S uporte para até 4GB de memória; vez maior do Linux entre as empresas e
4) Conduzir as mudanças de cultura ne- • Possui Virtual Machine Additions, que organizações, soluções que atendam essa
cessárias para gerenciar com eficiência os oferece alto nível de integração entre os demanda se tornam fundamentais, ainda
recursos em um ambiente virtual. sistemas; mais quando elas representam vantagens

34 Infra Magazine • Edição 01


com um baixo custo de implementação”, • Sustentação para 32 usuários com me- do pelo hardware físico, causando uma
contextualizou o Diretor. mória de 4GB; sobrecarga que limita o desempenho e o
Algumas de suas características são: • Suporte para tecnologia 64 bits e x86; número de máquinas virtuais que podem
•B aixo custo na implementação; •A lém de ter o código fonte aberto, pro- ser hospedadas.
• Através do conceito de para-virtualiza- porcionando maior integração com outras Como exemplos deste Tipo-2 de hyper-
ção ele obtém alto rendimento, inclusive tecnologias. visor temos:
em arquiteturas (x86); • Microsoft Virtual Server;
Hypervisor • VMware Server;
A criação do hypervisor é um marco na •M icrosoft Virtual PC.
evolução da computação, pois apresenta
uma forma de superar as limitações de Modelos de Hypervisores
arquitetura e o alto custo do uso de servi- Do mesmo modo que existem tipos de
dores mainframe. arquitetura (Tipo-1 e Tipo-2), o hyper-
Existem vários tipos de hypervisores visor possui dois modelos: monolítico e
pelos quais eles podem ser categorizados, microkernelizado, como veremos logo
por exemplo, se é executado diretamen- abaixo.
te no hardware físico ou pelo sistema
Figura 1. Tipo-1 de hypervisor
operacional (hosted by). Hypervisores Hypervisor Monolítico
também podem ser categorizados pelo Neste modelo (ver Figura 3), os drivers
modelo de implantação, ou seja, se eles são hospedados e gerenciados pelo hyper-
são monolíticos ou microkernelizados. visor e traz alguns benefícios e inconve-
Conheceremos um pouco mais sobre a nientes. Como exemplo de benefício, o
arquitetura de hypervisores na próxima hypervisor não precisa de um controle, da
seção. partição pai ou sistema operacional, pois
os sistemas operacionais guest interagem
Tipos de arquitetura de Hypervisores diretamente com o hardware utilizando os
Tipo-1 drivers do hypervisor. O inconveniente é
Este tipo de hypervisor é executado en- que a variedade de modelos de placas-mãe,
tre a camada de hardware e as máquinas placas de rede, placas de vídeo e outros
Figura 2. Hypervisores Tipo-2 executam as VMs virtuais cliente (ver Figura 1). É executado dispositivos, dificulta o desenvolvimento
pelo sistema operacional
diretamente no modo nativo (bare metal), específico do hypervisor.
em vez de dentro de um ambiente de
sistema operacional. Geralmente fornece Hypervisor Microkernelizado
o melhor desempenho, disponibilidade e Neste modelo (ver Figura 4), o hypervisor
segurança dentre as demais arquiteturas não necessita de drivers desenvolvidos
de hypervisor. especificamente para ele, pois ele possui
Seguem alguns produtos virtualizadores um sistema operacional atuando como
que implementam este tipo de hypervisor: Root ou partição pai. Esta partição forne-
• Microsoft Hyper-V; ce um ambiente de execução necessário
•C itrix XenServer; para os drivers de dispositivo por acessar
•V Mware ESX Server. diretamente o hardware do computador
host. Os drivers dos dispositivos físicos
Figura 3. Modelo de Hypervisor Monolítico Tipo-2 são instalados no sistema operacional
Este tipo de arquitetura necessita do em execução na partição pai, não sendo
sistema operacional para que sejam exe- necessária a instalação desses drivers nos
cutadas as máquinas virtuais. Neste caso, sistemas operacionais convidados. Dessa
o SO é o host (ver Figura 2). forma, quando o sistema operacional
Comparando-se a Figura 2 com a Figura 1, convidado precisa acessar o hardware
na plataforma de hypervisor do tipo-2 físico, ele simplesmente se comunica com
existe uma camada a mais separando o a partição pai.
hardware das máquinas virtuais guest, Agora que já temos uma fundamentação
que é o sistema operacional host. Este nível teórica sobre o assunto, partiremos para o
Figura 4. Modelo de Hypervisor Microkernelizado extra resulta em um esforço maior exerci- uso específico do Hyper-V.

Edição 01 • Infra Magazine 35


Virtualização com o Hyper-V

A Arquitetura do Hyper-V
A Figura 5 apresenta os principais pontos
da arquitetura do Hyper-V.
O Partition (Partição) é a unidade básica
de isolamento suportada pelo hypervisor.
Uma partição é composta por um espaço
de endereço físico e um ou mais pro-
cessadores virtuais. Além disso, a uma
partição podem ser atribuídos os recursos
de hardware específico (memória, disposi-
tivos e ciclos de CPU) e as permissões de
determinados direitos de acesso.
Já a Partição Parent (Pai) trata-se de uma
partição que cria partições filho (child) e
contém uma pilha de virtualização (Virtu-
alization Stack) para controlar as partições
filhas (Child Partition).
A Partição Child (Filha) é o software ro-
dando dentro de uma partição. O hóspede
pode consistir de um sistema operacional
cheio de recursos como o Windows XP ou
um kernel pequeno, para fins especiais.
Além destes, outros conceitos presentes
na arquitetura do Hyper-V são: Figura 5. Arquitetura do Hyper-V
• Hypercalls: servem para a comunica-
ção ente as camadas das partições com o ponto de extremidade do servidor e VSCs altamente otimizado entre as partições
hypervisor; são o ponto de extremidade do cliente virtuais, diferente de outras técnicas que
• Virtualization Stack (Pilha de Vir- que viabilizam as comunicações cliente/ são mais lentas devido à maior sobrecarga
tualização): os componentes de virtua- servidor para troca de informações sobre que impõe a emulação.
lização hospedados na partição pai são as funcionalidades dos dispositivos. Todas
mencionados coletivamente como a pilha as comunicações entre os VSPs e os VSCs Recursos do Hyper-V
de virtualização. A pilha de virtualização são feitas sobre o VMBus; A partir da arquitetura apresentada
é executada na partição pai e faz acesso • Virtualization Services Clients (VSC): na seção anterior, o Hyper-V oferece os
direto ao hardware do computador host. são dispositivos sintéticos que residem na seguintes recursos:
Na implementação do Microsoft Hyper-V partição filha que usam recursos de har- • Amplo Suporte a Sistemas Operacio-
do modelo hypervisor Tipo-1, a pilha de dware fornecidos pelos VSPs na partição nais: executa, simultaneamente, diferentes
virtualização é composta pelos seguintes pai, comunicando sobre o VMBus. VSCs tipos de sistemas operacionais incluindo
componentes: são automaticamente disponibilizados os de 32 bits e 64 bits. Além disso, permite o
- Virtual Machine Management Service; para a instalação quando os Integration uso de sistemas operacionais em diferentes
- Virtual Machine Worker Service; Services (serviços de Integração) estão ins- plataformas de servidor, como Windows e
- Virtual Devices (Dispositivos Virtuais); talados na partição filha, permitindo que algumas distribuições Linux, como o Suse
- Virtualization Infrastructure Driver; o sistema operacional virtualizado utilize e Rad Hat;
- Windows Hypervisor Interface Library; dispositivos de hardware sintéticos (dis- • Extensibilidade: O Hyper-V tem como
- Virtualization Service Providers (VSP); positivos virtuais mapeados diretamente base os padrões de interface Windows
- Virtual Machine Bus (VMBus). para os dispositivos físicos). Sem o Inte- Management Instrumentation (WMI) e as
gration Services instalado, uma partição interfaces de programação de aplicativo
• Virtualization Services Providers filha só pode usar dispositivos emulados (APIs) para permitir que, independente de
(VSP): estão hospedados na partição pai (drivers projetados para suportar sistemas fornecedores de software (ISVs), os desen-
e proporcionam uma forma de publicação operacionais antigos); volvedores criem rapidamente ferramen-
de serviços para partições filho, forne- • Virtual Machine Bus (VMBus): canal tas personalizadas, utilitários e melhorias
cendo recursos de I/O relacionados com de comunicação entre a partição pai e as para a plataforma de virtualização;
os Virtualization Service Clients (VSCs) partições filhas. O objetivo do VMBus é • Network Load Balancing: O Hyper-V
rodando nas partições filho. VSPs são o fornecer um mecanismo de comunicação inclui capacidades de switch virtual que

36 Infra Magazine • Edição 01


fornecem a possibilidade de usar o Win- em larga escala, a fim de maximizar os •M odo de Compatibilidade de Proces-
dows Network Load Balancing (NLB) para benefícios da consolidação da carga de sadores: Este modo, presente no Hyper-V
serviço de balanceamento de carga em trabalho dos servidores existentes em uma R2, permite a migração de uma VM entre
máquinas virtuais rodando em servidores maior densidade. Além disso, o Hyper-V máquinas host com a mesma arquitetura de
diferentes; pode suportar até quatro processadores processador (AMD ou Intel). Isto torna mais
•A rquitet ura Microker nelizada: O lógicos por máquina virtual, permitindo fácil a atualização da infraestrutura de hosts
Hyper-V tem um hypervisor com mi- que os sistemas operacionais de servidor Hyper-V, simplificando a migração das VMs
crokernel de 64 bits que permite que a possam utilizar-se do recurso de multipro- de máquinas host rodando em hardware
plataforma forneça uma ampla gama de cessamento para aplicações que precisem antigo a máquinas host rodando em um har-
dispositivos de suporte (drivers), um me- do recurso; dware mais novo. Ele também oferece mais
lhor desempenho e maior segurança; •S uporte ao Core Parking: Permite que um flexibilidade para a migração de máquinas
• Virtualização Assistida por Hardware: core sem uso, do processador, entre em virtuais entre os nós de um cluster;
O Hyper-V exige e usa as tecnologias de estado inativo economizando energia. • Desempenho: O Hyper-V pode prover
virtualização por hardware Intel VT ou • Suporte a Multiprocessadores Simétri- diversos recursos para aprimorar seu de-
AMD-V; cos: O Hyper-V oferece suporte para até sempenho. Dentre eles, podemos destacar
• Arquitetura de Hardware Comparti- quatro processadores em um ambiente de o suporte a 384 VMs com processador vir-
lhado: O Hyper-V inclui as arquiteturas máquina virtual, a fim de tirar vantagem tual simples, 256 VMs com processador
de Virtualization Service Provider (VSP) e de aplicações multithreaded em execução virtual dual e 128 VMs com processadores
Virtualization Service Client (VSC), o que em uma máquina virtual; virtuais quad.
proporciona maior acesso e utilização dos •S napshots de Máquinas Virtuais: O
recursos de hardware, como discos, rede Hyper-V oferece a capacidade de tirar Recentemente fomos informados que se-
e vídeo; snapshots de uma máquina virtual em rão disponibilizados, em um service pack
• Quick Migration: O Hyper-V oferece execução para que você possa facilmente do Windows Server 2008 R2, dois novos
a possibilidade de migrar uma máquina voltar ao estado anterior e assim melhorar recursos importantes:
virtual em execução de um computador soluções de backup e recuperação de de- • Remote FX: Onde os usuários serão
host físico para outro com um mínimo de sastres; capazes de trabalhar remotamente em
paralisação, alavancando capacidades de • Live Migration: Presente a partir do um ambiente de desktop Windows Aero,
alta disponibilidade do Windows Server Hyper-V R2, o Live Migration permite assistir vídeo full-motion, desfrutar de
2008 com as ferramentas de gerenciamento mover um máquina virtual de um servidor animações Silverlight, e executar aplicati-
do System Center; Hyper-V para outro sem cair a conexão da vos 3D dentro de uma VM Hyper-V;
• Escalabilidade: O Hyper-V inclui supor- rede e sem qualquer tempo de inatividade • Dynamic Memory: Com esta tecnologia,
te para múltiplos processadores e núcleos percebido pelo usuário ou a interrupção de será permitida uma maior densidade (esca-
no host e melhoria da memória dentro de outros serviços que o desempenho possa labilidade) de servidores e estações virtuais
máquinas virtuais. Esse suporte permite retardar por alguns segundos. O Live por servidor físico e, o mais importante, sem
que ambientes de virtualização sejam Migration pode fornecer alta disponibi- degradar a performance do servidor host. Se
dimensionados para suportar um grande lidade a servidores e aplicações rodando você usa o Memory Overcommit da VMwa-
número de máquinas virtuais em um de- em cluster Hyper-V num ambiente de re, agora terá a mesma funcionalidade,
terminado host, continuando a potenciali- datacenter; porém sem degradação de performance (ver
zar a rápida migração para a escalabilidade • Cluster Shared Volumes: É um novo Figura 6). Os clientes vão poder nos pedir
em vários hosts. O Hyper-V R2 provê mais recurso de Failover Clustering disponível para que comecemos a mover a barra des-
dois recursos de escalabilidade para sua no Windows Server 2008 R2 que fornece lizante para aumentar a densidade e ainda
infraestrutura: um único e consistente namespace para minimizar o impacto no desempenho. Em
• Suporte para mais de 64 Processadores que todos os nós do cluster vejam o mesmo resumo, memória dinâmica é um aprimo-
Lógicos no Pool de Processadores do Host: armazenamento. Cluster Shared Volumes ramento no gerenciamento de memória do
O número de processadores lógicos su- são altamente recomendados para cenários Hyper-V projetado para uso em produção,
portados pelo Hyper-V neste lançamento de Live Migration; que permite aos clientes obterem uma maior
quadruplicou em relação à versão anterior. • Suporte para Unidades de Armaze- consolidação de VMs.
Isto permite tirar vantagem nos negócios namento Hot-Swap: Na versão R2 do
Hyper-V, pode-se adicionar ou remover Agora que já conhecemos bastante os re-
discos rígidos virtuais (VHDs) e discos cursos do Hyper-V, vamos para a prática!
pass through de uma máquina virtual em No vídeo elaborado para esta matéria,
execução sem a necessidade de desligar e aprenda como adotar virtualização no seu
Figura 6. Controle deslizante do Dynamic Memory. Mais
performance ou maior escalabilidade? reiniciar a mesma; ambiente de trabalho.

Edição 01 • Infra Magazine 37


Virtualização com o Hyper-V

Figura 7. Server Manager Figura 8. Informações antes de iniciar.

Instalando o Hyper-V e criando uma Máquina Virtual


Para a instalação do Hyper-V será necessário habilitarmos a role
hyper-V no Windows Server 2008. É primordial que tenhamos uma
configuração de hardware capaz de suportar a virtualização.
Os requisitos do sistema para viabilizar a habilitação do Hyper-V
são:
• Windows Server 2008 Standard, Enterprise ou Datacenter Server
x64 Edition;
• Suporte à Virtualização Assistida por Hardware (Hardware
Assisted virtualization) – Intel VT ou AMD-V;
•O Suporte ao Data Execution Protection (DEP) deve estar habi-
litado no hardware – AMD NX bit (no execute bit) ou Intel XD bit
(execute disable bit).

Neste laboratório, foi utilizado um servidor com a configuração


de hardware abaixo:
Figura 9. Selecionando a role Hyper-V
• Centrino Duo P8600 2.4 Ghz, 64-bits com tecnologia VT;
• Memória Ram de 3.00 GB; Após reiniciarmos o servidor, será exibida uma janela infor-
• HD com partição NTFS de 50Gb; mando que a instalação foi realizada com sucesso. Com isso, a
• Windows Server 2008 R2 Enterprise Edition. role do Hyper-V já está instalada e pronta para trabalharmos.
A próxima etapa será a criação da Máquina Virtual de Exemplo.
Para instalarmos a role Hyper-V, devemos estar em Server Mana- O primeiro passo para isso é acessarmos o Server Manager, Roles,
ger. Para isso, clicamos em Start, vamos para Administrative Tools e Hyper-V e em Summary escolhermos a opção Hyper-V Manager,
clicamos em Server Manager (ver Figura 7). conforme apresentado na Figura 13.
Em seguida, clicamos em Add Roles. O wizard iniciará, selecione No menu Action selecionamos New > Virtual Machine, e assim o
Next. Agora é preciso escolher a opção Hyper-V em Roles e clicar Wizard para criação da máquina virtual terá início (ver Figura 14).
em Next (ver Figuras 8 e 9). Neste momento devemos especificar o nome da VM e o ca-
Após selecionar o role do Hyper-V e clicar em Next, aparecerá minho padrão onde ela será armazenada. O caminho pode
uma tela com uma breve introdução ao Hyper-V informando que ser configurado para um storage externo ou outra partição, de
é importante identificar qual dispositivo de rede será configurado acordo com a Figura 15.
para as redes virtuais. Depois veremos a tela em que você escolherá Em seguida, atribuímos a quantidade de memória RAM que
o dispositivo de rede e, por fim, aparecerá uma tela de confirmação a máquina virtual terá. No nosso exemplo, deixamos o padrão
das opções escolhidas (ver Figuras 10 e 11). para o Windows 7, 512Mb (ver Figura 16).
Após alguns minutos, aparecerá uma janela informando que Na janela da Figura 17 selecionamos o adaptador de rede
devemos reiniciar o servidor para completar a instalação (ver virtual, que permitirá acesso da VM à rede externa (LAN do
Figura 12). host) e à Internet (WAN).

38 Infra Magazine • Edição 01


Na opção de conectar um disco virtual, armazenado ou selecionar, clicando em Neste exemplo, a VM foi instalada a par-
podemos escolher entre criar um disco Browse... (ver Figura 18). Ao final, Figuras tir de uma imagem .ISO do Windows 7 En-
virtual, usar um disco existente e anexar 19 e 20, serão apresentados um sumário terprise x64. A seguir, veremos o processo
um disco depois. Em nosso exemplo, prefe- da instalação com as opções escolhidas de instalação do Sistema Operacional.
rimos usar a opção de usar um disco exis- (nome, memória, rede e disco rígido) e a Para realizarmos esta configuração, clicamos
tente, onde podemos digitar o caminho tela do Hyper-V Manager com a VM criada com o botão direito do mouse na VM e clica-
(path) do local onde o disco virtual está em estado de desligada. mos em Settings..., conforme a Figura 21.

Figura 10. Breve introdução sobre o Hyper-V Figura 11. Selecione uma placa de rede para a rede virtual

Figura 13. Hyper-V Manager

Figura 12. Resultado da instalação.

Figura 14. Criando uma VM Figura 15. Especificando nome e local

Edição 01 • Infra Magazine 39


Virtualização com o Hyper-V

Figura 16. Memória RAM Figura 17. Configurando a rede.

Figura 18. Conectando o disco virtual de 20Gb dinamicamente expansível Figura 19. Sumário das configurações da VM.

Figura 20. VM criada Figura 21. Acessando as configurações da VM.

40 Infra Magazine • Edição 01


Na opção IDE Controller 1, selecionamos teclado (ver Figuras 26 e 27). Por fim, aprendemos como instalar a
a imagem do SO e aplicamos as defini- Após todo o processo de instalação, que role Hyper-V, através do Server Manager
ções para começarmos a instalar o mes- demorará alguns minutos, o Windows 7 e no Hyper-V Manager, criamos uma
mo, como pode ser visto na Figura 22. Enterprise x64 estará funcional e pronto máquina virtual e instalamos o Windows
Finalizada as configurações da VM, para ser utilizado (ver Figura 28). 7 Enterprise x64.
agora iremos conectar na VM, clicando Na Figura 29 podemos verificar as con- No próximo artigo conheceremos em
com o botão direito na VM e selecio- figurações da VM que acabamos de criar. detalhes as configurações do Hyper-V
nando Connect.... Após o procedimento Note que o Windows 7 está rodando com Manager e as opções de uma VM, como
anterior, aparecerá a tela da sessão infor- apenas 512Mb de memória RAM. criar um switch virtual privado, criar um
mando que a VM encontra-se desligada. disco virtual, conhecer os tipos de discos
(ver Figuras 23 e 24). Conclusão virtuais que o Hyper-V pode oferecer e
Para iniciarmos a instalação do Sistema Neste artigo vimos os conceitos de muito mais. Até a próxima!
Operacional, precisamos ligar a VM, virtualização, seus tipos, arquiteturas
clicando no menu Action, opção Start e exemplos de virtualizadores do mer-
(ver Figura 25). cado. Tivemos uma introdução sobre
Após ligarmos a VM, aparecerá a tela de a nova ferramenta de virtualização da
carregamento dos arquivos da imagem de Microsoft, o Hyper-V, alguns de seus
instalação do SO, e depois a tela principal recursos e novidades que ainda serão
de instalação em que aparecem as opções implementadas, como o RemoteFX e o
de idioma, formato de hora e layout do Dinamic Memory.

Figura 22. Selecionando a imagem. Figura 23. Conectando na VM

Figura 24. Sessão com a VM desligada. Figura 25. Ligando a VM.

Edição 01 • Infra Magazine 41


Virtualização com o Hyper-V

Figura 26. Iniciando a instalação do Windows 7. Figura 27. Tela inicial da instalação do Windows 7

Figura 28. Windows 7 instalado Figura 29. Informações do sistema

Jorge Barata Virtualização Microsoft LAUREANO, M. Máquinas Virtuais e


jorge@jorgebarata.eti.br http://www.microsoft.com/brasil/servidores/ Emuladores: Conceitos, Técnicas e
Atua no ramo de tecnologia virtualizacao/default.mspx aplicações. 1ª Ed. São Paulo: Novatec, 2006.
desde 2003, é certificado MCSA em
Windows Server 2003, MCT, MCTS em TechCenter de Virtualização TULLOCH, MITCH, Understanding Microsoft
Windows Server 2008 (Active Directory, http://technet.microsoft.com/pt-br/virtualization/ Virtualizations Solutions. 2nd. Edition,
Network e Applications) e Windows Server Virtualiza- default.aspx Microsoft Press, 2010.
tion (Hyper-V), MCP em Windows Server 2003 e XP
Professional, MCDST, MSP, ITIL Foundations V3 e CompTIA Blog do Fábio Hara Jorge Barata - A Virtualização Em Ambiente
Security +. Formado em Sistemas de Inf. Especializado http://fabiohara.spaces.live.com/ de Testes Com o Hyper-V, ano 2008.
nas tecnologias da plataforma Microsoft, com foco em
servidores (Windows Server System), Virtualização com
Hyper-V e SCVMM e Windows Desktop.

42 Infra Magazine • Edição 01


Edição 01 • Infra Magazine 43

Vous aimerez peut-être aussi