Você está na página 1de 8

Aula 27 - ACLs – Lista de controle de acesso

1. Introdução

Os administradores de rede devem descobrir como negar acesso não desejado à


rede, enquanto permitem o acesso apropriado. Apesar de ferramentas de segurança
como senhas, equipamento de callback e dispositivos físicos de segurança serem
úteis, eles não possuem a flexibilidade da filtragem básica de tráfego e os controles
específicos que a maioria dos administradores preferem. Por exemplo, um
administrador de rede talvez deseje permitir que os usuários acessem a Internet,
mas não que os usuários externos executem telnet para a LAN.
Os roteadores fornecem recursos de filtragem básica, como bloqueio de tráfego da
Internet, com as access control lists (ACLs). Uma ACL é um conjunto seqüencial de
instruções de permissão ou de recusa que se aplica a endereços ou dos protocolos
das camadas superiores.

2. O que são ACLs?

As ACLs são listas de instruções que você aplica à interface do roteador. Essas listas
informam o roteador sobre que tipos de pacotes deve aceitar e que tipos de pacotes
deve recusar. A aceitação e a recusa podem ser baseadas em certas especificações,
como o endereço de origem, endereço de destino e número da porta. As ACLs
permitem que você gerencie o tráfego e examine pacotes específicos aplicando a
ACL à interface de um roteador. Qualquer tráfego atravessando a interface é
testado com relação a determinadas condições que fazem parte da ACL.

As ACLs podem ser criadas para todos os protocolos de rede roteados, como o
protocolo IP e o IPX, para filtrar pacotes à medida que atravessem um roteador. As
ACLs podem ser configuradas no roteador para controlar o acesso a uma rede ou
sub-rede. Por exemplo, na Unice, as ACLs poderiam ser usadas para evitar que o
tráfego de alunos entre na rede administrativa.

As ACLs filtram o tráfego na rede controlando se os pacotes roteados são


encaminhados ou bloqueados nas interfaces dos roteadores. O roteador examina
cada pacote para determinar se deve encaminhá-lo ou descartá-lo, baseado nas
condições especificadas na ACL. As condições da ACL poderiam ser o endereço de
origem do tráfego, o endereço de destino do tráfego, o protocolo da camada
superior ou outras informações.

Redes TCP/IP-Mauro Mendes Em 04/01/2008 Pág. 27- 1


Aula 27 - ACLs – Lista de controle de acesso

3. Motivação para o uso de ACLs

Há várias razões para que ACLs sejam criadas. Por exemplo, as ACLs podem ser
usadas para:

• Fornecer um nível básico de segurança para acesso à rede. Por exemplo, as


ACLs podem permitir que um host acesse uma parte de sua rede e impedir que
outro host acesse a mesma área. É permitido ao host A acessar a rede de
Recursos Humanos, e o host B é impedido de acessar a rede de Recursos
Humanos. Se você não configurar as ACLs no seu roteador, todos os pacotes que
atravessem um roteador podem ter permissão de acesso a todas as partes da
rede.
• Escolher que tipos de tráfego serão encaminhados ou bloqueados nas interfaces
do roteador. Por exemplo, você pode permitir que o tráfego de correio eletrônico
seja roteado, mas pode, ao mesmo tempo, bloquear todo o tráfego de telnet.
• Fornecer controle de fluxo de tráfego. Por exemplo, as ACLs podem restringir ou
reduzir o conteúdo das atualizações de roteamento. Essas restrições são usadas
para limitar a propagação de informações sobre redes específicas através da
rede.

4. O que as ACLS podem testar

As ACLs verificam os cabeçalhos das camadas de rede e transporte

Dados de um pacote

Enlace Rede Transporte Aplicação


Endereços IP origem, Ip destino, protocolo Porta Dados

As lista de acesso configuradas nos roteadores CISCO testam as informações acima


das camadas de rede e transporte.

As instruções irão permitir ou recusar pacotes com base nas instruções das ACLs.

Redes TCP/IP-Mauro Mendes Em 04/01/2008 Pág. 27- 2


Aula 27 - ACLs – Lista de controle de acesso

5. Como as ACLS são executadas:

A ordem em que você cria as regras da ACL é importante. Quando o roteador está
decidindo se deve encaminhar ou bloquear um pacote, testa-se o pacote em relação
à cada instrução de condição, na ordem em que as instruções foram criadas.

