R2aula27-ACLs

8

Click here to load reader

Transcript of R2aula27-ACLs

Page 1: R2aula27-ACLs

Aula 27 - ACLs – Lista de controle de acesso

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

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.

Page 2: R2aula27-ACLs

Aula 27 - ACLs – Lista de controle de acesso

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

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.

Page 3: R2aula27-ACLs

Aula 27 - ACLs – Lista de controle de acesso

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

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.

Page 4: R2aula27-ACLs

Aula 27 - ACLs – Lista de controle de acesso

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

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

Page 5: R2aula27-ACLs

Aula 27 - ACLs – Lista de controle de acesso

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

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.

Page 6: R2aula27-ACLs

Aula 27 - ACLs – Lista de controle de acesso

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

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

Page 7: R2aula27-ACLs

Aula 27 - ACLs – Lista de controle de acesso

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

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

Page 8: R2aula27-ACLs

Aula 27 - ACLs – Lista de controle de acesso

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

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)