MEIC - IST Tagus
Segurança Informática em Redes e Sistemas
2008/2009
Trabalho 1
Implementação de uma Rede Virtual
Objectivos
• Implementar e testar uma rede de computadores virtual.
• Analisar pacotes TCP/IP.
Os trabalhos de laboratório usam uma rede virtual composta por várias máquinas virtuais
suportadas pela aplicação Virtual PC da Microsoft.
1 Introdução
Os trabalhos de laboratório da cadeira de SIRS fazem uso de uma rede virtual composta por
várias máquinas virtuais. Essas máquinas virtuais são realizadas usando a aplicação VirtualPC.
Esta aula de laboratório tem como objectivo a implementação de uma rede de computadores
virtual e teste da mesma. Irá ainda ser possível analisar os pacotes TCP/IP.
2 Instalação de uma máquina virtual
No directório C:\VM Magic Box SIRS de cada máquina física (ou alternativamente numa directoria
com o mesmo nome numa partição D ou E do disco), existe uma imagem de um disco virtual
base configurado com o sistema operativo Linux CaixaMágica. É constituído pelo ficheiro
vm200708-base.vhd. Este disco virtual servirá de base para a criação das máquinas virtuais. Esta
secção visa demonstrar os passos necessários para criação uma máquina virtual.
2.1
Configuração da máquina host
A máquina host é a máquina física onde corre o Virtual PC. Todos os PCs do laboratório se
encontram ligados em rede e configurados com endereço dinâmico usando DHCP.
2.2
Criar uma máquina virtual
Crie a máquina virtual trab1-mv1 executando os passos seguintes:
1. Criar o disco virtual da máquina virtual
• Start All Programs Microsoft Virtual PC.
• No Virtual PC: File Virtual Disk Wizard.
• No painel Disk Options seleccionar opção de criar novo disco.
• Dar um nome e localização (ex. My Virtual Machines\vm1\trab1-vm1.vhd).
1
No painel Virtual Hard Disk Options seleccionar a opção Differencing para
indicar que o disco virtual deve ser baseado numa imagem pré-existente.
• Indicar a imagem do disco virtual base c:\VM\vm200708-base.vhd.
2. Criar a máquina virtual
• Start All Programs Microsoft Virtual PC.
• No Virtual PC: File New Virtual Machine Wizard.
• No painel Options seleccionar Create a virtual machine.
• Dar um nome e localização (ex. My Virtual Machines\vm1\trab1-vm1.vmc).
• No painel Operating System seleccionar Other.
• No painel Memory ajustar a memória para 64 MB.
• No painel Virtual Disk Options seleccionar a opção An existing virtual hard
disk e indicar o nome e localização do disco virtual criado em 1.
•
2.3
Configurar e testar a máquina virtual
Para configurar a máquina virtual efectuar os seguintes passos:
1. Configurar o hardware:
• No Virtual PC, seleccionar a máquina virtual e pressionar Settings.
• No menu Networking, escolher a interface de rede do seu host (Intel, Marvell,
Realtek, etc) para que a máquina virtual fique inserida na rede a que pertence o host.
• Verificar que é possível adicionar outras interfaces de rede ou alterar outros
parâmetros de hardware.
2. Arrancar a máquina virtual com Start. Entrar como root (a password é inseguro).
3. Configurar a rede (interface eth0)
a. Criar um ficheiro de configuração /etc/sysconfig/network/ifcfg-eth0
alterando o valor do ip e da netmask. Copie a partir do ficheiro ifcfg-eth-id-...
na mesma directoria. Altere também o valor de DEVICE para eth0 ou eth1
conforme apropriado.
i. Na Maquina 1, como irá ter 2 interfaces, faça uma cópia adicional para
ifcfg-eth1 e remover posteriormente este ficheiros de configuração
ifcfg-eth-id-....
ii. Na máquina 1, o endereçamento IP na interface eth0 é por DHCP (na
eth1 é estático)
b. Configurar gateway:
• Eliminar a linha relativa ao endereço de rede 192.168.0.0 pois é adicionado
automaticamente por ser o endereço de rede do ip da interface eth0.
o Para a maquina 1, remover a linha default (pois o endereçamento é
dinâmico) no ficheiro /etc/sysconfig/network/routes
o Para as Maquina 2 e 3, o endereço da gateway será o ip do host local
da Maquina 1. Assim, nas maquinas 2 e 3 actualizar o ficheiro
/etc/sysconfig/network/routes com uma linha:
default IP_Maquina_1 Interface
para indicar o endereço da gateway.
• Para ajuda faça man route.. Reiniciar a rede com /etc/init.d/network
reload.
• Verificar o ip e a tabela de routing, respectivamente, com os comandos: ifconfig e
route.
4. Testar a rede:
• Usar o utilitário ping (man ping) com o endereço do host.
2
•
•
Testar a rede no sentido inverso usando o Comand Prompt do Windows e fazer
ping à máquina virtual.
É ainda possível fazer ping para qualquer outra máquina do laboratório, ou para
outra entidade externa (exemplo: google, ...).
3 Criar a rede virtual
Implemente a seguinte rede virtual, criando mais duas maquinas virtuais de acordo com os
passos seguidos anteriormente para a primeira maquina.
Esta rede é composta por duas sub-redes:
• Na sub-rede 172.20.34.x vão estar as máquina com Network Adapter (isto inclui todas
as máquinas do laboratório).
• Para a outra sub-rede será necessário usar como Network Adapter um dos outros
adaptadores de loopback à escolha (ex. Local).
Nota: a máquina 1 tem duas interfaces: uma ligada à rede exterior 172.20.34.x e a outra na subrede local 192.168.1.x. Para acrescentar mais uma interface será necessário fazê-lo em dois
locais:
• No Virtual PC, acrescentar no Network Adapter uma nova interface.
• Fazer reboot da máquina virtual e verificar que passam a existir duas placas de rede.
4 Testes e Análise
4.1
Testar a rede
Testar, utilizando o ping, que todas as ligações estão a funcionar. Teste que é possível às
máquinas 2 e 3 fazerem ping ao host local. Para isso é necessário:
• colocar como gateway a máquina 1 e reiniciar interfaces.
• permitir ip forwarding:
• editar o ficheiro /etc/sysconfig/sysctl e mudar IP_FORWARD para yes
• carregar configurações para o kernel:
/etc/init.d/boot.ipconfig restart
•
verificar que o valor foi actualizado (vale 1):
3
sysctl net.ipv4.conf.all.forwarding
4.2
Configurar a Gateway (Maquina 1)
Após a alteração anterior os pacotes enviados pelas máquinas 2 e 3 conseguem chegar à rede
mas as respostas não conseguem ser recebidas.
Para que tal acontece é necessário configurar o iptables com NAT. Executem a seguinte
sequência de comandos para aceder ao exterior das Máquinas 2 e 3:
iptables –P FORWARD ACCEPT
iptables –F FORWARD
iptables –t nat -F
iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE
4.3
Escutar a rede
Execute o tcpdump na máquina 3 para escutar a rede local. Verifique que consegue detectar um
pacote ICMP (usando o ping) com origem na máquina 1 e destino na máquina 2.
Identifique no cabeçalho do pacote, o endereço ip, o endereço MAC e o tipo de protocolo. Para
tal utilize o tcpdump com as opções –X e –XX.
Continuando a executar o tcpdump, efectue agora uma ligação telnet entre as máquinas 1 e 2.
Verifique que consegue “ler” o username usado e a password desse utilizador. Como o telnet não
permite login remoto do utilizador root, utilize o utilizador fireman, com a password inseguro.
4
Download

Trabalho 1 Implementação de uma Rede Virtual