Páginas

segunda-feira, 16 de março de 2009

Nagios – howto de instalação

Monitorar é preciso!!! mas quando o número de equipamentos a serem monitorados aumenta essa tarefa se torna cada vez mais complicada.
Para descomplicar essa tarefa o Nagios faz isso muito bem e obrigado. :p
Vou descrever aqui os passos para a instalação de um servidor nagios mais seus plugins. As configurações de NRPE e NSClient fica para outro post, esse já está extenso demais 
Para demonstrar aqui, usei um Debian 5 recém instalado.
Mãos a obra!!  …


Fase 1: Preparação do Ambiente

Instalando dependências:
apt-get install apache2 build-essential libgd2-xpm-dev
Após instalar as dependências do nagios, vamos criar o usuário e o grupo que irá executar o serviço.
useradd -r nagios
A opção -r do useradd cria um usuário do tipo sistema com o seu respectivo grupo.


Fase 2: Download do Nagios e Plugins

Para saber das ultimas versões, visite: http://www.nagios.org/download, quando escrevi esse artigo, a versão estável é: 3.0.6 e dos plugins 1.4.13.
Para baixar:
wget http://ufpr.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.6.tar.gz
wget http://ufpr.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz


Fase 3: Instalação do Nagios e configuração básica

É necessário descompactar os fontes. Nesse primeiro momento vamos descompactar somente o nagios.
tar xzf nagios-3.0.6.tar.gz
cd nagios-3.0.6
Agora vamos iniciar a compilação…
./configure \
--with-init-dir=/etc/init.d \
--with-cgiurl=/nagios/cgi-bin \
--with-htmurl=/nagios \
--with-lockfile=/var/run/nagios.pid \
--with-nagios-user=nagios \
--with-nagios-group=nagios \
--prefix=/usr \
--exec-prefix=/usr/sbin \
--bindir=/usr/sbin \
--sbindir=/usr/lib/nagios/cgi \
--libexecdir=/usr/lib/nagios/plugins \
--datadir=/usr/share/nagios \
--sysconfdir=/etc/nagios \
--localstatedir=/var/log/nagios \
--with-gd-lib=/usr/lib \
--with-gd-inc=/usr/include \
--with-template-objects \
--with-template-extinfo
make all
make install
make install-init
make install-config
make install-commandmode
Os comandos:
./configure e parametros = prepara o ambiente para a compilação com dados do sistema (eu passei os parâmetros para que a instalação ficasse como uma instalação via apt)
make all = compila todos os arquivos fonte do nagios
make install = copia os arquivos compilados para os destinos corretos
make install-init = cria os scripts de inicialização estão localizados em /etc/init.d
make install-config = instala os arquivos de exemplo das configurações
make install-commandmode = configura as permissões para o diretório de comandos externos.
Para os mais apressados, ainda não está na hora de inicializar o nagios!!!
Edite o arquivo /etc/nagios/objects/contacts.cfg e procure pelo campo “email” e coloque seu e-mail (coloque um email do gmail, ele aceita e-mails vindo de dominios/ip inválidos)


Fase 4: Instalando a interface web

Ainda no diretório onde descompactamos e compilamos o nagios, rode o comando:
make install-webconf
Esse comando irá copiar os arquivos referente a configuração do apache.
Um outro passo importante é a criação de usuários no nagios. Agora iremos criar o usuário nagiosadmin, ele é o administrador da interface web, com ele conseguimos desativar verificações, adicionar comentários, verificar gráficos etc… .
htpasswd -c /etc/nagios/htpasswd.users nagiosadmin
/etc/init.d/apache2 restart
Digite uma senha e não a esqueça!! :p e em seguida reinicie o apache
Pronto!, o nagios está instalado, mas ainda não acabou, agora vem a compilação / instalação dos plugins


Fase 5: Compilação e instalação dos plugins

Os plugins são responsáveis pela verificação dos hosts / serviços propriamente dita sem eles no nagios não tem valia alguma. Eles são scripts ou programas quando executados com os parâmetros corretos, retornam valores esperado pelo nagios. Os valores são:
  • OK —exit code 0—o serviço está funcionando ok.
  • WARNING —exit code 1—o serviço está em warning.
  • CRITICAL —exit code 2—o serviço está critico.
  • UNKNOWN —exit code 3—estado desconhecido.
