Você está na página 1de 15

Lista de Controle de Acesso (ACL)

O que é uma ACL?


Uma ACL é uma série de comandos de IOS que controlam se um roteador encaminha ou
elimina pacotes com base nas informações encontradas no cabeçalho do pacote. As ACLs estão
entre os recursos do software IOS CISCO usados com mais frequência.

Quando configuradas, as ACLs executam as seguintes tarefas:

 Limitam o tráfego e aumentam o desempenho da rede. Por exemplo, se a política corporativa


não permite tráfego de vídeo na rede, as ACLs que bloqueiam tráfego de vídeo podem ser
configuradas e aplicadas. Isso reduziria significativamente a carga da rede e aumentaria o
desempenho da rede.

 Fornecem controle de fluxo de tráfego. As ACLs podem restringir a entrega de atualizações


de roteamento. Se as atualizações não forem necessárias devido às condições da rede, a
largura de banda é preservada.

 Fornecem um nível básico de segurança para acesso à rede. As ACLs podem permitir que
um host acesse uma parte da rede e impedir que outro host acesse a mesma área. Por
exemplo, o acesso à rede de Recursos Humanos poderá ser restrito a usuários autorizados.

 Filtram tráfego com base no tipo de tráfego. Por exemplo, uma ACL pode permitir tráfego
de correio eletrônico, mas bloquear todo o tráfego de Telnet.

 Selecionam hosts para permitir ou negar acesso aos serviços de rede. As ACLs podem
permitir ou negar a um usuário o acesso a tipos de arquivo, como FTP ou HTTP.

Por padrão, um roteador não tem ACLs configuradas; portanto, por padrão um roteador não filtra
o tráfego. O tráfego que entra no roteador é instalado somente com base nas informações na tabela
de roteamento. Entretanto, quando uma ACL for aplicada a uma interface, o roteador executará a
tarefa adicional de avaliar todos os pacotes de rede que passam pela interface para determinar se
o pacote pode ser enviado.

OBS: vale ressaltar que as ACL’s são usadas em redes internas, ou seja, um provedor não aplicar
regras de ACL para a saída ou entrada de pacotes dos clientes, visto que isso feriria a neutralidade
da rede - conceito expresso na constituição.
Figura 1

Filtragem de pacotes
Então, como uma ACL usa as informações transmitidas durante uma conversação de
TCP/IP para filtrar tráfego?

A filtragem de pacote, às vezes chamada de filtragem de pacote estática, controla acesso


a uma rede analisando os pacotes de entrada e saída e transmitindo-os ou eliminando-os com base
em critérios, como o endereço IP origem, o endereço IP destino e o protocolo transportado no
pacote.

Um roteador atua como um filtro de pacote ao encaminhar ou recusar pacotes de acordo


com as regras de filtragem. Quando um pacote chega ao roteador de filtragem, o roteador extrai
determinadas informações do cabeçalho do pacote. Usando essas informações, o roteador toma
as decisões, com base nas regras do filtro configurado, a fim de saber se o pacote poderá passar
ou se será rejeitado. Como mostrado na figura 2, a filtragem de pacote pode trabalhar em
diferentes camadas do modelo OSI, ou na camada de Internet do TCP/IP.

Uma ACL é uma lista sequencial de instruções de permissão ou de negação, conhecidas


como entradas de controle de acesso (ACEs). As ACEs também são chamadas de instruções da
ACL. As ACEs podem ser criadas para filtrar o tráfego com base em certos critérios, como o
endereço origem, endereço destino, protocolo e números de porta. Quando o tráfego da rede passa
por meio de uma interface configurada com uma ACL, o roteador compara as informações no
pacote com cada ACE, em ordem sequencial, para determinar se o pacote corresponde a uma
das instruções. Se uma correspondência for encontrada, o pacote será processado em
conformidade. Dessa forma, as ACLs podem ser configuradas no roteador para controlar o acesso
a uma rede ou sub-rede.
Figura 2

