Nagios - Automatizando Auditorias de Rootkit

Auditoria de rootkits, normalmente, é um processo que exige tempo, interação, documentação e trabalho repetitivo. Na maioria dos casos, os servidores são auditados através de scripts dos quais geram logs e precisam ser interpretados por um analista. Com este artigo, pretendo apresentar uma maneira de automatizar esse processo através do Nagios, gerando alertas conforme ameaças são encontradas.

[ Hits: 12.195 ]

Por: Joao Carlos Pimenta em 24/06/2013 | Blog: https://twitter.com/joaocpimenta


Configurações



Configurando o cliente NRPE do Nagios

Vamos agora configurar o NRPE client para que identifique e trabalhe com o check_rootkit.

Considerando que uma checagem de rootkit leva um tempo considerável (vamos estimar aqui no máximo 6 minutos), precisamos configurar o client para que não ocorra timeout na resposta.

No arquivo de configuração "nrpe.cfg", iremos aumentar o timeout para 360s:

command_timeout=360


Além disso, será necessário apresentar o comando que representará o check_rootkit, isso deve ser feito no mesmo arquivo (nrpe.cfg) adicionando a seguinte linha:

command[check_rootkit]=/usr/local/nagios/libexec/check_rootkit -w 1 -c 2


Restartar o serviço inetd para alterações terem efeito:

# /etc/rc.d/rc.inetd restart

Finalizando, conceder sudo para o usuário "nagios" executar o check_rootkit:

visudo

E adicionar:

nagios ALL=(ALL) NOPASSWD: /usr/local/nagios/libexec/check_rootkit


Configurando o Nagios Server

Terminado o processo de configuração do client, partiremos para as configurações que devem ser feitas no Nagios Server.

Também é necessário ajustar o timeout no server, para isso, realizaremos a seguinte alteração no arquivo "nagios.cfg":

service_check_timeout=360


Criaremos um timeperiod específico para a checagem de rootkit, inserindo a seguinte configuração no arquivo "timeperiods.cfg":

# Segunda-feira 12h00 - Utilizado para rkhunter rootkit
define timeperiod{
timeperiod_name monday_week
alias             rootkit-semanal
monday       12:00-24:00
}


Obs.: você pode definir o horário que desejar, basta apontá-lo no arquivo.

Adicionaremos um comando check_nrpe personalizado, no arquivo "/etc/nagios-plugins/config/check_nrpe.cfg", adicionando:

# this command runs a program $ARG1$ with no arguments and a custom timeout
define command {
   command_name   check_nrpe_custom_time
   command_line   /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -t 360  -c $ARG1$


Restartar o serviço do Nagios, para caso haja erro, já possa ser detectado e corrigido:

# /etc/init.d/nagios restart

Testar o check_rootkit através do Nagios server:

# /usr/lib/nagios/plugins/check_nrpe -H 192.168.1.250 -c check_rootkit -t 360

Pra finalizar, vamos adicionar a chamada para o check_rootkit no arquivo de configuração onde ficam apontados os serviços que o Nagios irá monitorar no host remoto (Ex: 192.168.1.250.cfg):

# Serviço de verificação Rootkit
  define service{
 use                     generic-service
 host_name               192.168.1.250
 service_description     Rootkit
 check_command           check_nrpe_custom_time!check_rootkit
 check_period            monday_week
 notification_interval   1
 notification_period     24x7
 }


Restartar o serviço do Nagios:

# /etc/init.d/nagios restart

Pronto, finalizado!

Página anterior     Próxima página

Páginas do artigo
   1. Premissas / rkhunter / check_rootkit
   2. Configurações
   3. Suprimindo warnings e mostrando somente criticals no monitor
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Analisando arquivos de registro (log)

Jails em SSH: Montando sistema de Shell Seguro

Engenharia Social - Fios de telefone

Instalando e configurando Nagios no Linux Fedora 8

AUDIT: Auditoria de arquivos no Linux para conhecer quem fez alterações em arquivos

  
Comentários
[1] Comentário enviado por silent-man em 24/06/2013 - 08:36h

Excelente, parabéns!!!

[2] Comentário enviado por joaocpimenta em 25/06/2013 - 12:55h

Obrigado Gleison!

[3] Comentário enviado por Tacioandrade em 26/06/2013 - 02:20h

João parabéns pelo artigo realmente ficou muito bom mesmo. =)

Aproveitando o artigo, você conhece algum material sobre a utlização do Nagios para me indicar? encontro na internet MUITO material sobre a instalação e configuração dele e do Zabbix, porem muito pouco sobre sua utilização (e o mesmo não é tão amigável quanto outras soluções do mercado).

Caso saiba de algum material bom (de preferência em português), agradeceria muito a indicação. =D

[4] Comentário enviado por joaocpimenta em 26/06/2013 - 10:01h


[3] Comentário enviado por Tacioandrade em 26/06/2013 - 02:20h:

João parabéns pelo artigo realmente ficou muito bom mesmo. =)

Aproveitando o artigo, você conhece algum material sobre a utlização do Nagios para me indicar? encontro na internet MUITO material sobre a instalação e configuração dele e do Zabbix, porem muito pouco sobre sua utilização (e o mesmo não é tão amigável quanto outras soluções do mercado).

Caso saiba de algum material bom (de preferência em português), agradeceria muito a indicação. =D


Opa Tácio, obrigado!

O material mais completo é sem dúvida a documentação oficial que está muito bem organizada e em inglês. (http://www.nagios.org/documentation)

Em português você encontrará bastante sobre administração, configuração e até how-tos no http://nagios-br.com/

[5] Comentário enviado por Tacioandrade em 26/06/2013 - 11:36h

Valeu mesmo pela dica do nagios-br.com não conhecia esse site. =) Sobre a documentação oficial eu tinha dado uma lida, porem achei meio "pesada" demais a leitura dele, porem depois irei dar uma outra olhada com mais calma e ver se consigo compreender melhor (meu inglês é só para leitura mesmo e meio fraco. =/).


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts