Migrar de pfsense para opnsense – Uma aventura técnica.

Olá a todos,

Disclamer: eu consegui fazer isto, com um grau de sucesso de 80 a 90% mas este poderá não ser o vosso resultado.
Garantam que tem um backup ou mais funcional, e de preferencia um snapshot se for uma firewall virtualizada. Não assumo responsabilidade por meterem os vossos pés pelas mãos.

post-thumb

Photo by Fandi Maulana from iStock

Devido a confusão da semana passada com o fim da gratuitidade do pfsense+ tenho tido *mesmo* muitos pedidos de como fazer uma migração/portabilidade da configuração de uma forma mais técnica. Assim sendo e como a vida é feita de mudanças, está na altura de dar ao OPNsense a sua oportunidade.
Felizmente, a transição não precisa ser um puzzle complicado até porque o ficheiro xml de configuração é relativamente semelhante.  Neste guia, vamos ver como migrar de pfSense para o OPNsense utilizando apenas o ficheiro config.xml.

Preparação

Antes de começarmos esta migração pre-haloween, é crucial garantir que temos todos os nossos patos (ou melhor, firewalls) todos alinhados. Vamos precisar do nosso ficheiro config.xml do pfSense, que reside em `/conf/config.xml`. Temos que nos certificar que o temos à mão, seja através de uma copia dele via sftp, ou através do ficheiro de backup da pfsense.
Pessoalmente prefiro o ficheiro.
Além disso, se estamos a executar o pfSense numa máquina virtual, é altamente recomendável mantermos os mesmos endereços MAC nas interfaces para uma migração ainda mais suave. Se estás a usar uma firewall física, não te preocupes com isso por agora.

Passo 1: Instalação do OPNsense