Operação ACL
As listas de acesso expressam um conjunto de regras que permitem maior controle dos
pacotes que chegam às interfaces de entrada. As ACLs não atuam em pacotes que se originam do
roteador. As ACLs são configuradas para aplicação ao tráfego de entrada ou ao tráfego de saída,
como mostrado na figura 3.

 ACLs de entrada - os pacotes de entrada são processados antes de serem roteados para a
interface de saída. Uma ACL de entrada é eficiente porque salva a sobrecarga de pesquisas
de roteamento se o pacote for descartado. Se o pacote for permitido por testes, ele será
processado para roteamento. As ACLs de entrada são mais usadas para filtrar pacotes
quando a rede conectada a uma interface de entrada é a única origem dos pacotes que deve
ser examinada.

 ACLs de saída - os pacotes de entrada são encaminhados para a interface de saída e


processados em seguida por meio da ACL de saída. As ACLs de saída são mais usadas
quando o mesmo filtro é aplicado aos pacotes que vêm de várias interfaces de entrada antes
de saírem da mesma interface de saída.

A última instrução de uma ACL é sempre um deny implícito. Esta instrução é


automaticamente inserida no final de cada ACL, embora não esteja fisicamente presente. O deny
implícito bloqueia todo o tráfego. Devido a esse deny implícito, uma ACL que não tenha pelo
menos uma instrução de permissão bloqueará todo o tráfego

Figura 3
Tipos de ACL Cisco IPv4
Os dois tipos principais de ACLs Cisco IPv4 são: padrão e estendida

ACLs padrão

As ACLs padrão podem ser usadas para permitir ou negar tráfego somente dos endereços
IPv4 origem. O destino do pacote e as portas envolvidas não são avaliados. O exemplo na Figura
4 permite todo o tráfego da rede 192.168.30.0/24. Devido ao “deny any” implícito no final, todo
o tráfego restante é bloqueado com esta ACL. As ACLs padrão são criadas no modo de
configuração global.

Figura 4

ACLs estendidas

As ACLs estendidas filtram os pacotes IPv4 com base em vários recursos:

 Tipo de protocolo

 Endereço IPv4 origem

 Endereço IPv4 destino

 Portas TCP ou UDP origem

 Portas TCP ou UDP destino

 Informações opcionais do tipo de protocolo para o melhor controle

Na figura 5, a ACL 103 permite o tráfego originário de qualquer endereço na rede


192.168.30.0/24 para qualquer rede IPv4 se a porta do host destino for 80 (HTTP). As ACLs
estendidas são criadas no modo de configuração global.

Figura 5
Numeração e nomeação das ACL’s
As ACLs padrão e estendidas podem ser criadas usando-se um número ou um nome para
identificar a ACL e sua lista de instruções.

Usar ACLs numeradas é um método eficaz para determinar o tipo de ACL em redes
pequenas com tráfego definido de forma mais homogênea. No entanto, um número não fornece
informações sobre o propósito da ACL. Por esse motivo, a partir do IOS Cisco versão 11.2, um
nome pode ser usado para identificar uma ACL Cisco.

Figura 6

Orientações gerais para criar ACL’s

Aqui estão algumas diretrizes para o uso de ACLs:

 Use as ACLs em roteadores com firewall posicionados entre a rede interna e uma rede
externa como a Internet.

 Use as ACLs em um roteador posicionado entre duas partes da rede para controlar o tráfego
que chega ou sai de uma determinada parte da rede interna.

 Configure ACLs em roteadores de borda, isto é, roteadores situados nas bordas de suas
redes. Isso fornece um buffer muito básico de rede externa, ou entre uma área menos
controlada da sua própria rede e uma área mais delicada de sua rede.

 Configure ACLs para cada protocolo de rede configurado nas interfaces do roteador de
borda.

Os três Ps

Uma regra geral para aplicar ACLs em um roteador pode ser lembrada com base nos três
Ps. Você pode configurar uma ACL por protocolo, por direção, por interface:
 Uma ACL por protocolo - Para controlar o fluxo de tráfego em uma interface, deve-se
definir uma ACL para cada protocolo ativado na interface.

 Uma ACL por direção - As ACLs controlam o tráfego em uma direção de cada vez em
