Alterando a Porta de destino de uma requisição (PAT).

Voltei após um longo período de inatividade do blog, 🙁 . Desculpe pessoal, irei tentar manter um intervalo aceitável entre os posts. Hoje irei escrever um post sobre um chamado, como essa necessidade já foi solicitada por mais de um cliente, acredito que o post será útil.

Chega de  “mimimi” e vamos a o “tecniques”

Vamos começar pelo problema:

A necessidade é que quando um cliente interno solicita um IP externo deve ser alterada a porta de destino sem alterar o IP de destino.

Ex: Usuário solicita o ip 200.200.200.200 com porta de destino 9090, porém o Fortigate deve alterar a solicitação para 200.200.200.200 com porta de destino 8080, mas, mantendo o IP de destino. Fácil não ?

Nesse Lab estou usando a Versão mais atual do FortiOS disponível á 5.2.2, mas, os mesmos procedimentos podem ser aplicados em versões anteriores.

Isso é facilmente resolvido com um VIP (Virtual IP) , porém tem um detalhe que faz toda a diferença para que isso funcione. 🙂

Então vamos configurar o nosso VIP sem nenhuma alteração adicional

Policy & Objects  > Objects > Virtual IPs > Create New

A essa altura mesmo sem criarmos a policy já devemos ter perdido o acesso ao endereço, mesmo adicionado a porta que será alterada. 🙂 Por que isso William ? devem perguntar! Calma pessoal vamos por etapa.

Agora deveremos colocar nosso VIP em uma policy.

Policy & Objects  > Policy > IPV4 > Create New

Policy

Com nossa regra criada, podemos testar o acesso.

Testando o acesso podemos ver que não é possível a conexão.

Acesso

🙁

Vamos fazer um sniffer para diagnosticar.

diagnose sniffer packet any “host 223.171.182.164”
interfaces=[any]
filters=[host 223.171.182.164]
10.983672 192.168.2.114.51346 -> 223.171.182.164.9090: syn 3854105093
11.232823 192.168.2.114.51347 -> 223.171.182.164.9090: syn 2003775005
11.995183 192.168.2.114.51346 -> 223.171.182.164.9090: syn 3854105093

Podemos ver que o Fortigate envia um SYN ao endereço, mas, não recebe o SYN/ACK para completar o inicio da sessão.

O que acontece é que o Fortigate quando configurado o VIP ele toma para si esse IP respondendo as requisições de ARP para esse endereço como o IP estivesse em uma das suas interfaces, não repassando a requisição a frente. A solução para isso é simples, desabilitamos o arp-reply no vip via CLI

config firewall vip
edit “Teste-VIP-Blog”
set extip 223.171.182.164
set extintf “internal”
set arp-reply disable
set portforward enable
set mappedip “223.171.182.164-223.171.182.164”
set extport 9090
set mappedport 8080
next
end

Vamos testar o acesso novamente.

Verificando via sniffer temos o seguinte resultado:

diagnose sniffer packet any “host 223.171.182.164”
interfaces=[any]
filters=[host 223.171.182.164]
9.165631 192.168.2.114.51616 -> 223.171.182.164.9090: syn 2096500680
9.166049 197.181.167.195.51616 -> 223.171.182.164.8080: syn 2096500680
9.181271 223.171.182.164.8080 -> 197.181.167.195.51616: syn 1729633825 ack 2096500681
9.181528 223.171.182.164.9090 -> 192.168.2.114.51616: syn 1729633825 ack 2096500681
9.181927 192.168.2.114.51616 -> 223.171.182.164.9090: ack 1729633826
9.182128 197.181.167.195.51616 -> 223.171.182.164.8080: ack 1729633826
9.182207 192.168.2.114.51616 -> 223.171.182.164.9090: psh 2096500681 ack 1729633826
9.182372 197.181.167.195.51616 -> 223.171.182.164.8080: psh 2096500681 ack 1729633826
9.211365 223.171.182.164.8080 -> 197.181.167.195.51616: psh 1729635274 ack 2096501123
9.211575 223.171.182.164.9090 -> 192.168.2.114.51616: psh 1729635274 ack 2096501123
9.211961 192.168.2.114.51616 -> 223.171.182.164.9090: ack 1729633826
9.212122 197.181.167.195.51616 -> 223.171.182.164.8080: ack 1729633826

No Browser

Acess-sucesso

É Isso!

Fico por aqui galera, espero que tenham curtido o post.

Abs

 

William Costa
www.trtec.com.br

4 respostas para “Alterando a Porta de destino de uma requisição (PAT).”

  1. William tudo bem?

    Sei que esse não é o post correto para tirar essa duvida mas peguei pelo o mais atualizado.

    Aqui na empresa tinhamos um FGT 80C, e funcionava tudo normal com o FSSO porem crescemos em usuários, VPN e Wireless. Então migramos para o FGT 100D, tenho um contrato com uma empresa que administra meus fortigates da matriz e filial.

    Depois de fazer o upgrade para o 100D, eles não estão conseguindo mais liberar sites HTTPS e falaram pra mim que precisa instalar o certificado.

    Queria saber de vc, não tem mesmo como liberar os sites HTTPS sem o certificado instalado nas maquinas?

    Fico no aguardo, obrigado!

    1. Oi Vinicius é possível o Fortigate se comportar como um proxy reverso em algumas funções como por exemplo em vip load balance, porém vai depender da sua necessidade para ver se o Fortigate vai ou não te atender como tal.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *