Você está na página 1de 16

Qual de vocs no tiveram dificuldade em entender Lista de Controle de Acesso ? As famosas ACLs. Poucos.

E invarivelmente tropevamos nos mesmos erros quando fazamos os testes ou labs. Se no fosse a tal mscara wildcard, era onde aplicar a ACL. Aps ler muito sobre elas, e decidir que no poderia deixar de lado to importante tpico no exame CCNA, afinal, aproximadamente 30% das questes seriam ou sobre elas especificamente ou em torno do assunto mesclado a outros assuntos, quando fui parar no site da Global Knowledge. Por sinal excelente. L, encontrei um artigo entitulado IOS Access Control Lists Made Easy que desmistificou o bicho-papo das ACLs. O autor do artigo, Kurt Patzer, instrutor da Global e tem 8 anos de estrada na rea. Ele foi bastante especfico, claro e direto quando tratou as ACLs. No white-paper, ele consegui descomplicar e muito, o que para ns, pobres mortais, estava quase criptografado. Li o artigo apenas uma vez e foi o necessrio para superar mais essa barreira. E espero que seja til para vocs como foi para mim. Aqui, vou iniciar uma srie de 6 artigos, baseado no original de Kurt. ok. Menos blblbl e vamos ao que interessa. .

Lista de Controle de Acesso criadas facilmente - Parte 1


Aqui assumido que diferentes leitores tero diferentes nveis de experincia com as Access Control List (ACLs). Algum no ter experincia. Outros tero interesse pelas ACLs nos ambientes Lab. E ainda outros tero extensa experincia no mundo real com a implementao das ACLs. O objetivo deste white-paper para ser interessamte para leitores com qualquer nvel de experincia em ACL. O novato em ACL dever adquirir um entendimento e apreciao da definio de uma ACL. E felizmente, o expert em ACL tambm poder adquirir um insight a mais com este material elucidativo. O que ACL ? Tente definir uma ACL usando somente duas palavras.Voc sugeriria filtro de pacote ?!? Esta a resposta mais comum, e por uma boa razo. intuitiva porque ela realmente pode ser definida com duas palavras e ela descreve o uso mais comum para as ACLs. O problema com esta definio que as ACLs podem ser utilizadas para muitos objetivos que no somente filtro de pacotes. Por exemplo, as ACLs podem ser utilizadas para definir qual a fila de pacote entrar quando vocs estiver usando um enfileiramento personalizado ou prioritrio. Nos dois casos, os pacotes no so filtrados. Eles so simplesmente enviados para a frente, para o meio, ou para o final da linha dependendo de um certo critrio de avaliao. Outro exemplo o uso de ACLs para definir trfego interessante de um link dial-on-demand (sob demanda). Quando aplicada

desta maneira, a ACL ir definir o trfego que importante o bastante para que o router tire o telefone do gancho e pague as taxas pelo seu uso do servio. Uma vez que uma chamada feita, conectada, todo trfego permitido atravs do link, e no somente o trfego interessante. Se voc quer que somente o trfego interessante atravesse seu link, voc deve aplicar uma ACL nesta interface. Um terceiro uso para uma ACL para referenciar a ACL dentro de um mapa de criptografia onde ela define o trfego interessante para um tnel IPSec. Quando o mapa crypto designado para uma interface, nenhum trfego interessante pode ainda ser permitido atravs da interface, ele apenas no ser encriptado antes de ser encaminhado. Existem dzias de diferentes maneiras de aplicar as ACLs no IOS de um router. A definio de duas-palavras de uma ACL que eu sugeriria classificador de pacote ou packet classifier. Para expandir essa definio, uma ACL contm uma lista de entradas definindo um critrio de comparao. Um pacote em um dado momento, as caracterticas do pacote so comparadas a lista de entradas da ACL em sequncia. A classificao associada com a primeira ACL de entrada que coincide com as caractersticas do pacote determinar a classificao do pacote. ACLs utilizam os termos deny e permit para descrever as duas possveis classes. Infelizmente, esta terminologia ajuda a promover a percepo do filtro de pacote. No pense no deny e no permit como negar ou permitir a passagem do pacote atravs do router. Ao contrrio, pense nela como permitir e negar a entrada de um pacote dentro de uma certa classificao. Por exemplo, para permitir ou negar este pacote de entrada dentro da classe de pacotes que pertencem a uma fila de alta prioridade.. Quais tipos de ACLs os routers suportam ? O IOS dos routers suportam muitos tipos de ACLs. Existem ACLS que examinam critrios da Camada 2, tais como valores endereos MAC e LSAP. Existem ACLs que examinam vrios protocolos de Camada 3, tais como IPX, AppleTalk, DECnet, e Vines. Existem ACLs que examinam critrios Ipv6. Porm este white paper focar naquela mais comum hoje em dia : ACLs que examinam o critrio IPv4. ACLs IP so geralmente quebradas dentro de ACLs IP padro e extendida. Se ou no uma ACL IP padro ou extendida, ela poder ser definida tanto pelo nmero quanto pelo nome. Se voc escolher por nmero, o intervalo do nmero importante. Originalmente, as ACLs IP Padro so numeradas entre 1 a 99, enquanto que as ACLs IP Extendidas utilizam nmeros de 100 a 199. Estes intervalos foram expandidos para tambm incluir 1300 a 1999 para as ACL IP Padro e 2000 a 2699 para as ACLs IP Extendidas. ACLs IP Padro utilizam exatamente um nico critrio no qual fazem a comparao : O ENDEREO IP DE ORIGEM. Frequentemente isto exatamente o que apropriado para usar. Por exemplo, voc pode usar a instruo access-class para referenciar uma ACL para limitar o acesso as linhas VTY. Neste caso, voc est interessado em um nico endereo IP de origem. Voc sabe que o endereo IP de destino do seu prprio roteador, o protocolo TCP e a porta de destino a 23 para o Telnet. (Atualmente, neste exemplo ele poderia tambm ser TCP porta 22 se voc tiver configurado o suporte SSH). Outro exemplo para uso de

