Como montar um laboratório para praticar os produtos da F5 (LTM, AWAF, etc)

Olá pessoal, este post é a sequência do Workshop que eu apresentei no Domingo, 26-07-2020 – cuja gravação já se encontra na seção de Webinars do blog.

Para montar seu laboratório para a prática F5, é preciso certificar-se que sua máquina atende aos requisitos necessários. Tudo depende do que você deseja ter rodando nele, claro. Para rodar apenas 1 BIG-IP com LTM (load-balancer) apenas, você precisará de pelo menos 4GB de RAM para o BIG-IP.  Se quiser testar alta-disponibilidade (H.A.), obviamente este requisito é duplicado.

Além do(s) BIG-IP(s), você precisará também de pelo menos 1 servidor Linux rodando no back-end, para simular as aplicações diversas. Apenas uma VM é necessária, já que é possível utilizar o conceito de Virtual Hosts suportado por quase todos os webservers disponíveis no mercado (no exemplo, vou usar Apache, mas poderia ser NGINX, IIS ou qualquer outro). Os requisitos deste servidor são mínimos (2GB de RAM e uns 8GB de espaço em disco são suficientes).

Antes de montar a topologia, você precisa baixar a imagem do BIG-IP e obter a licença para ativá-la. NADA funciona num BIG-IP sem licença, portanto, é um requisito obtê-la.

Para obter a imagem e a licença, acesse o link da F5 clicando aqui e siga os passos ilustrados para registrar-se no site. É preciso registrar-se para poder baixar as imagens e obter a licença. Mas você pode utilizar dados fictícios e mesmo um e-mail gerado em serviços de e-mail gratuitos.  Uma vez registrado, acesse este link para obter sua(s) licença(s). As licenças tem validade de 30 dias e você pode solicitar até 3 de cada vez. Minha sugestão é que, se não for precisar de mais de 1 (ou 2), não desperdice, pois isso conta no total de licenças trial que uma mesmo conta pode solicitar (não sei ao certo qual o limite, mas imagino que sejam 2 pedidos). O tempo de expiração da licença passa a contar a partir do momento em que elas lhe são enviadas (independente de você as usar ou não).

Uma vez solicitada a licença, é hora de baixar a imagem. Como você vai usar a imagem no EVE, sugiro fazer o seguinte: Acesse a área de downloads da F5 (é preciso estar logado). O link direto para a versão 16.0 VE (Virtual Edition) – a versão mais recente – é este. Na lista apresentada, selecione a opção “BIGIP-16.0.0-0.0.12.ALL.qcow2.zip” (qcow2 é o formato de imagem utilizado pelo hypervisor Linux KVM, que é o que o EVE utiliza).

Ao clicar no link ilustrado acima, uma nova página vai abrir, pedindo que você selecione de onde quer baixar a imagem. Role para baixo, e observe a opção HTTPS. Clique com o botão direito no ícone de download e escolha a opção “Copiar Link”:

Salve o link em algum editor de texto. Vamos precisar dele depois. Não baixe nada ainda. Vamos baixar a imagem direto no EVE, para evitar ter que baixar para seu computador e depois ter que transferir para o EVE.

Abra uma sessão console (SSH) com o EVE:

Crie um diretório para acomodar a nova versão do BIG-IP que você vai criar, usando o comando:

mkdir /opt/unetlab/addons/qemu/bigip-v16.0

CD para o diretório criado:

cd /opt/unetlab/addons/qemu/bigip-v16.0

Finalmente, baixe a imagem desejada diretamente no diretório (aqui você deve usar o link que copiou anteriormente do site da F5. O link abaixo não vai funcionar para você, você deve utilizar o seu próprio link):

wget https://downloads07.f5.com/esd/download.sv?loc=downloads07.f5.com/downloads/288bab80-294f-47b3-9f30-dfe5aff39081/BIGIP-16.0.0-0.0.12.ALL.qcow2.zip

Uma vez que o download seja concluído, é preciso descompactar a imagem. O nome do arquivo baixo é meio estranho mesmo, mas uma vez descompactado, vai parecer normal. Use o comando abaixo (novamente, o nome do arquivo no seu caso será diferente do meu, apresentado abaixo):

unzip download.sv\?loc\=downloads07.f5.com%2Fdownloads%2F288bab80-294f-47b3-9f30-dfe5aff39081%2FBIGIP-16.0.0-0.0.12.ALL.qcow2.zip

Uma vez descompactado o arquivo, renomeie ele para hda.qcow2 usando o comando abaixo:

mv BIGIP-16.0.0-0.0.12.qcow2 hda.qcow2

Você pode agora apagar o arquivo compactado, para salvar espaço em seu disco:

rm *.zip

Finalmente, execute o comando abaixo para certificar-se que todas as permissões necessárias para que o EVE execute a nova imagem estejam corretas:

/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

Isso deve ser o suficiente para você ter o(s) seu(s) BIG-IPs no EVE.

O servidor de aplicação pode ser criado por você usando um servidor Linux e instalando um webserver nele, se você souber como fazer isso (aconselho tentar, pois é um bom exercício!). Se não souber, disponibilizo o que montei para download aqui. O servidor que montei é baseado na imagem que usamos na F5 e contém 4 aplicações (L:root / PW: root):

  • Um servidor web com 3 virtual hosts, contendo 3 conteúdos distintos – o que lhes permite visualizar o balanceamento ocorrendo (veja abaixo). Cada um dos vhosts configurados (1, 2 e 3) respondem aos IPs 172.16.20.1, 20.2 e 20.3, respectivamente. Assim, você tem 3 pool members com apenas uma VM.

  • Um serviço que simula a tela de login de um banco e algumas outras funcionalidades – para testes de intrusão e firewall, localizado no IP 172.16.20.15 (L: user / PW: 12345678)

  • Um serviço de e-commerce (Hackazon), no IP 172.16.20.13:

  • E, finalmente, o site Damn Vulnerable Web Application, criado pela OWASP, no IP 172.16.20.11:

Tudo isso numa única VM! Para instala-la em seu EVE, crie o diretório linux-f5 e importe a imagem hda.qcow2 (descompactada) para ele. Feito isso a opção de adicionar uma VM Linux com a nova imagem estará disponível.

Na minha topologia (abaixo) eu uso um switch, mas ele não é necessário. Você pode conectar o servidor diretamente ao BIG-IP para economizar recursos como memória e disco, se desejar.

Minha topologia ficou assim:

Percebam que o BIG-IP, no meu exemplo, NÃO está utilizando sua porta de gerência. Eu fiz desta forma para que eu pudesse acessa-lo diretamente do meu computador, evitando assim a necessidade de uma terceira VM que seria usada como um host dentro do lab. Mas, se você desejar (e tiver recursos disponíveis), você pode adicionar um host ao invés de conectar o BIG-IP na nuvem de gerência, como eu fiz.

A gravação do Workshop mostra mais detalhes de como proceder se você não souber como avançar deste ponto.

Abraços e bons labs!

Marco

 

 

1 comentário

  1. Marco, erro na imagem Linux… apenas vendo a interface de loopback. nao enxergo mais nenhuma e ifup eth0 diz que nao encontra a interface…

Deixe um comentário