Construindo um laboratório de cibersegurança

Construindo um laboratório de cibersegurança
Por:  - gestor de segurança da informação

Na área da segurança da informação precisamos realizar testes, simular cenários ou, simplesmente, estudar novas ferramentas e técnicas. Um laboratório funcional e bem configurado é fundamental para isso.

A ideia deste artigo é partilhar a experiência de construir um laboratório flexível, seguro, que não exigisse muito investimento e que não ocupasse muito espaço.

Esse laboratório tinha como requisitos: a possibilidade de realizar testes camada 2 do modelo OSI e ser o mais realista possível para facilitar tarefas de análise de malware e uso de técnicas mais invasivas de pentest.

Algumas opções consideradas:

new_cognito
  • A forma tradicional com um virtualizador, tipo o virtualbox, em um notebook ou desktop, foi descartada porque não atendia aos requisitos;
  • Usar um ambiente cloud, como a Amazon ou Azure, mas os testes seriam limitados e os custos poderiam ser altos;
  • Utilizar o GNS3 ou Eve-NG que também não atendeu os critérios necessários e seria ainda menos flexível e mais restrito, principalmente, na parte de sistemas operacionais.

O cenário final utilizou um swicth de 8 portas, um acess point, um Netagate com o pfsense embarcado e um notebook com o proxmox.

O resultado ficou muito bom e atendeu todos os requisitos propostos, de maneira escalável e robusta.

Ainda existem algumas coisas que não foram implementadas como o uso de diversos SSID’s entregando vlans diferentes e implementar o suricata (IPS) no pfsense.

O laboratório

1. Equipamentos utilizados:

new_cognito

Como virtualizador foi usado o proxmox em notebook com 32 GB de RAM, 1 ssd de 512 para o SO e um outro SSD de 4 TB para as máquinas virtuais.

Equipamentos de rede:

  • 1 Netgate 1100 – Firewall com 3 interfaces;
  • 1 Switch TL-SG108E Switch com 8 portas e suporte ao protocolo 802.1Q;
  • 1 Router Wifi Mi A4 Roteador Wifi.

2. Planeamento de rede

O planeamento IP e segmentação das vlans foi a primeira actividade realizada.

new_cognito

Construindo um laboratório de cibersegurança

A topologia planeada:


O Netgate, um hardware que roda o pfsense embarcado, é o responsável pelo roteamento das vlans, sendo o gateway de todos os segmentos de rede.

new_cognito

3. Configurando a rede sem fio

Os critérios para a escolha do roteador wi-fi foram: suportar as frequências 2,4GHz e 5GHz, ter pelo menos uma interface de rede de 1000 Mbps e ter suporte ao 801.Q (Vlan), além da flexibilidade nas configurações.

Geralmente, os firmwares dos acess points, não suportam 801.Q e são pouco flexíveis nas possibilidades de configuração, então, a solução foi usar o OpenWrt em um roteador compatível: o Xiaomi Mi Router 4A Gigabit Edition.

