“Falha do caminho reverso do NAT” ASA 8.3

2

Me perdoe, já que não sou muito experiente com ASAs, mas acredito que o que eu configurei deveria estar funcionando.

Eu tenho um ASA 5510 executando a versão 8.3 (2), que é conectada a redes internas, externas e dmz, bem como a uma VPN de RA. Ambas as redes Interna e DMZ possuem NAT dinâmico configurado quando vão do interno / dmz para a internet. Esses NAT dinâmicos funcionam como esperado.

O problema ocorre ao tentar acessar a rede DMZ pela VPN.

A mensagem de erro que recebo nos estados ASA:

%ASA-5-305013: Asymmetric NAT rules matched for forward and reverse flows; Connection for icmp src outside:x.x.x.x dst dmz: y.y.y.y (type 8, code 0) denied due to NAT reverse path failure

Eu percebi que a razão pela qual isso está ocorrendo é porque o tráfego que retorna da DMZ corresponderia à regra NAT dinâmica e seria nat'd para a interface externa.

Então eu coloquei uma regra estática no NAT para a sub-rede DMZ para a VPN:

nat (dmz,outside) source static DMZ_VLAN DMZ_VLAN destination static VPN VPN

Mas ... ainda estou recebendo o erro.

Agora, aqui é onde eu fico ainda mais confuso. Depois de adicionar esse NAT estático, meu sh nat ficará assim:

1 (inside) to (outside) source static any any destination static VPN VPN description VPN No NAT
    translate_hits = 3, untranslate_hits = 1198

2 (dmz) to (outside) source static DMZ_VLAN DMZ_VLAN destination static VPN VPN
    translate_hits = 0, untranslate_hits = 0

Se eu mover a DMZ para a Regra externa acima da regra interna para externa, posso acessar a DMZ, mas não consigo acessar a parte interna da VPN.

Não sei por que a ordem dessas regras faria a diferença, porque, se a regra principal não corresponder, ela deve continuar fluindo pela lista.

Qualquer ajuda seria apreciada, embora meus sentidos estejam me dizendo que estou cometendo um erro estúpido em algum lugar óbvio.

EDIT: mais informações.

Níveis de segurança da interface:

dentro de: 100 | dmz: 50
fora: 0

Regras NAT de show run nat :

nat (inside,outside) source static any any destination static VPN VPN description VPN No NAT
nat (dmz,outside) source static DMZ_VLAN DMZ_VLAN destination static VPN VPN

object network DMZ_VLAN
 nat (dmz,outside) dynamic interface

object network In_VLAN
 nat (inside,outside) dynamic interface

As listas de acesso não devem ser aplicadas, pois tenho sysopt connection permit-vpn on e, a menos que eu interprete mal esse comando, ele deve permitir o tráfego da VPN, independentemente das ACLs.

Além disso, o tráfego ICMP está sendo inspecionado, portanto, o tráfego de retorno deve retornar sem ser afetado pela lista de acesso (novamente, a menos que eu entenda mal a inspeção de tráfego)

Redes:

Dentro: 10.1.4.0/24
DMZ: 10.1.254.0/24
VPN: 10.1.10.0/24

Packet-tracer de DMZ para VPN

Type: NAT
Subtype: 
Result: ALLOW
Config:
nat (dmz,outside) source static DMZ_VLAN DMZ_VLAN destination static VPN VPN
Additional Information:
Static translate 10.1.254.1/0 to 10.1.254.1/0

O packet-tracer chega até o final com "Permitir" até o fim.

    
por Azz 21.10.2011 / 06:46

3 respostas

2

Fixo!

Eu não tenho certeza do que estava acontecendo para causar o problema, mas isso é o que parecia estar acontecendo.

Vamos revisitar as regras NAT novamente.

nat (inside,outside) source static any any destination static VPN VPN
nat (dmz,outside) source static DMZ_VLAN DMZ_VLAN destination static VPN VPN

Observe a diferença entre as duas regras que (supostamente) fazem a mesma coisa para interfaces diferentes.

