Este documento descreve como o redirecionamento de porta funciona no Cisco Adaptive Security Appliance (ASA) usando ASDM. Ele lida com o controle de acesso do tráfego através do ASA e de como as regras de tradução funcionam.
A Cisco recomenda que você tenha conhecimento destes tópicos:
As informações neste documento são baseadas nestas versões de software e hardware:
Cisco 5500 Series ASA versão 8.2
Cisco ASDM versão 6.3
Observação: essa configuração funciona bem somente no software Cisco ASA versão 8.0 a 8.2, pois não há alterações importantes na funcionalidade NAT.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.
Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.
Os esquemas de endereçamento IP usados nesta configuração não são legalmente roteáveis na Internet. Eles são endereços RFC 1918 que foram usados em um ambiente de laboratório.
O acesso externo descreve conexões de uma interface de nível de segurança mais elevado para uma interface de nível de segurança mais baixo. Isso inclui conexões de dentro para fora, dentro de DMZs (Zonas Desmilitarizadas) e DMZs para fora. Isso também pode incluir conexões de uma DMZ para outra, desde que a interface de origem da conexão possua um nível de segurança mais elevado do que a de destino.
Nenhuma conexão pode passar pelo Security Appliance sem uma regra de conversão configurada. Este recurso é chamado nat-control . A imagem mostrada aqui descreve como desativar isso por meio do ASDM para permitir conexões por meio do ASA sem qualquer conversão de endereço. No entanto, se você tiver qualquer regra de conversão configurada, desabilitar esse recurso não permanecerá válido para todo o tráfego e você precisará isentar explicitamente as redes da conversão de endereço.
Você pode permitir que um grupo de hosts/redes internos acesse o mundo externo configurando as regras de NAT dinâmico. Para fazer isso, você precisa selecionar o endereço real dos hosts/redes para receber acesso e eles precisam ser mapeados para um pool de endereços IP traduzidos.
Conclua estas etapas para permitir que hosts internos acessem redes externas com NAT:
Vá para Configuration > Firewall > NAT Rules, clique em Add e escolha a opção Add Dynamic NAT Rule para configurar uma regra NAT dinâmica.
Escolha o nome da interface à qual os hosts reais estão conectados. Escolha o endereço IP real dos hosts/redes usando o botão Details no campo Source.
Neste exemplo, toda a rede interna foi selecionada. Clique em OK para concluir a seleção.
Clique em Gerenciar para selecionar o pool de endereços IP para o qual a rede real será mapeada.
Clique em Add para abrir a janela Add Global Address Pool.
Escolha a opção Range e especifique os endereços IP inicial e final junto com a interface de saída. Além disso, especifique um ID de pool exclusivo e clique em Add para adicioná-los ao pool de endereços. Clique em OK para retornar à janela Gerenciar Pool Global.
Clique em OK para retornar à janela Adicionar regra de NAT dinâmico.
Clique em OK para concluir a configuração da regra de NAT dinâmico.
Clique em Aplicar para que as alterações entrem em vigor.
Observação: a opção Enable traffic through the firewall without address translation está desmarcada.
Esta é a saída CLI equivalente para esta configuração do ASDM:
nat-control global (outside) 10 209.165.200.20-209.165.200.40 netmask 255.255.255.192 nat (inside) 10 172.16.11.0 255.255.255.0
De acordo com essa configuração, os hosts na rede 172.16.11.0 serão convertidos para qualquer endereço IP do pool NAT, 209.165.200.20-209.165.200.40. Aqui, o ID do pool de NAT é muito importante. Você pode atribuir o mesmo pool NAT a outra rede interna/dmz. Se o pool mapeado tiver menos endereços do que o grupo real, você poderá ficar sem endereços se a quantidade de tráfego for maior do que o esperado. Como resultado, você poderia tentar implementar o PAT ou editar o pool de endereços existente para estendê-lo.
Observação: ao fazer qualquer modificação na regra de conversão existente, observe que você precisa usar o comando clear xlate para que essas modificações tenham efeito. Caso contrário, a conexão anterior existente permanecerá lá na tabela de conexão até que o tempo limite seja excedido. Tome cuidado ao usar o comando clear xlate, pois ele encerra imediatamente as conexões existentes.
Se desejar que os host internos compartilhem um único endereço público para a tradução, use o PAT. Se a declaração global especificar um endereço, esse endereço terá a porta traduzida. O ASA permite uma conversão de porta por interface e essa conversão suporta até 65.535 objetos xlate ativos para o endereço global único.
Conclua estas etapas para permitir que hosts internos acessem redes externas com PAT:
Vá para Configuration > Firewall > NAT Rules, clique em Add e escolha a opção Add Dynamic NAT Rule para configurar uma regra NAT dinâmica.
Escolha o nome da interface à qual os hosts reais estão conectados. Escolha o endereço IP real dos hosts/redes usando o botão Details no campo Source e escolha inside-network. Clique em Gerenciar para definir as informações de endereço traduzido.
Clique em Add.
Escolha a Port Address Translation (PAT) usando o endereço IP da interface e clique em Add para adicioná-la ao pool de endereços. Não se esqueça de atribuir uma ID exclusiva para esse pool de endereços NAT.
Aqui é mostrado o pool de endereços configurado com a interface externa como o único endereço disponível nesse pool. Clique em OK para retornar à janela Adicionar regra de NAT dinâmico.
Click OK.
A regra de NAT dinâmico configurada é mostrada aqui no painel Configuration > Firewall > NAT Rules.
Esta é a saída CLI equivalente para esta configuração PAT:
global (outside) 20 interface nat (inside) 20 172.16.11.0 255.255.255.0
Quando nenhuma regra de acesso é definida, os usuários de uma interface de segurança mais alta podem acessar qualquer recurso associado a uma interface de segurança mais baixa. Para restringir determinados usuários de acessar determinados recursos, use regras de acesso no ASDM. Este exemplo descreve como permitir que um único usuário acesse recursos externos (com FTP, SMTP, POP3, HTTPS e WWW) e como restringir todos os outros de acessar os recursos externos.
Observação: haverá uma regra de "Negação Implícita" no final de cada lista de acesso.
Conclua estes passos:
Vá para Configuration > Firewall > Access Rules, clique em Add e escolha a opção Add Access Rule para criar uma nova entrada de lista de acesso.
Escolha o endereço IP de origem que deve ser permitido no campo Source. Escolha any como o Destino, inside como a Interface e Permit como a Ação. Por fim, clique no botão Details no campo Service para criar um grupo de serviços TCP para as portas necessárias.
Clique em Add e escolha a opção TCP Service Group.
Digite um nome para este grupo. Escolha cada uma das portas necessárias e clique em Add para movê-las para o campo Members in Group (Membros no grupo).
Você deve ver todas as portas selecionadas no campo à direita. Clique em OK para concluir o processo de seleção de portas de serviço.
Você pode ver o grupo de serviços TCP configurado aqui. Click OK.
Clique em OK para concluir a configuração.
A regra de acesso configurada pode ser vista na interface interna no painel Configuração > Firewall > Regras de acesso.
Para facilitar o uso, você também pode editar o grupo de serviços TCP diretamente no painel direito na guia Serviços. Clique em Edit para modificar este grupo de serviços diretamente.
Ele redireciona novamente para a janela Editar grupo de serviços TCP. Execute modificações com base em seus requisitos e clique em OK para salvar as alterações.
Aqui é mostrada uma visão completa do ASDM:
Esta é a configuração CLI equivalente:
object-group service Permit-172.16.10.100 TCP port-object eq ftp port-object eq ftp-data port-object eq www port-object eq https port-object eq pop3 port-object eq smtp ! access-list inside_access_in extended permit TCP host 172.16.10.100 any object-group Permit-172.16.10.100 ! access-group inside_access_in in interface inside !
Para obter informações completas sobre a implementação do controle de acesso, consulte Adicionar ou Modificar uma Lista de Acesso através da GUI do ASDM.
Esta seção descreve como ativar o tráfego nas interfaces que têm os mesmos níveis de segurança.
Essas instruções descrevem como ativar a comunicação entre interfaces.
Isso será útil para o tráfego VPN que entra em uma interface, mas é então roteado para fora da mesma interface. O tráfego VPN pode ser descriptografado nesse caso ou pode ser criptografado novamente para outra conexão VPN. Vá para Configuration > Device Setup > Interfaces e escolha a opção Enable traffic between two or more hosts connected to the same interface.
Essas instruções descrevem como ativar a comunicação entre interfaces.
Isso é útil para permitir a comunicação entre interfaces com níveis de segurança iguais. Vá para Configuration > Device Setup > Interfaces e escolha a opção Enable traffic between two or more interfaces which are configured with same security levels.
Esta é a CLI equivalente para ambas as configurações:
same-security-traffic permit intra-interface same-security-traffic permit inter-interface
Isso pode ser obtido por meio da aplicação de uma conversão de NAT estático e uma regra de acesso para permitir esses hosts. Você precisa configurá-lo sempre que um usuário externo desejar acessar qualquer servidor que esteja em sua rede interna. O servidor na rede interna terá um endereço IP privado que não é roteável na Internet. Como resultado, você precisa converter esse endereço IP privado em um endereço IP público por meio de uma regra de NAT estático. Suponha que você tenha um servidor interno (172.16.11.5). Para que isso funcione, você precisa converter esse IP de servidor privado em um IP público. Este exemplo descreve como implementar o NAT estático bidirecional para converter 172.16.11.5 em 209.165.200.5.
A seção sobre como permitir que o usuário externo acesse esse servidor Web implementando uma regra de acesso não é mostrada aqui. Um breve trecho da CLI é mostrado aqui para sua compreensão:
access-list 101 permit TCP any host 209.165.200.5
Para obter mais informações, consulte Adicionar ou Modificar uma Lista de Acesso através da GUI do ASDM.
Observação: especificar a palavra-chave "any" permite que qualquer usuário externo acesse esse servidor. Além disso, se não for especificado para nenhuma porta de serviço, o servidor poderá ser acessado em qualquer porta de serviço, pois elas permanecerão abertas. Tenha cuidado ao implementar o, e você é recomendado limitar a permissão ao usuário externo individual e também à porta necessária no servidor.
Conclua estas etapas para configurar o NAT estático:
Vá para Configuration > Firewall > NAT Rules, clique em Add e escolha Add Static NAT Rule.
Especifique o endereço IP original e o endereço IP convertido, juntamente com suas interfaces associadas, e clique em OK.
Você pode ver a entrada de NAT estático configurada aqui. Clique em Apply para enviar isso ao ASA.
Este é um breve exemplo de CLI para esta configuração do ASDM:
! static (inside,outside) 209.165.200.5 172.16.11.5 netmask 255.255.255.255 !
Quando você precisar isentar hosts ou redes específicos do NAT, adicione uma Regra de isenção de NAT para desabilitar a conversão de endereço. Isso permite que os hosts traduzidos e remotos iniciem conexões.
Conclua estes passos:
Vá para Configuration > Firewall > NAT Rules, clique em Add e escolha Add NAT Exempt Rule.
Aqui, a rede interna 172.18.10.0 foi isenta da conversão de endereço. Verifique se a opção Isento foi selecionada. A direção isenta de NAT tem duas opções:
Tráfego de saída para interfaces de segurança mais baixas
Tráfego de entrada para interfaces de segurança mais alta
A opção padrão é para o tráfego de saída. Clique em OK para concluir a etapa.
Observação: quando você escolhe a opção Não isentar, esse host específico não será isento de NAT e uma regra de acesso separada será adicionada com a palavra-chave "deny". Isso é útil para evitar hosts específicos de NAT isentos, pois a sub-rede completa, excluindo esses hosts, será isenta de NAT.
Você pode ver a regra de isenção de NAT para a direção de saída aqui. Clique em Apply para enviar a configuração ao ASA.
Esta é a saída CLI equivalente para sua referência:
access-list inside_nat0_outbound extended permit ip host 172.18.10.0 any ! nat (inside) 0 access-list inside_nat0_outbound
Aqui você pode ver como editar a regra de isenção de NAT para sua direção. Clique em OK para que a opção entre em vigor.
Agora você pode ver que a direção foi alterada para entrada.
Clique em Apply para enviar esta saída CLI para o ASA:
access-list inside_nat0_outbound extended permit ip host 172.18.10.0 any ! nat (inside) 0 access-list inside_nat0_outbound outside
Observação: a partir disso, você pode ver que uma nova palavra-chave (externa) foi adicionada ao final do comando nat 0. Esse recurso é chamado de NAT externo.
Outra maneira de desativar o NAT é através da implementação do NAT de identidade. O NAT de identidade converte um host no mesmo endereço IP. Este é um exemplo de NAT de identidade estática regular, em que o host (172.16.11.20) é convertido para o mesmo endereço IP quando é acessado de fora.
Esta é a saída CLI equivalente:
! static (inside,outside) 172.16.11.20 172.16.11.20 netmask 255.255.255.255 !
O encaminhamento de portas ou o redirecionamento de portas é um recurso útil no qual os usuários externos tentam acessar um servidor interno em uma porta específica. Para conseguir isso, o servidor interno, que tem um endereço IP privado, será convertido em um endereço IP público que, por sua vez, tem acesso permitido para a porta específica.
Neste exemplo, o usuário externo deseja acessar o servidor SMTP, 209.165.200.15 na porta 25. Isso é feito em duas etapas:
Converta o servidor de correio interno, 172.16.11.15 na porta 25, para o endereço IP público, 209.165.200.15 na porta 25.
Permita o acesso ao servidor de correio público, 209.165.200.15 na porta 25.
Quando o usuário externo tentar acessar o servidor, 209.165.200.15 na porta 25, esse tráfego será redirecionado para o servidor de correio interno, 172.16.11.15 na porta 25.
Vá para Configuration > Firewall > NAT Rules, clique em Add e escolha Add Static NAT Rule.
Especifique a origem original e o endereço IP traduzido, juntamente com suas interfaces associadas. Escolha Enable Port Address Translation (PAT), especifique as portas a serem redirecionadas e clique em OK.
A regra de PAT estático configurada é vista aqui:
Esta é a saída CLI equivalente:
! static (inside,outside) TCP 209.165.200.15 smtp 172.16.11.15 smtp netmask 255.255.255.255 !
Esta é a regra de acesso que permite que o usuário externo acesse o servidor smtp público em 209.165.200.15:
Observação: certifique-se de usar hosts específicos em vez de usar a palavra-chave any na origem da regra de acesso.
Você pode especificar o número máximo de conexões TCP/UDP usando a Regra estática. Você também pode especificar o número máximo de conexões embrionárias. Uma conexão embrionária é uma conexão que está em um estado semiaberto. Um número maior deles afetará o desempenho do ASA. Limitar essas conexões impedirá certos ataques como DoS e SYN até certo ponto. Para atenuação completa, você precisa definir a política na estrutura do MPF, que está além do escopo deste documento. Para obter informações adicionais sobre esse tópico, consulte Mitigação dos ataques à rede.
Conclua estes passos:
Clique na guia Configurações de conexão e especifique os valores para o máximo de conexões para esta tradução estática.
Estas imagens mostram os limites de conexão para esta tradução estática específica:
Esta é a saída CLI equivalente:
! static (inside,outside) TCP 209.165.200.15 smtp 172.16.11.15 smtp netmask 255.255.255.255 TCP 100 50 !
Esta seção trata da implementação de listas de acesso baseadas em tempo usando o ASDM. As regras de acesso podem ser aplicadas com base no tempo. Para implementar isso, você precisa definir um intervalo de tempo que especifique os horários por dia/semana/mês/ano. Em seguida, você precisa vincular esse intervalo de tempo à regra de acesso necessária. O intervalo de tempo pode ser definido de duas maneiras:
Absoluto - Define um período com hora de início e hora de término.
Periódico - Também conhecido como recorrente. Define um período de tempo que ocorre em intervalos especificados.
Observação: antes de configurar o intervalo de tempo, certifique-se de que o ASA tenha sido configurado com as configurações de data/hora corretas, pois esse recurso usa as configurações do relógio do sistema para implementar. Ter o ASA sincronizado com o servidor NTP produzirá resultados muito melhores.
Conclua estas etapas para configurar esse recurso por meio do ASDM:
Ao definir a regra de acesso, clique no botão Detalhes no campo Intervalo de tempo.
Clique em Add para criar um novo intervalo de tempo.
Defina o nome do intervalo de tempo e especifique a hora inicial e final. Click OK.
Você pode ver o intervalo de tempo aqui. Clique em OK para retornar à janela Adicionar regra de acesso.
Agora você pode ver que o intervalo de tempo de Uso Restrito foi associado a essa regra de acesso.
De acordo com essa configuração de regra de acesso, o usuário em 172.16.10.50 foi impedido de usar qualquer recurso de 05/Fev/2011 14 às 06/Fev/2011 16 4.30 PM. Esta é a saída CLI equivalente:
time-range Restrict-Usage absolute start 14:00 05 February 2011 end 16:30 06 February 2011 ! access-list inside_access_out extended deny ip host 172.16.10.50 any time-range Restrict-Usage ! access-group inside_access_out in interface inside
Aqui está um exemplo de como especificar um intervalo de tempo recorrente. Clique em Add para definir um intervalo de tempo recorrente.
Especifique as configurações com base em seus requisitos e clique em OK para concluir.
Clique em OK para retornar à janela Intervalo de tempo.
De acordo com essa configuração, o usuário em 172.16.10.50 teve o acesso negado a qualquer recurso das 15h às 20h em todos os dias da semana, exceto sábado e domingo.
! time-range Restrict-Usage absolute start 00:00 05 February 2011 end 00:30 06 March 2011 periodic weekdays 15:00 to 20:00 ! access-list inside_access_out extended deny ip host 172.16.10.50 any time-range Restrict-Usage ! access-group inside_access_out in interface inside
Observação: se um comando time-range tiver valores absolutos e periódicos especificados, os comandos periodic serão avaliados somente depois que o horário de início absoluto for atingido e não serão avaliados depois que o horário de término absoluto for atingido.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
30-May-2011 |
Versão inicial |