uma interface. Duas ACLs separadas devem ser criadas para controlar o tráfego de entrada
e de saída.

 Uma ACL por interface - As ACLs controlam o tráfego de uma interface, por exemplo,
GigabitEthernet 0/0

A questão é, onde posicionar as ACL’s?


A colocação correta de uma ACL pode fazer com que a rede opere com mais eficiência.
Uma ACL pode ser posicionada para reduzir o tráfego desnecessário. Por exemplo, o tráfego
que será negado em um destino remoto não deve ser encaminhado usando recursos de rede na
rota para esse destino.

Cada ACL deve ser posicionada onde há maior impacto sobre o aumento da eficiência. Como
mostra as Figuras 7, 8 e 9; as regras são:

 ACLs estendidas – Configure as ACLs estendidas o mais perto possível da origem do


tráfego a ser filtrado. Dessa forma, o tráfego não desejado é negado perto da rede de
origem sem atravessar a infraestrutura de rede.

 ACLs padrão – Tendo em vista que a ACL padrão não especifica endereço de destino,
coloque-a o mais perto possível do destino. Colocar uma ACL padrão na origem do
tráfego impedirá, com eficiência, que o tráfego acesse todas as outras redes por meio da
interface onde é aplicada a ACL.

O posicionamento das ACLs e o tipo de ACL usada também podem depender de:

 A extensão de controle do administrador da rede - a colocação ACL pode depender se


o administrador de rede tem controle sobre as redes de origem e de destino.

 Largura de banda de redes envolvidas - a filtragem de tráfego não desejado na origem


impede a transmissão de tráfego antes que ele consuma largura de banda no caminho para
um destino. Isso é especialmente importante em redes de largura de banda baixa.

 Facilidade de instalação - se um administrador de rede quiser negar o tráfego proveniente


de redes, uma opção é usar uma única ACL padrão no roteador o mais próximo do destino.
A desvantagem é que o tráfego dessas redes usará a largura de banda desnecessariamente.
Uma ACL estendida pode ser usada em cada roteador onde o tráfego é originado. Isso
poupará a largura de banda filtrando o tráfego na origem, mas exigirá a criação de ACLs
estendidas em vários roteadores
Figura 7

Posicionamento de ACL padrão

Figura 8

Na figura 8, o administrador deseja impedir que o tráfego originado na rede


192.168.10.0/24 acesse a rede 192.168.30.0/24. Se a ACL padrão for colocada na interface de
saída de R1, esta poderá impedir que o tráfego na rede 192.168.10.0/24 acesse todas as redes
acessíveis através da interface serial 0/0/0 de R1.

 Interface S0/0/1 do R3 - A aplicação de uma ACL padrão para evitar a entrada do tráfego
de 192.168.10.0/24 na interface S0/0/1 impedirá que esse tráfego alcance a rede
192.168.30.0/24 e todas as outras redes alcançáveis por R3. Isso inclui a rede
192.168.31.0/24. Como a intenção da ACL é filtrar o tráfego destinado apenas para
192.168.30.0/24, uma ACL padrão não deve ser aplicada a esta interface.

 Interface R3 Gi0/0 - A aplicação da ACL padrão ao tráfego que sai da interface Gi0/0 filtra
pacotes de 192.168.10.0/24 para 192.168.30.0/24. Isso não afetará outras redes acessíveis
por R3. Os pacotes de 192.16810.0/24 ainda poderão acessar 192.168.31.0/24.

Posicionamento da ACL estendida

Como uma ACL padrão, uma ACL estendida pode filtrar o tráfego com base no endereço
origem. No entanto, uma ACL estendida também pode filtrar o tráfego baseado no endereço
destino, protocolo e número de porta. Isso permite aos administradores de rede maior flexibilidade
quanto ao tipo de tráfego que pode ser filtrado e ao posicionamento da ACL. A regra para fazer
uma ACL estendida é colocá-la o mais perto possível da origem. Isso evita que o tráfego não
desejado seja encaminhado por meio de várias redes.

Figura 9

