O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve vários tipos de Listas de Controle de Acesso (ACLs - Access Control Lists) IP e como elas podem filtrar o tráfego de rede.
Não existem requisitos específicos para este documento. Os conceitos discutidos estão presentes no Cisco IOS® Software Releases 8.3 ou posterior. Isso é observado abaixo de cada recurso da lista de acesso.
Este documento discute vários tipos de ACL. Alguns estão presentes desde os Cisco IOS Software Releases 8.3. Já outros foram introduzidos em software releases posteriores. Isso é observado na discussão de cada tipo.
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 rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Consulte as Convenções de dicas técnicas da Cisco para obter mais informações sobre as convenções do documento.
Este documento descreve como as listas de controle de acesso de IP podem filtrar o tráfego da rede. Também contém descrições breves dos tipos ACL IP, disponibilidade de recurso e um exemplo de uso em uma rede.
Observação: o RFC 1700 contém números atribuídos de portas conhecidas. O RFC 1918 contém alocação de endereço para Internet privadas, endereços IP que normalmente não devem ser vistos na Internet.
Observação: somente usuários registrados da Cisco podem acessar informações internas.
Observação: as ACLs também podem ser usadas para definir o tráfego para o Network Address Translate (NAT), criptografar ou filtrar protocolos não IP, como AppleTalk ou IPX. Uma discussão sobre essas funções está fora do escopo deste documento.
As máscaras são usadas com endereços IP nas ACLs IP para especificar o que deve ser permitido e negado. As máscaras usadas para configurar endereços IP em interfaces começam com 255 e têm os grandes valores no lado esquerdo, por exemplo, endereço IP 10.165.202.129 com uma máscara 255.255.255.224. As máscaras para ACLs de IP são o inverso (por exemplo, a máscara 0.0.0.255). Essa é chamada às vezes de máscara inversa ou máscara de caractere geral. Quando o valor da máscara é dividido em binário (0s e 1s), os resultados determinam quais bits de endereço considerar quando o tráfego é processado. Um 0 indica que os bits do endereço devem ser considerados (correspondência exata); um 1 na máscara é um não importa. Esta tabela explica melhor o conceito.
Exemplo de máscara | |
---|---|
endereço de rede (tráfego que deve ser processado) | 10.1.1.0 |
máscara | 0.0.0.255 |
endereço de rede (binário) | 00001010.00000001.00000001.00000000 |
máscara (binária) | 00000000.00000000.00000000.11111111 |
Com base na máscara binária, você pode ver que os primeiros três conjuntos (octetos) devem corresponder exatamente ao endereço binário de rede dado (00001010.00000001.00000001). O último conjunto de números não importa (.11111111). Portanto, todo o tráfego que começa com 10.1.1. corresponde desde o último octeto não importa. Portanto, com essa máscara, os endereços de rede de 10.1.1.1 a 10.1.1.255 (10.1.1.x) são processados.
Subtraia a máscara normal de 255.255.255.255 para determinar a máscara inversa da ACL. Neste exemplo, a máscara inversa é determinada para o endereço de rede 172.16.1.0 com uma máscara normal de 255.255.255.0.
255.255.255.255 - 255.255.255.0 (máscara normal) = 0.0.0.255 (máscara inversa)
Observe os equivalentes da ACL.
A origem/caractere curinga de 0.0.0.0/255.255.255.255 significa qualquer um.
A origem/caractere curinga de 10.1.1.2/0.0.0.0 é igual ao host 10.1.1.2.
Observação: as máscaras de sub-rede também podem ser representadas como uma notação de comprimento fixo. Por exemplo, 192.168.10.0/24 representa 192.168.10.0 255.255.255.0.
Essa lista descreve como resumir um intervalo de redes em uma única rede para otimização da ACL. Considere estas redes.
192.168.32.0/24 192.168.33.0/24 192.168.34.0/24 192.168.35.0/24 192.168.36.0/24 192.168.37.0/24 192.168.38.0/24 192.168.39.0/24
Os dois primeiros e o último octeto são os mesmos para cada rede. Esta tabela é uma explicação de como resumi-los em uma única rede.
O terceiro octeto para as redes anteriores pode ser escrito como visto nesta tabela, correspondente à posição do bit do octeto e ao valor do endereço para cada bit.
Decimal | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
32 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
33 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
34 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
35 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
36 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
37 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 |
38 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
39 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 |
M | M | M | M | M | D | D | D |
Como os primeiros cinco bits são correspondentes, as oito redes anteriores podem ser resumidas em uma rede (192.168.32.0/21 ou 192.168.32.0 255.255.248.0). Todas as oito combinações possíveis dos três bits de ordem baixa são relevantes para os intervalos de rede em questão. Esse comando define uma ACL que permite essa rede. Se você subtrair 255.255.248.0 (máscara normal) de 255.255.255.255, o resultado será 0.0.7.255.
access-list acl_permit permit ip 192.168.32.00.0.7.255
Considere esse grupo de redes para uma explicação melhor.
192.168.146.0/24 192.168.147.0/24 192.168.148.0/24 192.168.149.0/24
Os dois primeiros e o último octeto são os mesmos para cada rede. Esta tabela é uma explicação de como resumi-los.
O terceiro octeto para as redes anteriores pode ser escrito como visto nesta tabela, correspondente à posição do bit do octeto e ao valor do endereço para cada bit.
Decimal | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
146 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
147 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 |
148 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
149 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
M | M | M | M | M | ? | ? | ? |
Ao contrário do exemplo anterior, você não pode resumir essas redes em uma única rede. Se elas forem resumidas em uma única rede, serão transformadas em 192.168.144.0/21, pois há cinco bits semelhantes no terceiro octeto. Essa rede resumida 192.168.144.0/21 cobre um intervalo de redes de 192.168.144.0 a 192.168.151.0. Entre elas, as redes 192.168.144.0, 192.168.145.0, 192.168.150.0 e 192.168.151.0 não estão nessa lista de quatro redes. Para cobrir as redes específicas em questão, você precisa de no mínimo duas redes resumidas. Essas quatro redes podem ser resumidas nestas duas redes:
Para as redes 192.168.146.x e 192.168.147.x, todos os bits correspondem, exceto o último, que é um não importa. Esse bit pode ser gravado como 192.168.146.0/23 (ou 192.168.146.0 255.255.254.0).
Para as redes 192.168.148.x e 192.168.149.x, todos os bits correspondem, exceto o último, que é um não importa. Esse bit pode ser gravado como 192.168.148.0/23 (ou 192.168.148.0 255.255.254.0).
Essa saída define uma ACL sumarizada para as redes anteriores.
!--- This command is used to allow access access for devices with IP
!--- addresses in the range from 192.168.146.0 to 192.168.147.254. access-list 10 permit 192.168.146.00.0.1.255
!--- This command is used to allow access access for devices with IP
!--- addresses in the range from 192.168.148.0 to 192.168.149.254 access-list 10 permit 192.168.148.00.0.1.255
O tráfego que entra no roteador é comparado às entradas de ACL com base na ordem em que as entradas ocorrem no roteador. São adicionadas novas instruções no final da lista. O roteador continua procurando até encontrar uma correspondência. Se nenhuma correspondência for encontrada quando o roteador atingir o final da lista, o tráfego será negado. Por esse motivo, você deve ter as entradas frequentemente acessadas no início da lista. O tráfego que não é permitido é negado de forma implícita. Uma ACL de entrada única com apenas uma entrada deny pode negar todo o tráfego. É necessário haver pelo menos uma instrução de permissão em uma ACL. Caso contrário, todo o tráfego será bloqueado. Essas duas ACLs (101 e 102) têm o mesmo efeito.
!--- This command is used to permit IP traffic from 10.1.1.0
!--- network to 172.16.1.0 network. All packets with a source
!--- address not in this range will be rejected. access-list 101 permit ip 10.1.1.0 0.0.0.255 172.16.1.00.0.0.255
!--- This command is used to permit IP traffic from 10.1.1.0
!--- network to 172.16.1.0 network. All packets with a source
!--- address not in this range will be rejected. access-list 102 permit ip 10.1.1.0 0.0.0.255 172.16.1.00.0.0.255
access-list 102 deny ip any any
No próximo exemplo, a última entrada é suficiente. Você não precisa das três primeiras entradas porque o IP inclui TCP, User Datagram Protocol (UDP) e Internet Control Message Protocol (ICMP).
!--- This command is used to permit Telnet traffic
!--- from machine 10.1.1.2 to machine 172.16.1.1. access-list 101 permit tcp host 10.1.1.2 host 172.16.1.1 eq telnet
!--- This command is used to permit tcp traffic from
!--- 10.1.1.2 host machine to 172.16.1.1 host machine. access-list 101 permit tcp host 10.1.1.2 host 172.16.1.1
!--- This command is used to permit udp traffic from
!--- 10.1.1.2 host machine to 172.16.1.1 host machine. access-list 101 permit udp host 10.1.1.2 host 172.16.1.1
!--- This command is used to permit ip traffic from
!--- 10.1.1.0 network to 172.16.1.10 network. access-list 101 permit ip 10.1.1.0 0.0.0.255 172.16.1.00.0.0.255
Você não só pode definir a origem e o destino da ACL, como também pode definir portas, tipos de mensagens ICMP e outros parâmetros. Uma boa fonte de informações para portas bem conhecidas é o RFC 1700. Os tipos de mensagem ICMP são explicados no RFC 792 .
O roteador pode exibir um texto descritivo sobre algumas das portas conhecidas. Use um?para obter ajuda.
access-list 102 permit tcp host 10.1.1.1 host 172.16.1.1 eq ? bgp Border Gateway Protocol (179) chargen Character generator (19) cmd Remote commands (rcmd, 514)
Durante a configuração, o roteador também converte valores numéricos em valores mais amigáveis. Este é um exemplo em que você digita o número do tipo de mensagem ICMP e faz com que o roteador converta o número em um nome.
access-list 102 permit icmp host 10.1.1.1 host 172.16.1.1 14
torna-se
access-list 102 permit icmp host 10.1.1.1 host 172.16.1.1 timestamp-reply
Você pode definir ACLs e ainda não aplicá-las. Entretanto, as ACLs não causarão nenhum efeito até que sejam aplicadas à interface do roteador. Convém aplicar a ACL na interface o mais próximo possível da origem do tráfego. Como mostrado neste exemplo, ao tentar bloquear o tráfego da origem para o destino, você pode aplicar uma ACL de entrada para E0 no roteador A, em vez de uma lista de saída para E1 no roteador C. Uma lista de acesso tem adeny ip any implicitamente no final de qualquer lista de acesso. Se o tráfego estiver relacionado a uma solicitação DHCP e não for explicitamente permitido, ele será descartado porque quando você examinar a solicitação DHCP no IP, o endereço de origem será s=0.0.0.0 (Ethernet1/0), d=255.255.255.255, len 604, rcvd 2 UDP src=68, dst=67. Observe que o endereço IP origem é 0.0.0.0 e o endereço destino é 255.255.255.255. A porta de origem é 68 e a de destino é 67. Portanto, você deve permitir esse tipo de tráfego em sua lista de acesso ou o tráfego será descartado devido à negação implícita no final da instrução.
Observação: para que o tráfego UDP passe, o tráfego UDP também deve ser permitido explicitamente pela ACL.
O roteador usa os termos de entrada, saída, origem e destino como referência. O tráfego no roteador pode ser comparado ao tráfego na via. Se você fosse um policial na Pensilvânia e quisesse parar um caminhão que viaja de Maryland a Nova York, a origem do caminhão é Maryland e o destino do caminhão é Nova York. O bloqueio poderia ser aplicado na fronteira Pensilvânia-Nova Iorque (out) ou na fronteira Maryland-Pensilvânia (in).
Esses são os significados de tais termos quando se trata de um roteador.
Saída: tráfego que já passou pelo roteador e sai da interface. A origem é por onde o tráfego passou, no outro lado do roteador, e o destino é para onde ele vai.
Entrada: tráfego que chega na interface e, em seguida, passa pelo roteador. A origem é por onde o tráfego passou e o destino é para onde ele vai, no outro lado do roteador.
Entrada: se a lista de acesso for de entrada, quando o roteador receber um pacote, o Cisco IOS Software verifica as instruções dos critérios da lista de acesso de uma correspondência. Se o pacote for permitido, o software continuará a processá-lo. Se o pacote for negado, o software o descartará.
Saída: se a lista de acesso for de saída, depois que o software receber e rotear um pacote para a interface de saída, ele verificará as instruções dos critérios da lista de acesso de uma correspondência. Se o pacote for permitido, o software o transmitirá. Se o pacote for negado, o software o descartará.
A ACL de entrada tem uma origem em um segmento da interface à qual é aplicada e um destino direcionado para quaisquer outras interfaces. A ACL de saída tem uma origem em um segmento de qualquer interface que não seja a interface à qual é aplicada e um destino que sai da interface à qual é aplicada.
Ao editar uma ACL, é necessário ter atenção especial. Por exemplo, se você quiser excluir uma linha específica de uma ACL numerada existente, conforme mostrado aqui, a ACL inteira será excluída.
!--- The access-list 101 denies icmp from any to any network
!--- but permits IP traffic from any to any network. router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. router(config)#access-list 101 deny icmp any any router(config)#access-list 101 permit ip any any router(config)#^Z router#show access-list Extended IP access list 101 deny icmp any any permit ip any any router# *Mar 9 00:43:12.784: %SYS-5-CONFIG_I: Configured from console by console router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. router(config)#no access-list 101 deny icmp any any router(config)#^Z router#show access-list router# *Mar 9 00:43:29.832: %SYS-5-CONFIG_I: Configured from console by console
Copie a configuração do roteador para um servidor TFTP ou um editor de texto, como o Bloco de Notas, para editar ACLs numeradas. Em seguida, faça todas as alterações e copie a configuração novamente para o roteador.
Você também pode fazer isso.
router#configure terminal Enter configuration commands, one per line. router(config)#ip access-list extended test !--- Permits IP traffic from 10.2.2.2 host machine to 10.3.3.3 host machine. router(config-ext-nacl)#permit ip host 10.2.2.2 host 10.3.3.3 !--- Permits www traffic from 10.1.1.1 host machine to 10.5.5.5 host machine. router(config-ext-nacl)#permit tcp host 10.1.1.1 host 10.5.5.5 eq www !--- Permits icmp traffic from any to any network. router(config-ext-nacl)#permit icmp any any !--- Permits dns traffic from 10.6.6.6 host machine to 10.10.10.0 network. router(config-ext-nacl)#permit udp host 10.6.6.6 10.10.10.0 0.0.0.255 eq domain router(config-ext-nacl)#^Z 1d00h: %SYS-5-CONFIG_I: Configured from console by consoles-l router#show access-list Extended IP access list test permit ip host 10.2.2.2 host 10.3.3.3 permit tcp host 10.1.1.1 host 10.5.5.5 eq www permit icmp any any permit udp host 10.6.6.6 10.10.10.0 0.0.0.255 eq domain
Todas as exclusões são removidas da ACL e quaisquer adições são feitas no final da ACL.
router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. router(config)#ip access-list extended test !--- ACL entry deleted. router(config-ext-nacl)#no permit icmp any any !--- ACL entry added. router(config-ext-nacl)#permit gre host 10.4.4.4 host 10.8.8.8 router(config-ext-nacl)#^Z 1d00h: %SYS-5-CONFIG_I: Configured from console by consoles-l router#show access-list Extended IP access list test permit ip host 10.2.2.2 host 10.3.3.3 permit tcp host 10.1.1.1 host 10.5.5.5 eq www permit udp host 10.6.6.6 10.10.10.0 0.0.0.255 eq domain permit gre host 10.4.4.4 host 10.8.8.8
Você também pode adicionar linhas de ACL às ACLs numeradas padrão ou numeradas estendidas pelo número de sequência no Cisco IOS. Veja um exemplo de configuração:
Configure a ACL estendida desta maneira:
Router(config)#access-list 101 permit tcp any any Router(config)#access-list 101 permit udp any any Router(config)#access-list 101 permit icmp any any Router(config)#exit Router#
Execute o comando show access-list para visualizar as entradas da ACL. Os números de sequência, como 10, 20 e 30, também aparecem aqui.
Router#show access-list Extended IP access list 101 10 permit tcp any any 20 permit udp any any 30 permit icmp any any
Adicione a entrada para a lista de acesso 101 com o número de sequência 5.
Exemplo 1:
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#ip access-list extended 101 Router(config-ext-nacl)#5 deny tcp any any eq telnet Router(config-ext-nacl)#exit Router(config)#exit Router#
Na saída do comando show access-list, a ACL de número de sequência 5 é adicionada como a primeira entrada à lista de acesso 101.
Router#show access-list Extended IP access list 101 5 deny tcp any any eq telnet 10 permit tcp any any 20 permit udp any any 30 permit icmp any any Router#
Exemplo 2:
internetrouter#show access-lists Extended IP access list 101 10 permit tcp any any 15 permit tcp any host 172.16.2.9 20 permit udp host 172.16.1.21 any 30 permit udp host 172.16.1.22 any internetrouter#configure terminal Enter configuration commands, one per line. End with CNTL/Z. internetrouter(config)#ip access-list extended 101 internetrouter(config-ext-nacl)#18 per tcp any host 172.16.2.11 internetrouter(config-ext-nacl)#^Z internetrouter#show access-lists Extended IP access list 101 10 permit tcp any any 15 permit tcp any host 172.16.2.9 18 permit tcp any host 172.16.2.11 20 permit udp host 172.16.1.21 any 30 permit udp host 172.16.1.22 any internetrouter#
De forma semelhante, você pode configurar a lista do acesso padrão desta maneira:
internetrouter(config)#access-list 2 permit 172.16.1.2 internetrouter(config)#access-list 2 permit 172.16.1.10 internetrouter(config)#access-list 2 permit 172.16.1.11 internetrouter#show access-lists Standard IP access list 2 30 permit 172.16.1.11 20 permit 172.16.1.10 10 permit 172.16.1.2 internetrouter(config)#ip access-list standard 2 internetrouter(config-std-nacl)#25 per 172.16.1.7 internetrouter(config-std-nacl)#15 per 172.16.1.16 internetrouter#show access-lists Standard IP access list 2 15 permit 172.16.1.16 30 permit 172.16.1.11 20 permit 172.16.1.10 25 permit 172.16.1.7 10 permit 172.16.1.2
A principal diferença em uma lista de acesso padrão é que o Cisco IOS adiciona uma entrada na ordem descendente do endereço IP, não em um número de sequência.
Este exemplo mostra as entradas diferentes, por exemplo, como permitir um endereço IP (192.168.100.0) ou as redes (10.10.10.0).
internetrouter#show access-lists Standard IP access list 19 10 permit 192.168.100.0 15 permit 10.10.10.0, wildcard bits 0.0.0.255 19 permit 10.101.110.0, wildcard bits 0.0.0.255 25 deny any
Adicione a entrada da lista de acesso 2 para permitir o endereço IP 172.22.1.1:
internetrouter(config)#ip access-list standard 2 internetrouter(config-std-nacl)#18 permit 172.22.1.1
Essa entrada é adicionada à parte superior da lista para dar prioridade ao endereço IP específico, e não à rede.
internetrouter#show access-lists Standard IP access list 19 10 permit 192.168.100.0 18 permit 172.22.1.1 15 permit 10.10.10.0, wildcard bits 0.0.0.255 19 permit 10.101.110.0, wildcard bits 0.0.0.255 25 deny any
Observação: as ACLs anteriores não são suportadas no Security Appliance, como o ASA/PIX Firewall.
Diretrizes para alterar listas de acesso quando elas são aplicadas a mapas de criptografia.
Se você adicionar a uma configuração de lista de acesso atual, não há necessidade de remover o mapa de criptografia. As adições diretamente a elas sem remover o mapa de criptografia são suportadas e aceitáveis.
Se precisar modificar ou excluir uma entrada de lista de acesso de uma lista de acesso atual, você deverá remover o mapa de criptografia da interface. Depois de remover o mapa de criptografia, faça todas as alterações na lista de acesso e adicione o mapa de criptografia novamente. Alterações como a exclusão da lista de acesso sem remover o mapa de criptografia não são suportadas e podem resultar em comportamentos imprevisíveis.
Como eu removo um ACL de uma interface?
Vá para o modo de configuração e digite no à frente do comando access-group, conforme mostrado neste exemplo, para remover uma ACL de uma interface.
interface <interface-name> no ip access-group <acl-number> {in|out}
O que fazer quando muito tráfego é negado?
Se muito tráfego for negado, estude a lógica de sua lista ou tente definir e aplicar outra lista mais ampla. O comando show ip access-lists fornece uma contagem de pacotes que mostra qual entrada de ACL é pressionada. A palavra-chave do log na extremidade das entradas de ACL individuais mostra o número de ACL e também se o pacote foi permitido ou negado, além de informações específicas da porta.
Observação: a palavra-chave log-input existe no Cisco IOS Software Release 11.2 e posterior, e em determinados softwares baseados no Cisco IOS Software Release 11.1 criados especificamente para o mercado de provedores de serviços. Software mais antigo não suporta essa palavra-chave. O uso desta palavra-chave inclui a interface de entrada e o endereço MAC de origem, quando aplicável.
Como debugar no nível do pacote que usa um Cisco Router?
Este procedimento explica o processo de debugação. Antes de começar, tenha certeza de que não haja ACLs aplicadas no momento, de que haja uma ACL e de que o fast switching não esteja desabilitado.
Observação: tenha muito cuidado ao depurar um sistema com tráfego intenso. Use uma ACL para debugar um tráfego específico. Assegure o processo e o fluxo de tráfego.
Use o comando access-list para capturar os dados desejados.
Neste exemplo, a captação de dados é definida para o endereço de destino de 10.2.6.6 ou o endereço de origem de 10.2.6.6.
access-list 101 permit ip any host 10.2.6.6 access-list 101 permit ip host 10.2.6.6 any
Desative a switching rápida nas interfaces envolvidas. Você só verá o primeiro pacote se o fast switching não estiver desabilitado.
configure terminal
interfaceno ip route-cache
Use o comando terminal monitor no modo enable para exibir a saída do comando debug e as mensagens de erro do sistema do terminal e da sessão atuais.
Use o comando debug ip packet 101 ou debug ip packet 101 detail para iniciar o processo de depuração.
Execute o comando no debug all no modo enable e o comando interface configuration para interromper o processo de debugação.
Reinicie o cache.
configure terminal
interfaceip route-cache
Esta seção do documento descreve os tipos de ACL.
As ACLs padrão são o tipo mais antigo de ACL. Elas são contemporâneas do Cisco IOS Software Release 8.3. ACLs padrão controlam o tráfego comparando o endereço de origem dos pacotes IP aos endereços configurados na ACL.
Este é o formato da sintaxe do comando de uma ACL padrão.
access-list <access-list-number> {permit|deny} {host|source source-wildcard|any}
Em todas as versões de software, o número da lista de acesso pode ser qualquer coisa entre 1 e 99. No Cisco IOS Software Release 12.0.1, as ACLs padrão começam a usar números adicionais (de 1300 a 1999). Esses números adicionais são mencionados como ACLs de IP expandidos. O Cisco IOS Software Release 11.2 acrescentou a capacidade de usar nomes de lista em ACLs padrão.
Uma configuração de origem/caractere geral de origem de 0.0.0.0/255.255.255.255 pode ser especificada como qualquer. O caractere curinga poderá ser omitido se for zero. Portanto, o host 10.1.1.2 0.0.0.0 é igual ao host 10.1.1.2.
Depois que o ACL estiver definido, ele deverá ser aplicado à interface (de entrada ou saída). Em releases anteriores do software, saída era o padrão quando uma palavra-chave de saída ou de entrada não era especificada. A direção deve ser especificada nas versões posteriores do software.
interface <interface-name>
ip access-group number {in|out}
Este é um exemplo do uso de uma ACL padrão para bloquear todo o tráfego, exceto o proveniente da origem 10.1.1.x.
interface Ethernet0/0 ip address 10.1.1.1 255.255.255.0 ip access-group 1 in !
access-list 1 permit 10.1.1.0 0.0.0.255
ACLs estendidas foram apresentadas no Cisco IOS Software Release 8.3. ACLs estendidas controlam o tráfego comparando os endereços de origem e de destino dos pacotes IP aos endereços configurados na ACL.
Este é o formato da sintaxe do comando das ACL estendidas. As linhas são quebradas aqui para considerações de espaço.
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]
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] [precedence precedence] [tos tos] [log|log-input] [time-range time-range-name]
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]
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]
Em todas as versões de software, o número da lista de acesso pode ser 100 a 199. No Cisco IOS Software Release 12.0.1, as ACLs estendidas começam a usar números adicionais (de 2000 a 2699). Esses números adicionais são mencionados como ACLs de IP expandidos. O Cisco IOS Software versão 11.2 incluiu a capacidade de utilizar o nome da lista nas ACLs estendidas.
É possível especificar o valor de 0.0.0.0/255.255.255.255 como any. Depois que o ACL estiver definido, ele deverá ser aplicado à interface (de entrada ou saída). Em releases anteriores do software, saída era o padrão quando uma palavra-chave de saída ou de entrada não era especificada. A direção deve ser especificada nas versões posteriores do software.
interface <interface-name> ip access-group {number|name} {in|out}
Essa ACL estendida é usada para permitir o tráfego na rede 10.1.1.x (interna) e para receber respostas de ping de fora, enquanto evita pings não solicitados de pessoas de fora, o que permite qualquer outro tráfego.
interface Ethernet0/1 ip address 172.16.1.2 255.255.255.0 ip access-group 101 in !
access-list 101 deny icmp any 10.1.1.0 0.0.0.255 echo access-list 101 permit ip any 10.1.1.0 0.0.0.255
Observação: alguns aplicativos, como o gerenciamento de rede, exigem pings para uma função de manutenção de atividade. Se esse for o caso, você poderá limitar os pings de entrada bloqueados ou ser mais granular em IPs permitidos/negados.
Bloqueio e chave, também conhecidos como ACLs, foram introduzidos no Cisco IOS Software Release 11.1. Esse recurso depende de Telnet, autenticação (local ou remota) e de ACLs estendidos.
A configuração de bloqueio e chave tem início com a aplicação de uma ACL estendida para bloquear o tráfego no roteador. Os usuários que querem atravessar o roteador são bloqueados pela ACL estendida até que façam Telnet para o roteador e sejam autenticados. A conexão Telnet cai, e uma ACL dinâmica de entrada única é adicionada à ACL estendida existente. Isso permite o tráfego por um período de tempo específico; tempos de espera ociosos e absolutos são possíveis.
Este é o formato da sintaxe do comando para a configuração de bloqueio e chave com autenticação local.
username <user-name> password <password> !
interface <interface-name> ip access-group {number|name} {in|out}
A ACL de entrada única nesse comando é adicionada de forma dinâmica à ACL existente após a autenticação.
access-list access-list-number dynamic name {permit|deny} [protocol] {source source-wildcard|any} {destination destination-wildcard|any} [precedence precedence][tos tos][established] [log|log-input] [operator destination-port|destination port] line vty <line_range>
login local
Este é um exemplo básico de bloqueio e chave.
username test password 0 test !--- Ten (minutes) is the idle timeout. username test autocommand access-enable host timeout 10 ! interface Ethernet0/0 ip address 10.1.1.1 255.255.255.0 ip access-group 101 in ! access-list 101 permit tcp any host 10.1.1.1 eq telnet !--- 15 (minutes) is the absolute timeout. access-list 101 dynamic testlist timeout 15 permit ip 10.1.1.0 0.0.0.255 172.16.1.0 0.0.0.255 ! line vty 0 4 login local
Depois que o usuário em 10.1.1.2 fizer uma conexão Telnet para 10.1.1.1, a ACL dinâmica será aplicada. Em seguida, a conexão é descartada e o usuário pode seguir para a rede 172.16.1.x.
ACLs de IP nomeadas foram apresentadas no Cisco IOS Software Release 11.2. Isso permite que as ACLs padrão e estendidas recebam nomes, e não números.
Este é o formato da sintaxe do comando para ACLs de IP nomeadas.
ip access-list {extended|standard} name
Veja este exemplo de TCP:
{permit|deny} tcp source source-wildcard [operator [port]] destination destination-wildcard [operator [port]] [established] [precedence precedence] [tos tos] [log] [time-range time-range-name]
Este é um exemplo do uso de uma ACL nomeada para bloquear todo o tráfego, exceto a conexão Telnet do host 10.1.1.2 para o host 172.16.1.1.
interface Ethernet0/0 ip address 10.1.1.1 255.255.255.0 ip access-group in_to_out in ! ip access-list extended in_to_out permit tcp host 10.1.1.2 host 172.16.1.1 eq telnet
ACLs reflexivas foram introduzidas no Cisco IOS Software versão 11.3. As ACLs reflexivas permitem que os pacotes IP sejam filtrados com base nas informações da sessão da camada superior. Elas são usadas geralmente para permitir o tráfego de saída e para limitar o tráfego de entrada em resposta às sessões originadas dentro do roteador.
ACLs reflexivas podem ser definidas apenas com ACLs IP nomeadas estendidas. Elas não podem ser definidas com ACLs numeradas ou de IP nomeadas padrão nem com outras ACLs de protocolo. ACLs reflexivas podem ser usadas em conjunto com outras ACLs padrão e estáticas estendidas.
Esta é a sintaxe de vários comandos de ACL reflexiva.
interface <interface-name> ip access-group {number|name} {in|out} ! ip access-list extended <name> permit protocol any any reflect name [timeoutseconds] !
ip access-list extended <name> evaluate <name>
Este é um exemplo da permissão do tráfego de saída e de entrada ICMP, enquanto ele permite apenas o tráfego TCP iniciado internamente, outros tráfegos são negados.
ip reflexive-list timeout 120 ! interface Ethernet0/1 ip address 172.16.1.2 255.255.255.0 ip access-group inboundfilters in ip access-group outboundfilters out ! ip access-list extended inboundfilters permit icmp 172.16.1.0 0.0.0.255 10.1.1.0 0.0.0.255 evaluate tcptraffic !--- This ties the reflexive ACL part of the outboundfilters ACL,
!--- called tcptraffic, to the inboundfilters ACL. ip access-list extended outboundfilters permit icmp 10.1.1.0 0.0.0.255 172.16.1.0 0.0.0.255 permit tcp 10.1.1.0 0.0.0.255 172.16.1.0 0.0.0.255 reflect tcptraffic
ACLs com base em tempo foram introduzidas na versão do Cisco IOS Software Release 12.0.1.T. Embora sejam semelhantes aos ACLs estendidos com relação à função, eles permitem controle de acesso com base no tempo. É criado um intervalo de tempo que define horários específicos do dia e da semana para implementar ACLs com base em tempo. O intervalo de tempo é identificado por um nome e, em seguida, referenciado por uma função. Portanto, as restrições de tempo são impostas na própria função. O intervalo de tempo se baseia no relógio do sistema do roteador. O relógio do roteador pode ser utilizado, mas o recurso funciona melhor com a sincronização do NTP (Protocolo de tempo de rede).
Estes são comandos de ACL com base em tempo.
!--- Defines a named time range. time-range time-range-name !--- Defines the periodic times. periodic days-of-the-week hh:mm to [days-of-the-week] hh:mm !--- Or, defines the absolute times. absolute [start time date] [end time date] !--- The time range used in the actual ACL. ip access-list name|numbertime-rangename_of_time-range
Neste exemplo, uma conexão Telnet é permitida da rede interna à rede externa às segundas-feiras, às quartas-feiras e às sextas-feiras durante o horário comercial:
interface Ethernet0/0 ip address 10.1.1.1 255.255.255.0 ip access-group 101 in ! access-list 101 permit tcp 10.1.1.0 0.0.0.255 172.16.1.0 0.0.0.255 eq telnet time-range EVERYOTHERDAY ! time-range EVERYOTHERDAY periodic Monday Wednesday Friday 8:00 to 17:00
Entradas de ACL IP comentadas foram introduzidas no Cisco IOS Software Release 12.0.2.T. Os comentários facilitam o entendimento das ACLs e podem ser usados para ACLs de IP padrão ou estendidas.
Esta é a sintaxe comentada do comando da ACL de IP nomeada.
ip access-list {standard|extended} <access-list-name> remark remark
Esta é a sintaxe comentada do comando da ACL de IP numerada.
access-list <access-list-number> remark remark
Este é um exemplo de comentários dentro de uma ACL numerada.
interface Ethernet0/0 ip address 10.1.1.1 255.255.255.0 ip access-group 101 in ! access-list 101 remark permit_telnet access-list 101 permit tcp host 10.1.1.2 host 172.16.1.1 eq telnet
O CBAC (Controle de acesso baseado em contexto) foi introduzido no Cisco IOS Software Release 12.0.5.T e requer o conjunto de recursos do Cisco IOS Firewall. O CBAC inspeciona o tráfego que passa pelo firewall para descobrir e gerenciar informações de estado para sessões de TCP e de UDP. Essas informações de estado são usadas para criar aberturas temporárias nas listas de acesso do firewall. Configure o ip inspetlists na direção do fluxo de iniciação de tráfego para permitir o tráfego de retorno e conexões de dados adicionais para sessões permissíveis, sessões originadas de dentro da rede interna protegida, para fazer isso.
Esta é a sintaxe do CBAC.
ip inspect name inspection-name protocol [timeoutseconds]
Este é um exemplo do uso do CBAC para inspecionar o tráfego de saída. A ACL estendida 111 normalmente bloqueia o tráfego de retorno que não seja de ICMP sem que o CBAC abra brechas para o tráfego de retorno.
ip inspect name myfw ftp timeout 3600 ip inspect name myfw http timeout 3600 ip inspect name myfw tcp timeout 3600 ip inspect name myfw udp timeout 3600 ip inspect name myfw tftp timeout 3600
! interface Ethernet0/1 ip address 172.16.1.2 255.255.255.0 ip access-group 111 in ip inspect myfw out !
access-list 111 deny icmp any 10.1.1.0 0.0.0.255 echo access-list 111 permit icmp any 10.1.1.0 0.0.0.255
O proxy de autenticação foi introduzido no Cisco IOS Software versão 12.0.5.T. Para isso, é necessário que o recurso Cisco IOS Firewall esteja configurado. O proxy de autenticação é usado para autenticar usuários de entrada ou saída ou ambos. Os usuários que normalmente são bloqueados por uma ACL podem iniciar uma sessão do navegador para passar pelo firewall e fazer a autenticação em um servidor RADIUS ou TACACS+. O servidor transmite entradas de ACL adicionais ao roteador para permitir a passagem dos usuários após a autenticação.
O proxy de autenticação é semelhante à chave e bloqueio (ACLs dinâmicos). Estas são as diferenças:
O bloqueio e chave é ativado por uma conexão Telnet para o roteador. O proxy de autenticação é ativado pelo HTTP através do roteador.
O proxy de autenticação deve usar um servidor externo.
O proxy de autenticação pode gerenciar a adição de várias lista dinâmicas. O bloqueio e chave pode adicionar somente uma lista dinâmica.
O proxy de autenticação tem um timeout absoluto, mas não tem um timeout ocioso. O bloqueio e chave tem ambos.
Consulte o Cisco Secure Integrated Software Configuration Cookbook (Cookbook de configuração do software Cisco Secure Integrated) para obter exemplos de proxy de autenticação.
As ACLs Turbo foram introduzidas no Cisco IOS Software Release 12.1.5.T e são encontradas somente no 7200, 7500 e em outras plataformas de ponta. O recurso ACL turbo foi projetado para processar ACLs de maneira mais eficiente para aprimorar o desempenho do roteador.
Use o comando access-list compiled para ACLs turbo. Este é um exemplo de uma ACL compilada.
access-list 101 permit tcp host 10.1.1.2 host 172.16.1.1 eq telnet access-list 101 permit tcp host 10.1.1.2 host 172.16.1.1 eq ftp access-list 101 permit udp host 10.1.1.2 host 172.16.1.1 eq syslog access-list 101 permit udp host 10.1.1.2 host 172.16.1.1 eq tftp access-list 101 permit udp host 10.1.1.2 host 172.16.1.1 eq ntp
Depois que a ACL padrão ou estendida é definida, use o comando global configuration para compilar.
!--- Tells the router to compile. access-list compiled ! interface Ethernet0/1 ip address 172.16.1.2 255.255.255.0 !--- Applies to the interface. ip access-group 101 in
O comando show access-list compiled exibe estatísticas referentes à ACL.
As ACLs distribuídas com base em tempo foram introduzidas no Cisco IOS Software Release 12.2.2.T para implementar ACLs com base em tempo em roteadores 7500 Series habilitados por VPN. Antes da introdução do recurso de ACL distribuída com base em tempo, as ACL com base em tempo não eram suportadas em placas de linha para os roteadores Cisco 7500 Series. Se os ACLs foram configurados com base no tempo, eles se comportarão como ACLs normais. Se uma interface em uma placa de linha foi configurada com ACLs com base em tempo, os pacotes comutados na interface não foram comutados de forma distribuída pela placa de linha, e sim encaminhados para o processador de rota para processamento.
A sintaxe para ACLs distribuídas com base no tempo é a mesma usada para ACLs com base no tempo, com a adição dos comandos relacionados ao status das mensagens de comunicação entre processadores (IPC) entre o processador de rota e a placa de linha.
debug time-range ipc show time-range ipc clear time-range ipc
ACLs de recebimento são usadas para aumentar a segurança em roteadores Cisco 12000 pela proteção do GRP do roteador do tráfego desnecessário e possivelmente prejudicial. ACLs de recebimento foram adicionadas como uma renúncia especial à obstrução de manutenção para o Cisco IOS Software Release 12.0.21S2 e integradas ao 12.0(22)S. Consulte GSR: Receive Access Control Lists para obter mais informações.
As ACLs de infraestrutura são usadas para minimizar o risco e a eficácia do ataque direto à infraestrutura com a permissão explícita apenas do tráfego autorizado para o equipamento de infraestrutura, enquanto permite todo o tráfego restante em trânsito. Consulte Protecting Your Core: Infrastructure Protection Access Control Lists para obter mais informações.
ACLs de trânsito são usadas para aumentar a segurança de rede, pois permitem de forma explícita somente o tráfego necessário em sua(s) rede(s). Consulte Listas de Controle de Acesso de Trânsito: Filtragem em Sua Borda para obter mais informações.
Revisão | Data de publicação | Comentários |
---|---|---|
2.0 |
30-Nov-2023 |
Otimização de mecanismo de pesquisa e formatação atualizada. |
1.0 |
14-May-2002 |
Versão inicial |