uma ACL IP Padro quando elas so referenciadas numa definio de community string do protocolo SNMP. Novamente, somente o endereo IP de origem de interesse, como ns sabemos que o endereo IP de destino do nosso prprio router e o protocolo o UDP com porta de destino 161 (SNMP). As ACLs IP Extendidas permite que voc examine todos os cabealhos da Camada 3 e 4 dos pacotes IP. Voc pode especificar um critrio usando tanto o endereo IP de origem quanto o de destino. Voc pode especificar o protocolo IP. Com o TCP e UDP, voc pode especificar as portas de origem e de destino, e com o ICMP voc pode especificar o cdigo e tipo ICMP. Protocolo IP IP estendido Appletalk IPX estendido Protocolo de anncio de servio IPX Ordem Importante Como foi mencionado anteriormente, as entradas ACL so processadas em ordem. Se existirem duas ou mais entradas com critrios que coincidem com que o est no pacote, ele permitido ou negado na primeira entrada de coincidncia que importante. Devido a isto, voc deve colocar entradas mais especficas no topo da ACL. Por exemplo, se voc quiser permitir toda a rede 172.16.x.x, mas negar um nico endereo desta rede, como 172.16.10.10, voc dever colocar a entrada deny que mais especfica antes da entrada permit que mais genrica. Outro ponto que deve ter cuidado a existncia implcita de uma instruo deny tudo mais no final de cada ACL. O que significa que se no existirem coincidncias das entradas anteriores para cada pacote, ento a classificao implcita negar todos os pacotes. Se desejar, este deny implcito pode ser cancelado por uma entrada permit tudo mais Ol ! Doses homeopticas de ACLs fazem bem a sade, ento veremos a 2a parte do artigo. Prontos ?!? Vamos l. :) . Intervalo Padro => 1 - 99 , 1300-1699 Extendida => 100-199 , 20002699 600-699 900-999 1000-1099

Lista de Controle de Acesso criadas facilmente - Parte 2


. O Cenrio

Considere a rede projetada na figura 1. Ns temos 4 engenheiros. Suas estaes utilizam os endereos IP de 172.16.100.4 at 172.16.100.7 Tambm temos 2 servidores de engenharia.Eles utilizam os endereos IP 172.16.101.163 at 172.16.101.179. Os engenheiros utilizam trs aplicaes TCP entre suas estaes e os servidores: telnet, FTP e X Windows. O objetivo escrever as entradas ACL que coincidam com estas aplicaes das estaes da engenharia para os servidores de engenharia. Ns queremos ser cuidadosos para coincidir exatamente este trfego, nem mais nem menos.

Figura 1: A rede utilizada no cenrio ACL Um mtodo para coincidir exatamente que desejado, explicitamente listar cada possibilidade de combinao. Isto ter cada entrada que permita telnet de 172.16.100.4 para 172.16.101.163, e outra para permitir telnet de 172.16.100.5 para 172.16.101.163, e continuar listando cada possvel combinao origem de protocolo, endereo e porta. Isto pode ser um tdio, e pode produzir um grande nmero de entradas. Quantas entradas seriam necessrias para este cenrio ? O mtodo geral para determinar isto multiplicar o nmero de endereos de origem especficos pelo nmero total de endereos de destino e novamente pelo nmero total de portas de destino. No nosso caso qual seria ? Ns temos 4 endereos IP de origem e 2 endereos IP de destino, porm quantas portas de destino TCP ? Temos 3 aplicaes, porm algumas utilizam mltiplas portas. O FTP mesmo utiliza a porta 21 como canal de controle, e a porta 20 como canal de dados ( nota : isto diferente se voc utilizar o modo passivo FTP, porm vamos ns ater ao modo padro FTP para o nosso exemplo). O X Windows

