Entradas antigas do utmp

4

Sou administrador de um pequeno servidor Debian Lenny, e tenho este problema: Às vezes, quando a sessão SSH de um usuário é fechada, a entrada não é removida de /var/run/utmp , resultando em tais mensagens de finger :

grawity@sine ~$ finger
finger: /dev//pts/31: No such file or directory
Login        Name              Tty      Idle  Login Time   Office     Office Phone
user1        (user)            pts/1      1d  Jul 15 19:12 (foo.uk)
user2        (another user)    pts/33   6:25  Jul 13 12:02 (bar:S.1)
user2        (another user)   *pts/34   6:31  Jul 13 17:00 (bar:S.0)
grawity      (me)              pts/25         Jul 17 11:57 (78-56-197-6:S.0)
grawity      (me)              pts/27         Jul 17 11:57 (78-56-197-6.static.zebra.lt)
Segmentation fault
grawity@sine ~$ _

... e às vezes até um segfault ou dois. Uma vez que o utmp teve duas entradas apontando para o mesmo tty (mas pertencendo a diferentes usuários).

Alguma idéia de por que isso acontece?

Até agora, eu consigo consertar o utmp (usando algum utilitário projetado para apagar logs do Unix: >), mas isso obviamente não é uma solução, não quando acontece todos os dias.

Editar: Esta pergunta não é sobre o desaparecimento de registros (até agora não vi isso) - é o contrário: os registros não são removidos quando uma sessão de login é fechada.

    
por grawity 20.07.2009 / 19:58

3 respostas

1

segmentação por dedo não é um bom sinal. Eu pelo menos faria uma verificação superficial para arrombar; pelo menos executar chkrootkit e debsums por exemplo. Segundo, você já tentou limpar o utmp inteiramente por rm ou echo -n > utmp? Pode ser corrompido de alguma maneira sutil.

Por fim, você fez alguma coisa com sua configuração do PAM em /etc/pam.d? Isso pode facilmente fazer com que os logouts não sejam gravados.

    
por 22.07.2009 / 06:14
0

É o proprietário da raiz do arquivo utmp: utmp e permissões 664?

Se as permissões estiverem corretas e se o servidor público e o acesso ssh na interface pública estiverem ativados, pode ser devido a invasão. Nenhum atacante gostaria que você soubesse que ele estava logado, então faz sentido modificar os arquivos utmp, btmp e wtmp. Se este for o caso, altere a senha de root, procure por root-kits / open ports, configure um firewall muito rigoroso, desabilite o login root direto usando SSH, instale o denyhosts, etc. Mas poderia ser apenas eu paranóico. Eu acabei de analisar uma tentativa de invasão até agora e eu fiz observadores de observadores apagando / modificando entradas de btmp e wtmp. Eu acho que eles fazem o mesmo com entradas utmp também.

    
por 20.07.2009 / 21:49
0

As entradas defeituosas de alguma forma estão relacionadas a usuários específicos ou suas ações? São apenas logins normais do ssh ou você usa o X11? Você poderia verificar se esses "usuários fantasmas" ainda têm alguns processos em execução? Se você for root, uma olhada em sua .bash_history dará pelo menos alguma ideia do que eles estão fazendo.

Apenas para ser paranóico, provavelmente também executaria o fsck. Verificar sinais de rootkits, etc., também parece ser uma boa ideia.

    
por 26.07.2009 / 23:56