«

»

ago 02 2008

Lista de Controle de Acesso criadas facilmente – Parte 5

 Olá.

O refinamento que Kurt faz aqui nos fornece a maneira correta de implementar uma ACL.

Vamos lá…

.

Lista de Controle de Acesso criadas facilmente – Parte 5


..Otimizando a Performance da ACL Usando Turbo ACLs

Eu disse a você anteriormente que reduzir o número de entradas em uma ACL, na média, reduz o processamento overhead exigido por aquela ACL. Um preço que deverá ser pago, entretanto, é que a ACL pode tornar-se difícil de ler. Outra solução poderia ser o uso de “Turbo ACLs”, também conhecidas como ACLs Compiladas. Quando você compila uma ACL, ela se transforma em tabelas lookup que podem ser processadas muito mais eficientemente do que pelo método linear padrão, porém esta característica está somente disponível em routers de alta capacidade (como 7200,7500 e a série 12000). Compilar ACLs também exigem uma RAM mais significante, maior, do que as não-compiladas. Para ativar esta característica em um router compatível, emita o comando “access-list compiled” no modo de configuração global. Isto compilará todas as ACLs que são maiores do que as três entradas. Qualquer modificação para uma ACL resultará em imediata recompilação daquela ACL. Para visualizar a memória utilizada pela sua turbo ACL, emita o comando “show access-list compiled” no modo EXEC.

 

Otimizando a Performance da ACL Usando a Palavra-chave Established

O fato de que o TCP é um protocolo orientado a conexão, onde conexões são negociadas com um triplo handshake(handshake three-way), permiti-nos obter alguma eficiência no processamento da ACL. O handshake triplo especifica que o primeiro pacote em uma conexão não deverá ter um bit ACK setado; ele deverá somente ter o bit SYN setado. O segundo pacote deverá ter tanto o bit SYN, quanto o ACK. Devido a isto, você nunca deverá ver o bit ACK setado no pacote a menos que um pacote anterior com um único bit SYN setado já tenha sido permitido por alguma entrada na ACL. A palavra-chave “established” especifica somente permitir pacotes que estejam associados com uma conexão TCP estabelecida, isto é, pacotes além do pacote inicial o qual somente tem o bit SYN setado. Geralmente, isto é utilizado com a palavra-chave “any” com ambos endereços de origem e destino, e como primeira linha na ACL. A teoria é que se o primeiro pacote do handshake triplo (SYN, SYN+ACK, ACK) fosse permitido por uma entrada posterior na ACL, não desperdiçaria tempo processando cada entrada na ACL para chegar lá; encaminharia o pacote baseado na primeira entrada. Em nosso exemplo, a primeira linha da ACL leria :

access-list 101 permit tcp any any established

Agora você deve entender que usar a palavra-chave “established” faz com que a ACL seja processada com grande eficiência, porém ela diminue sua margem de segurança. Se você está usando esta entrada em um filtro de pacote, é possível para um atacante mascarar o pacote com um bit ACK setado, embora ele não sido parte de uma conexão TCP existente. A ACL permitiria que este pacote mascarado fosse encaminhado. Um exploit desta vulnerabilidade é realizar um “TCP ping”. A ACL poderá bloquear os ICMP echo requests, assim o atacante não poderá usar o comando ping padrão para reconhecimento ou verificação. Porém o atacante pode mascarar no pacote TCP um bit ACK setado e enviá-lo para um endereço IP além do router. A ACL permitiria que o pacote fosse encaminhado. A estação que recebesse o pacote TCP reconheceria que ele não coincide com qualquer de suas conexões existentes. A estação então responde de volta com um pacote TCP com o bit RST setado (o flag RST indica que a conexão está sendo abortada e os dados nos buffers ou em trânsito sejam descartados.) Se o atacante recebe o pacote reset, então ele saberá que a estação está ativa, efetuando a função ping de outra maneira.

 

Otimizando a Performance da ACL com a Colocação da Entrada Mais Eficiente

Como discutido anteriormente, você sabe que deve colocar as entradas mais específicas antes das entradas mais gerais ou generalizadas dentro da ACL. Isto tem de ser feito para assegurar um comportamento apropriado. Porém se uma entrada que é utilizada mais frequentemente, poderia ser movida para o alto da ACL sem modificar o comportamento da mesma, com isso sua performance aumentaria. Como você saberia quais as entradas estão sendo mais utilizadas ?? Usando o comando “show access-list“. O número de vezes que cada entrada na ACL fosse utilizada seria exibido. O exemplo abaixo foi conseguido, porém ele mostra nosso exemplo de ACL e a entrada FTP sendo mais utilizada que a entrada telnet. Se este comportamento for  consistente, ela deverá ser digna de alteração para ordernar as entradas.