utiliza as portas 6000 e 6001 (novamente, isto poderia mudar diferentes instalaes do X Windows, porm vamos nos ater ao uso das portas 6000 e 6001). Isso significa que podemos exasutivamente listar todas as possveis combinaes usando a seguinte frmula : 4 x 2 x 5 = 40 entradas ( 4 endereos de origem x 2 endereos de destino x 5 portas ) Alm do fato de sermos preguiosos e no podermos digitar 40 entradas diferentes, existem questes de performance em risco. O router tem que sequencialmente processar cada entrada da ACL at encontrar uma entrada coincidente. A maioria das entradas na ACL significa, na mdia, mais processamento por pacote. O pior caso seria se o engenheiro que geralmente mais trabalhasse, utilizasse um protocolo em particular no servidor e a entrada que coincidisse com este trfego fosse a de nmero 40 na ACL, ou seja, a ltima na lista !! Nesse caso, 39 entradas seriam processadas antes que uma coincidisse com cada pacote daquele engenheiro workaholic. Assim, usando sua experincia com ACLs, como voc reduziria o nmero de entradas necessrias para esta especificao ? Aqueles de vocs que so mais velhos devem lembrar de um game chamado Name That Tune. Aqui, vamos jogar o Name That ACL, onde o objetivo especificar uma ACL com menor nmero de linhas. Antes de continuar a ler, pense sobre quantas linhas voc poderia reduzir a definio da ACL. Pensou ? Agora, guarde sua resposta Mostrarei a voc como especificar exatamente o trfego desejado, nem mais, nem menos, em apenas 3 linhas. Para fazer isto, teremos de agrupar os endereos IP de origem, os endereos IP de destino, e as portas TCP. Ns utilizaremos o conceito de mscaras coringa ou wildcard para agrupar todos os quatro engenheiros dentro de um nico grupo. Ns tambm utilizaremos a mscara wildcard para agrupar todos os servidores de engenharia em um nico grupo. E finalmente, utilizaremos intervalos de portas para agrupar as portas TCP dentro de trs grupos separados. Com este agrupamento, ele ficar com 1 x 1 x 3 = 3 entradas para uma especificao total do trfego desejado.

Lista de Controle de Acesso criadas facilmente - Parte 3


.Agrupando os Engenheiros com uma Mscara Wildcard O conceito de mscara wildcard muito similar aqueles de mscara de subrede, com uma pequena mas muito significante diferena na lgica. Uma mscara de subrede uma sequncia de binrio 1s e 0s que so utilizados para determinar qual parte de um endereo IP associado com o endereo de rede. Com uma mscara de subrede, se um bit em particular em um endereo IP parte de um endereo de rede, o correspondente bit na mscara de subrede setado para 1. Uma mscara wildcard muito similar, porm a lgica inversa. Um binrio 1 na mscara wildcard significa no se preocupe. o digito binrio 0 na mscara wildcard que distingue os bits importantes.

Vamos iniciar com um exemplo. A mscara de subrede mais comumente em uso hoje em dia 255.255.255.0. Os primeiros 3 octetos, quando convertidos para binrio, contm 8 binrios 1s. Toda a mscara tem 24 binrios 1s, seguidos de 8 binrios 0s. Isto frequentemente referido como mscara de 24 bits ou /24, que utilizada como uma notao abreviada. O que significa que cada bit de cada um dos 3 octetos no endereo parte do endereo de rede. O ltimo octeto definido por 8 binrios 0s, de forma que nenhum bit no ltimo octeto so parte do endereo de rede. Eles so todos utilizados para especificar um host naquela rede. A correspondente mscara wildcard dos 24 bits seria 0.0.0.255. Com esta mscara wildcard, voc se preocupa somente com cada bit dos 3 primeiros octetos, porm nenhum dos bits no ltimo octeto. Assim, a combinao de endereo e a mscara wildcard 172.16.100.0 0.0.0.255 coincide com todos os endereos que iniciam com 172.16.100, e no se importa com o valor do ltimo octeto. Aqui est outro modo de pensar sobre isso : 172.16.100.0 0.0.0.255 especifica que endereo IP deve parecer exatamente como 172.16.100.0 at os primeiros 24 bits, e porm no se preocupe com o que os ltimos 8 bits so ! Vamos olhar para outro exemplo comum de mscara de subrede : 255.255.255.252. A maioria de vocs podem reconhecer isto tipo de mscara que utilizada em link WAN ponto-a-ponto. Em binrio, esta mscara tem 30 digitos 1s seguidos de 2 digitos 0s. Portanto ela poderia ser chamada de mscara de subrede de 30 bits e poderia ser escrita com a abreviao /30. Esta mscara de subrede utilizada para conservar espao de endereo IP. Em um link ponto-a-ponto, existem somente 2 endereos IP ativos. Com a mscara de subrede 255.255.255.0, existiriam 254 endereos disponveis. Se somente 2 endereos so utilizados, a vasta maioria de espao de endereos IP seria disperdiada. Com essa mscara de subrede 255.255.255.252, existem somente dois endereos IP disponveis, o que o encaixe perfeito para uma rede ponto-a-ponto. Observe que a mscara atualmente especifica um grupo de 4 endereos, porm o primeiro endereo o prprio endereo da rede, e o ltimo de broadcast. Portanto, existem dois endereos direita disponveis. Vamos dar uma olhada na matemtica binria involvida na mscara de subrede de 30 bits antes de ns considerarmos sua mscara wildcard equivalente. A figura abaixo descreve o ltimo octeto (.252) da mscara de 30 bits e a linha separa os dois ltimos bits, com 9 possibilidades de valores do octeto no endereo IP. Como voc pode ver, se voc somente olhar os 6 primeiros bits do octeto para determinar o endereo de rede, o valor dos octetos 4, 5, 6 e 7 esto todos na mesma subrede. Eles todos so exatemente como o 4, se voc ignorar o valor dos 2 ltimos bits. Porm o 3 e 8 no esto na mesma rede. Eles no se parecem exatamente com o 4 quando voc examina os 6 primeiros bits.

