Sub-rede DMZ: para NAT ou não para NAT?

7

Estou pensando em configurar um DMZ atrás de um Cisco ASA que contenha um grande número de balanceadores de carga front-end HTTP e serviços de descarregamento de SSL - mais de 100 IPs, concentrados em um número menor de hosts.

No passado, mantive todos os hosts em IPs privados RFC1918 e adicionei mapeamentos estáticos (IP por IP) para cada serviço que eu normalmente exporia em uma DMZ. Isso ficou chato quando começamos a adicionar IPs DMZ adicionais a uma taxa rápida o suficiente para que fique cada vez mais chato configurar cada um deles individualmente. Gostaria de alterá-lo para que uma sub-rede DMZ inteira seja configurada para permitir HTTP e HTTPS de fora - > dmz, para que os balanceadores de carga possam simplesmente pegar novos IPs conforme necessário sem atualizar a configuração ASA toda vez.

O que eu estou querendo saber agora é se faz sentido que o DMZ esteja em uma sub-rede RFC1918 e use um NAT estático em toda a sub-rede, ou se devo deixar a DMZ ser minha alocação de IPs externos diretamente, e dependem exclusivamente de listas de acesso e isenção de identidade NAT / NAT.

Algumas obras de arte ASCII em bruto:

Example using direct outside IP addresses:
  Internet  ---> ASA ---> Internal (10.1.0.0/16)
                  |
                  +-----> DMZ (1.2.3.0/24)

Example using NATed IP addresses:
  Internet  ---> ASA ---> Internal (10.1.0.0/16)
                  |
     (1.2.3.0/24) +-----> DMZ (10.99.0.0/24)

A vantagem que vejo ao usar o endereço NAT é a portabilidade - não preciso renumerar minha DMZ interna se meu provedor de upstream e alocação mudarem. A desvantagem é a complexidade - agora tenho que lidar com endereços IP internos versus externos em minha própria rede, etc. Em sua experiência, qual configuração funciona melhor?

    
por natacado 25.07.2011 / 06:46

2 respostas

8

Existem razões para ir em qualquer direção que você e outros mencionaram.

Ter uma camada (tipo de trocadilho) de abstração na forma de static 1: 1 NAT é legal, já que você provavelmente não precisará renumerar os hosts internos se o seu bloco de WAN IP mudar. No entanto, as complexidades e nuances que o NAT introduz no fluxo de pacotes por meio de um ASA podem ser problemáticas quando comparadas a roteamento simples e verificações de ACL.

Meu ponto de vista pessoal é que o NAT está aqui para ficar com o IPv4. Para pilhas IPv4 em hosts, não tenho nenhum problema com o NAT estático no firewall upstream. Para pilhas IPv6 em hosts, no entanto, não há NAT. No ASA, IPv4 e IPv6 podem ser executados lado a lado, com NAT para IPv4 e roteamento tradicional para IPv6.

Existe um outro motivo pelo qual você pode querer usar o NAT estático e lidar com o crescimento. O ASA não suporta secondary endereços IP nas interfaces . Digamos que seu upstream aloca um / 26 roteado diretamente para a interface externa do seu ASA. Você configura a interface dmz do seu ASA com o primeiro IP do host na sub-rede IP deixando 64 - 2 - 1 = 61 IPs de host válidos na sub-rede a ser usada pelos seus servidores.

Se você usar todos os 61 IPs de host restantes e precisar de mais, vá para upstream e diga: hey, preciso de outro / 26. Eles dão a você e encaminham novamente, diretamente para o IP externo do seu ASA. Você não pode atribuir o primeiro IP do host no segundo bloco à interface dmz do seu ASA como um endereço IP secondary , como acontece com o IOS. Isso deixa você com algumas opções -

  • Crie outra interface dmz2 no ASA (não desejável)
  • Devolva o / 26, solicite um / 25 e renumere internamente (não desejável)
  • Executar NAT estático (o que estamos argumentando contra fazer neste exemplo)

Em seguida, tome o mesmo paradigma - dessa vez com NAT estático 1: 1 fora < - > dmz desde o começo. Usamos todos os IPs disponíveis em nosso primeiro / 26 em NAT estáticos 1: 1. Solicitamos um segundo / 26 -

  • Você pode solicitar diretamente a rota upstream diretamente para seu IP de interface externa ASA - salvando alguns endereços, pois o upstream não terá que atribuir um endereço no bloco como secondary Endereço IP em seu equipamento para ser usado como um gateway, mesmo que você não precise dele. Observe que a maioria dos provedores considera os 3 primeiros endereços IP do host como parte do VRRP / HSRP, reduzindo seus usos.
  • Se você não solicitar o encaminhamento direto do bloco, o upstream normalmente executará a segunda metade da opção anterior. O ASA, em seguida, o proxy ARP (como provavelmente faz com o primeiro bloco, dependendo de como ele é configurado) para o tráfego entregue localmente para esses IPs no domínio de broadcast do qual a interface externa é membro.

Lesson: If you already have a public IP block on your outside interface, always request that subsequent blocks be directly routed to your outside interface IP. This will give you additional usable IP's and you can still static NAT just fine.

Não importa o direcionamento direto ou o proxy ASA arp - com o NAT estático 1: 1 você pode começar a usar o segundo / 26 sem ter que mexer com a sub-rede dmz. Uma vez que você supere sua sub-rede dmz, você terá que fazer algumas acomodações - mas, novamente, há uma camada de abstração e você não precisa se preocupar com o lado da WAN.

Resposta final: Depende, mas com o IPv4 eu me inclino para o NAT no seu caso.

    
por 27.07.2011 / 03:31
3

Eu não seria NAT. Não há valor real para isso. O trabalho irritante em renumerar não é adicionar / remover endereços, é lidar com toda a porcaria que o rodeia, como a transição do DNS.

    
por 25.07.2011 / 07:57