router#sh access-list 101
Extended IP access list 101
permit tcp 172.16.100.4 0.0.0.3 172.16.101.163 0.0.0.16 eq telnet (4 matches)
permit tcp 172.16.100.4 0.0.0.3 172.16.101.163 0.0.0.16 range ftp-data ftp (84 matches)
permit tcp 172.16.100.4 0.0.0.3 172.16.101.163 0.0.0.16 range 6000 6001

Você pode resetar os contadores da ACL com o comando “clear access-list counters”. Vc deverá especificar um único número ou nome de ACL para apagar os contadores daquela lista em particular. Se você não especificar um nome ou um número, os contadores irão resetar todas as ACLs . Fique atento. Observe, contadores de ACL podem ser utilizados para um método de contagem rápida e “suja”. Você deve estar curioso para saber se o jogo Doom está sendo utilizado em sua rede ?? Permita o tráfego TCP destinado a porta 666. No dia seguinte, exiba sua ACL. Se você ver qualquer contagem daquela entrada (porta 666 TCP), então você tem uma boa idéia de que alguém está usando a rede para jogar Doom. Mas quem será ??? Para achar quem está jogando Doom, use o logging da ACL.  🙂

 

Logging dos Hits das ACLs

Você pode auditar as entradas coincidentes da ACL ao adicionar a palavra-chave “log” ou “log-input” no final da entrada. Isto fará que as mensagens de syslog sejam geradas para esta contagem. A palavra-chave “log” causará uma mensagem de syslog similar a seguinte:

00:19:15: %SEC-6-IPACCESSLOGDP: list 101 denied icmp 172.16.100.4 ->
72.16.101.100 (8/0), 1 packet

Observe que ela lista o número da ACL, a ação, o protocolo, os endereços IP de origem e destino,  e o número de porta TCP/UDP, ou neste caso o tipo ou código ICMP. Vc obterá a mensagem de syslog para o primeiro pacote de uma única combinação de protocolo, os endereços IP de origem e destino, e o número de porta TCP/UDP ou o tipo ou código ICMP. Você então conseguirá resumos de 5 em 5 minutos por um conjunto único de critérios que lista quantas matches ocorreram no intervalo de 5 minutos.

Você pode também usar a palavra-chave “log-input” no final de uma entrada na ACL. O efeito é muito similar, porém observe que ele adiciona informação do endereço MAC de origem, assim como informação da interface inbound do router. Aqui está um exemplo :

00:20:41: %SEC-6-IPACCESSLOGDP: list 101 denied icmp 172.16.100.4
(Ethernet00001.0251.b9a5) -> 172.16.100.1 (0/0), 1 packet

Fazer o logging de violações da ACL  é válido para redes forenses. Por exemplo, você poderia aplicar uma ACL para usar linhas vty usando o comando access-class.  Isto limitaria os endereços IP que são permitidos fazer telnet (ou SSH) para seu router. Se a última entrada na ACL é um deny any log explícito, então todas as tentativas inválidas de fazer telnet para seu router serão enviadas para o log e podem ser objeto de uma investigação posterior numa inspeção dos logs.


.A última e derradeira parte 6 vem aí!  🙂

.

Sds.

Márcia Guimarães



Comente usando o Facebook!
0
0

3 comentários

  1. Minu

    Gostei desta última parte que fala dos loggings.. Não imaginava que acls tivessem tal poder.

    0

    0
  2. ferrugem

    Agora uma boa notícia à todos aqui do BLOG que gostariam de ter estes arquivos em um único arquivo… Preparei um PDF contendo os 6 artigos muito bem preparados pela Márcia sobre o tema.

    Este arquivo pode ser encontrado na pasta Exames de Certificação/CCNA/Manuais e Resumos do HD do BLOG I entitulado por “Listas de Controle de Acesso criadas facilmente – Márcia Guimarães.rar”.

    Espero que seja útil para vocês!!! O material ficou realmente MUITO BOM! Mais uma vez, PARABÉNS Márcia!!!

    Abraços à todos e bons estudos,
    Ferrugem!!!

    0

    0
  3. Marcia Guimaraes

    Obrigada a todos do blog pelos comentários.

    🙂 :)Isso estimula muito a continuar estudando !!! 🙂 🙂

    0

    0

Deixe uma resposta