É razoável usar o Nagios para verificar se um serviço NÃO está disponível?

9

Suponha que eu tenha um servidor com uma interface privada e uma interface pública. Público pode ter coisas como servidores HTTP (S), privados podem ter MySQL e SSH.

Obviamente, o Nagios é útil para verificar se os serviços estão sendo executados em suas respectivas interfaces. Mas é uma boa ideia criar verificações que testem explicitamente que as portas do MySQL e do SSH não estão abertas na interface pública? A ideia é detectar configurações erradas inadvertidas que abriram serviços que devem ser privados e alertar apropriadamente.

Parte de mim tem a idéia de que isso não seria muito escalável - imagine que há uma regra DROP do iptables, por exemplo, o cheque teria que esperar até que o tempo limite do cheque fosse excedido antes que pudesse ser concluído e seguir em frente. Mas esse tempo limite teria que ser suficientemente alto para poder diferenciar um serviço bloqueado de um aberto que está realmente atolado.

Esta é uma ideia prática? O Nagios é a ferramenta certa? Eu nem mesmo olhei para a viabilidade de negar o resultado dos plugins de verificação TCP, mas tenho certeza que é factível ...

    
por smitelli 30.07.2014 / 00:04

2 respostas

11

Sim, claro. O trabalho de um sistema de monitoramento é garantir que os requisitos de negócios estejam sendo atendidos pela infraestrutura de TI, sejam quais forem esses requisitos.

Minha intuição é que não há limite fácil (bem, 65535) para o número de portas que você está monitorando para garantir que elas não se tornem abertas de repente, e que a melhor maneira de obter esse controle seja o controle rigoroso da fonte além de monitoramento do sistema de arquivos strong e agressivo (por exemplo, tripwire) no servidor.

Mas se certas portas que são absolutamente críticas para os negócios nunca são expostas, então sim, por todos os meios, coloque uma verificação específica para isso. Talvez você queira examinar o plug-in NAGIOS negate , que é fornecido com a maioria das distribuições principais, e é usado para fazer exatamente o que você sugere.

    
por 30.07.2014 / 00:10
3

Você pode combinar qualquer verificação com o negate plugin para inverter a lógica de verificação. Você pode redefinir CRIT, WARN, UNKNOWN e OK para outros estados, por exemplo. Veja a saída --help para mais informações .

Se você estiver preocupado com as políticas DROP que aumentam o tempo de verificação, basta reduzir o tempo limite. Para um cheque como este, você provavelmente não precisa verificar a cada 5 minutos também. Temos algumas verificações semelhantes que são executadas a cada hora.

    
por 30.07.2014 / 16:48