Inserção de instruções de critérios


Quando o tráfego entra no roteador, é realizado uma comparação com todas as ACEs na
ordem em que as entradas ocorrem na ACL. O roteador continua a processar as ACEs até localizar
uma correspondência. O roteador processará o pacote, tendo encontrado uma correspondência
com alguma ACE, as demais ACEs não serão examinadas.

Se nenhuma correspondência for encontrada quando o roteador chegar ao final da lista, o


tráfego será negado. Isso porque, por padrão, existe uma negação implícita no final de todas as
ACLs do tráfego que não tenha sido associado a uma entrada configurada. Uma ACL de entrada
única com apenas uma entrada recusada tem o efeito de recusar todo o tráfego. Pelo menos uma
ACE de permissão deve ser configurada em uma ACL ou todo o tráfego será bloqueado.
Estrutura de configuração de uma ACL padrão

(config)# access-list (1 a 99) ou (1300 a 1999) deny A.B.C.D Mascará curinga


(config)# access-list (1 a 99) ou (1300 a 1999) deny any
(config)# access-list (1 a 99) ou (1300 a 1999) deny host Endereço do host
(config)# access-list (1 a 99) ou (1300 a 1999) permit A.B.C.D Mascará curinga
(config)# access-list (1 a 99) ou (1300 a 1999) permit any
(config)# access-list (1 a 99) ou (1300 a 1999) permit host Endereço do host

 deny – bloquear (rede [A.B.C.D], qualquer host [any] e host)


 permit – permitir (rede [A.B.c.D], qualquer host [any] e host)

Depois de criado a ACL, o próximo passo é a atribuição da ACL em alguma porta


seguindo o mesmo raciocínio do NAT, ou seja, indicar se ela vai funcionar como entrada ou como
saída para aquela porta em específico. O comando necessário - lembrando que é dentro da
interface de configuração da porta - é o seguinte:

Removendo uma ACL

Se tratando de ACL, nós podemos remover uma ACL por completo, como também
remover sequencias de uma mesma ACL. Primeiro vamos tratar da remoção por completo; esta
remoção ocorro da mesma maneira que os demais comandos (config)# no access-list x.

A segunda forma é a remoção de sequências de uma ACL, veja a estrutura da ACL a


seguir:

Observe que a ACL 2 têm 4 restrições, neste caso, se eu desejo excluir uma dessas
restrições, os comandos a serem usados é o seguinte:
O comando standard, significa que é uma ACL padrão. Se você quiser alterar a sequência
30 da ACL, você deverá fazer o mesmo processo de exclusão anterior e depois adicionar a nova
regra. Como mostrado abaixo

OBS: lembre que o roteador interpreta as sequências da ACL em ordem crescente, ou


seja, se a sequência 10 for um (deny any), por exemplo, o que virá depois dessa sequência o
roteador nem olhará.

ACL estendida

Para um controle de filtragem mais preciso, é possível criar ACLs estendidas de IPv4. As
ACLs estendidas são numeradas de 100 a 199 e 2000 a 2699, fornecendo um total de 799
possibilidades de ACLs estendidas numeradas. As ACLs estendidas também podem ser
nomeadas.

As ACLs estendidas são utilizadas com mais frequência do que as ACLs padrão porque
proporcionam maior controle. Como mostrado na figura, da mesma forma que as ACLs padrão,
as ACLs estendidas verificam os endereços origem dos pacotes, mas também verificam o
endereço destino, os protocolos e os números de porta (ou serviços). Isso fornece um intervalo
maior de critérios para basear a ACL. Por exemplo, uma ACL estendida pode simultaneamente
permitir tráfego de correio eletrônico de uma rede para um destino específico e negar
transferências de arquivos e navegação na Web
Figura 10

Teste para portas e serviços

A capacidade de filtrar com base em protocolo e em número de porta permite aos


administradores de rede criar ACLs estendidas muito específicas. Uma aplicação pode ser
especificada configurando o número de porta ou o nome de uma porta conhecida.

A figura 11 mostra alguns exemplos de como um administrador especifica o número de


