Como criar ambientes de staging e testing do FWFLEX

Os ambientes de staging e testing do FWFLEX podem ser criados a partir de VMs já existentes (pula algumas etapas) ou totalmente do zero com nova instalação da ISO.

Este procedimento irá contemplar:

  1. Criar ambiente a partir de clone de VM
  2. Criar ambiente a partir do zero (nova instalação)
  3. Preparar ambiente para deploy do bot / CI

Criar ambiente a partir de clone de VM

Clone da VM

Qualquer VM padrão de staging pode ser usada como base, desde que tenha os snapshot wizard_initial e wizard_done no proxmox.

OBS: Mesmo para os ambientes testing em cluster, é mais fácil clonar um staging do que um testing pronto (evita problemas com cluster).

  1. Criar Nova VM com as mesmas configurações de hardware da VM de referência (CPU, RAM, disco, interfaces de rede).
  2. Criar os snapshots wizard_initial e wizard_done (com a VM ligada) nesta nova VM para facilitar o clone dos estados.
  3. Desligar VM de referência e nova VM
  4. Copiar diretório de imagem da VM de referência para VM nova e renomear os arquivos de disco
cd /stor/array2/images/
mv 117/ 117_old
cp -r 113/ 117
cd 117
mv vm-113-disk-0.qcow2 vm-117-disk-0.qcow2
mv vm-113-state-wizard_done.raw vm-117-state-wizard_done.raw
mv vm-113-state-wizard_initial.raw vm-117-state-wizard_initial.raw
  1. Iniciar a VM nova no estado wizard_done (voltar snap pela interface)
  2. Criar as reservas de DHCP em todas as VLANs no Firewall da iTFLEX seguindo o padrão da VM de referência.
  3. Criar o registro A no DNS da iTFLEX para acessar o staging pelo nome server-staging-X.itflex.lan.
  4. Ajustar rede
    • Editar IP estático da wan0 para IP reservado
    • Editar IP da lan0 para faixa de IP deste novo ambiente
    • Criar a vis0 e a clu0 (somente ambiente testing)
  5. Mudar hostname para nome correto
  6. Ajustar DHCP
    • Apagar escopo antigo da LAN
  7. Ajustar VPN client
    • Apagar regra de firewall origem VPN
    • Apagar regra de roteamento da política VPN
    • Apagar política VPN do SD-WAN
    • Apagar tabela VPN do SD-WAN
    • Remover o VPN client itflex
  8. Ajuste VPN server
    • Editar a faixa de IP da instância server
  9. Aplicar Firewall
  10. Aplicar SD-WAN
  11. Aplicar serviço e zonas de encaminhamento do DNS

Neste ponto a VM está minimamente funcional e requer somente alguns ajustes.

Configuração para ambiente staging

  1. Importar cliente OpenVPN nas conexões (nome: itflex). Cliente deve ser criado na instância stagings no FWFLEX da iTFlex.
  2. Adicionar escopo de DHCP para a LAN com dados de endereçamento do novo ambiente.
  3. Criar a regra de origem da VPN client itflex no firewall (copiar regra da s2s existente).
  4. Recriar política de roteamento usando tabela vpn_itflex.
  5. Recriar regra de roteamento usando política igual da VM de referência.
  6. Ajustar origem da politica de webfilter usuarios-especifico e alterar IP de saída para o final .253.
  7. Atualziar SO e aplicação para última versão.
  8. Validar serviços executando corretamente.
  9. Recriar snapshot wizard_done.
  10. Voltar snashot wizard_initial.
  11. Ajustar hostname
  12. Acessar via SSH e atualizar itflex-core
yum clean all
itflex-check-update
yum update itflex-core
systemctl restart itflex-admin
itflex-check-updates
  1. Recriar snapshot wizard_initial.

OBS: Os snapshots devem ser feitos com a VM ligada.

Configuração para ambiente testing

Seguir procedimento de implantação padrão do cluster e configurar na conexão clu0 com a faixa de IP padrão 192.168.190.0/24

OBS: Se foi feito clone de ambiente já em cluster, necessário rodar o provisionamento do cluster via AWX novamente (hostnames mudaram).

  1. Recursos do cluster:
    • IP virtual do cluster (vem por padrão)
    • Conexão VPN itflex
      • Baixar do firewall da itflex (instância staging)
      • Importar desabilitado nos 2 nós
  2. Validar node ativo fw01 e fazer takeover para fw01 caso necessário
  3. Adicionar resource VPN client itflex no cluster
  4. Adicionar resource IPs virtuais:
    • LAN final .253
    • LAN final .250 (usado no webfilter tcp_outgoing_address)
    • VIS final .253
    • itflex (reserva no DHCP da itflex)
    • WANs usado para o NAT do IP .250 e classe DBC (reserva no DHCP da itflex)
  5. Adicionar escopo de DHCP para a LAN com dados do IP virtual correto
  6. Adicionar escopo de DHCP para a VIS com dados do IP virtual correto
  7. Criar a regra de origem da VPN client itflex no firewall (copiar regra da s2s existente)
  8. Recriar política de roteamento usando tabela vpn_itflex
  9. Recriar regra de roteamento usando política igual staging-6
  10. Ajustar origem da politica de webfilter usuarios-especifico e alterar IP de saída para o final .250
  11. Editar as 2 regras existentes de SNAT da LAN DBC especifico
    • Origem IP .250 para os IPs virtuais das WANs (especificando interface de saída)
  12. Configurar DBC
    • Criar a classe DBC Usuarios-especifico e casar com os IPs virtuais das WANs
    • Diminuir o garantido da classe web para 50%
    • Adicionar a classe Usuarios-especifico com 20% garantido, prioridade 4 e ordenado acima de todos
  13. Realizar o sync do cluster
  14. Realizar takeover para fw02
  15. Atualizar aplicação para última versão
  16. Realizar takeover para fw01
  17. Atualizar aplicação para última versão
  18. Reboot fw01
  19. Reboot fw02
  20. Validar serviços executando corretamente
  21. Recriar snapshot wizard_done
  22. Voltar snashot wizard_initial
  23. Ajustar hostname
  24. Acessar via SSH e atualizar itflex-core
yum clean all
itflex-check-updates
yum update itflex-core
systemctl restart itflex-admin
itflex-check-updates
  1. Recriar snapshot wizard_initial.

OBS: Os snapshots devem ser feitos com a VM ligada.

Criar ambiente a partir do zero (nova instalação)

Para criar o ambiente a partir do zero, deve seguir o procedimento padrão de implantação do FWFLEX. Nesta seção não está documentado o passo a passo para configuração, mas somente os dados e configurações padronizadas necessárias para os ambientes.

Wizard

  • Instalação de todos os módulos
  • Setar senha semprelinux no usuário admin no wizard
  • Setar dns no wizard para 127.0.0.1
  • Configurar interfaces:
    • WAN-WAN0 com IP fixo e como gateway padrão
    • WAN-WAN1 com DHCP
    • LAN-ITFLEX com DHCP e rotas para as redes RFC
    • LAN-LAN0 com IP fixo 10.10.6.254/24 e 10.10.6.253/24 e rede conforme staging (10.10.1 , 10.10.2 , 10.10.3 , 10.10.4 …)
  • DHCP: Ativar DHCP na LAN
  • Ativar DNS para LANs itflex e lan0
  • Ativar DBC para wan0 e wan1
  • Criar instância openvpn server01 e rede 10.10.106.0/24
  • Firewall: ativar acesso pela LAN, navegação e OpenVPN
  • SDWAN: cadastrar wan-wan0 e wan-wan1
  • Habilitar agente do Zabbix
  • Aplicar wizard

Administração

  • Atualizar SO
  • Alterar usuário admin e ativar console N2 (Contornar bug que não habilita pelo wizard)
  • Configurar backup para diário
  • Acessar tela de conexões, colocar descrição em todas e aplicar (Para contornar bug que não está inserindo IP das DHCP em banco)
  • Alterar escopo DHCP e colocar range entre .10 e .110
  • Configurar encaminhamento das zonas DNS itflex.com.br e itflex.lan para servidor autoritativo 192.168.47.5
  • Importar cliente OpenVPN nas conexões (nome: itflex). Clientes já estão criados na instância stagings no FWFLEX da iTFlex

Segurança