Primeira coisa, primeiro: precisamos ter o OPNsense instalado e pronto para a ação na sua configuração de default. Se ainda não o fizeram, faz o download da última versão do OPNsense no site oficial (https://opnsense.org/download/). Segue as instruções de instalação específicas para o teu hardware ou VM.

Passo 2: Configuração Inicial

Depois de concluirmos a instalação, chegou o momento de efetuar a configuração inicial. No OPNsense, tal como no pfSense, a interface LAN é onde normalmente acedes à tua firewall (e carregar o teu ficheiro xml).
No entanto, não vamos usar as configurações padrão aqui. Em vez disso, vamos ajustar o IP da tua interface LAN para que coincida com o IP da interface no teu ficheiro config.xml do pfSense que vais importar. Nota que é importante fazer isto num segmento de rede isolado, até porque não podemos ter dois ips simultâneos na mesma range.

  1. Acede à interface de administração do OPNsense a partir de um navegador web. Podes fazê-lo digitando o IP padrão da LAN (normalmente 192.168.1.1) na barra de endereço do teu navegador.
  2. Inicia sessão com as credenciais predefinidas (por omissão, utilizador “root” e senha “opnsense”).
  3. No menu, vai para “Interfaces” e depois “LAN.”
  4. Altera o endereço IP da interface LAN para corresponder ao que tens no teu config.xml do pfSense. Certifica-te de que a máscara de sub-rede e o gateway estão corretos.
  5. Salva as alterações.

Passo 3: Importação do Config.xml

Agora é a parte que mais sobressaltos e ansiedade causa – a importação do nosso antigo ficheiro config.xml do pfSense para o OPNsense. É aqui que todas as nossas configurações e regras de firewall ganham vida na nova firewall.

  1. No menu do OPNsense, navega até “Diagnóstico” e escolhe “Cópia de segurança/Restauro.”
  2. Na secção “Restauro,” clica em “Escolher ficheiro” e seleciona o teu config.xml do pfSense.
  3. Clica em “Restaurar configuração.”
  4. Pode levar algum tempo, dependendo do tamanho do teu ficheiro config.xml. Aguarde até que o processo seja concluído. Nota: o processo irá demorar porque ele tentará reinstalar plugins que existam no repositório da opnsense que estavam instalados no sistema original pfsense. Pode demorar mesmo muito mas o progresso será visível desde a interface web ou da visualização de pkgs a serem deployed na consola.
  5. Uma vez restaurado, vais receber uma mensagem para reiniciar o sistema. Certifica-te de que todos os teus dispositivos estão desconectados, pois a firewall OPNsense será reiniciada.
  6. Após o reinício, certifica-te de que tudo parece estar a funcionar corretamente, especialmente as configurações das interfaces.

Passo 4: Reconfiguração das Interfaces

Agora que a configuração foi importada, é importante verificar as nossas interfaces e reconfigurar as que não foram mapeadas automaticamente. Este é o passo onde a diferença entre máquinas virtuais e firewalls físicas se torna relevante.

### Para Máquinas Virtuais:

Se estamos a fazer esta migração numa máquina virtual, é fundamental garantir que as interfaces da nossa firewall OPNsense tenham os mesmos endereços MAC que as interfaces do pfSense. Caso contrário, vamos encontrar problemas de conectividade.

Para fazer isso:

  1. Na tua plataforma de virtualização, como o Libvirt, Virtualbox, Proxmox ou outra, é importante nos certificarmos de que as interfaces na firewall OPNsense têm os mesmos endereços MAC que as interfaces correspondentes do pfSense.
  2. Reiniciar a firewall OPNsense para que as configurações com os novos endereços MAC sejam aplicadas.

### Para Firewalls Físicas:

Se estivermos a migrar de uma firewall física, o processo é um pouco mais simples, uma vez que não tens de te preocupar com endereços MAC. No entanto, ainda precisarás verificar e reconfigurar as interfaces conforme necessário.

  1. Acede à interface web do OPNsense ou em alternativa ao mapping de interfaces via consola se não conseguires chegar por webui.
  2. Vai para “Interfaces” e certifica-te de que todas as interfaces estão configuradas corretamente, com as atribuições certas para LAN, WAN, DMZ e assim por diante.
  3. Se for necessário, faz as alterações nas configurações das interfaces.

Problemas:

Onde notei problemas com esta metodologia? Infelizmente em vários sitios, mas trata-se apenas de configurações relativamente indolores:

  1. Autenticação LDAP. O método que ambas as firewalls utilizam não é o mesmo pelo que novos ldapfilters(ou escritos de forma diferente) podem ser necessários.
  2. VPN’s. Tive problemas em algumas das minhas configurações VPN, mais especificamente nas configurações de servidores vpn, na parte de autenticação havendo campos que apareciam incompletos. Copy & paste da firewall original e tava a funcionar.
  3. SQUID proxy & Webfilter. De novo, devido ao método que a pfsense utiliza para configurar autenticação, poderá haver um problema aqui se tiverem ranges de ip’s na vossa rede que sejam obrigados a se autenticar para ir para a internet.
  4. HA-Proxy built-in. A pfsense permite uma configuração ao nivel de NAT transparente para inbound connections que a opsense não permite por questões de segurança. Há forma de se trabalhar isto, ao nível da configuração do HA-Proxy.

E assim termina um post extraordinário sobre a migração do pfSense para o OPNsense. Com o nosso ficheiro config.xml devidamente importado e as interfaces configuradas corretamente, deveremos estar prontos para enfrentar os desafios da rede com as nossas novas firewalls.

É fundamental nos lembrar, que esta é uma tarefa que requer cuidado e muita atenção aos detalhes. Certifica-te de que todas as configurações críticas foram transferidas corretamente e de que a tua rede está a funcionar como deveria.

O OPNsense oferece funcionalidades mais poderosas que o pfSense e sobretudo num ciclo de vida muito mais eficiente, por isso, não deves notar uma grande diferença na tua experiência de administração. Agora, podes desfrutar das funcionalidades e segurança do OPNsense enquanto continuas a proteger a tua rede.

Até ao próximo post. Se notarem alguma coisa errada, ou tiverem algum acrescento, já sabem onde me encontrar.

Abraço
Nuno

PS: já existe código para fazer isto automaticamente segundo comentários no reddit. O código está aqui. Não conheço, não vi, não auditei pelo que não recomendo o código. Utilizem com muito cuidado se for esse o vosso desejo.