sábado, 3 de novembro de 2012

Time-Based ACLs

Olá Pessoal.

As ACLs que podemos implementar em roteadores Cisco são ferramentas de segurança bastante úteis no dia-a-dia de um profissional da área de redes. Nesse tocante fala-se muito nas listas padrões (standard) e estendidas (extended) que são comumente cobradas nos exames de certificação, no entanto é possível incorporar a elas o recurso de aplicá-las com base no horário, o que é pouco comentado e MUITO últil nas empresas.

A sintaxe e os principais conceitos das ACLs padrões e estendidas podem ser encontrados no "Lab09" do meu livro e por isso não estarei focando essa postagem nesses princípios. Ao contrário, meu objetivo nessa postagem é mostrar como o recurso "time-range" pode ser acoplado às ACLs tradicionais para te permitir aplicar suas regras com base no horário.


Bom, antes de partir para os comandos, é preciso entender o que queremos fazer. Estaremos utilizando o mesmo cenário do "Lab10" do livro, que traz um ambiente bastante simples em que temos uma LAN 172.22.0.0/16, cujo gateway é a interface f0/0 do roteador (172.22.11.1). Na rede existe uma máquina (172.22.11.101) que somente poderá acessar a Internet no horário do almoço (das 12h às 13h). Essa poderia ser, por exemplo, uma máquina da recepção de uma empresa.




A interface s0/0 do roteador está conectada na Internet e o equipamento já foi devidamente configurado para fazer o compartilhamento da conexão via NAT. Mais uma vez, os detalhes de como configurar NAT em roteadores Cisco podem ser encontrados no "Lab10" do livro.

Podemos setar o horário do roteador manualmente, mas esse método é pouco confiável. Aproveitaremos a oportunidade de escrever as ACLs com base em horário para verificar os procedimentos para configurar o horário do dispositivo através do Protocolo NTP (Network Time Protocol).

O NTP.br é um serviço público nacional disponibilizado pelo NIC.br (autoridade máxima da Internet do Brasil) que provê a sincronização do horário oficial brasileiro através de servidores gratuitos rodando o NTP. Nessa postagem, estaremos utilizando esse serviço para atualizar a hora, conforme pode ser observado no roteiro abaixo:

01. Router# conf t
02. Router(config)# ntp server 200.160.7.186
03. Router(config)# clock timezone BR -3 0 
04. Router(config)# clock summer-time BRV recurring 3 Sun Oct 0:00 3 Sun Feb 0:00
05. Router(config)# service timestamp debug datetime msec localtime show-timezone year
06. Router(config)# service timestamp log datetime msec localtime show-timezone year

No roteiro acima foi utilizado o servidor "a.st1.ntp.br" (do NTP.br) que responde pelo IP 200.160.7.186 (linha 2). O relógio dos equipamentos trabalha sincronizado com o UTC de cada região (o padrão é 0) e por isso precisamos da terceira linha para setar o UTC do Brasil (que é -3).

O NTP não trata da questão do horário de verão, ou seja, quando entramos ou saímos do horário de verão o relógio não é alterado. Por isso informamos a linha 4 para fazer os ajustes manuais referentes ao nosso horário de verão nacional. O horário de verão teve início no terceiro domingo de outubro (20/10/2012) e terminará no terceiro domingo de fevereiro (17/02/2013).

Nas linhas 5 e 6 informamos ao IOS que passe a anexar o horário sincronizado em todos os seus registros de log e debug, uma boa prática que pode facilitar muito na detecção de problemas a partir da leitura dos logs. Reparem que essas linhas são opcionais e não são necessárias para o funcionamento da configuração proposta, no entanto essa prática é realmente muito recomendada.

Agora que o horário do nosso roteador é confiável através da soncrinização via NTP, então podemos partir para a escrita das ACLs propriamente ditas. Antes de escrevermos as ACLs (nas linhas de 11 a 14), criamos um escopo de horário que será acoplado a elas (linhas 8 e 9), como pode ser observado no roteiro abaixo. Por fim, aplicamos a ACL na interface f0/0 do roteador.

07. Router# conf t
08. Router(config)# time-range HORA-ALMOCO
09. Router(config-time-range)# periodic weekdays 12:00 to 13:00
10. Router(config-time-range)# exit
11. Router(config)# ip access-list extended TIME-ACL
12. Router(config-ext-nacl)# permit tcp host 172.22.11.101 any time-range HORA-ALMOCO
13. Router(config-ext-nacl)# deny ip host 172.22.11.101 any
14. Router(config-ext-nacl)# permit ip 172.22.0.0 0.0.255.255 any
15. Router(config-ext-nacl)# exit
16. Router(config)# int f0/0
17. Router(config-if)# ip access-group TIME-ACL in
18. Router(config-if)# end
19. Router#    

Ou seja, é bem simples. Basta adicionarmos o parâmetro "time-range" ao final da ACL que o efeito de filtro por horário estará em ação. Claro que antes de utilizar esse parâmetro você deve lembrar de criar o escopo referente ao horário.

Para finalizar, seguem alguns comandos "show" para você verificar seus escopos "time-range", o horário do seu dispositivo e o funcionamento do NTP:

Router# show time-range 
Router# show clock
Router# show ntp associations
Router# show ntp status 

É isso! Espero que seja útil!!! Vou avaliar a possibilidade de aproveitar essa "postagem" para criar um cenário "configurável" nos simuladores e quem sabe já não teremos um novo laboratório na próxima edição do livro...

Abraço.

Samuel.

5 comentários:

  1. Show de bola, continue fazendo posts técnicos, são sempre bem vindos! haha

    Abraço

    ResponderExcluir
  2. OI Samuel!!

    De fato é show de bola..
    Valei ai pelo Post cara... a sua esplicaçao é muito boa.

    Professoar apesar de somente agora me deparar com este site e este interessantissimo post... tenho uma questão;

    1. em meu ambiente eu tenho um ASA e varias Switches Catalyst 2960 e apenas uma Switch 3750 - L3...

    a) Onde voce acha que deve configurar o Servidor master NTP? tentei dar uma leitura para a SW 3750 e me parece nao ser compativel para NTP server...

    b) Posso configurar no SW 3750? e como seria a configuraçao exata?
    c) Posso configurar no em uma dos SW 2960? como seria a configuraçao?

    Agradeço pela atençao profissional....

    Isabel

    ResponderExcluir
    Respostas
    1. Olá Isabel.

      Uma opção seria configurá-lo no seu ASA, já que ele é o dispositivo que está diretamente conectado na Internet. Quanto ao procedimento de configuração, sugiro a leitura do seguinte link: http://goo.gl/PzB4s7

      Excluir
  3. Caro Samuel!

    Muito obrigado mesmo pela resposta.
    Vou dar uma olhada certa no link que adicionou, e ja partilho contigo as incidencias


    Isabel

    ResponderExcluir
  4. Professor, você é muito top cara...

    ResponderExcluir