Firewall

  • Habilitar masquerade e bloqueio de redes RFC dos links WAN
  • Habilitar masquerade do openvpn Client
  • Habilitar zonas VPN Site2Site e Client2Site
  • Criar regras em LAN > Encaminhamento de origem (Igual ao staging-6)
  • Habilitar DPI para conexões cadastradas exceto lan-itflex
  • Criar nova Atvididade DPI socialmedia e cadastrar aplicação instagram e facebook, categoria Social Media
  • Criar regras de bloqueio DPI em LAN > Encaminhamento de origem bloqueando a atividade criada
  • Criar regras de bloqueio DPI em LAN > Encaminhamento de origem bloqueando aplicação AIRBNB
  • Criar regra Nat de destino na zona LAN (igual staging-6) com regra de encaminhamento associada
  • Criar regra Nat de origem na zona LAN (igual staging-6)
  • Criar regra Encaminhamento de origem VPN Site2Site - instância para LAN (igual staging-6)
  • Criar regra Encaminhamento de origem VPN Site2Site - cliente itflex para LAN (igual staging-6)
  • Criar regras Nat de origem na zona LAN com IP .253 igual ao staging 6
  • Criar regra de saída desabilitada para pings pela wan0 e wan1

Webfilter

  • Criar tipo de arquivo ISO com .iso
  • Criar atividades do webfilter igual ao staging-6
  • Ajustar comportamento padrão para Recusar
  • Criar política do webfilter (nome: usuarios-lan) e vincular origem à instância SSO usuarios. Deixar configurações igual staging-6
    • Cadastrar regras com todas as atividades com ação Aceitar
    • Cadastrar regra liberando usuário teste2
    • Cadastrar regra liberando grupo de hosts liberados
  • Criar política do webfilter (nome: usuarios-especifico) e configurar igual ao staging-6
    • Cadastrar regras com todas as atividades com ação Aceitar

Controle de identidade

  • Criar fonte de autenticação ldap (nome: itflex ) e configurar conforme staging-6
  • Criar fonte de autenticação local (nome: local ) e criar usuários teste1 até teste5
  • Criar grupo de usuário (nome: grupo01) e configurar igual staging-6
  • Criar instância SSO (nome: usuarios) e configurar igual staging-6

Controle de tráfego

SDWAN

  • Criar tabela de roteamento associando openvpn Client
  • Criar política de roteamento usando tabela vpn_itflex
  • Criar regra de roteamento usando política igual staging-6
  • Cadastrar zona DNS fake para simular atualização

VPN

OpenVPN

  • Criar 2 clientes VPN conforme staging-6
  • Criar 2 clientes VPN s2s conforme staging-6

IPsec

  • Criar túnel s2s fake conforme staging-6

Preparar ambiente para deploy do bot / CI

Adicionar no /home/deploy/.ssh/authorized_keys a chave pública do gitlab-ci:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDX9Ijfv/DEzYEaF1TLEKgsXmFbIHeWsl664oDswgFT5S+mY+E/s9OcRUJhcr1Gu8PuNYh2q+PPHa6qEbXFtQcN3j5Fp00RoFpm5L22I4HEEKgChYWhzsRoKtNoFj3AAQXLdGAZemDQJWeeJ1LQcZwGFEQaq/SA3k+2deHLZUL3YWGEtLr/HoEql4bt6MK9nX660wudAYfrrX7DhYwaPtRfRC+gonOx1U5DiqWuidb1yDh4HMsKO0tein9GIV7z64rRejTF+TBMuhxtVawsxJ4MtmvqCO1zBxdwdnu0qWnNDhmMNGWkvpC0u15glzhmYDnmZ/HiYJzW4sLy3PAy9SKZD10T8NQlZr7HpbbCObsyWvkv02bHApFoO82hCUE7k8cfq13EN3drS3sMUxEVgum6qVG69Qt0jVCENE440vBdrNwlwIue6FylkUrPAULsC0SuN+aDZ3PxloDXdD+Y6S4BCi9A03SPKnSUB9zclEpxLaNGLeEVMU50/UBXqfvhtqFnhlNj01SJMaA0OWjS2wNuOx+IBkrs4du2mNK4mTwTbAUTPduz3NZT/FKQ4mdcorNgRvE9wJKnMD3DO2go+k3QM9bvyHp7AfnqNns5hp3vagIifKRuYFBS8DsugKJuLXf+GLBx6H1we/f2AHfFZ3vd0jagQX5ijHqKZVG7ZT4+9w== gitlab-ci

Aplicar estas alterações para os snapshots wizard_done e wizard_initial. Deve voltar o snapshot, configurar e recriar os snapshots.

Neste ponto a VM já pode ser integrada ao BOT e ao GitLab CI/CD.