Observação: depois que uma correspondência é encontrada, nenhuma outra


instrução de condição é verificada.

Se você criar uma instrução de condição que permita todo tráfego, nenhuma
instrução adicionada posteriormente será verificada.

6. Como as ACLs funcionam

Uma ACL é um grupo de instruções que definem como os pacotes:

• Entram nas interfaces de entrada


• São retransmitidos através do roteador
• Saem das interfaces de saída do roteador

Quando o pacote entra em uma interface, o roteador verifica se a interface de


entrada tem uma ACL. Se tiver, o pacote é testado em relação às condições da lista.
Se o pacote for permitido, ele será testado em relação às entradas da tabela de
roteamento para determinar a interface de destino.

Depois, o roteador verifica se a interface de destino tem uma ACL. Se não tiver, o
pacote pode ser enviado para a interface de destino diretamente; por exemplo, se o
pacote usar E0, que não tem ACLs, ele usará E0 diretamente.

As instruções da ACL operam em ordem seqüencial e lógica. Se a correspondência


com a condição for verdadeira, o pacote será permitido ou negado e as instruções
da ACL restantes não serão verificadas. Se não houver correspondência em
nenhuma das instruções da ACL, uma instrução "deny any" implícita será imposta.
Isso significa que mesmo que você não veja "deny any" como a última linha de uma
ACL, ela está lá.

Fazendo a correspondência do primeiro teste, é negado acesso a um pacote para o


seu destino. Ele é descartado e jogado no depósito de bits, e não é exposto a
nenhum dos testes de ACL que se seguem. Se o pacote não corresponder às
condições do primeiro teste, ele passará para a próxima instrução na ACL.

Redes TCP/IP-Mauro Mendes Em 04/01/2008 Pág. 27- 3


Aula 27 - ACLs – Lista de controle de acesso

7. ACLS padrão e estendida

Padrão
–Checam apenas o endereço de origem
–Permitem ou negam toda a suite de protocolos
Estendida
–Checan os endereços de origem e destino
–Podem permitir ou negar protocolos específicos
–Podem permitir ou negar aplicações específicas (portas)

8. Regras usadas em ACLs

 Números de lista de acesso identificam o protocolo que está sendo usado


 A ordem dos commandos da access-list controlam os testes
 Os commandos mais restritivos devem estar no topo da lista
 Há um comando implícito “deny any” no final da lista (é virtual), logo é
necessário pelo menos um comando permit
 Criam-ase as listas, depois aplicamos às interfaces

9. Configuração de ACLs padrão

Comando

Router (config)# access-list número {permit | deny} origem [mascara]

 Setando o conteúdo da lista


 Listas de acesso padrão usam número de 1 a 99
 Mascara padrão = 0.0.0.0
 “no access-list número ACL” remove a lista da configuração

Router(config-if)#ip access-group número-ACL { in | out }

 Ativa a lista na interface


 Informa se é in (entrada) ou out (saida)
 Default = Out
 “no ip access-group access-list-number” remove a ACL da interfaces

Redes TCP/IP-Mauro Mendes Em 04/01/2008 Pág. 27- 4


Aula 27 - ACLs – Lista de controle de acesso

9.1. Exemplo 1

Permitindo apenas a minha rede

access-list 1 permit 172.16.0.0 0.0.255.255


(implicit deny all – não visível na lista)
(access-list 1 deny 0.0.0.0 255.255.255.255)

interface ethernet 0
ip access-group 1 out
interface ethernet 1
ip access-group 1 out

Bits de máscara curinga

Byte com oito posições (bits) Ação


0 0 0 0 0 0 0 0 Verifique todos os bits do endereço
0 0 1 1 1 1 1 1 Ignore os 6 últimos bits do endereço
0 0 0 0 1 1 1 1 Ignore os 4 últimos bits do endereço
1 1 1 1 1 1 0 0 Verifique os 2 últimos bits do endereço
1 1 1 1 1 1 1 1 Não verifique o endereço (ignore os bits no octeto)

Uma máscara-curinga é composta de 32 bits divididos em quatro octetos, cada


octeto com 8 bits. Um bit de máscara-curinga 0 significa "verificar o valor do bit
correspondente" e um bit de máscara-curinga 1 significa "não verificar (ignorar)
esse valor do bit correspondente".

O comando any (qualquer um)

Qualquer endereço IP: 0.0.0.0 + Máscara curinga: 255.255.255.255