Figura 2 : um exemplo usando uma mscara de sub-rede de 30 bits A mscara wildcard equivalente da mscara de subrede 30 dgitos 0s seguidos de 2 dgitos 1s, ou 0.0.0.3. Como voc poder ver no exemplo de mscara de subrede, se ns juntarmos o endereo base 172.16.100.4 com uma mscara de 30-bits (por exemplo, 172.16.100.4 0.0.0.3), ele coincidir exatamente com os 4 endereos: 172.16.100.4 at 172.16.100.7. Bastante conveniente, porque com isto ir coincidir com os endereos IP dos engenheiros no nosso cenrio. No fique confuso com o fato de que, com a mscara de subrede, voc perde o primeiro e ltimo endereos IP. Com as ACLs e mscara wildcard, ns no definiremos redes (com endereos de rede e endereo de broadcast), ns apenas queremos especificar o intervalo de endereos IP. Agrupando os Servidores de Engenharia com uma Mscara Wildcard Alm de inverter o significado no valor dos bits, as mscaras wildcard diferem das mscaras de subrede naquilo dos bits no se preocupe que podem ser misturados por toda a mscara wildcard. Isto , eles no tem necessariamente de estar na sequncia de 0 s seguidos pela sequncia de 1s. Devido a isto, voc pode utilizar padres que existem no meio do endereo IP, ao invs de apenas no final. Ns levaremos vantagem desse truque para definir nossos 2 servidores de engenharia como um endereo base com uma mscara wildcard.

Figura 3 : uma mscara wildcard usando um exemplo mais complexo Em uma ACL, 172.16.101.163 0.0.0.16 coincidir com 172.16.101.163 e 172.16.101.179 e nada mais. Eles so os nicos valores que coincidem exatamente com 172.16.101.163, exceto pelo 4o. bit do ltimo octeto. 179 -163 = 16 => 00010000 Em uma ACL, 172.16.101.163 0.0.0.16 coincidir com 172.16.101.163 e 172.16.101.179 e nada mais. Eles so os nicos valores que coincidem exatamente com 172.16.101.163, exceto pelo 4o. bit do ltimo octeto. A figura 3 descreve os ltimos octetos dos endereos IP dos servidores da engenharia. Observe que o par de endereos IP no tem como aparecer que no tem nada em comum quando voc olha para eles no formato decimal, porm, quando voc converte para binrio o ltmo octeto, voc poder ver que eles variam somente em um nico bit. O 4o. bit. O que ns especificaremos para os servidores da engenharia 172.16.101.163 0.0.0.16. Isto significa que os endereos que coincidem tem exatamente como 172.16.101.163, porm no se preocupam sobre o valor do 4o. octeto. Alm do prprio 172.16.101.163, existe um nico endereo IP que parece exatamente como 172.16.101.163, exceto por um bit. Esse endereo 172.16.101.179. Usar esta mscara wildcard realmente nos deixa com menos entradas em nossa ACL, porm essa no a principal razo que apresentei este exemplo. A principal razo que quero que voc entenda totalmente o que uma mscara wildcard faz. Ela simplesmente especifica quais bits devem estar coincidindo no endereo IP para qual aplicada, se ela relativamente direta ou uma mscara mais complexa. Usar mscaras wildcard corretamente pode melhor a eficincia de suas ACLs, porm existem alguns lados obscuros tambm. Primeiro, voc poderia cometer um erro em sua aritmtica binria. Para reduzir este potencial, entenda totalemente as mscara wildcard, e pratique a aritmtica binria. O segund potencial problema , embora voc possa ser capaz de ler uma ACL com sua wildcard abreviada, outros poderiam no ser capazes de entender o que voc fez. Para ajudar neste item, eu recomendo muito que voc use o comando remark da ACL, que discutiremos mais tarde.

Lista de Controle de Acesso criadas facilmente - Parte 4