porta TCP ou UDP colocando esse número no final da instrução da ACL estendida. Operações
lógicas podem ser usadas, como igual (eq), não igual (neq), maior que (gt) e menor que (lt).

A figura 11 mostra como exibir uma lista de números e de palavras-chave de portas que
podem ser utilizadas para criar uma ACL usando o comando:

R1(config)# access-list 101 permit tcp any any eq ?

Figura 11
Figura 12

Configuração ACL estendida


As etapas de procedimentos para configurar ACLs estendidas são as mesmas usadas para
ACL padrão. A ACL estendida é configurado em primeiro lugar, e é ativada em uma interface.
No entanto, a sintaxe de comandos e os parâmetros são mais complexos para suportar recursos
adicionais fornecidos pelas ACLs estendidas.

Observação: a lógica interna aplicada ao pedido da instrução da ACL não se aplica à ACL
estendida. A ordem em que as instruções são fornecidas durante a configuração é ordem em que
são exibidas e processadas.

A figura 13 mostra a sintaxe do comando comum para a ACL estendida de IPv4. Observe
que há muitas palavras-chave e parâmetros para ACLs estendidas. Não é necessário usar
quaisquer palavras-chave e parâmetros para configurar uma ACL estendida. Lembre-se de
que “?” pode ser usado para obter ajuda durante a inserção de comandos complexos.
Figura 13

A figura 14 mostra um exemplo de uma ACL estendida. Neste exemplo, o administrador


de rede configurou as ACLs para restringir o acesso à rede e permitir a navegação no site somente
a partir da LAN conectada à interface Gi0/0 com qualquer rede externa. A ACL 103 permite que
o tráfego vindo de qualquer endereço da rede 192.168.10.0 vá para qualquer destino, sujeito à
limitação de que o tráfego está usando apenas as portas 80 (HTTP) e 443 (HTTPS).

A natureza do HTTP exige que o tráfego flua de volta para a rede a partir dos sites
acessados de clientes internos. O administrador de rede deseja restringir o tráfego de retorno para
trocas de HTTP dos sites solicitados, negando todo o tráfego restante. A ACL 104 (exemplo) faz
isso bloqueando todo o tráfego de entrada, com exceção das conexões já estabelecidas.

O parâmetro established permite que apenas as respostas para o tráfego originário da rede
192.168.10.0/24 retornem a essa rede. Uma correspondência será feita se o segmento de retorno
do TCP tiver o ACK ou bits de restauração (RST) configurado, indicando que o pacote pertence
a uma conexão existente. Sem o parâmetro established na instrução da ACL, os clientes podem
encaminhar o tráfego a um servidor web, mas não recebem tráfego retornando do servidor web.
Figura 14

Mais um exemplo de aplicação:

Figura 15
O exemplo mostrado na Figura 15 recusa o tráfego FTP da sub-rede 192.168.11.0 que
está indo para a sub-rede 192.168.10.0, mas permite todos os demais tráfegos. Observe o uso de
máscaras curinga e a instrução deny explícita. Lembre-se de que o FTP usa as portas 20 e 21 do
TCP; portanto a ACL exige as palavras-chave do nome de porta ftp eftp-data ou eq 20 e eq 21
para negar o FTP.

Se você estiver usando números de porta em vez de nomes de portas, os comandos seriam
escritos desta forma:

access-list 114 permit tcp 192.168.20.0 0.0.0.255 any eq 20

access-list 114 permit tcp 192.168.20.0 0.0.0.255 any eq 21

Para evitar o deny implícito no fim da ACL, basta adicionar a instrução permit ip any any
como última ACE. Sem pelo menos uma instrução permit em uma ACL, todo o tráfego na
interface onde a ACL foi aplicada seria descartado. A ACL deve ser aplicada em nível de entrada
na interface Gi0/1, de modo que o tráfego da LAN 192.168.11.0/24 seja filtrado ao entrar na
interface do roteador.

Alterar e excluir ACL estendida – para alterar ou excluir uma ACL estendida, basta seguir os
mesmos passos para ACL padrão.