ASA5505 :: Lista de acesso permitir IP público na lista de portas (não alcance)

1

Esse é provavelmente um problema comum, mas não é possível encontrar uma solução.

Aqui está o problema: no ambiente do servidor web, há um conjunto de portas comuns que precisam ser abertas, para citar algumas: 21,25,53,80,110,143,3306, etc.

Eu sei como criar uma lista de acesso para permitir um ip externo em uma determinada porta e uma regra estática para direcionar o tráfego de porta para o IP interno. No entanto, cara, isso é muito trabalhoso fazer um único ip + regras de porta única quando você tem 15 IPs públicos, os quais precisam exatamente das mesmas 20 portas abertas.

Existe uma maneira de por ip público especificar uma lista de acesso de portas e uma regra estática correspondente? Basicamente eu gostaria de fazer isso em 30 linhas (15 ips públicos (1 lista de acesso + 1 estático)) contra 600!

Idéias muito apreciadas (neste caso, obviamente); -)

    
por virtualeyes 13.10.2011 / 19:55

3 respostas

1

Os grupos de objetos são seus amigos aqui. Supondo um cenário de pior caso em que seu bloco de endereço público não é contíguo e não há um mapeamento de sub-rede direto em sua sub-rede privada e que sua lista de acesso externa tem o nome padrão outside_access_in , será necessário configuração ao longo das linhas de ...

object-group network my-servers_pub
network-object host 1.1.1.1
network-object host 1.1.1.3
network-object host 1.1.1.5
...etc
...etc
network-object host 1.1.1.13
network-object host 1.1.1.15

object-group service my-tcp-ports tcp
port-object eq 21
port-object eq 25
port-object eq 80
port-object eq 110
port-object eq 143
port-object eq 3306

object-group service my-udp-ports udp
port-object eq 53

static (inside,outside) 1.1.1.1 192.168.1.2
static (inside,outside) 1.1.1.3 192.168.1.4
static (inside,outside) 1.1.1.5 192.168.1.7
...etc
...etc
static (inside,outside) 1.1.1.13 192.168.1.14
static (inside,outside) 1.1.1.15 192.168.1.16

access-list outside_access_in permit tcp any object-group my-servers_pub object-group my-tcp-ports
access-list outside_access_in permit udp any object-group my-servers_pub object-group my-udp-ports

Eu devo advertir que essa configuração precisará de alguns ajustes para funcionar no ASA versão 8.3 e acima, devido a algumas mudanças significativas que a Cisco fez com relação ao natting.

Se você tiver a sorte de ter espaço de endereço público contíguo e um mapeamento de host 1: 1, poderá condensar os grupos de objetos & estática em sub-redes:

object-group network my-servers_pub
network-object 1.1.1.0 255.255.255.240

static (inside,outside) 1.1.1.0 192.168.1.0 netmask 255.255.255.240

Você nem precisaria do grupo de objetos para seus hosts externos nesse cenário, mas fiz isso dessa forma apenas para mantê-lo consistente.

    
por 13.10.2011 / 21:19
2

Você pode usar static para mapear IPs de 1 para 1. Assim:

static (inside,outside) 1.2.3.1 192.168.0.1 netmask 255.255.255.255
static (inside,outside) 1.2.3.2 192.168.0.2 netmask 255.255.255.255
static (inside,outside) 1.2.3.3 192.168.0.3 netmask 255.255.255.255

(Estes podem ser condensados se o mapeamento estiver em ordem, como no exemplo)

Depois, tenha uma lista de acesso única, como:

access-list Outside_In ext permit tcp any any eq 21
access-list Outside_In ext permit tcp any any eq 25
access-list Outside_In ext permit tcp any any eq 53

access-group Outside_In in int Outside

Atenção! Isso abrirá todas as portas para todos os IPs mapeados. Se todos os seus servidores precisarem dessas portas de qualquer maneira, então é uma configuração muito mais rápida.

(Obviamente, mude os nomes das coisas conforme apropriado para o seu site)

    
por 13.10.2011 / 20:05
1

Ok, para a lista de acesso, você pode usar grupos de objetos para agrupá-los.

object-group network TAG
 network-object 192.168.1.2 255.255.255.255
 network-object 192.168.1.3 255.255.255.255
 network-object 192.168.1.4 255.255.255.255
 network-object 192.168.1.5 255.255.255.255

object-group protocol PROTO_TAG
 protocol-object tcp 80

access-list NAT_ME permit ip object-group TAG eq object-group PROTO_TAG 

static (outside,inside) IP access-list NAT_ME

Aviso justo Eu não testei isso em nada. É o que a documentação diz que deve funcionar.

    
por 13.10.2011 / 20:07