.Agrupando as Aplicaes pelos Intervalos de Portas Muito mais simples do que usar mscaras wildcad para agrupar endereos IP usar intervalos de porta para definir grupos de portas TCP e UDP. Quando especificando portas TCP e UDP, voc deve especificar um operador em particular. Se voc quer comparar uma nica porta, voc dever usar o operador eq. Em nosso cenrio exemplo, especificaremos eq 23 para coincidir com o trfego telnet. Se voc quer especificar um intervalo de portas TCP e UDP, voc dever usar o operador range. Em nosso exemplo, ns utilizaremos um range 20 21 para especificar o FTP e o range 6000 6001 para especificar o X Windows. Elas no esto em grandes intervalos, porm elas esto apesar de tudo. Outros operadores que tambm poderiam ser usados para especificar as portas TCP e UDP que incluem o neq para not equal to ou no igual, gt para greather than ou maior que, e lt para less than ou menor que. Operador eq neq gt lt range Significado igual no igual maior que menor que faixa exclusiva

Sintaxe da ACL Ns escreveremos essas 3 ACLs na prxima seo. Antes de podermos fazer isso, de qualquer forma, precisamos ainda entender a sintaxe utilzada na definio de uma ACL. Novamente, existem diferentes tipos de ACLs, e todas elas tem uma sintaxe diferente. Neste exemplo, ns usaremos a sintaxe da ACL IP Numerada e Extendida. Existem muitas opes para ACLs IP Extendidas, e estas opes se alteram dependendo do protocolo que referenciado. No fique preocupado com cada opo neste exemplo. A sintaxe que importante para ns a seguinte: access-list nmero-da-acl {deny | permit} protocolo-origem origem origem-wildcard destino destino-wildcard [operador [porta]] Em bom Portugus : voc utiliza o comando access-list no modo de configurao global. A primeira coisa que voc deve especificar o nmero da ACL. Desde que seja uma ACL IP Extendida, o nmero deve estar entre 100 a 199. Ento, voc especifica a classificao para esta entrada em particular (permit ou deny). A seguir voc especifica o protocolo, que no caso o tcp. Especificando o tcp tambm nos permite especificar as portas de origem e de destino. Ento voc especifica os endereos IP de origem. Este pode ser um nico endereo precedido da palavra host como em, host 10.10.10.10. Ele pode ser um nico endereo onde a mscara de wildcard especificar que todo bit do endereo importante, como em 10.10.10.10 0.0.0.0. Em nosso caso ele ser o endereo base e uma mscara de subrede que lista poucos bits como bits no se preocupe. Opcionalmente, voc poderia ento especificar as portas de origem TCP. Na maioria dos casos, voc no tem muito controle sobre as portas de origem. A aplicao cliente Telnet vem do Sistema Operacional na estao de trabalho e requisita a porta de origem, e o SO que escolhe qual porta utilizar (acima de 1024, inclusive). A nica coisa que ns podemos ter certeza que que a porta ser maior que 1023. Algumas aplicaes

podem reservar portas de origem do SO, e nesses casos ns podemos ser ainda mais restritivos em nosso exemplo. Assim, o prximo item que voc deve especificar o endereo IP de destino. As mesmas opes estaram disponveis como foi para o endereo IP de origem. Novamente, ns utilizaremos o endereo IP base e a mscara wildcard que vai espevificar quais so os bist no se preocupe. E finalmente, finalizamos ao especificar a porta TCP de destino. No nosso caso, utilizaremos o operador eq ou range, dependendo da entrada. Finalizando o Cenrio Assim, agora que voc entendeu a sintaxe bsica, hora de escrever a ACL. Usando os construtores j descritos acima, voc dever digitar essas trs linhas como se segue: access-list 101 permit tcp 172.16.100.4 0.0.0.3 172.16.101.163 0.0.0.16 eq 23 access-list 101 permit tcp 172.16.100.4 0.0.0.3 172.16.101.163 0.0.0.16 range 20 21 access-list 101 permit tcp 172.16.100.4 0.0.0.3 172.16.101.163 0.0.0.16 range 6000 6001 Interessante que se voc exibir o seu show run das suas ACLs, o router no exibir exatamente o que voc digitou. O eq 23 ser transformado em eq telnet e o range 20 21 ser transformado em range ftp ftp-data. Voc tambm poderia entr-la de outro modo, especificando os nomes das portas bem-conhecidas (well-known). Enquanto for conveniente, poder ser uma dica. Pergunta : No que eq 80 ser transformado ? hum ? A intuio mais comum seria dizer eq http, porm ao invs disso eq www. (rs) Existem ainda pequenas coisas que voc deve entender. provvel que estas entradas no sejam a ACL inteira. Se a nossa ACL exatamente aquelas 3 entradas, ento existe uma outra entrada implcita no final da ACL que deny ip any any e somente estas 3 entradas podem ser comparadas. access-list 101 permit tcp 172.16.100.4 0.0.0.3 172.16.101.163 0.0.0.16 eq 23 access-list 101 permit tcp 172.16.100.4 0.0.0.3 172.16.101.163 0.0.0.16 range 20 21 access-list 101 permit tcp 172.16.100.4 0.0.0.3 172.16.101.163 0.0.0.16 range 6000 6001 (access-list 101 deny ip any any) Tambm, simplesmente definir a ACL no tem efeito algum sobre o comportamento do router. Depois que ela definida, ela deve ser aplicada em algum lugar. Vc pode assumir que ns estivemos tentando configurar um filtro de pacote. Porm poderamos estar tentando especificar este trfego como mais importante e da por diante seria permitido dentro de uma fila de alta-prioridade. Se a topologia for mais complexa, poderemos estar especificando este trfego como trfego que queremos encriptar em um tunel IPSec, ou trfego para qual ns queremos especificar uma rota baseada em uma regra de segurana. Tambm, entenda que a direo importante. Vamos assumir que ns verdadeiramente queremos configurar um filtro de pacote, e portanto utilizaremos o comando access-group em uma interface. Volte a figura 1. Nossas duas escolhas so aplicar esta ACL de entrada ou INBOUND na interface ethernet 0 ou aplica-l como

