| | Problema em configurar ACL | |
| | Autor | Mensagem |
---|
toumzete
Número de Mensagens : 6 Idade : 34 Localização : sao paulo, sp Reputação : 0 Pontos : 8 Data de inscrição : 12/11/2011
| Assunto: Problema em configurar ACL Sáb Nov 12, 2011 1:45 pm | |
| Boa tarde, eu não sou da área de redes mas preciso configurar alguns acessos em uma determinada rede. Bom, tentarei ser claro: - Código:
-
'Rede A: 192.168.1.0' 'Rede E: 192.168.2.0'
- Eu possuo 5 redes, 'A', 'B', 'C', 'D' e 'E'. Eu necessito que a rede 'E' não se comunique com nenhuma maquina da rede 'A', mas a rede 'A' se comunique com a rede 'E', e a rede 'E', se comunique com servidor de internet constituído na rede 'A'. 'IP do servidor de internet: 192.168.1.2'. Bom, eu estou tentando configurar uma ACL da seguinte: - Código:
-
access-list 1 deny 192.168.2.0 0.255.255.255 access-list 1 permit host 192.168.1.2 access-list 1 permit any int f0/1 ip access-group 1 out
Ou seja, segundo a minha lógica, eu estou bloqueando todos os hosts da rede 'E' e liberando o acesso do host: 192.168.1.2 da rede 'A', e liberando também o acesso das demais redes. - Mas não estou obtendo êxito, acredito que eu esteja errando na especificação de entrada ou saída, ou até mesmo na própria sintaxe. Agradeço as possíveis ajudas. | |
| | | ronaldobf Specialist
Número de Mensagens : 189 Idade : 43 Localização : São Paulo-SP Reputação : 25 Pontos : 202 Data de inscrição : 16/06/2008
| Assunto: Re: Problema em configurar ACL Sáb Nov 12, 2011 4:16 pm | |
| Pra variar, escrevi demais, mas deixo claro que é para permitir futuras consultas de pessoas que venham a ter dúvidas similares.
Está um pouco confuso, pois no início, entendi uma coisa e no final, leva a entender outra...
Se bem entendi, você quer que a rede E, apenas se comunique com o servidor que está na A, bem como, qualquer conexão/trafego que foi originado da A para a rede E. Isto é, a rede E só pode se comunicar com o servidor e responder por tráfegos iniciados pela rede A. Correto?
Primeiramente, vou explicar o uso da ACL para bloquear todo o tráfego da rede E, permitindo apenas o server 192.168.1.2 da rede A.
Usando standard access-list, que foi a usada por você, ela se baseia em origem apenas, isto é, ela lê o endereço de origem do pacote para saber se existe algum match na ACL. Pelo que vejo, você aplicou essa ACL em local e sentido errado, não fazendo com que os pacotes que passem por esta esteja, realmente, com o endereço de origem dessas subents.
Como envolve outras subnets que você deseja utilizar, o uso de extended access-list seria o ideal, pois, com ela, você pode definir origem e destino e, quando um pacote passar pela interface que está aplicada a ACL, ele checará tanto origem quanto destino.
Lembrando que a ACL deve policiar o tráfego o mais próximo possível de sua origem, evitando assim, tráfego desnecessário na rede.
Outra lembraça: ACL funciona no sistema de first match, isto é, a primeira linha (o sequence number mais baixo) é a primeira a ser validada. Se der match nessa primeira, ele não valida os próximos statements, pois já encontrou algo válido (deny ou permit) para este pacote. Por isso, sempre adicione mais específicos primeiro, bem como, tente deixar os statements que possuem maior quantidade de tráfego no topo (com seq number menor), já que se você tiver 1000 linhas em sua ACL e a 999 é um permit para um tráfego X, que representa 90% do tráfego, é aconselhável, caso houver possibilidade, de deixá-lo no topo, pois ao testar cada linha da ACL até a 999, gera uso de CPU.
Exemplo de seu caso:
- No roteador que contem a subnet E, crie uma ACL permitindo o acesso ao servidor da rede A e bloqueie o restante desta subnet, então, se for pra permitir qualquer outro tráfego, permita-os no final.
access-list 101 permit ip 192.168.2.0 0.0.0.255 host 192.168.1.2 access-list 101 deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 access-list 101 permit ip any any
Aplique na interface próxima a subnet E, no sentido de outbound.
Na ACL acima, você bloqueou o tráfego em apenas num sentido (de E para A), o que ainda permite que um determinado tráfego originado em A, será permitido e pasarrá pelo equipamento sem problemas. Quando o host, que está na rede E receber o pacote, o mesmo responderá. Esta resposta será bloqueada na interface onde a ACL foi aplicada. Para um bom design, o ideal, seria bloquear em ambos os sentidos. Melhor ainda se você puder aplicar outra ACL na rede A, bloqueando que a mesma se comunique com E, permitindo apenas o servidor específico.
É a mesma ACL, só invertendo as posições de origem e destino:
access-list 101 permit ip host 192.168.1.2 192.168.2.0 0.0.0.255 access-list 101 deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 access-list 101 permit ip any any
Aplique na interface próxima a subnet A, no sentido de outbound.
Dessa maneira, nenhum tráfego que não seja permitido, consiguirá sair de sua localidade, evitando "requests" sem necessidade e economizando banda.
Se o server for um servidor web, por exemplo, pode-se permitir apenas a porta 80 (HTTP) e bloquear as restantes (e 443 para HTTPS).
Ao invés de: access-list 101 permit ip 192.168.2.0 0.0.0.255 host 192.168.1.2
Especifique: access-list 101 permit tcp 192.168.2.0 0.0.0.255 host 192.168.1.2 eq 80
AGORA....
Pensando no primeiro entendimento, se você quiser que a rede E apenas se comunique com o servidor que está na A, bem como, qualquer conexão/trafego que foi originado da A para a rede E seja permitido. Isto é, a rede E só pode se comunicar com o servidor e RESPONDER por tráfegos iniciados pela rede A, teria que usar uma ACL que seja capaz de manter a tabela stateful.
ACL estabilished, em Cisco.
Essa tabela stateful é capaz de armazenar e controlar o que passou, bem como o que esperar de resposta de um determinado tráfego (flow).
TCP, por exemplo, usa TCP-syn, TCP-Syn ACK, respondendo o Syn e então ACK.
Se uma origem gerou o tráfego TCP para um determinado destino, o primeiro pacote será o TCP Syn. A resposta esperada de um TCP Syn, é o Syn-Ack. A ACL estabilished nada mais é do que uma ACL que sabe o que esperar de resposta. Se algo vier fora do esperado, o tráfego não é permitido.
Exemplo no seu caso:
access-list 101 permit ip 192.168.2.0 0.0.0.255 host 192.168.1.2 access-list 101 deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 estabilished access-list 101 permit ip any any
Aplique na interface próxima a subnet E, no sentido de outbound. Dessa maneira, você permitirá qualquer tráfego para o servidor A, mesmo que originado de E. Então, para o restante, a subnet E só poderá se comunicar com a A, caso o tráfego tenha se originado na subnet A. Por fim, o último statement, permite qualquer outro tipo de tráfego IP.
Neste caso, não aplique ACL em A, já que ela originará os requests.
-------
* a porção que representa a máscara, na verdade, não tem relação alguma com máscara. Ela apenas indica quais os bits da porção de host (do endereço mostrado) que interessam para serem validados. A ACL em si, não valida máscara. No caso de 0.0.0.255, significa que a ACL valida os primeiros 24 bits do endereço (tem que ser idênticos).
Pensando dessa maneira, imaginemos um IP qualquer: 1.1.0.0 1.0.0.0 é representado em binário da seguinte maneira: 00000001.00000001.00000000.00000000 Pensamos agora no wildcard mask, usado na ACL: 0.0.255.255 Em bits seria: 00000000.00000000.11111111.11111111
00000001.00000001.00000000.00000000 00000000.00000000.11111111.11111111
0 no wild card mask = bits importantes, que devem ser exatos 1 no wild card mask = bists irrelevantes, podem ser 0s ou 1s
Pensando da maneira acima, como não sendo máscara, mas sim uma marcação o qual indica quais os bit importantes que devem dar match na ACL, sabemos que os primeiros 16 bits (zeros) são importantes, isto é, qualquer coisa que possua exatamente esta sequencia de bits, dão match neste política:
00000001.00000001
Sendo assim, qualquer endereço que possua 1.1.X.X dará match nesta política, não importando sua máscara.
exemplo: 1.1.1.0 255.255.255.0 dará match 1.1.180.180/24 dará match
Um outro exemplo:
1.1.8.0 = 00000001.00000001.00001000.00000000 0.0.3.255 = 00000000.00000000.00000011.11111111
Isto é, o que importa, são os primeiros 22 bits.
Qualquer coisa que tiver 00000001.00000001.000010XX.XXXXXXXX darão match.
Exemplos de que darão match: 1.1.9.0/24 1.1.10.1/24
Novamente, sei que escrevi demais, mas é para deixar como consulta para outros que venham a ter algumas dúvidas básicas de ACL.
Abraços, | |
| | | toumzete
Número de Mensagens : 6 Idade : 34 Localização : sao paulo, sp Reputação : 0 Pontos : 8 Data de inscrição : 12/11/2011
| Assunto: Re: Problema em configurar ACL Sáb Nov 12, 2011 5:04 pm | |
| Ola ronaldobf, sou muito grato por todo teu empenho a não somente ajudar a solucionar o meu problema, como também a me explicar o motivo e qual o processo e detalhes para soluciona-lo.
- Eu criei um mini-projeto no packet tracer pra testar os parâmetros que você me indicou, mas mesmo assim, continuo com o mesmo problema. Os hosts da rede E continuam se comunicando com a rede A e vice-versa.
Só pra fixar, a rede A tem que ter acesso a rede E. Já a rede E não pode ter acesso a rede A, entretanto, a rede E deve acessar um único determinado host constituído na rede A.
Segue o link do mini-projeto: --sharex.xpg.com.br/files/3667684184/tra02.pkt.html | |
| | | ronaldobf Specialist
Número de Mensagens : 189 Idade : 43 Localização : São Paulo-SP Reputação : 25 Pontos : 202 Data de inscrição : 16/06/2008
| Assunto: Re: Problema em configurar ACL Sáb Nov 12, 2011 7:56 pm | |
| Eu não tenho packet tracer no meu note. Coloque a topologia e as subnets, ou memos running-config dos roteadores. - Citação :
Só pra fixar, a rede A tem que ter acesso a rede E. Já a rede E não pode ter acesso a rede A, entretanto, a rede E deve acessar um único determinado host constituído na rede A. Pelo que eu entendo, você quer que a rede E só se comunique com o server na rede A, porém a rede A pode iniciar uma comunicação com a rede E e está responderá e manterá a comunicação, correto? Se for isso, use a ACL estabilished. Lembre-se do local exato para aplicar a ACL. Se for estabilished, ela deve ser aplicada no roteador que possui a subnet 192.168.2.0/24, na interface de saída do local, sentido OUT. access-list 101 permit ip 192.168.2.0 0.0.0.255 host 192.168.1.2 access-list 101 deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 estabilished access-list 101 permit ip any any se você está rodando apenas pings de dentro do roteador, lembre-se de pingar com origem, para garantir que a origem esteja na subnet que você deseja bloquear. Exemplo: Router#ping 192.168.1.1 source 192.168.2.1 | |
| | | ronaldobf Specialist
Número de Mensagens : 189 Idade : 43 Localização : São Paulo-SP Reputação : 25 Pontos : 202 Data de inscrição : 16/06/2008
| Assunto: Re: Problema em configurar ACL Sáb Nov 12, 2011 8:04 pm | |
| Ou sentido IN na interface de rede local (A fa0/0, por exemplo) | |
| | | toumzete
Número de Mensagens : 6 Idade : 34 Localização : sao paulo, sp Reputação : 0 Pontos : 8 Data de inscrição : 12/11/2011
| Assunto: Re: Problema em configurar ACL Sáb Nov 12, 2011 11:35 pm | |
| É exatamente isso que você entendeu. Mas infelizmente continua da mesma maneira. x.x
- Segue um print com um diagrama simples da topologia e as subnets, caso precise de mais alguma coisa eu posto.
brimg.info/uploads/6/2084f5f69c.png | |
| | | ronaldobf Specialist
Número de Mensagens : 189 Idade : 43 Localização : São Paulo-SP Reputação : 25 Pontos : 202 Data de inscrição : 16/06/2008
| Assunto: Re: Problema em configurar ACL Dom Nov 13, 2011 2:08 am | |
| Está aplicada no sentido errado.
Aplique a ACL na fa0/1 no sentido in.
access-list 101 permit ip 192.168.2.0 0.0.0.255 host 192.168.1.2 access-list 101 deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 estabilished access-list 101 permit ip any any
int f0/1 ip access-g 101 in
Depois, faça o teste. Gere um ping do 192.168.2.3 para o servidor 192.168.1.2. Deve funcionar com sucesso. Então, gere um ping de 192.168.2.3 para o host 192.168.1.4. Este, deve ser barrado. Então, de 192.168.1.4, faça um ping para 192.168.2.3. Este, deve responder os pings com sucesso.
Abraços, | |
| | | toumzete
Número de Mensagens : 6 Idade : 34 Localização : sao paulo, sp Reputação : 0 Pontos : 8 Data de inscrição : 12/11/2011
| Assunto: Re: Problema em configurar ACL Dom Nov 13, 2011 11:42 am | |
| Boa tarde rodolfo, primeiramente quero me desculpar pela insistência e dificuldade. Como eu disse no primeiro post, eu não sou da área, sou DBA e estou fazendo o possível pra aprender à respeito lendo artigos e tutoriais. Consegui assimilar bastante coisa com seu post e seu empenho à solucionar minhas dificuldades. Fiz o que você sugeriu, a rede 2: 192.168.2.0, está funcionando perfeitamente. Não se comunica com nenhum host da rede 1, somente com o host determinado: 192.168.1.2. - ronaldobf escreveu:
- Está aplicada no sentido errado.
Então, de 192.168.1.4, faça um ping para 192.168.2.3. Este, deve responder os pings com sucesso. Abraços, Entretanto a rede 1: 192.168.1.0, também não se comunica com nenhum host da rede 2. Apenas o host 192.168.1.2 se comunica com todos. Segue um print pra melhor definição: brimg.info/uploads/4/9e3a7638d1.png | |
| | | ronaldobf Specialist
Número de Mensagens : 189 Idade : 43 Localização : São Paulo-SP Reputação : 25 Pontos : 202 Data de inscrição : 16/06/2008
| Assunto: Re: Problema em configurar ACL Seg Nov 14, 2011 12:15 am | |
| Ops! Essa foi falha minha mesmo Orelhada minha Ao invés de deny na segunda linha, deve ser permit. access-list 101 permit ip 192.168.2.0 0.0.0.255 host 192.168.1.2 access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 estabilished access-list 101 permit ip any any Abraços | |
| | | toumzete
Número de Mensagens : 6 Idade : 34 Localização : sao paulo, sp Reputação : 0 Pontos : 8 Data de inscrição : 12/11/2011
| Assunto: Re: Problema em configurar ACL Seg Nov 14, 2011 1:56 pm | |
| - Mas dai o access-list não vai ter nenhuma restrição ? '-' Testei as linhas, e todas se comunicam normalmente. | |
| | | ronaldobf Specialist
Número de Mensagens : 189 Idade : 43 Localização : São Paulo-SP Reputação : 25 Pontos : 202 Data de inscrição : 16/06/2008
| Assunto: Re: Problema em configurar ACL Ter Nov 15, 2011 12:48 am | |
| Pressa é inimiga da perfeição. Vou vendo e respondendo o forum assim que dá. Muitas vezes, estou focado em outras tarefas ao mesmo tempo... Digitando rapidamente, deixei como protocolo IP onde deveria ser TCP, na linha do established. Isso permite apenas flow TCP, ainda bloqueando outros tipos de tráfego, que dependendo da situação, não seria viável, pois não é exatamente o que pediu. UDP, por exemplo, seria bloqueado, já que não é orientado a conexão. Não apliquei em lab, mas tenta ai que deve rolar Vai ter restrição sim. Você quer que o servidor 192.168.1.2 seja acessado normalmente da subnet 192.168.2.0/24. Para isso: access-list 101 permit ip 192.168.2.0 0.0.0.255 host 192.168.1.2Você quer que nenhum host de 192.168.1.0/24 seja acessado pela subnet 192.168.2.0/24, porém, a subnet 192.168.1.0/24 pode se comunicar com 192.168.2.0/24, isto é, você quer permitir apenas conexões iniciadas de 192.168.1.0/24. Para isso: access-list 101 permit tcp 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 establishedO segredo está na palavra "estabilished", o que permitirá apenas tráfego TCP que fora iniciado por 192.68.1.0/24 Por fim, qualquer outro tráfego será permitido: access-list 101 permit ip any any | |
| | | toumzete
Número de Mensagens : 6 Idade : 34 Localização : sao paulo, sp Reputação : 0 Pontos : 8 Data de inscrição : 12/11/2011
| Assunto: Re: Problema em configurar ACL Ter Nov 15, 2011 1:57 pm | |
| Nossa ronaldo, agradeço muito teu empenho. Só pode ser alguma urucubaca minha, os hosts continuam se comunicando normalmente, como se não houvesse nenhum ACL. x.x
- Eu vou entender perfeitamente se quiser parar por aqui.
- De qualquer maneira, to postanto o projeto e o download portable do packet tracer. Quero que entenda, que não estou te pedindo de forma alguma para que faça por mim, acredito que você já percebeu a minha dificuldade e a complexidade do assunto em questão. Como eu te disse, não é um trabalinho de faculdade... e eu não tenho base suficiente pra poder solucionar esse cenário com mais completude.
Se possível, de apenas uma olhada no 'mini-cenário' que eu fiz: Veja se é algo que eu estou fazendo de errado...
Projeto: sharex.xpg.com.br/files/3959302354/ACL_error..pkt.html P. Tracer: 4shared.com/get/j0MLl3yS/Packet_Tracer_53_Portable_530.html | |
| | | ronaldobf Specialist
Número de Mensagens : 189 Idade : 43 Localização : São Paulo-SP Reputação : 25 Pontos : 202 Data de inscrição : 16/06/2008
| Assunto: Re: Problema em configurar ACL Dom Nov 20, 2011 6:07 am | |
| Não esqueci de ver... só estou com atolado no trabalho e com um projeto. Assim que tiver um tempo, eu dou uma outra olhada. abraços
| |
| | | Conteúdo patrocinado
| Assunto: Re: Problema em configurar ACL | |
| |
| | | | Problema em configurar ACL | |
|
Tópicos semelhantes | |
|
| Permissões neste sub-fórum | Não podes responder a tópicos
| |
| |
| |