taqtiqa-mark/Kathara-Setup
Information on how to setup the laboratory environment using Kathará
Instituto Superior Técnico, Universidade de Lisboa
Segurança Informática em Redes e Sistemas
Guia de Configuração - Kathará
Objectivo
O objectivo deste guia é apresentar o Kathará, descrever como se instala e verificar o seu funcionamento básico.
O que é o Kathará
O Kathará é uma ferramenta que permite simular redes de computadores e que será usada como base para os laboratórios e o projeto.
Vamos utilizar o Kathará para simular redes e comparar protocolos e configurações alternativas.
Em poucas palavras, o Kathará permite criar várias máquinas - que são concretizadas por contentores de Docker - e escolher como estão ligadas em domínios de colisão (collision domains), isto é, pontos da rede simulada em que os pacotes chegam a todos os computadores por difusão (broadcast), e que são concretizados por Docker Bridge Networks.
Este vídeo faz uma apresentação do Kathará:
https://www.youtube.com/watch?v=ionEpKjv3Vk
Instalação do Kathará
O Kathará está instalado nos computadores do laboratório, em Ubuntu GNU/Linux.
Para aceder aos computadores do laboratório use o username "seed" e a password "dees".
Para instalar o Kathará no seu PC, faca o download da versão "Latest Stable Release" de
e siga os passos indicados em
Teste básico
O objetivo deste teste básico e verificar que o Kathará está corretamente instalado.
Vamos criar uma rede em que temos 2 computadores fisicamente ligados ao mesmo switch e confirmar que se conseguem "pingar" mutuamente.
- Clone este repositório git para a sua máquina
git clone 'git@github.com:tecnico-sec/Kathara-Setup.git'-
Observe o conteúdo do ficheiro
lab.confde modo a compreender porque é gerada a rede entre os 2 pcs. -
Execute o laboratório mudando para o directório que contém o ficheiro lab.conf e executando o comando
lstart(kathara lstart).
Observe o arranque dos dois contentores Docker.
Verifique que os scripts bashpc1.startupepc2.startupsão executado após o arranque das respetivas máquinas. -
Em cada máquina, obtenha o seu endereço IP dentro da rede 1.2.0.0/24.
ip addr| Máquina | IP address |
|---|---|
| pc1 | |
| pc2 |
- "Pingue" as máquinas mutuamente.
# iex: no pc1
ping 1.2.0.2
# ctrl+c para parar o comando - Feche o laboratório, executando o comando
lclean(kathara lclean).
Isto vai apagar o conteúdo das máquinas e parar de corrê-las.
Guardar e observar o tráfego entre máquinas
Vamos agora proceder a guardar o tráfego de um ping entre máquinas do ponto de vista dos pacotes que chegam a interface de rede de cada máquina e posteriormente observá-lo no anfitrião.
- Na pasta onde está o ficheiro
lab.conf, a pasta shared e uma pasta persistente partilhada entre todas as máquinas e o anfitrião. Vamos utilizá-lo para despejar o tráfego de rede que chega à interface de rede de cada pc. - Para o fazer, vamos começar por criar essa pasta no anfitrião.
# Dentro da pasta que contém lab.conf:
mkdir shared- Inicie o laboratório:
lstart- Execute o comando tcpdump nas máquinas respetivas para começar a guardar o tráfego que chega à interface
eth0dentro dos ficheiros respetivos na pasta shared:
# pc1:
tcpdump -s 0 -i eth0 -U -w /shared/pc1.pcap &
# pc2:
tcpdump -s 0 -i eth0 -U -w /shared/pc2.pcap &
- Na máquina pc1, "pingue" a máquina pc2 e de seguida "pingue" um endereço que não existe:
# pc1:
ping -c 1 1.2.0.2
ping -c 1 1.2.0.3-
Pare os laboratórios, executando no host pc
lclean. Espere um pouco para garantir que os ficheirospc1.pcapepc2.pcapficam gravados (pode ver se têm mais de 0 bytes na pastashared). -
Corra o programa Wireshark e abra um dos pacotes para observar o conteúdo do ping entre o pc1 e pc2 do ponto de vista dos pacotes que chegam ao pc1 e ao pc2 quando estes estão ligados no mesmo domínio de colisão do Kathará.
-
Que componente físico de rede teria o mesmo comportamento que o Kathará simula num domínio de colisão?
Referências
-
Docker documentation, https://docs.docker.com/
-
man ip
-
man tcpdump, https://www.tcpdump.org/manpages/tcpdump.1.html
-
Wireshark, https://www.wireshark.org/