sada ou OUTBOUND na interface ethernet 1. A sequncias de comandos para a primeira opo (INBOUND) dever ser : Router(config)#interface ethernet 0 Router(config-if)#ip access-group 101 in Voc Pode Pensar em Enganar ! Eu configuro uma instruo para permitir exatamente o trfego desejado, nada mais, nada menos. Efetuamos isso com trs entradas na ACL. Existe uma opo digna de se considerar que poderia reduzir o nmero de entradas para somente duas. O que utiliza a porta 22 TCP ? Se ns especificarmos um nico intervalo de 20 a 23, deveria ser a nica outra porta de destino que coincidisse com as instrues permit. Neste caso, ela poderia ser uma opo a ser considerada. A porta 22 TCP usada pelo protocolo SSH (Secure Shell). O SSH foi originalmente desenvolvido para tratar casos de autenticao em texto puro e dados como texto no telnet. Isto , o SSH mais uma alternativa segura ao telnet. O SSH foi aumentado para incluir o SCP (Secure Copy). SCP mais uma alternativa segura ao FTP. Administradores de Firewall genricamente odeiam a idia de permitir Telnet e FTP, porque eles so particularmente protocolos inseguros. Meu conselho , antes de compor suas ACLs, voc deve estabelecer sua poltica de segurana. Ento escreva sua ACL para coincidir exatamente com a poltica de segurana de sua empresa. No pegue atalhos s porque eles so pequenos em relao a poltica de segurana. Porm polticas de segurana devem estar em documentos que podem ser atualizados conforme o tempo passa. Valeria a pena considerar a adio do SSH poltica da segurana. Melhor at deveria ser adicionar uma planta da migrao para todos os sistemas dependentes do telnet/FTP sobre o uso do SSH/SCP. Uma vez que todos os sistemas foram migrados, atualize a poltica da segurana e as ACLs para permitir somente SSH/SCP e no telnet ou FTP. Outras Dicas e Truques Sobre ACL At este ponto, voc deve ter uma boa base sobre os componentes bsicos das ACLs IP. Para treinar ACLs, voc pode fazer alguns exames prticos com aritmtica binria conseguir uma boa maneira de calcular mscaras de wildcard, mas se voc compreendeu a funo da mscara wildcard neste momento, voc est na forma boa. H muitas outras opes que podem ser usadas em ACLs IP Extendida. As seguintes sees, quando longe de detalhado, discutirem algumas das opes o mais geralmente usadas. Nas sees seguintes, discutiremos algumas das opes mais geralmente usadas. Usando Comentrios ACLs podem ser longas e complexas. E pode ser uma luta lembrar porque voc colocou um certo conjunto de entradas na ACL seis meses depois. Pior ainda, imagine herdar uma ACL de 500 linhas de um administrador anterior. realmente um grande esforo entender cada uma das linhas da ACL herdada. Isto porque uso dos comentrios to importante. Infelizmente, eles no so utilizados quanto deveriam ser. O comando remark foi introduzido na verso do IOS 12.0(2)T. Muitos administradores aprendem a sintaxe da ACL antes que elas iniciam usando as verses do IOS que suportem o comando

