Pedro Pereira

Consultoria, tutoriais e outras coisas que podem te ajudar!

Configurando Syslog e NTP no Cisco IOS

Gostaria da ajuda de um especialista? Entre em contato e peça um orçamento.


Quando um atacante invade um sistema, a primeira coisa que ele faz é tentar apagar os rastros que ele deixou. E onde ficam esses rastros? Em grande parte, nos arquivos de log do sistema. Lá tudo é registrado: que usuário logou, quais logins falharam, quantas vezes falharam, qual usuário mudou a senha, configurou o IOS etc. Porém, como você já pode imaginar, é uma quantidade absurda de informação que faria você ficar o dia todo apenas lendo o log do sistema.

Uma forma de facilitar o gerenciamento de logs, centralizando tudo, permitindo que você organize tudo de uma maneira melhor é usar o Syslog. O Syslog foi desenvolvido nos anos 80 e até hoje é utilizado (obviamente com novas funcionalidades adicionadas ao longo dos anos). Ele é o software padrão para centralização de logs em sistemas Unix e Unix-like (como o Linux) e também para dispositivos de rede (como roteadores). Ele permite que você divida as mensagens por criticidade (variando de 0, para erros críticos que impedem o uso do sistema; até 7, mensagens de debug) e também por software que as gerou. O Syslog usa o UDP (porta 514) para transferir os dados entre cliente e servidor.

Porém, não adianta você ter um sistema de logs e não ter um horário uniforme entre todos os dispositivos da sua rede. Se cada dispositivo tem um horário diferente, como você vai correlacionar os eventos para tentar entender um ataque? A solução para esse problema é utilizar o NTP (Network Time Protocol). Este protocolo sincroniza automaticamente os horários de vários hosts através da rede bastando instalar um software cliente. Ele usa o UDP (porta 123) para transferir os dados e o melhor de tudo: você pode utilizar servidores públicos de hora, bastando apenas configurar o cliente.

Aqui vou ensinar você a configurar o Syslog e o NTP em roteadores Cisco. Vou considerar que você já tenha um servidor Syslog e um roteador com a configuração básica já feita (se não souber fazer isso, leia aqui como configurar um roteador Cisco) funcionais na sua rede. Quanto ao servidor NTP, você pode simplesmente configurar o servidor público a.ntp.br, que tem a hora oficial do Brasil.

Primeiro o NTP

Para já começar a armazenar os seus logs no servidor com o horário correto, vamos primeiro configurar o NTP no seu roteador. No nosso cenário, o servidor se comunica com o roteador através de um switch e tem o IP 192.168.1.2.

Primeiro, você deve mudar a timezone do seu roteador. O horário do Brasil é GMT -3 (ou seja, 3 horas a menos que o fuso horário de referência GMT). Acesse o seu roteador e entre no modo de configuração global e digite o comando:

osiris> enable
osiris# configure terminal
osiris(config)# clock timezone BRT -3

Agora, veja o relógio e confira que a hora deve ter mudado para refletir a timezone (provavelmente 3 horas a menos que o horário anterior):

osiris# show clock
18:48:55.737 BRT Mon Mar 14 2011

Note que embora a timezone esteja correta, a hora ainda está errada. Porém, você ainda não vai poder fazer a sincronização com o servidor NTP: você precisa setar tudo à mão.

osiris# clock set 20:23:00 Mar 14 2011

Note que você precisa configurar até os segundos no comando clock set (no modo enable, não no modo de configuração global). Não se esqueça disso. Lembre-se também que, como o roteador usa como referência o fuso-horário GMT, você deve definir a hora neste fuso-horário. Por exemplo, se quando você configurar o relógio do roteador forem 14:00 você deve informar 17:00 para o roteador. Como já configuramos corretamente o fuso-horário para GMT -3 ele irá fazer a conversão corretamente.
Toda a configuração do NTP também é feita no modo de configuração global (não há um submodo específico para essa configuração). Se você não precisar de autenticação no seu servidor NTP, basta digitar o seguinte comando para que cliente e servidor já passem a sincronizar o relógio:

osiris(config)# ntp server 192.168.1.2

Pronto! Agora o roteador já está sincronizando o horário com o servidor. Para conferir, execute os seguintes comandos:

osiris# show running-config
(…saída cortada…)
!
!
ntp server 192.168.1.2 key 0
!

osiris# show ntp status
Clock is synchronized, stratum 2, reference is 192.168.1.2
(…saída cortada…)

Para conferir se a hora está certa:

osiris# show clock
*20:25:12.272 BRT Mon Mar 14 2011

Dependendo do servidor que você utilizar, pode ser necessário que você configure autenticação para permitir a sincronização dos hosts. Apenas autenticação via MD5 é suportado pelo IOS e a configuração envolve apenas alguns passos a mais. Nada muito complicado:

osiris(config)# ntp authenticate
osiris(config)# ntp authentication-key 11 md5 senha
osiris(config)# ntp trusted-key 11
osiris(config)# ntp server 192.168.1.2 key 11

