Filtrando Logs SSHD

3

Estou apenas pensando sobre a melhor maneira de filtrar meus logs do sshd. O problema é que eu monitoro minhas caixas sobre SSH usando Nagios e Cacti. Ambos se conectam a cada 5 minutos e isso entope meus arquivos de log com um monte de entradas, tornando difícil fazer uma rápida 'cauda' para ver o que está acontecendo.

Eu gostaria de ter todos os logins do meu usuário de monitoramento (em um IP específico) registrados em um arquivo separado.

O ideal seria evitar instalar o syslog-ng ou similar. Eu teria que configurar isso em uma variedade de máquinas Ubuntu, CentOS e FreeBSD (executando uma variedade de versões do OpenSSH), então isso facilitará a vida se eu puder fazer isso sem software adicional.

Alguma recomendação sobre como conseguir isso?

Obrigado!

    
por samuelkf 05.07.2010 / 13:12

4 respostas

1

Você poderia fazer algo assim:

tail -f logfile | grep -v "some\.ip\.address\.to\.ignore"

ou

tail -f logfile | grep -v "some\.ip\.address\.to\.ignore.*user-name"
    
por 05.07.2010 / 16:11
1

você poderia passar o seu arquivo syslog para canalizar assim

mkfifo /var/log/pipes/pipe1

e depois

leia isso com o script que removerá as strings que você não deseja assim:

cat /var/log/pipes/pipe1 | grep -v "login from xxx.xxx.xxx" | while read LINE
do
  echo $LINE >>/var/log/ssh.log
done
    
por 10.07.2010 / 02:13
0

Você pode tentar ossec , ele tem uma análise de log muito boa.

    
por 05.07.2010 / 14:30
0
O

Swatch é um bom programa para rastrear e filtrar arquivos de log, até mesmo suportando linhas de colorização. Existe um pacote Debian / Ubuntu também.

    
por 05.07.2010 / 16:53