Para instalar o Openwrt as instruções da própria página do projecto foram mais que suficientes e tudo funcionou perfeitamente. O link para as instruções: (https://openwrt.org/inbox/toh/xiaomi/xiaomi_mi_router_4a_gigabit_edition)

new_cognito

Como pfsense será o servidor DHCP, logo o DHCP do roteador wi-fi foi desactivado.

4. Configurando o NetGate 1100 (Pfsense)

Foi a etapa mais demorada e trabalhosa.

O modelo escolhido, o NetGate 1100, tem 3 interfaces físicas: WAN, LAN e OPT1.

new_cognito

Conforme a topologia planeada, a configuração deve ser feita da seguinte forma:

  • A interface WAN fica directamente conectada ao modem da operadora recebendo endereço ip via DHCP;
  • A interface LAN com o endereço 10.169.254.254/24 e DHCP activo, é conectada ao roteador wi-fi e usa o vlan id 1 untag;
  • A interface OPT, conecta no switch e tem o endereço ip 10.168.150.254/24 (vlan de gestão), usando o vlan id 1 untag e todas as outras vlans tagged. O DHCP fica activo para todas as vlans dessa interface.

A forma de configurar as vlans muda dependendo do modelo do Netgate e é bem diferente dos ajustes do pfsense no formato de appliance virtual.

Uma vez que existem 3 (três) interfaces físicas (figura 1) a expectativa era que isso fosse reflectido na tela de configuração do pfsense, mas não é isso que ocorre.

Construindo um laboratório de cibersegurança.Figura 1 – As interfaces físicas

new_cognito

Na tela de configuração Interfaces -> Switch -> System aparece apenas uma interface denominada Marvell 6000 series switch (figura 2).

Construindo um laboratório de cibersegurança

Figura 2 – Na tela de configuração só aparece 1 (uma) interface

Inicialmente, essa característica parece estranha, mas aos poucos as coisas vão ficando mais claras na medida que as configurações são feitas.

new_cognito

O primeiro passo é criar as vlans e isso é feito em: Interfaces -> Interface Assignments -> Vlans.

Construindo um laboratório de cibersegurança

Aqui as coisas ficam um pouco mais claras. A coluna VLAN Interfaces mostra apenas uma interface com o nome (mvneta0) e na coluna Description, finalmente, é possível ver os nomes correspondentes as interfaces físicas (figura 3).

Construindo-um-laboratorio-de-ciberseguranca

new_cognito

Figura 3

Por padrão, as vlans 4090, 4091 e 4092 já estão definidas nas interfaces WAN, LAN e OPT, respectivamente.

Construindo um laboratório de cibersegurança

Essa é configuração default do pfsense e não deve ser alterada.

new_cognito

Para adicionar uma nova vlan basta clicar no botão ADD.

Construindo-um-laboratorio-de-ciberseguranca

A tela é auto explicativa. Basta digitar a tag da vlan que está sendo adicionada, por exemplo a 130, e salvar. O mesmo processo é feito para todas as vlans.

-Construindo-um-laboratorio-de-ciberseguranca

new_cognito

Em Interfaces -> Interface Assignments, adicionamos as vlans criadas no passo anterior uma a uma. No final do processo é preciso salvar as alterações feitas.

Construindo-um-laboratorio-de-ciberseguranca

Na tela Interfaces ->Switch -> Ports é possível ver o número da porta e o seu nome.

Construindo-um-laboratorio-de-ciberseguranca

new_cognito

A port 0 (LAN Uplink) não é relevante pois não será alterada.

É preciso identificar o número da porta atribuído para a interface OPT, pois é nessa interface que ficacarão as vlans.

A figura abaixo mostra que a interface OPT tem o port number 1.

onstruindo-um-laboratorio-de-ciberseguranca

new_cognito

O campo PORT VID define o Vlan ID que será untag (também chamada de vlan nativa ou pvid). O campo parece não ser editável, mas clicando em cima do numero 492 é possível fazer alterações.

Construindo-um-laboratorio-de-ciberseguranca

O valor deve ser ajustado para 1 e as modificações salvas, conforme a figura abaixo:

Construindo-um-laboratorio-de-ciberseguranca.

new_cognito

A próxima configuração é feita em: Interfaces -> Switch -> VLANs.

15-Construindo-um-laboratorio-de-ciberseguranca

Nessa tela é definida quais vlans serão tagged ou untag.

Detalhando cada um dos campos:

new_cognito
  • VLAN group: é um número sequencial e preenchido automaticamente;
  • VLAN tag: é o vlan Id;
  • Members: indica o número da porta e como a vlan foi configurada ( tagged ou untag). A letra “t” depois do número da porta indica que a vlan é tagged.

Para verificar o número da porta: Interfaces -> Switch -> Ports .

Construindo um laboratório de cibersegurança

Detalhando:

  • O primeiro retângulo mostra o Vlan Group 2 com o vlan id 4091 e a coluna Members com valor 0t,2 indicando que a vlan 4091 é tagged na porta 0 e untag na porta 2; (0t,2)
  • O segundo retângulo mostra o Vlan Group 4 com o vlan id 120, sendo tagged nas porta 0 e 1 (0t, 1t), como indicado na coluna Members

Todas as vlans devem ser ajustadas com tagged na porta 0 (0t), essa configuração é padrão no NetGate e não deve ser alterada.

new_cognito

Clicando em Add Tag surge a tela onde é feita essa configuração.

onstruindo-um-laboratorio-de-ciberseguranca

A figura abaixo mostra o detalhe da configuração da vlan 140 como tagged nas portas 0 e 1, vale lembrar que a porta 1 corresponde a interface OPT.

Construindo-um-laboratorio-de-ciberseguranca

new_cognito

Depois de salvar as alterações é possível ver o resumo do que foi configurado.

Construindo-um-laboratorio-de-cibersegurancaA tela de resumo reflete as configurações feitas

Ainda restam algumas configurações a serem feitas.

Na tela Interfaces -> Interface Assignments, devem ser ajustadas as novas interfaces criadas.

new_cognito

Construindo-um-laboratorio-de-ciberseguranca

Clicando no campo OPT6 aparece a tela de configuração de interfaces do pfsense, que é bastante simples e intuitiva.

Construindo-um-laboratorio-de-ciberseguranca

Depois de feitos os ajustes é só salvar e aplicar as configurações.

new_cognito

Após finalizar as configurações dos passos anteriores, falta apenas definir as regras de firewall e ajustar o servidor dhcp, se for necessário.

A configuração das regras é feita da maneira tradicional está muito bem documentada.

Construindo-um-laboratorio-de-ciberseguranca

A documentação oficial para a configuração das regras pode ser encontrada na página: https://docs.netgate.com/pfsense/en/latest/firewall/configure.html

new_cognito

5. Configurado o Swith TL-SG108E

As configurações iniciais são simples e podem ser feitas de acordo com o guia de configuração rápida. (https://static.tp-link.com/res/down/doc/TL-SG105E_V2_IG.pdf).

É necessário habilitar o protocolo 802.1Q, conforme a figura abaixo:

Construindo-um-laboratorio-de-ciberseguranca

new_cognito

Após esse ajuste é preciso reiniciar o equipamento.

A configuração das vlans é feita no menu 802.1Q VLAN. A figura baixo mostra como adicionar a vlan ID 140 como tagged nas portas 7 e 8.

Construindo-um-laboratorio-de-ciberseguranca

Após clicar em Add/Modify a vlan é adicionada, como mostrado na imagem a seguir:

new_cognito

Construindo-um-laboratorio-de-ciberseguranca

Falta ajustar a PVID, também chamada de native vlan, e esse ajuste é feito no menu 802.1Q Settings:

Construindo-um-laboratorio-de-ciberseguranca

O número da PVID deve ser o mesmo configurado no pfsense.

new_cognito

6. Configurando o Proxmox

A instalação do proxmox é bem simples e existem diversos tutorias na Internet. Uma busca no Google sobre o assunto trará vários resultados.

Depois de instalar é necessário configurar as vlans e activar o Nested virtualization.

O Nested virtualization é uma característica que permite rodar uma máquina virtual dentro de outra máquina virtual.

new_cognito

Clicando na interface física e marcando o campo VLAN aware, o proxmox já passa a aceitar vlans.

Construindo-um-laboratorio-de-cibersegurancaHabilitando o VLAN aware

É bem útil criar uma interface específica para a gestão, no caso a vmbr0.150.

O id (tag) da vlan de gestão é 150, então, o nome da interface precisa ser vmbr0.150, seguindo o padrão: vmbr0.<vlanid>.

new_cognito

As telas são auto explicativas:

Construindo-um-laboratorio-de-ciberseguranca

Construindo-um-laboratorio-de-ciberseguranca

Esses ajustes podem ser feitos de outra forma; editando o arquivo /etc/network/interfaces no shell do proxmox.

new_cognito

Dessa forma é possível limitar quais vlans serão aceitas através da linha bridge-vids.

Por exemplo, para aceitar apenas as vlans de 100 a 150, basta ajustar a configuração dessa forma: bridge-vids 100-150

O arquivo ficou da seguinte forma:

Construindo-um-laboratorio-de-ciberseguranca

new_cognito

Para colocar uma máquina virtual em uma vlan específica, adiciona-se o número da vlan na tela de configuração da interface de rede, conforme o indicado:

Construindo-um-laboratorio-de-ciberseguranca

O último passo é configurar o Nested virtualization.

O link https://ostechnix.com/enable-nested-virtualization-in-proxmox/ detalha o procedimento passo a passo, então basta seguir as configurações sugeridas nesse link.

new_cognito

O resultado final é um laboratório funcional, robusto e escalável, tornando muito fácil e simples criar novos segmentos de rede, fazer testes com ferramentas como o LanTurtle ou bettercap e simular ambientes reais.

Espero que as informações partilhadas aqui sejam úteis.

Partilhar artigo:

Versao3 - Cópia

Somos um portal de notícias, voltado às tecnologias de informação e inovação tecnológica. Informamos com Rigor, Objectividade e Imparcialidade. Primamos pela qualidade, oferecendo aos nossos leitores, a inclusão tecnológica e a literacia digital

+(244) 930747817

info@pti.ao | redaccao@pti.ao

Mais Lidas

Últimos Artigos

Desenvolvido Por SP Media