Chega de explicações…. vamos compilar os plugins
Como você já fez o download, é só descompactar os plugins:
tar xzf nagios-plugins-1.4.13.tar.gz
cd nagios-plugins-1.4.13
Compilando e instalando
./configure \
--prefix=/usr \
--exec-prefix=/usr/sbin \
--libexecdir=/usr/lib/nagios/plugins \
--sysconfdir=/etc/nagios \
--datadir=/usr/share/nagios \
--with-cgiurl=/nagios/cgi-bin \
--with-nagios-user=nagios \
--with-nagios-group=nagios
make
make install
Pronto, plugins instalados!


Fase 6: Inicialização com o sistema

Crie um link para o diretório/etc/rcS.d
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Fase 7: Testes e Inicialização do serviço

Verifique se tudo está ok, o comando abaixo irá verificar o arquivo base, se nenhum erro acontecer, é sinal que o nagios pode ser iniciado sem problemas
nagios -v /etc/nagios/nagios.cfg
O final da saída desse comando deve ser assim:
Total Warnings: 0
Total Errors:   0
Things look okay – No serious problems were detected during the pre-flight check
nagios:~#
Se erros e warnings estiverem zerados, pode iniciar o nagios com o comando:
/etc/init.d/nagios start
Após o inicio do serviço, você já pode ir até o seu navegador e acessar a interface web do nagios no seguinte endereço:
http://ip.do.nagios/nagios
use o usuário: nagiosadmin e a senha que você definiu (eu disse para você nao esquecer :p)
Nesse momento a máquina irá monitorar seus serviços locais…

quinta-feira, 12 de março de 2009

Atualizando Regras de filtragem do SpamAssassin

Não tem nada de mais desagradável do que receber SPAM em sua caixa de e-mails. Agora para o sysadmin essa tarefa é mais complicada, mesmo fazendo checagem de reverso, inserindo RBL’s, alguns spams ainda conseguem sobreviver a esses testes e chegar na caixa do usuário.
Pesquisando um pouco sobre o assunto essa semana, descobri que o SpamAssassin tem um utilitário de atualização o sa-update
Meu ambiente: Debian 4 com o spamassassin 3.2.3 (volatile)
Mãos na massa!!!


Passo 1:

Para atualizar usando as regras de filtragem padrão do spamassassin é necessário:
wget http://spamassassin.apache.org/updates/GPG.KEY
gpg –import GPG.KEY
sa-update –import GPG.KEY
Passo 2:

Com a chave importada, rode o comando:
sa-update -D
Isso dispara a atualização padrão do SA. A opção -D habilita o modo verbose da ferramenta, sem ele não é exibido nada na saída padrão.
Para melhorar a taxa de detecção de spam, eu utilizo também os filtros do OpenProtect’s (http://saupdates.openprotect.com/).
No site do OpenProtect’s tem instruções de como usar a ferramenta do sa-update para baixar os filtros. Vou descrever com base no site como atualizar um SA 3.2 usando os filtros do OpenProtect’s
Pré-requisito: ter o gnupg instalado. Se você usa uma distribuição debian-like use o comando: dpkg -l gnupg

Passo 1 – Importe a seguinte chave publica :
gpg –keyserver pgp.mit.edu –recv-keys BDE9DC10
Passo 2 – Exporte a chave baixada para um arquivo:
gpg –armor -o pub.gpg –export BDE9DC10
Passo 3 – Importe a chave no sa-update
sa-update –import pub.gpg
Passo 4 – Baixe os filtros
sa-update –allowplugins –gpgkey D1C035168C1EBC08464946DA258CDB3ABDE9DC10 –channel saupdates.openprotect.com
P.S. O comando acima é tudo em uma só linha e não se esqueça de reiniciar o SA.

Pronto, seu SA está atualizado e pronto para detectar muito mais spam!
Não adianta nada se as regras não forem atualizadas sempre, adicione no crontab o passo 4 o comando:
sa-update –allowplugins –gpgkey D1C035168C1EBC08464946DA258CDB3ABDE9DC10 –channel saupdates.openprotect.com && /etc/init.d/spamassassin restart
Essa linha funciona porque o sa-update retorna o status 0 se tudo foi baixado e atualizado corretamente.
Se vc quiser tratar as saídas de erro do sa-update ai vai:
1 – conjunto de regras já atualizado
2 – existe uma atualização, mas aconteceu um problema para baixa-las
4 – erro
Mais informações: man sa-update