DNS Translation

Após algumas semanas retorno os POST e sempre peco no longo tempo entre eles :(.

Vamos ao que interessa.

Hoje irei falar de uma Feature muito interessante do FortiOS, o DNS Translation, que como o nome diz é a função de tradução de uma requisição de DNS envida a um servidor, onde as querys que passem pelo FortiGate (o dns não precisa ser o Firewall, basta que a query seja encaminhada por uma rede que passe pelo firewall.) são interceptadas pelo FortiOS que realiza a modificação do Reply enviado pelo servidor alterando a resposta ao cliente.

Isso normalmente é muito útil quando temos um servidor com um VIP  interno, porém o DNS é externo fazendo com que as chamadas a esse servidor sejam enviadas ao IP valido e dependendo da configuração impedindo o acesso.

Para realizar essa ação o FortiOS utilizasse do Session-Helper para o Protocolo DNS, por padrão a 5.4 já tem em sua configuração padrão o session-helper para DNS como podemos ver abaixo:

# show system session-helper 14
config system session-helper
    edit 14
        set name dns-udp
        set protocol 17
        set port 53
    next
end

Exemplo SEM DNS Translation configurado:

A origem 10.10.10.1 solicita o endereço IP do endereço www.trtec.com.br  ao servidor de DNS 4.2.2.2 o Reply (resposta) é 187.45.195.136, como podemos ver na imagem abaixo:

dns1

 

Agora vamos realizar a configuração do nosso DNS Translation para alterar a resposta do exemplo acima.

config firewall dnstranslation
    edit 1
        set src 187.45.195.136
        set dst 192.168.1.100
    next
end

Onde SRC é o IP que desejamos modificar e o DST é o IP que desejamos que seja enviado ao cliente.

Exemplo COM DNS Translation configurado:

A origem 10.10.10.1 solicita o endereço IP do endereço www.trtec.com.br  ao servidor de DNS 4.2.2.2, o Relpy (resposta) é interceptada pelo FortiOS e alterada de 187.45.195.136 para 192.168.1.100 , como podemos ver na imagem abaixo:

dns2

 

É isso pessoal, espero que tenham gostado.

 

William Costa