Objetivos
Neste tutorial será apresentado os conceitos de ACL’s para controlar o tráfego de rede não desejado, bem como utilizá-las para implementar um recurso mínimo de segurança no ambiente. Será abordado também como e onde posicionar uma ACL para que a rede se torne eficiente.
Pré-requisitos:
Conhecer os modos de configuração de um roteador, salvar um arquivo de configuração, bem como os conceitos básicos do protocolo TCP/IP, tais como, endereços de rede, máscaras de sub-rede, protocolos TCP/UDP e portas de conexão.
Parte 1 – Conceitos de ACL’s
Atualmente, um dos grandes desafios do administrador de redes de uma empresa é sem dúvida alguma manter seu ambiente seguro e principalmente estabelecer um controle de tráfego de pacotes nesta rede, daí a necessidade de utilizarmos as Listas de Controle de Acesso.
Os roteadores fornecem uma filtragem básica de pacotes, como por exemplo, o bloqueio de acesso a determinados recursos na internet. Uma ACL nada mais é que uma seqüência de instruções que permitem ou negam acesso a determinada rede ou recursos disponíveis noutras redes.
Toda Lista de Controle de Acesso é primeiramente criada e depois aplicada a uma determinada interface do roteador, ao processar o pacote o roteador verifica as instruções definidas numa ACL e com base nessas informações aceita ou recusa o pacote.
Podemos criar listas de acesso para vários protocolos da camada de rede,tais como, IPX e IP. Devemos sempre considerar a ordem de aplicação das ACL’s, o Cisco IOS analisa uma seqüência de cima para baixo, ou seja, assim que haja uma correspondência encontrada na lista, existirá uma permissão ou negação do pacote e as demais instruções na ACL não serão verificadas.
Se não existir correspondência em nenhuma das linhas de verificação da Lista de Acesso, automaticamente existirá no final da ACL uma instrução deny any implícita por padrão. Essa instrução tem por objetivo negar todo o trafego que passa por essa interface do roteador.
Vale a pena então lembrar que a partir do momento que criarmos uma linha de instrução, o equipamento passa a verificar essa ACL e logo após estará implícito um deny any no final, por exemplo, digamos que eu queira liberar o tráfego FTP para uma determinada rede, se apenas definir essa instrução o restante do tráfego será negado justamente por causa da negação implícita no final da regra. Para solucionar este problema devemos ter bem definidas todas as condições de tráfego da rede a ser liberado e especificá-los em cada linha da ACL.
Caso não seja definida nenhuma Lista de acesso ao roteador, todo tráfego que passará nas interfaces será devidamente liberado a todas redes, tanto de entrada quanto de saída.
A recomendação é que no início do aprendizado de ACL’s devemos sempre adicionar no final da lista a instrução deny any, isso reforçará a lembrança de que existe sempre um deny implícito no final. À medida que a prática na criação de ACL’s for aumentando automaticamente lembraremos desta negação.
Vejamos então os objetivos de utilizarmos ACL’S:
» Como mencionamos anteriormente para limitar o acesso de pacotes indesejados que entram ou saem da rede;
» Implementação mínima de segurança;
» Definir qual rede será liberada ou bloqueada;
» Controlar o fluxo de pacotes preservando largura de banda da rede;
Máscara Curinga
Outro conceito importante que devemos entender ao estudarmos Listas de Acesso é o que chamamos de máscara curinga.
Uma máscara curinga é composta de 32 bits também divididos em 4 octetos e estes octetos estão emparelhados com os 32 bits do endereço IP. A diferença da máscara curinga para a máscara de sub-rede é que o numero 0 da máscara curinga representa verificar o octeto correspondente e o 1 representa descartar o octeto.
Um exemplo seria:
No endereço 192.168.10.89 com a máscara curinga 0.0.0.255, significa verificarmos os três primeiros octetos e descartarmos o último,
Parte 2– Tipos de ACL’s
Existem especificamente três tipos de Listas de Acesso que são:
» Listas de Acesso IP Padrão
» Listas de Acesso IP Estendidas
» Listas de Acesso com Nome
Listas de Acesso IP Padrão
Este é um tipo de Lista de Acesso baseado no endereço IP de origem. Esta ACL permite ou nega o tráfego de um conjunto inteiro de protocolos a partir dos endereços da rede, sub-rede ou host.
Toda configuração de uma ACL num roteador é seguida de um número que corresponde a um intervalo. Este número indica o tipo de Lista de Acesso definida. Para Listas do tipo Padrão o intervalo vai de 1 a 99.
Na versão 12.0.1 do IOS foi adicionado mais um intervalo que vai de 1300 a 1999. Com esse adicional podemos ter até 798 Listas de Acesso IP Padrão.
Primeiramente devemos definir as instruções de uma ACL e logo em seguida aplicarmos numa interface definindo o seu destino. Conceitualmente as listas de acesso IP Padrão devem ser aplicadas mais próximo do destino.
Obs. Todo o processo de configuração será visto no tutorial “Criando Listas de Acesso”.
Listas de Acesso IP Estendidas
Este é um tipo de Lista de Acesso bem mais utilizado, ele baseia todo o controle em endereços de rede de origem e destino, sub-rede, host, conjunto de protocolos e portas. Isso torna este tipo de ACL bem mais flexível e completa que uma lista padrão.
É possível configurar várias instruções para uma mesma lista de acesso, basta para isso conservar o mesmo número da lista. A quantidade de instruções definidas numa lista de acesso é limitada pela capacidade de memória do roteador.
O intervalo de uma Lista de Acesso Estendida vai de 100 a 199, também existe um intervalo adicional para versões de IOS mais recentes que vai de 2000 a 2699.
No final da ACL estendida temos a opção de definirmos o tipo de porta a ser utilizada. É possível especificar operações lógicas na configuração destas portas, tais como:
eq – igual
neq – diferente
gt - Maior do que
lt – menor do que
Essas operações lógicas são utilizadas em determinados protocolos.
ACL’s com Nome
Este tipo de Lista de Acesso foi introduzido na versão 11.2 do Cisco IOS. Esta lista permite que sejam atribuídos nomes ao invés de números às listas de acesso. A principal vantagem deste tipo de configuração está na identificação da lista, ou seja, podemos atribuir um nome que seja relacionado diretamente a função desta lista. Mas além desta vantagem posso destacar:
» Quantidade ilimitada de listas de acesso, visto que não fica na dependência da quantidade de números disponíveis nos intervalos;
» Permite a inserção de instruções no final da lista;
Devemos, porém considerar que neste tipo de lista não deve existir nome repetido, nem se o tipo de lista for diferente. Por exemplo:
Não é possível existir uma lista de acesso padrão e uma lista de acesso estendida com o nome VENDAS.
Definimos uma lista de acesso com nome através do comando ip Access list.
Obs. Todo o processo de configuração será visto no tutorial “Criando Listas de Acesso”.
Considerações sobre o posicionamento das Listas de Acesso
Para o bom funcionamento de uma lista de acesso devemos saber exatamente como e onde posicioná-las, isso fará com que a rede seja muito mais eficiente.
No geral a documentação da Cisco diz o seguinte:
Para listas de Acesso IP Padrão posicione o mais próximo do destino, pois estas se baseiam nos endereços de origem. Para as Listas de Acesso IP Estendidas posicione mais próximo da origem, pois como esta lista se baseia em endereços de origem, destino, tipo de protocolo e porta, o tráfego é analisado antes de sair da rede.
Extraído de: http://www.juliobattisti.com.br/tutoriais/luisepedroso/acl001.asp