remark. Isto provvelmente seja porque elas no so usadas extensivamente. Porm o conceito muito simples. Usando nosso exemplo de trs linhas, com algumas mscaras wildcard, ns devemos preceder as trs linhas com um comentrio, como se segue : access-list 101 remark As prximas 3 linhas combinam 172.16.100.4-7 e 172.16.101.163 & 179 access-list 101 permit tcp 172.16.100.4 0.0.0.3 172.16.101.163 0.0.0.16 eq 23 access-list 101 permit tcp 172.16.100.4 0.0.0.3 172.16.101.163 0.0.0.16 range 20 21 access-list 101 permit tcp 172.16.100.4 0.0.0.3 172.16.101.163 0.0.0.16 range 6000 6001

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 nmero de entradas em uma ACL, na mdia, reduz o processamento overhead exigido por aquela ACL. Um preo que dever ser pago, entretanto, que a ACL pode tornar-se difcil de ler. Outra soluo poderia ser o uso de Turbo ACLs, tambm 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 mtodo linear padro, porm esta caracterstica est somente disponvel em routers de alta capacidade (como 7200,7500 e a srie 12000). Compilar ACLs tambm exigem uma RAM mais significante, maior, do que as no-compiladas. Para ativar esta caracterstica em um router compatvel, emita o comando access-list compiled no modo de configurao global. Isto compilar todas as ACLs que so maiores do que as trs entradas. Qualquer modificao para uma ACL resultar em imediata recompilao daquela ACL. Para visualizar a memria 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 conexo, onde conexes so negociadas com um triplo handshake(handshake three-way), permiti-nos obter alguma eficincia no processamento da ACL. O handshake triplo especifica que o primeiro pacote em uma conexo no 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 conexo TCP estabelecida, isto , pacotes alm do pacote inicial o qual somente tem o bit SYN setado. Geralmente, isto utilizado com a palavra-chave any com ambos endereos 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, no desperdiaria 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 eficincia, porm ela diminue sua margem de segurana. Se voc est usando esta entrada em um filtro de pacote, possvel para um atacante mascarar o pacote com um bit ACK setado, embora ele no sido parte de uma conexo 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 no poder usar o comando ping padro para reconhecimento ou verificao. Porm o atacante pode mascarar no pacote TCP um bit ACK setado e envi-lo para um endereo IP alm do router. A ACL permitiria que o pacote fosse encaminhado. A estao que recebesse o pacote TCP reconheceria que ele no coincide com qualquer de suas conexes existentes. A estao ento responde de volta com um pacote TCP com o bit RST setado (o flag RST indica que a conexo est sendo abortada e os dados nos buffers ou em trnsito sejam descartados.) Se o atacante recebe o pacote reset, ento ele saber que a estao est ativa, efetuando a funo ping de outra maneira.

Otimizando a Performance da ACL com a Colocao da Entrada Mais Eficiente Como discutido anteriormente, voc sabe que deve colocar as entradas mais especficas antes das entradas mais gerais ou generalizadas dentro da ACL. Isto tem de ser feito para assegurar um comportamento apropriado. Porm 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 esto sendo mais utilizadas ?? Usando o comando show access-list. O nmero de vezes que cada entrada na ACL fosse utilizada seria exibido. O exemplo abaixo foi conseguido, porm 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 alterao 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 nmero ou nome de ACL para apagar os contadores daquela lista em particular. Se voc no especificar um nome ou um nmero, os contadores iro resetar todas as ACLs . Fique atento. Observe, contadores de ACL podem ser utilizados para um mtodo de contagem rpida e suja. Voc deve estar curioso para saber se o jogo Doom est sendo utilizado em sua rede ?? Permita o trfego TCP destinado a porta 666. No dia seguinte, exiba sua ACL. Se voc ver qualquer

contagem daquela entrada (porta 666 TCP), ento voc tem uma boa idia de que algum 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 nmero da ACL, a ao, o protocolo, os endereos IP de origem e destino, e o nmero de porta TCP/UDP, ou neste caso o tipo ou cdigo ICMP. Vc obter a mensagem de syslog para o primeiro pacote de uma nica combinao de protocolo, os endereos IP de origem e destino, e o nmero de porta TCP/UDP ou o tipo ou cdigo ICMP. Voc ento conseguir resumos de 5 em 5 minutos por um conjunto nico de critrios que lista quantas matches ocorreram no intervalo de 5 minutos. Voc pode tambm usar a palavra-chave log-input no final de uma entrada na ACL. O efeito muito similar, porm observe que ele adiciona informao do endereo MAC de origem, assim como informao 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 violaes da ACL vlido para redes forenses. Por exemplo, voc poderia aplicar uma ACL para usar linhas vty usando o comando access-class. Isto limitaria os endereos IP que so permitidos fazer telnet (ou SSH) para seu router. Se a ltima entrada na ACL um deny any log explcito, ento todas as tentativas invlidas de fazer telnet para seu router sero enviadas para o log e podem ser objeto de uma investigao posterior numa inspeo dos logs.

Lista de Controle de Acesso criadas facilmente - Parte 6


. .Tenha Cuidado quando Editar ACLs Remotas Se voc est utilizando mtodos in-band de conexo para um router remoto (como telnet ou SSH), voc tem que ser cuidadoso com as ACLs que edita para que voc no bloqueie sua conexo atual. A razo mais comum para que isso acontea que quando voc emite o comando no access-list 101, a entrada da ACL removida (mesmo se voc especificar precisamente uma nica linha, ela ainda assim remove toda a ACL).