A razão pela qual o NAT superior é assim ( any any ) é porque existem várias redes que podem vir de dentro da nossa rede, então pensamos em deixá-lo aberto seria mais fácil do que definir todas as redes que pudessem aparecer.

O problema que parece ter acontecido, foi que quando o tráfego vem da VPN, o ASA olha através de seus NATs aparentemente antes de decidir qual caminho tomará através do firewall. Por isso, irá verificar o tráfego em relação ao topo NAT, e ele combina porque definitivamente vai de VPN para qualquer um .. Considerando que o tráfego de retorno seria de DMZ_VLAN para VPN e, portanto, não corresponderia à regra superior.

Não tenho certeza se a correspondência entre o primeiro NAT faz com que o ASA direcione o tráfego para dentro ou se apenas perceba que o tráfego de saída corresponderá a um NAT diferente.

Depois de modificar a regra de NAT principal para ser mais específica:

nat (inside,outside) source static IN_VLANS IN_VLANS destination static VPN VPN

Tudo funciona perfeitamente!

Problema estranho ... mas parece que a moral da história é ser específica com tudo, mesmo quando você não acha que vai causar problemas ... porque pode.

    
por 28.10.2011 / 01:42
0

Ok, um pouco menos de confusão. Ainda assim - não estou vendo nenhuma definição de rede; O que faz você pensar usando nonat é útil em tudo aqui? As redes envolvidas poderiam resolver esse mistério, mas não sabemos neste momento.

Não é comum que uma DMZ (que tem IPs públicos) se conecte diretamente a uma VPN (o que na maioria das vezes não tem).

O seguinte chamou minha atenção:

So I put in a static no NAT rule for the DMZ subnet to the VPN:

nat (dmz,outside) source static DMZ_VLAN DMZ_VLAN destination static VPN VPN

No entanto, isso faz exatamente o oposto: nat (X,Y) é uma nat estática de Y para X

Também não é uma regra nonat .

Um nonat para uma VPN deve ser originado na outra interface:

nat 0 (outside,dmz) DMZ VPN

Isso apresenta os IPs da DMZ à interface da VPN sem aplicar as regras da interface externa.

Claro, você também pode fazer uma nat normal do lado de fora para a DMZ, mas isso geralmente é desencorajado porque você está criando acesso de segurança mais baixa a mais alta.

    
por 21.10.2011 / 08:21
0

Azz

Aceda à DMZ a partir de clientes VPN. Cisco ASA 9.x

Obrigado pela sua informação, uma vez que me ajudou a resolver o meu problema. Meu código ASA é 9.x, que não usa mais o nonats e, na verdade, usa NATs estáticos. Eu encontrei o mesmo que você, onde no meu firewall eu tinha algum any to any nats aplicado com redes VPN de destino. Remover isso e adicionar detalhes resolveu meu problema e posso confirmar o acesso ao Inside e ao DMZ de meus clientes VPN. Corrigi o meu problema com as seguintes linhas abaixo. Espero que isso ajude os outros.

Removidos os NATs com problemas, de qualquer para os IPs de rede VPN: 10.10.8.x

no nat (inside,any) source static any any destination static OBJ-10.10.8.0-24 OBJ-10.10.8.0-24 no-proxy-arp description NONAT
no nat (outside,any) source static any any destination static OBJ-10.10.8.0-24 OBJ-10.10.8.0-24 no-proxy-arp description NONAT

Adicionados NAT específicos para acesso interno e DMZ às redes VPN abaixo.

nat (inside,outside) source static NETWORK_OBJ_10.0.0.0_8 NETWORK_OBJ_10.0.0.0_8 destination static NETWORK_OBJ_10.10.8.0_24 NETWORK_OBJ_10.10.8.0_24 no-proxy-arp route-lookup
nat (dmz,outside) source static OBJ-10.10.7.0-24 OBJ-10.10.7.0-24 destination static NETWORK_OBJ_10.10.8.0_24 NETWORK_OBJ_10.10.8.0_24 no-proxy-arp route-lookup
    
por 08.10.2015 / 23:00

Tags