O primeiro comando configura o NTP para usar autenticação. O segundo comando define que a chave 11 tem o valor “senha”. O terceiro comando define a chave que deve ser utilizada para se autenticar com este servidor pois é nesta chave que ele confia. O quarto comando junta tudo: define que o servidor é o 192.168.1.2 e que para se autenticar com ele, o roteador precisa usar a chave 11. Ao invés de 11, você pode usar outro número.

Pronto, agora sim relógio configurado corretamente e está confiável. Podemos partir para a configuração do Syslog para mandar as mensagens de log para um servidor central.

Configurando o roteador para enviar logs para o servidor Syslog

Enviando os logs para um servidor Syslog você centraliza o armazenamento dos logs de todos os dispositivos da sua rede, facilitando a sua vida quando você precisar analisá-los e fazer o correlacionamento de eventos para detectar um ataque na sua rede. Essa configuração é extremamente simples (até mais simples que a do NTP!). O endereço IP do servidor Syslog no nosso cenário é 192.168.1.2.
Primeiro, acesse o roteador e entre no modo de configuração global:

osiris> enable
osiris# configure terminal
osiris(config)#

Você faz a configuração utilizando o comando logging e seus parâmetros. Primeiro:

osiris(config)# logging console
osiris(config)# logging buffered 4096
osiris(config)# logging trap debugging
osiris(config)# logging 192.168.1.2
osiris(config)# logging on

O primeiro comando define que você irá modificar as propriedades dos logs de console. O segundo comando configura o buffer que irá armazenar as mensagens antes de enviá-las ao servidor (você pode acabar perdendo algumas mensagens se configurar um valor muito baixo aqui). O comando logging trap debugging define quais os níveis das mensagens que serão logadas (aqui configurei também o debugging, o que fará com que qualquer mensagem seja logada e enviada para o servidor). O quarto comando define o endereço IP do servidor. O último comando ativa o serviço e começa a enviar as mensagens para o servidor.

E é isso! Essa é toda a configuração do Syslog do IOS. Bem limitada, realmente, mas já te dá uma ajuda na administração da rede :) O maior cuidado que você tem que tomar é para não começar a logar qualquer coisa. Aqui por ser apenas um exemplo, eu fiz o sistema logar todas as mensagens sem me importar com a criticidade. Faça um estudo mais detalhado sobre o que é importante para você e tente logar apenas aquele nível.

Lembre-se que quando você define um nível, todos os níveis acima dele também serão logados. Por exemplo, definindo o nível 4 para ser logado também fará com que mensagens 0, 1, 2 e 3 também sejam enviados ao servidor.

Conclusão

Espero que este post facilite a sua vida. O Syslog e o NTP são duas ferramentas indispensáveis para qualquer administrador de rede. Sem elas, as coisas acabam saindo do seu controle mais cedo ou mais tarde.

Essas configurações são todas muito simples, e sempre devem ser feitas (não apenas em roteadores ou switches, mas também em servidores Linux, Windows, etc.). Para facilitar ainda mais a sua vida, voce pode instalar uma interface web no seu servidor Syslog para auxiliar você a analisar os dados dos logs. Um exemplo deste tipo de interface é o PHP-Syslog-NG. É bem simples de instalar e é de extrema ajuda.

Encontrou um erro? Quer adicionar alguma informação? Deixe um comentário :)

Compartilhe o post! These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Webnews
  • Digg
  • del.icio.us
  • StumbleUpon
  • Reddit
  • Ask
  • Bloglines
  • email
  • Facebook
  • Furl
  • Google Bookmarks
  • LinkedIn
  • Live-MSN
  • Pownce
  • Print
  • Rec6
  • Slashdot
  • Technorati
  • TwitThis

Posts relacionados:

  • Criando views no Cisco IOS O Cisco IOS (Internetwork Operating System), o sistema operacional utilizado...
  • Configuração de SSH em roteadores Cisco Atualmente, acredito que ninguém administraria um roteador, servidor, switch, ou...
  • Configuração de roteadores Cisco Um roteador, ou router, nada mais é que um computador...
  • Configurando bridges no CentOS Uma bridge nada mais é que um dispositivo que interliga...
  • Instalando e configurando o JBoss no Linux O JBoss é um application server para aplicativos web desenvolvidos...



  • 2 Comentários

    1. Diego

      05|Jan|2012 1

      Oi Pedro, tudo beleza?

      Pelo artigo cara, parabéns, de grande ajuda mesmo.

      Agora me diga, como fazer, quando estou usando o horário de verão. No meu caso é BRT -2 nesse momento.

      Se deixo como BRT -2 funciona, mas quando trocar o horário de verao, nao gostaria de ir em todos os routers e mudar para BRT -3

      Um abraço

    2. Pedro Pereira

      15|Jan|2012 2

      Diego,

      Talvez este texto te dê uma ajuda: http://www.cert-rs.tche.br/docs_html/hora-verao.html.

      []‘s
      Pedro Pereira.


    Deixe seu comentário!

    Acompanhe!

      Assine o feed RSS! Me acompanhe no Twitter! Me adicione no LinkedIn!

    Creative Commons


    Mais lidos