19 Mar
Postado por: Pedro Pereira em: Cisco
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.
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.
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.
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 :)

Esta obra escrita por Pedro Augusto de Oliveira Pereira está licensiada sob a Creative Commons Atribuição-Uso Não-Comercial-Vedada a Criação de Obras Derivadas 3.0 Brasil License.
2 Comentários
Diego
05|Jan|2012 1Oi 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
Pedro Pereira
15|Jan|2012 2Diego,
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!