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:
- Criar ambiente a partir de clone de VM
- Criar ambiente a partir do zero (nova instalação)
- 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).
- Criar Nova VM com as mesmas configurações de hardware da VM de referência (CPU, RAM, disco, interfaces de rede).
- Criar os snapshots
wizard_initial
ewizard_done
(com a VM ligada) nesta nova VM para facilitar o clone dos estados. - Desligar VM de referência e nova VM
- 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
- Iniciar a VM nova no estado
wizard_done
(voltar snap pela interface) - Criar as reservas de DHCP em todas as VLANs no Firewall da iTFLEX seguindo o padrão da VM de referência.
- Criar o registro A no DNS da iTFLEX para acessar o staging pelo nome
server-staging-X.itflex.lan
. - 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)
- Mudar hostname para nome correto
- Ajustar DHCP
- Apagar escopo antigo da LAN
- 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
- Ajuste VPN server
- Editar a faixa de IP da instância server
- Aplicar Firewall
- Aplicar SD-WAN
- 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
- Importar cliente OpenVPN nas conexões (nome: itflex). Cliente deve ser criado na instância stagings no FWFLEX da iTFlex.
- Adicionar escopo de DHCP para a LAN com dados de endereçamento do novo ambiente.
- Criar a regra de origem da VPN client itflex no firewall (copiar regra da s2s existente).
- Recriar política de roteamento usando tabela vpn_itflex.
- Recriar regra de roteamento usando política igual da VM de referência.
- Ajustar origem da politica de webfilter
usuarios-especifico
e alterar IP de saída para o final .253. - Atualziar SO e aplicação para última versão.
- Validar serviços executando corretamente.
- Recriar snapshot
wizard_done
. - Voltar snashot
wizard_initial
. - Ajustar hostname
- Acessar via SSH e atualizar itflex-core
yum clean all
itflex-check-update
yum update itflex-core
systemctl restart itflex-admin
itflex-check-updates
- 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).
- 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
- Validar node ativo fw01 e fazer takeover para fw01 caso necessário
- Adicionar resource VPN client itflex no cluster
- 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)
- Adicionar escopo de DHCP para a LAN com dados do IP virtual correto
- Adicionar escopo de DHCP para a VIS com dados do IP virtual correto
- Criar a regra de origem da VPN client itflex no firewall (copiar regra da s2s existente)
- Recriar política de roteamento usando tabela vpn_itflex
- Recriar regra de roteamento usando política igual staging-6
- Ajustar origem da politica de webfilter
usuarios-especifico
e alterar IP de saída para o final .250 - 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)
- 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
- Criar a classe DBC
- Realizar o sync do cluster
- Realizar takeover para fw02
- Atualizar aplicação para última versão
- Realizar takeover para fw01
- Atualizar aplicação para última versão
- Reboot fw01
- Reboot fw02
- Validar serviços executando corretamente
- Recriar snapshot
wizard_done
- Voltar snashot
wizard_initial
- Ajustar hostname
- Acessar via SSH e atualizar itflex-core
yum clean all
itflex-check-updates
yum update itflex-core
systemctl restart itflex-admin
itflex-check-updates
- 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
eitflex.lan
para servidor autoritativo192.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.