Neste ponto, o router tratar a ACL 101 com um permit any. Porm, assim que voc adicione a primeira linha na nova ACL 101, o estado se altera de permit any para um negue tudo exceto para o que permitido pela primeira entrada. Se sua sesso telnet ou SSH est por muito tempo no ar, voc perder sua conexo ! Um truque que um pouco de divertido, e no configurvel em todos os ambientes, usar uma variante do comando reload. Se voc especificar reload in 5, ele instruir o router para aguardar por 5 minutos e ento recarregar. Assuma que voc entrou o comando no router e ento iniciou a edio de suas ACLs. Se voc acidentalmente travou a si mesmo, o router em breve recarregar. Ele reverter para sua antiga configurao startup que especifica as ACLs originais. Voc pode ento reconectar ao router e tentar novamente. Este truque no uma opo para uma organizao que demanda um uptime 24 x 7. Porm se sua organizao tem algumas filiais onde no existam funcionrios aps as 18:00 hs e voc administra as ACLs quando todos da equipe remota j foi embora, esta poderia ser uma opo para voc. Agora lembre-se de usar o comando reload cancel se sua edio funcionar, ou seno seu router ainda ficar recarregando e sua edio ser perdida mais uma vez. Outra idia no editar as ACLs on-line, porm, ao invs disso, editar usando um editor de texto ou o Word numa estao. Depois de editar, voc copia as ACLs para o router usando o TFTP. Uma vantagem disso que o router no implementaria a nova ACL at que todas as entradas tenham sido copiadas via TFTP, assim voc est muito menos propenso a travar a si mesmo. A principal vantagem, entretanto, que isso deixa as coisas mais fceis para voc adicionar e deletar linhas do meio de uma ACL. ACLs Nomeadas permitem a habilidade de remover uma linha do meio de uma ACL, porm mais comum voc precisar adicionar uma linha no meio da ACL. E, como discutimos anteriormente, voc pode querer reordenar a linha em sua ACL para melhorar sua performance. Isto muito fcil de ser efetuado com um editor de texto do que em uma sesso de configurao do router on-line.

Remover uma Linha do Meio de uma ACL Numerada Para recompensar a perseverana exigida para ler todo este white paper, finalizarei com uma dica que far com que voc ganhe algumas apostas com seus amigos que tambm admininistram um IOS Cisco. bastante conhecimento comum de que nomear ACLs IP oferecem a vantagem de ser capaz de remover as linhas do meio daquela ACL IP Nomeada. Isto porque se voc entrar o comando no command e precisamente especificar uma nica entrada na ACL numerada, toda ACL ser finalizada e removida. Voc pode apostar com seus amigos que acreditam nisto que voc remover a linha do meio de uma ACL Numerada to fcilmente quanto numa ACL Nomeada. A dica tratar a ACL Numerada como se ela fosse uma ACL Nomeada que apenas tem um nome que utiliza somente caracteres numricos. A seguir mostrado como remover a entrada FTP de uma ACL IP Numerada que ns utilizamos em nosso exemplo: 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

permit tcp 172.16.100.4 0.0.0.3 172.16.101.163 0.0.0.16 range ftp-data ftp permit tcp 172.16.100.4 0.0.0.3 172.16.101.163 0.0.0.16 range 6000 6001 router#config t Enter configuration commands, one per line. End with CNTL/Z. router(config)#ip access-list extended 101 router(config-ext-nacl)#no permit tcp 172.16.100.4 0.0.0.3 172.16.101.163 0.0.0.16 range ftp-data ftp router(config-ext-nacl)#end 01:27:48: %SYS-5-CONFIG_I: Configured from console by console 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 permit tcp 172.16.100.4 0.0.0.3 172.16.101.163 0.0.0.16 range 6000 6001 Sumrio A lista a seguir sumariza o que foi discutido neste white paper:

Uma ACL um classificador de pacote que pode ser aplicado de muitas maneiras diferentes. ACLs IP podem ser numeradas e nomeadas, e elas podem ser padro (standard) ou extendida (extended) Podemos usar mscaras wildcard para agrupar endereos IP. Enquanto que a matemtica binria possa ser complexa, o propsito muito simples. Mscaras wildcard especfica quais bits do endereo IP so importante para a classificao. Podemos usar um operador de intervalo para a grupar sequencialmente portas TCP ou UDP juntas. A otimizao da performance da ACL importante, entenda-se como otimizao da leitura da ACL. Remarks ou comentrios uma ferrramenta disponvel para melhora a leitura da ACL. Turbo ACLs so uma opo poderosa disponvel em routers Cisco de alta capacidade. A palavra-chave established pode melhorar muito o processamento eficiente da ACL e pode potencialmente utilizar esta informao para otimizar uma entrada colocada dentro da ACL. Voc pode rever os hit counts de cada entrada numa ACL e pode potencialmente usar esta informao para otimizar uma entrada dentro da ACL. Voc pode capturar via log da ACL as violaes para uso da rede forense. Quando usar comunicao in-band para o router, seja cuidadoso que sua ACL no atualiza numa queda de conexo. Contrrio a compreenso comum, possvel remover uma entrada do meio de uma ACL numerada.

Você também pode gostar