/ etc / passwd acessado continuamente

4

Estou executando um servidor no EC2 (Cent OS, 2.6.35.14, x86_64) e recentemente passei por cima da minha cota de 1 milhão de E / Ss por mês, o que é um absurdo, pois minha utilização de disco não deve estar em qualquer lugar perto disso. (Eu não estou executando nenhum serviço que deve exigir muito acesso ao disco ... ou mesmo qualquer acesso ao disco)

Meu primeiro pensamento foi acionar o iotop e ver se havia algum processo gravando continuamente no disco. iotop me mostrou que um processo chamado jbd2 estava gravando no disco mais de uma vez por minuto.

Após alguns pesquisando , apareceu que o problema é um bug do kernel, ou algum daemon tocando o disco regularmente.

Eu instalei o inotify-tools e iniciei um inotifywait em todo o sistema de arquivos;

sudo /usr/local/bin/inotifywait -m -r /!(dev|proc)

E o que isso mostra é que o / etc / passwd está sendo aberto, acessado e fechado várias vezes por minuto. Sem me fazer mais nada no sistema! O inotify não diz a você qual processo está tocando, mas eu instalei auditoria ( link ), configure alguns logs em / etc / passwd e deixe-o rodar por um tempo, e então dê uma olhada nos logs, mas tudo que eles me dizem é que está sendo acessado pelo sudo: (username redacted)

type=SYSCALL msg=audit(10/03/2011 17:48:30.493:260) : arch=x86_64 syscall=open success=yes exit=4 a0=7f809205669a a1=80000 a2=1b6 a3=0 items=1 ppid=6466 pid=6467 auid=**** uid=root gid=**** euid=root suid=root fsuid=root egid=**** sgid=**** fsgid=**** tty=pts0 ses=79 comm=sudo exe=/usr/bin/sudo key=(null) 
type=SYSCALL msg=audit(10/03/2011 17:48:30.493:261) : arch=x86_64 syscall=open success=yes exit=4 a0=7f809205669a a1=80000 a2=1b6 a3=0 items=1 ppid=6466 pid=6467 auid=**** uid=root gid=**** euid=root suid=root fsuid=root egid=**** sgid=**** fsgid=**** tty=pts0 ses=79 comm=sudo exe=/usr/bin/sudo key=(null) 
type=SYSCALL msg=audit(10/03/2011 17:48:30.488:256) : arch=x86_64 syscall=open success=yes exit=3 a0=7f809205669a a1=80000 a2=1b6 a3=0 items=1 ppid=6441 pid=6466 auid=**** uid=**** gid=**** euid=root suid=root fsuid=root egid=**** sgid=**** fsgid=**** tty=pts0 ses=79 comm=sudo exe=/usr/bin/sudo key=(null)
...

Existe alguma maneira de restringir isso ainda mais? Eu não tenho nada em meus arquivos cron, e nenhum outro serviço que eu possa pensar que esteja causando isso:

chkconfig | grep on
atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
cgconfig        0:off   1:off   2:off   3:off   4:off   5:off   6:off
cloud-init      0:off   1:off   2:on    3:on    4:on    5:on    6:off
cloud-init-user-scripts 0:off   1:off   2:on    3:on    4:on    5:on    6:off
conman          0:off   1:off   2:off   3:off   4:off   5:off   6:off
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
irqbalance      0:off   1:off   2:off   3:on    4:on    5:on    6:off
lvm2-monitor    0:off   1:on    2:on    3:on    4:on    5:on    6:off
mdmonitor       0:off   1:off   2:on    3:on    4:on    5:on    6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
ntpd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
restorecond     0:off   1:off   2:off   3:off   4:off   5:off   6:off
rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
sendmail        0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off
yum-updatesd    0:off   1:off   2:on    3:on    4:on    5:on    6:off
    
por staticfloat 04.10.2011 / 04:27

2 respostas

5

Como você está usando o CentOS, você deve ser capaz de descobrir o que o sudo está fazendo olhando em /var/log/secure , por exemplo.

sudo tail /var/log/secure

Oct 4 03:45:44 ec2-centos-instance sudo: iain : TTY=pts/0 ; PWD=/home/iain ; USER=root ; COMMAND=/usr/bin/tail /var/log/secure

Editar: atualizando com a resposta dos comentários

Ativar o dump de bloco com: echo 1 > /proc/sys/vm/block_dump e dar uma olhada nele com o dmesg ajudou a rastrear quais processos estavam acessando o disco. Muito mais confiável que o iotop. Acontece que o sar estava rodando continuamente, escrevendo para / var / log / sa / saXX, então eu desabilitei isso no cron.d, e tudo está bem novamente

    
por 04.10.2011 / 09:47
3

Parece que você tem um script ou programa que está usando o sudo para tentar fazer coisas como root. Você pode habilitar o logging no sudo para descobrir o que eles estão tentando fazer e encontrar uma solução melhor (talvez um binário setuid esteja em ordem). Aqui está mais informações sobre sudo (como como habilitar o log):

link

    
por 04.10.2011 / 05:02

Tags