Configurando ACLs de IP Comumente Utilizadas Índice Introdução Pré-requisitos Requisitos Componentes Utilizados Convenções Exemplos de Configuração Permitir que um Host Selecionado Acesse a Rede Negar o Acesso de um Host Selecionado à Rede Permitir o Acesso a uma Faixa de Endereços IP Contíguos Negar Tráfego Telnet (TCP, Porta 23) Permitir que Apenas Redes Internas Iniciem uma Sessão de TCP Negar Tráfego FTP (TCP, Porta 21) Permitir Tráfego FTP (FTP Ativo) Permitir Tráfego FTP (FTP Passivo) Permitir Pings (ICMP) Permitir HTTP, Telnet, Correio, POP3, FTP Permitir DNS Permitir Atualizações de Roteamento Depurar o Tráfego Baseado em ACL Verificação Troubleshooting Introdução Este documento fornece configurações de exemplo para as ACLs (Access Control Lists) de IP comumente utilizadas que filtram pacotes IP baseados em: Endereço de origem Endereço de destino Tipo de Pacote Qualquer combinação desses itens Para filtrar o tráfego de uma rede, as ACLs controlam se os pacotes roteados são encaminhados ou bloqueados na interface do roteador. Seu roteador examina cada pacote para determinar se ele encaminhará ou descartará o pacote com base nos critérios especificados na ACL. Os critérios da ACL incluem: O endereço de origem do tráfego O endereço de destino do tráfego O protocolo da camada superior Conclua estas etapas para construir uma ACL da forma mostrada nos exemplos deste documento: 1. 2. Crie uma ACL. Aplique a ACL a uma interface. A ACL de IP é uma coleção seqüencial de condições de permissão e negação que se aplica a um pacote IP. O roteador testa os pacotes em relação às condições na ACL, uma de cada vez.
A primeira correspondência determina se o Cisco IOS Software aceita ou rejeita o pacote. Como o Cisco IOS Software pára de testar as condições após a primeira correspondência, a ordem das condições é crítica. Se nenhuma das condições for atendida, o roteador rejeitará o pacote devido a uma cláusula implícita de negação total. Exemplos de ACLs de IP que podem ser configuradas no Cisco IOS Software são: ACLs padrões ACLs estendidas ACLs dinâmicas (lock and key) ACLs nomeadas de IP ACLs reflexivas ACLs com base em tempo que utilizam intervalos Entradas de ACL de IP comentadas ACLs baseadas em serviços Proxy de autenticação Turbo ACLs ACLs distribuídas baseadas em tempo Este documento discute algumas ACLs estendidas e padrão comumente utilizadas. Consulte Configurando Listas de Acesso de IP para obter mais informações sobre os diferentes tipos de ACLs com suporte no Cisco IOS Software e como configurar e editar ACLs. O formato da sintaxe do comando de uma ACL padrão éaccess-list access-list-number {permit deny} {host source source-wildcard any}. As ACLs Padrão (somente clientes registrados) controlam o tráfego comparando o endereço de origem dos pacotes IP com os endereços configurados na ACL. As ACLs Estendidas (somente clientes registrados) controlam o tráfego comparando os endereços de origem e de destino dos pacotes IP com os endereços configurados na ACL. É possível também tornar as ACLs estendidas mais granulares e configuradas para filtrar o tráfego por critérios como: Protocolo Números de porta Valor de DSCP (ponto de código de serviços diferenciados) Valor de precedência Estado do bit SYN (número de seqüência de sincronização) Os formatos da sintaxe dos comandos de ACLs estendidas são: IP access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny permit} protocol source source-wildcard destination destination-wildcard [precedence precedence] [tos tos] [log log-input] [time-range time-range-name][fragments] ICMP (Internet Control Message Protocol) access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny permit} icmp source source-wildcard destination destination-wildcard [icmp-type
[icmp-code] [icmp-message]] [precedenceprecedence] [tos tos] [log log-input] [time-range time-range-name][fragments] TCP (Transmission Control Protocol) access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny permit} tcp source source-wildcard [operator [port]] destination destination-wildcard [operator [port]] [established] [precedence precedence] [tos tos] [log log-input] [time-range time-range-name][fragments] UDP (User Datagram Protocol) access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny permit} udp source source-wildcard [operator [port]] destination destination-wildcard [operator [port]] [precedence precedence] [tos tos] [log log-input] [time-range time-range-name][fragments] Consulte Comandos de Serviços IP para obter a referência de comandos de uma ACL. Pré-requisitos Requisitos Certifique-se de que este requisito seja atendido antes de experimentar esta configuração: Compreensão básica do endereçamento IP Consulte Endereçamento IP e Sub-rede para Novos Usuários para obter mais informações. Componentes Utilizados Este documento não se restringe a versões de software e hardware específicas. Convenções Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos. Exemplos de Configuração Os exemplos de configuração a seguir usam as ACLs de IP mais comuns. Nota: Use a Command Lookup Tool (somente clientes registrados) para obter mais informações sobre os comandos usados nesta seção. Permitir que um Host Selecionado Acesse a Rede Esta figura mostra um host selecionado recebendo permissão para acessar a rede. Todo tráfego proveniente de Host B com destino a NetA é permitido e todo tráfego proveniente de NetB com destino a NetA é negado. A saída na tabela mostra como a rede concede acesso ao host. Esta saída mostra que: A configuração permite somente o host com o endereço IP 192.168.10.1 por meio da interface Ethernet 0 em. Este host tem acesso aos serviços IP de NetA. Nenhum outro host em NetB tem acesso a NetA.
Nenhuma instrução de negação está configurada na ACL. Por padrão, uma cláusula de negação total está implícita no final de cada ACL. Tudo o que não é explicitamente permitido é negado. hostname ip access-group 1 in access-list 1 permit host 192.168.10.1 Nota: A ACL filtra os pacotes IP de NetB para NetA, exceto os pacotes provenientes de NetB. Os pacotes destinados a Host B a partir de NetA ainda são permitidos. Nota: A ACL access-list 1 permit 192.168.10.1 0.0.0.0 é outra maneira de configurar a mesma regra. Negar o Acesso de um Host Selecionado à Rede Esta figura mostra que o tráfego proveniente de Host B com destino a NetA é negado, enquanto que o tráfego de NetB com destino a NetA é permitido. Esta configuração recusa todos os pacotes do host 192.168.10.1/32 por meio da Ethernet 0 em e permite todo o resto. Você deve usar o comando access list 1 permit any para permitir explicitamente todo o tráfego restante porque há uma cláusula implícita de negação total em cada ACL. hostname ip access-group 1 in access-list 1 deny host 192.168.10.1 access-list 1 permit any Nota: A ordem das instruções é essencial para a operação de uma ACL. Se a ordem das entradas for invertida, como mostra este comando, a primeira linha corresponderá ao endereço de origem de cada pacote. Portanto, a ACL falhará ao impedir que o host 192.168.10.1/32 acesse a rede NetA. access-list 1 permit any access-list 1 deny host 192.168.10.1 Permitir o Acesso a uma Faixa de Endereços IP Contíguos Esta figura mostra que todos os hosts em NetB com o endereço de rede 192.168.10.0/24 podem acessar a rede 192.168.200.0/24 em NetA. Esta configuração permite que os pacotes IP com um cabeçalho IP que possua o endereço de origem na rede 192.168.10.0/24 e o endereço de
destino na rede 192.168.200.0/24 acessem NetA. A cláusula implícita de negação total no final da ACL impede a passagem de qualquer outro tráfego pela Ethernet 0 de entrada em. hostname ip access-group 101 in access-list 101 permit ip 192.168.10.0 0.0.0.255 192.168.200.0 0.0.0.255 Nota: No comando access-list 101 permit ip 192.168.10.0 0.0.0.255 192.168.200.0 0.0.0.255, "0.0.0.255" é a máscara inversa da rede 192.168.10.0 com máscara 255.255.255.0. As ACLs usam a máscara inversa para saber quantos bits do endereço de rede precisam coincidir. Na tabela, a ACL permite todos os hosts com endereços de origem na rede 192.168.10.0/24 e endereços de destino na rede 192.168.200.0/24. Consulte a seção Máscaras de Configurando Listas de Acesso IP para obter mais informações sobre a máscara de um endereço de rede e como calcular a máscara inversa necessária para as ACLs. Negar Tráfego Telnet (TCP, Porta 23) Para atender a questões de segurança maiores, talvez seja necessário desabilitar o acesso de Telnet da rede pública à rede privada. Esta figura mostra como o tráfego Telnet de NetB (pública) com destino a NetA (privada) é negado, o que permite que NetA inicie e estabeleça uma sessão de Telnet com NetB enquanto qualquer outro tráfego é permitido. O Telnet usa a porta 23 do TCP. Esta configuração mostra que todo tráfego TCP destinado a NetA para a porta 23 está bloqueado e todo tráfego IP restante está permitido. hostname access-list 102 deny tcp any any eq 23 access-list 102 permit ip any any Permitir que Apenas Redes Internas Iniciem uma Sessão de TCP Esta figura mostra que o tráfego TCP proveniente de NetA com destino a NetB é permitido, enquanto qualquer outro tráfego TCP de NetB com destino a NetA é negado. A finalidade da ACL neste exemplo é: Permitir que os hosts em NetA iniciem e estabeleçam uma sessão de TCP para hosts em NetB. Impedir que os hosts em NetB iniciem e estabeleçam uma sessão de TCP para hosts em NetA.
Esta configuração permitirá que um datagrama passe pela interface Ethernet 0 em quando o datagrama possuir: Um conjunto de bits ACK (Acknowledged) ou RST (reset) (indicando uma sessão de TCP estabelecida) Um valor de porta de destino maior que 1023 hostname access-list 102 permit tcp any any gt 1023 established Como a maioria das portas bem conhecidas dos serviços IP usam valores menores que 1023, qualquer datagrama com uma porta de destino menor que 1023 ou um bit ACK/RST não definido é negado pela ACL 102. Portanto, quando um host de NetB inicia uma conexão de TCP enviando o primeiro pacote TCP (sem sincronizar/iniciar o conjunto de bits de pacote (SYN/RST)) para um número de porta menor que 1023, ela é negada e a sessão de TCP falha. As sessões de TCP iniciadas em NetA com destino a NetB são permitidas porque possuem um conjunto de bits ACK/RST para retornar os pacotes e usam valores de porta maiores que 1023. Consulte a RFC 1700 para obter uma lista completa de portas. Negar Tráfego FTP (TCP, Porta 21) Esta figura mostra que o tráfego de FTP (TCP, porta 21) e de dados de FTP (porta 20 ) originados em NetB com destino a NetA é negado enquanto qualquer outro tráfego de IP é permitido. O FTP usa a porta 21 e a porta 20. O tráfego TCP destinado às portas 20 e 21 é negado e o restante é explicitamente permitido. hostname access-list 102 deny tcp any any eq ftp access-list 102 deny tcp any any eq ftp-data access-list 102 permit ip any any Permitir Tráfego FTP (FTP Ativo) O FTP apresenta dois modos de operação diferentes chamados ativo e passivo. Consulte Operação do FTP para compreender como o FTP ativo e passivo funciona. Quando o FTP opera no modo ativo, o servidor FTP usar a porta 21 para controle e a porta 20 para dados. O servidor FTP (192.168.1.100) está localizado em NetA. Esta figura mostra que o tráfego FTP (TCP, porta 21 ) e de dados FTP (porta 20) proveniente de NetB com destino ao servidor FTP (192.168.1.100) é permitido, enquanto todo o tráfego IP restante é negado.
hostname access-list 102 permit tcp any host 192.168.1.100 eq ftp access-list 102 permit tcp any host 192.168.1.100 eq ftp-data established interface ethernet1 ip access-group 110 in access-list 110 permit host 192.168.1.100 eq ftp any established access-list 110 permit host 192.168.1.100 eq ftp-data any Permitir Tráfego FTP (FTP Passivo) O FTP apresenta dois modos de operação diferentes chamados ativo e passivo. Consulte Operação do FTP para compreender como o FTP ativo e passivo funciona. Quando o FTP opera no modo passivo, o servidor FTP usa a porta 21 para controle e as portas dinâmicas maiores ou iguais a 1024 para dados. O servidor FTP (192.168.1.100) está localizado em NetA. Esta figura mostra que o tráfego FTP (TCP, porta 21) e de dados FTP (portas maiores ou iguais a 1024) proveniente de NetB com destino ao servidor FTP (192.168.1.100) é permitido, enquanto todo o tráfego IP restante é negado. hostname access-list 102 permit tcp any host 192.168.1.100 eq ftp access-list 102 permit tcp any host 192.168.1.100 gt 1024 interface ethernet1 ip access-group 110 in access-list 110 permit host 192.168.1.100 eq ftp any established access-list 110 permit host 192.168.1.100 gt 1024 any established Permitir Pings (ICMP) Esta figura mostra que o tráfego ICMP proveniente de NetA com destino a NetB é permitido e os pings provenientes de NetB com destino a NetA são negados. Essa configuração permite que apenas pacotes de resposta de eco (resposta de ping) cheguem na interface Ethernet 0 a partir de NetB em direção a NetA. Entretanto, a configuração bloqueia todos os pacotes de pedido de eco ICMP quando os pings são provenientes de NetB e destinados a NetA. Portanto, os hosts de NetA podem enviar ping aos hosts de NetB, mas estes não podem enviar ping aos hosts de NetA.
hostname access-list 102 permit icmp any any echo-reply Permitir HTTP, Telnet, Correio, POP3, FTP Esta figura mostra que apenas o tráfego de HTTP, Telnet, SMTP, POP3 e FTP é permitido. Qualquer outro tráfego proveniente de NetB com destino a NetA é negado. Essa configuração permite o tráfego TCP com valores de porta de destino correspondentes a WWW (porta 80), Telnet (porta 23), SMTP (porta 25), POP3 (porta 110), FTP (porta 21) ou dados FTP (porta 20). Observe que uma cláusula de negação total no final de uma ACL nega qualquer outro tráfego que não atende às cláusulas de permissão. hostname access-list 102 permit tcp any any eq www access-list 102 permit tcp any any eq telnet access-list 102 permit tcp any any eq smtp access-list 102 permit tcp any any eq pop3 access-list 102 permit tcp any any eq 21 access-list 102 permit tcp any any eq 20 Permitir DNS Esta figura mostra que apenas o tráfego de DNS (Domain Name System) é permitido. Qualquer outro tráfego proveniente de NetB com destino a NetA é negado. Essa configuração permite tráfego TCP com valor de porta de destino 53. A cláusula implícita de negação total no final de uma ACL nega qualquer outro tráfego que não atende às cláusulas de permissão. hostname access-list 112 permit udp any any eq domain access-list 112 permit udp any eq domain any access-list 112 permit tcp any any eq domain access-list 112 permit tcp any eq domain any
Permitir Atualizações de Roteamento Ao aplicar uma ACL de entrada em uma interface, assegure-se de que as atualizações do roteamento não sejam retidas pelo filtro. Use a ACL relevante desta lista para permitir os pacotes de protocolo de roteamento. Execute este comando para permitir o RIP (Routing Information Protocol): access-list 102 permit udp any any eq rip Execute este comando para permitir o IGRP (Interior Gateway Routing Protocol): access-list 102 permit igrp any any Execute este comando para permitir o EIGRP (Enhanced IGRP): access-list 102 permit eigrp any any Execute este comando para permitir o OSPF (Open Shortest Path First): access-list 102 permit ospf any any Execute este comando para permitir o BGP (Border Gateway Protocol): access-list 102 permit tcp any any eq 179 access-list 102 permit tcp any eq 179 any Depurar o Tráfego Baseado em ACL O uso de comandos debug requer a alocação de recursos do sistema, como memória e capacidade de processamento e, em situações extremas, poderá travar um sistema muito sobrecarregado. Use esses comandos com cautela. Use uma ACL para definir seletivamente o tráfego que precisa ser examinado a fim de reduzir o impacto do comando debug. Essa configuração não filtra pacotes. Essa configuração ativa o comando debug ip packet apenas para pacotes entre os hosts 10.1.1.1 e 172.16.1.1. (config)#access-list 199 permit tcp host 10.1.1.1 host 172.16.1.1 (config)#access-list 199 permit tcp host 172.16.1.1 host 10.1.1.1 (config)#end #debug ip packet 199 detail IP packet debugging is on (detailed) for access list 199 Consulte Informações Importantes sobre Comandos Debug para obter mais informações sobre o impacto desses comandos. Consulte a seção Usar o Comando Debug de Compreendendo os Comandos Ping e Traceroute para obter mais informações sobre o uso de ACLs com comandos debug. Verificação No momento, não há procedimento de verificação disponível para esta configuração. Troubleshooting No momento, não há informações de troubleshooting disponíveis para esta configuração. 1992-2014 Cisco Systems Inc. Todos os direitos reservados.
Data da Geração do PDF: 17 Julho 2008 http://www.cisco.com/cisco/web/support/br/8/85/85719_aclsamples.html