A hora do sistema é alterada automaticamente por algum motivo desconhecido na máquina Linux

0

Fiz a mesma pergunta em SOF mas saiba que este é o lugar mais apropriado. Há um problema muito estranho sobre a hora do sistema em uma das minhas máquinas Linux, a hora do sistema é mantida sendo alterada para 40 segundos à frente da minha hora local automaticamente por algo. Não importa a hora que eu redefinir, ele será alterado alguns segundos depois, como você pode ver na seguinte saída:

[root@node ~]# date; date -s "2018-01-23 14:06:40";sleep 5;date
Tue Jan 23 14:07:21 CST 2018
Tue Jan 23 14:06:40 CST 2018
Tue Jan 23 14:07:26 CST 2018

O serviço ntpd está parado e não há nenhum cronjob em execução para alterar a hora do sistema. Tentei adicionar regras de auditoria para rastrear o evento de mudança de horário, mas não há nada registrado, regras de auditoria anexadas a /etc/audit/audit.rules :

-a always,exit -F arch=b64 -S clock_adjtime -S adjtimex  -S time -S timer_settime -S settimeofday -S clock_settime -k time_change
-w /etc/localtime -p rxwa -k access_localtime
-w /etc/adjtime -p rxwa -k access_adjtime

Após service auditd restart , posso ver os registros de alterações de tempo de /var/log/audit/audit.log por ntpdate time.windows.com :

[root@node ~]# ntpdate time.windows.com
23 Jan 13:08:24 ntpdate[14584]: step time server 52.178.161.41 offset -61.612892 sec

Logs of the above command:

type=SYSCALL msg=audit(1516684164.838:3093): arch=c000003e syscall=223 success=yes exit=0 a0=0 a1=0 a2=7fff507e2600 a3=0 items=0 ppid=14397 pid=14584 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=47 comm="ntpdate" exe="/usr/sbin/ntpdate" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="time_change"
type=SYSCALL msg=audit(1516684166.521:3094): arch=c000003e syscall=227 success=yes exit=0 a0=0 a1=7fff507e2110 a2=0 a3=0 items=0 ppid=14397 pid=14584 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=47 comm="ntpdate" exe="/usr/sbin/ntpdate" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="time_change"

ou por date -s <date-time> :

[root@node ~]# date -s "2018-01-23 13:12:30"
Tue Jan 23 13:12:30 CST 2018

Logs of the above command:

type=SYSCALL msg=audit(1516684402.125:3110): arch=c000003e syscall=227 success=yes exit=0 a0=0 a1=7fff55d0ced0 a2=0 a3=112e0be826d694b3 items=0 ppid=14397 pid=14626 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=47 comm="date" exe="/bin/date" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="time_change"

Mas o tempo será alterado novamente muito em breve sem nenhum registro de auditoria útil. BTW, esta é uma máquina virtual gerenciada pelo Hyper-V em um servidor blade, mas não existe esse problema nas outras VMs no mesmo servidor blade.

Informações do ambiente do SO:

[root@node ~]# uname -a
Linux node 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@node ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)

Alguém poderia me dar alguma pista sobre por que isso está acontecendo? Muito obrigado: -)

    
por shizhz 23.01.2018 / 06:55

1 resposta

1

O Hyper-V inclui um serviço de sincronização de horário que funciona entre o hipervisor e o kernel da VM - nenhum processo de espaço de usuário envolvido, portanto, nenhum registro de auditoria.

Se o sistema operacional é uma versão muito antiga, como você disse, esse serviço de sincronização de tempo pode ter alguns bugs antigos. Você pode pedir ao administrador do host Hyper-V para desativar a sincronização de horário para sua VM.

    
por 23.01.2018 / 08:27