(ignore todos)

Para indicar qualquer endereço IP, você digitaria 0.0.0.0; depois, para indicar que a
ACL deveria ignorar (ou seja, permitir sem verificar) qualquer valor, os bits da
máscara-curinga correspondentes para esse endereço seriam todos iguais (ou seja,
255.255.255.255). Você pode usar a abreviação any para comunicar essa mesma
condição. Ao invés de digitar 0.0.0.0 255.255.255.255, você pode usar a palavra
any sozinha como palavra-chave.

Redes TCP/IP-Mauro Mendes Em 04/01/2008 Pág. 27- 5


Aula 27 - ACLs – Lista de controle de acesso

Por exemplo, ao invés de usar:

Router(config) # access-list 1 permit 0.0.0.0 255.255.255.255

você pode usar:

Router(config) # access-list 1 permit any

O comando host

Um endereço de host IP, por exemplo 172.30.16.29 com máscara curinga 0.0.0.0
significa que é necessário verificar todos os bits

Uma outra condição comum em que o Cisco IOS permite uma abreviação na
máscara-curinga da ACL é quando você deseja coincidir todos os bits de um
endereço de host IP inteiro. Por exemplo, digamos que você deseje especificar que
um endereço IP de host seja permitido em um teste de ACL. Para indicar o
endereço IP de host, você deve inserir o endereço completo (por exemplo,
172.30.16.29) e depois, para indicar que a ACL deve verificar todos os bits no
endereço, todos os bits da máscara-curinga correspondente a esse endereço devem
ser zero (ou seja, 0.0.0.0). Você pode usar a abreviação host para comunicar a
mesma condição de teste ao software Cisco IOS ACL. No exemplo, ao invés de
digitar 172.30.16.29 0.0.0.0, você pode usar a palavra host na frente do endereço.
Por exemplo, ao invés de usar:

Router(config)# access-list 1 permit 172.30.16.29 0.0.0.0

você pode usar:

Router(config)# access-list 1 permit host 172.30.16.29

9.2. Negando um Host específico

access-list 1 deny 172.16.4.13 0.0.0.0


access-list 1 permit 0.0.0.0 255.255.255.255
(implicit deny all)
(access-list 1 deny 0.0.0.0 255.255.255.255)
interface ethernet 0
ip access-group 1 out

Redes TCP/IP-Mauro Mendes Em 04/01/2008 Pág. 27- 6


Aula 27 - ACLs – Lista de controle de acesso

9.3. Negando um subnet específica

access-list 1 deny 172.16.4.0 0.0.0.255


access-list 1 permit any
(implicit deny all)
(access-list 1 deny 0.0.0.0 255.255.255.255)
interface ethernet 0
ip access-group 1 out

10. Listas estendidas


Comparando com as listas padrões
Standard Extended
Filtro baseado na origem do pacote Filtros baseados na origem e no destino
Permite ou nega todos os protocolos Especifica um protocolo específico
Intervalo de 1 a 99 Intervalo de 100 a 199

Etapa 1: Setando parâmetros

Router(config)# access-list número-ACL { permit | deny } protocol origem


mascara-orig desino mascara-destino porta

Etapa 2: Ativando a lista na interface


Router(config-if)# ip access-group numero-acl { in | out }

10.1. Exemplo1:

 Negando FTP da subrede 172.16.4.0 para a subrede 172.16.3.0


saindo para E0

access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21


access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20
access-list 101 permit ip any any
(implicit deny all)(access-list 101 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255)
interface ethernet 0
ip access-group 101 out

Redes TCP/IP-Mauro Mendes Em 04/01/2008 Pág. 27- 7


Aula 27 - ACLs – Lista de controle de acesso

10.2. Exemplo 2:

Negando somente o tráfego Telnet da subnet 172.16.4.0 saindo para E0

access-list 101 deny tcp 172.16.4.0 0.0.0.255 any eq 23


access-list 101 permit ip any any
(implicit deny all)
interface ethernet 0
ip access-group 101 out

Dica:
Se endereço ip de origem de rede do pacote=endereço ip de rede da interface =>
regra deve ser aplicada com in (input-entrada)

Se endereço ip de destino de rede do pacote=endereço ip de rede da interface =>


regra deve ser aplicada com out (output-saída)

Redes TCP/IP-Mauro Mendes Em 04/01/2008 Pág. 27- 8