เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบ‡เปˆเบฒเบเบเบงเปˆเบฒ, เบ‚เป‰เบญเบเบกเบฑเบเบˆเบฐเป€เบฎเบฑเบ”เบœเบดเบ”

เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบ‡เปˆเบฒเบเบเบงเปˆเบฒ, เบ‚เป‰เบญเบเบกเบฑเบเบˆเบฐเป€เบฎเบฑเบ”เบœเบดเบ”

เบงเบฝเบเบ‡เบฒเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบเบ™เบตเป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™เปƒเบ™เบ•เบญเบ™เบšเปˆเบฒเบเบงเบฑเบ™เบชเบธเบเบกเบทเป‰เบซเบ™เบถเปˆเบ‡เปเบฅเบฐเบ„เบงเบ™เบˆเบฐเปƒเบŠเป‰เป€เบงเบฅเบฒ 2-3 เบ™เบฒเบ—เบต. เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เบ•เบฒเบกเบชเบฐเป€เบซเบกเบต.

เป€เบžเบทเปˆเบญเบ™เบฎเปˆเบงเบกเบ‡เบฒเบ™เป„เบ”เป‰เบ‚เปเปƒเบซเป‰เบ‚เป‰เบญเบเปเบเป‰เป„เบ‚เบชเบฐเบ„เบดเบšเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบฅเบฒเบง. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เป€เบฎเบฑเบ”เบกเบฑเบ™, เบเบทเปˆเบ™เปƒเบซเป‰เบฅเบฒเบงเปเบฅเบฐเบซเบผเบธเบ”เบฅเบปเบ‡เป‚เบ”เบเบšเปเปˆเป„เบ”เป‰เบ•เบฑเป‰เบ‡เปƒเบˆ: "เป€เบงเบฅเบฒเปเบกเปˆเบ™เป„เบง 5 เบ™เบฒเบ—เบต." เปƒเบซเป‰เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบˆเบฑเบ”เบเบฒเบ™ synchronization เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡. เป€เบ„เบดเปˆเบ‡โ€‹เบŠเบปเปˆเบงโ€‹เป‚เบกเบ‡โ€‹เปœเบถเปˆเบ‡โ€‹เบŠเบปเปˆเบงโ€‹เป‚เบกเบ‡โ€‹เบœเปˆเบฒเบ™โ€‹เป„เบ›, เบฅเบฒเบงโ€‹เบเปโ€‹เบเบฑเบ‡โ€‹เบšเป‰เบฒโ€‹เบ›เบฒเบโ€‹เปเบฅเบฐโ€‹เบ”เปˆเบฒโ€‹เบขเปˆเบฒเบ‡โ€‹เบ‡เบฝเบšเป†.

โ€œเป‚เบ‡เปˆ! โ€” เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบ„เบดเบ”โ€‹เบงเปˆเบฒ, เบชเบฐโ€‹เบซเบผเบฑเบšโ€‹เบเบฑเบš server console โ€” เบšเปเปˆโ€‹เป€เบ›เบฑเบ™โ€‹เบซเบเบฑเบ‡, เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบˆเบฐโ€‹เบžเบฑเบโ€‹เบœเปˆเบญเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบชเบญเบ‡โ€‹เบชเบฒเบกโ€‹เบ™เบฒโ€‹เบ—เบตโ€‹เบซเบผเบฒเบ.โ€

เปƒเบซเป‰เป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡ ntp, rdate, sdwdate เบšเปเปˆเป„เบ”เป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡ เป€เบงเบฅเบฒเบŠเบดเป‰เบ‡ เบ„เบปเบ™เบžเบดเบเบฒเบ™เปเบฅเบฐเบšเปเปˆเปเบฅเปˆเบ™.

# timedatectl
      Local time: Sun 2019-08-25 20:44:39 +03
  Universal time: Sun 2019-08-25 17:44:39 UTC
        RTC time: Sun 2019-08-25 17:39:52
       Time zone: Europe/Minsk (+03, +0300)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบ‚เป‰เบญเบเบˆเบฐเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบ—เบฑเบ™เบ—เบตเบงเปˆเบฒเป€เบงเบฅเบฒเบฎเบฒเบ”เปเบงเปเบกเปˆเบ™เบ–เบทเบเบ•เป‰เบญเบ‡: เบกเบฑเบ™เบˆเบฐเบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เปƒเบ™เบเบฒเบ™เบ™เปเบฒเบ—เบฒเบ‡เบ•เบทเปˆเบกเบญเบตเบ.

เบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบŠเบธเบ”เบ‚เบญเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”. เบซเบกเบฑเป‰เบ™โ€‹เปƒเบˆโ€‹เบ•เบปเบ™โ€‹เป€เบญเบ‡

เบ„เบฅเบดเบ-click...

# systemctl enable systemd-timesyncd.service && systemctl start systemd-timesyncd.service && ntpdate 0.ru.pool.ntp.org && timedatectl set-ntp on && timedatectl
25 Aug 21:00:10 ntpdate[28114]: adjust time server 195.210.189.106 offset -249.015251 sec
      Local time: Sun 2019-08-25 21:00:10 +03
  Universal time: Sun 2019-08-25 18:00:10 UTC
        RTC time: Sun 2019-08-25 18:00:10
       Time zone: Europe/Minsk (+03, +0300)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบ”เบต, เป€เบงเบฅเบฒเบ–เบทเบ synchronized, เป€เบงเบฅเบฒเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเบปเบ‡เบเบฑเบšเบฎเบฒเบ”เปเบง. "เป€เบญเบปเบฒเบกเบฑเบ™," เบ‚เป‰เบญเบเป€เบงเบปเป‰เบฒเปเบฅเบฐเบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒเบ—เบธเบฅเบฐเบเบดเบ”เบ‚เบญเบ‡เบ‚เป‰เบญเบ.

โ€œเป€เบญเบปเบฒเบซเบเบฑเบ‡? - เป€เบžเบทเปˆเบญเบ™เบฎเปˆเบงเบกเบ‡เบฒเบ™เปเบกเปˆเบ™ indignant. "เบกเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™!"

เบเบดเปˆเบ‡เป€เบˆเบปเป‰เบฒเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเปเบšเบšเบ›เบปเบเบเบฐเบ•เบดเบซเบผเบฒเบเป€เบ—เบปเปˆเบฒเปƒเบ”, เบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบเปเปˆเบเบดเปˆเบ‡เบเบฐเบžเบดเบš เปเบฅเบฐเป€เบˆเบปเป‰เบฒเบšเปเปˆเบ„เบดเบ”เบงเปˆเบฒเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบฎเป‰เบญเบเบซเบผเบทเบžเบฑเบ™เบˆเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เป€เบ—เบทเปˆเบญเบ™เบตเป‰.

# timedatectl
      Local time: Sun 2019-08-25 21:09:15 +03
  Universal time: Sun 2019-08-25 18:09:15 UTC
        RTC time: Sun 2019-08-25 18:05:04
       Time zone: Europe/Minsk (+03, +0300)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

เป€เบงเบฅเบฒเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเปเบกเปˆเบ™เบœเบดเบ”เบžเบฒเบ”เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡.

เบฅเบญเบ‡เบญเบตเบเบ„เบฑเป‰เบ‡:

# ntpdate 0.ru.pool.ntp.org && timedatectl && sleep 1 && timedatectl
25 Aug 21:07:37 ntpdate[30350]: step time server 89.175.20.7 offset -249.220828 sec
      Local time: Sun 2019-08-25 21:07:37 +03
  Universal time: Sun 2019-08-25 18:07:37 UTC
        RTC time: Sun 2019-08-25 18:07:37
       Time zone: Europe/Minsk (+03, +0300)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a
      Local time: Sun 2019-08-25 21:11:46 +03
  Universal time: Sun 2019-08-25 18:11:46 UTC
        RTC time: Sun 2019-08-25 18:07:37
       Time zone: Europe/Minsk (+03, +0300)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

เปƒเบซเป‰เป€เบฎเบฑเบ”เบกเบฑเบ™เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™:

# date -s "2019-08-25 21:10:30" && date && sleep 1 && timedatectl
Sun Aug 25 21:10:30 +03 2019
Sun Aug 25 21:10:30 +03 2019
      Local time: Sun 2019-08-25 21:14:36 +03
  Universal time: Sun 2019-08-25 18:14:36 UTC
        RTC time: Sun 2019-08-25 18:10:30
       Time zone: Europe/Minsk (+03, +0300)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

เปเบฅเบฐเป€เบŠเบฑเปˆเบ™เบ™เบตเป‰:

# hwclock --hctosys && timedatectl && sleep 1 && timedatectl
      Local time: Sun 2019-08-25 21:11:31 +03
  Universal time: Sun 2019-08-25 18:11:31 UTC
        RTC time: Sun 2019-08-25 18:11:31
       Time zone: Europe/Minsk (+03, +0300)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a
      Local time: Sun 2019-08-25 21:15:36 +03
  Universal time: Sun 2019-08-25 18:15:36 UTC
        RTC time: Sun 2019-08-25 18:11:32
       Time zone: Europe/Minsk (+03, +0300)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

เป€เบงเบฅเบฒเปเบกเปˆเบ™เบเปเบฒเบ™เบปเบ”เบชเปเบฒเบฅเบฑเบšเบงเบดเบ™เบฒเบ—เบตเบ—เบตเปˆเปเบ•เบเปเบเบ, เปเบฅเบฐเบ—เบฑเบ™เบ—เบตเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ "เบŸเป‰เบฒเบง" เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡.

เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เปƒเบ™เบšเบฑเบ™เบ—เบถเบ, เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ„เบนเปˆเบกเบทเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเป€เบงเบฅเบฒเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡, เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš, เปƒเบ™เบ—เบดเบ”เบ—เบฒเบ‡เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡ / เบœเบดเบ”เปเบฅเบฐเบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบ„เบฒเบง. เบเบณเบฅเบฑเบ‡เบŠเบดเป‰เบ‡เบ‚เปเป‰เบกเบนเบ™เบ„เบทเบ™เปƒเปเปˆ เบˆเบฒเบ systemd-timesyncd.

Aug 25 21:18:51 wisi systemd[1]: Time has been changed
Aug 25 21:18:51 wisi systemd-timesyncd[29258]: System time changed. Resyncing.
Aug 25 21:18:51 wisi systemd[1187]: Time has been changed
Aug 25 21:18:51 wisi systemd[1]: Time has been changed
Aug 25 21:18:51 wisi systemd[1187]: Time has been changed

เบ—เบตเปˆเบ™เบตเป‰

# ps afx | grep "[1]187"
 1187 ?        Ss     0:02 /lib/systemd/systemd --user

เปƒเบ™เบˆเบธเบ”เบ™เบตเป‰, เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบŠเบญเบเบซเบฒเป€เบซเบ”เบœเบปเบ™, เปเบ•เปˆเปƒเบ™เป„เบฅเบเบฐ 18 เบ›เบตเบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบซเบฒเบ™, เบชเบฐเบซเบกเบญเบ‡เป„เบ”เป‰เบชเบฐเบชเบปเบกเบชเบฐเบ–เบดเบ•เบดเบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ” "เป€เบงเบฅเบฒ" เปเบฅเบฐ, เบญเบญเบเบˆเบฒเบเบ™เบดเป„เบช, เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡, เป‚เบ—เบ” synchronization.
เปƒเบซเป‰เบ›เบดเบ”เบกเบฑเบ™เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™.

# timedatectl set-ntp off && systemctl stop systemd-timesyncd.service
# hwclock --hctosys && timedatectl && sleep 1 && timedatectl
      Local time: Sun 2019-08-25 21:25:40 +03
  Universal time: Sun 2019-08-25 18:25:40 UTC
        RTC time: Sun 2019-08-25 18:25:40
       Time zone: Europe/Minsk (+03, +0300)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a
      Local time: Sun 2019-08-25 21:29:31 +03
  Universal time: Sun 2019-08-25 18:29:31 UTC
        RTC time: Sun 2019-08-25 18:25:41
       Time zone: Europe/Minsk (+03, +0300)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

เปเบฅเบฐเปƒเบ™เบšเบฑเบ™เบ—เบถเบ

Aug 25 21:25:40 wisi systemd[1]: Time has been changed
Aug 25 21:25:40 wisi systemd[1187]: Time has been changed
Aug 25 21:29:30 wisi systemd[1]: Time has been changed
Aug 25 21:29:30 wisi systemd[1187]: Time has been changed

เบเบณเบฅเบฑเบ‡เบŠเบดเป‰เบ‡เบ‚เปเป‰เบกเบนเบ™เบ„เบทเบ™เปƒเปเปˆ เบซเบฒเบโ€‹เป„เบ›โ€‹เปเบฅเบฐโ€‹เบšเปเปˆโ€‹เบ”เบฑเปˆเบ‡โ€‹เบ™เบฑเป‰เบ™โ€‹เป„เบกเป‰โ€‹เบ—เปˆเบญเบ™โ€‹เปเบกเปˆเบ™ pristineโ€‹.

เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบšเบปเบ”เบชเบฐเบซเบผเบธเบš tcpdump เปƒเบ™เบžเบญเบ” 123 เปƒเบ™เบ—เบธเบเบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆ. เบšเปเปˆเบกเบตเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป, เปเบ•เปˆเป€เบงเบฅเบฒเบเบฑเบ‡เปเบฅเปˆเบ™เบซเบ™เบต.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบชเบญเบ‡. เบŸเป‰เบฒเบง

เบเบฑเบ‡เบกเบตเป€เบงเบฅเบฒ 1 เบŠเบปเปˆเบงเป‚เบกเบ‡เบˆเบปเบ™เบฎเบญเบ”เบ—เป‰เบฒเบเบญเบฒเบ—เบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ, เปเบฅเบฐเบ‚เป‰เบญเบเบšเปเปˆเบขเบฒเบเบญเบญเบเป„เบ›เปƒเบ™เบ—เป‰เบฒเบเบญเบฒเบ—เบดเบ”เบ”เป‰เบงเบเบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เป„เบ”เป‰ (เบขเปˆเบฒเป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบเบฑเบšเป€เบงเบฅเบฒเปƒเบ™เบฅเบฐเบซเบฑเบ”, เบšเบปเบ”เบ„เบงเบฒเบกเบ–เบทเบเบ‚เบฝเบ™เปƒเบ™เบกเบทเป‰เบ•เปเปˆเบกเบฒ. ).
เปเบฅเบฐเบ—เบตเปˆเบ™เบตเป‰เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบŠเบญเบเบซเบฒเป€เบซเบ”เบœเบปเบ™, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบˆเบฐเบžเบฐเบเบฒเบเบฒเบกเบซเบฒเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป€เบงเบปเป‰เบฒเบงเปˆเบฒ "เบ›เบฐเบ”เบดเบ”" เป€เบžเบฒเบฐเบงเปˆเบฒเบšเปเปˆเบงเปˆเบฒเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เป€เบซเบ”เบœเบปเบ™เปเบ™เบงเปƒเบ”, เบกเบฑเบ™เปเบกเปˆเบ™เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒ.

เป€เบŠเบตเบšเป€เบงเบตเบ™เบตเป‰เป€เบ›เบฑเบ™เป€เบŠเบตเบšเป€เบงเบตเบชเบฐเบ•เบตเบก เปเบฅเบฐเบ›เปˆเบฝเบ™เบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ” DVB-S2 เป€เบ›เบฑเบ™ IP. เบเบฐเปเบช DVB-S เบ›เบฐเบเบญเบšเบกเบตเป€เบงเบฅเบฒ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เป€เบ„เบทเปˆเบญเบ‡เบฎเบฑเบš, multiplexers, scramblers เปเบฅเบฐเป‚เบ—เบฅเบฐเบ—เบฑเบ”เบกเบฑเบเบˆเบฐเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™เป€เบžเบทเปˆเบญ synchronize เป‚เบกเบ‡เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš. เป„เบ”เป€เบงเบตเบ‚เบญเบ‡เบเบฐเบ”เบฒเบ™ DVB-S เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เปเบเปˆเบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบงเบดเบ—เบตเบ—เบตเปˆเป„เบงเบ—เบตเปˆเบชเบธเบ”เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบชเบฒเบ DVB-S2 เบ–เบทเบเป‚เบเบเบเป‰เบฒเบเปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบ•เบฑเบ”เบชเบฒเบเบ—เบตเปˆเบกเบฒเบˆเบฒเบ "เปเบœเปˆเบ™". เป‚เบŠเบเบ”เบต, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปเบกเปˆเบ™เบขเบนเปˆเบซเบฅเบฑเบ‡เบเปเบฒเปเบžเบ‡, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบˆเบฐเป€เบ›เบฑเบ™เบกเบฑเบ™.

เปเบ™เปˆเบ™เบญเบ™, เบ–เป‰เบฒเบšเบฑเบ™เบ—เบถเบเบกเบตเบชเบดเปˆเบ‡เบ—เบตเปˆเบ„เบงเบ™เบˆเบฐเบกเบต, เบ™เบตเป‰เบˆเบฐเบšเปเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™, เปเบ•เปˆเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบงเปˆเบฒ, เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡, เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบก.

เบ”เบต, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบญเบปเบฒเบชเบฑเบ™เบเบฒเบ™เบ”เบฒเบงเบ—เบฝเบกเบ—เบฑเบ‡เบซเบกเบปเบ”เบญเบญเบเปเบฅเป‰เบง, เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบˆเบฐเป€เบญเบปเบฒเบชเบฑเบ™เบเบฒเบ™เบ”เบฒเบงเบ—เบฝเบก - เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบ”เบถเบ‡เบชเบฒเบเป€เบ„เป€เบšเบตเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบญเบญเบ. เป€เบŠเบตเบšเป€เบงเบตเบ–เบทเบเบ•เบฑเบ”เบญเบญเบเบˆเบฒเบเป‚เบฅเบเบžเบฒเบเบ™เบญเบ เปเบฅเบฐเป€เบฎเบฑเบ”เบงเบฝเบเปเบšเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™, เปเบ•เปˆเป‚เบกเบ‡เบฅเบฐเบšเบปเบšเบเบฑเบ‡เบขเบนเปˆเปƒเบ™เป„เบง.

เบญเบฒเบ—เบดเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡, เปเบฅเบฐเบšเบฑเบ™เบซเบฒเบงเบฑเบ™เบ—เบต / เป€เบงเบฅเบฒเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เบšเปเปˆเบชเปเบฒเบ„เบฑเบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบเบฑเบšเบšเป‰เบฒเบ™เป„เบ”เป‰, เปเบ•เปˆเบ‚เป‰เบญเบเป€เบฎเบฑเบ”เบœเบดเบ”เบžเบฒเบ”เปƒเบซเบกเปˆ.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบชเบฒเบก. เบ—เบตเปˆเบ›เบถเบเบชเบฒ

เบšเปเปˆเป€เบ„เบตเบ! เบขเปˆเบฒเบ–เบฒเบกเบ„เปเบฒเบ–เบฒเบกเบเปˆเบฝเบงเบเบฑเบšเป€เบงเบ—เบตเบชเบปเบ™เบ—เบฐเบ™เบฒเปเบฅเบฐเบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบžเบดเป€เบชเบ”เบ—เบปเปˆเบงเป„เบ› (a la stackoverflow) เบ–เป‰เบฒเบ„เปเบฒเบ•เบญเบšเบ‚เบญเบ‡เบกเบฑเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบซเบผเบฒเบเบเบงเปˆเบฒเบเบฒเบ™เบชเบถเบเบชเบฒเบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡ Google เปเบฅเบฐเบญเปˆเบฒเบ™เบซเบ™เบถเปˆเบ‡เบซเบ™เป‰เบฒเบœเบนเป‰เบŠเบฒเบ.

เบžเบงเบเป€เบ‚เบปเบฒเบˆเบฐเบชเบปเปˆเบ‡เบ—เปˆเบฒเบ™เบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒ Google, เบญเปˆเบฒเบ™เบœเบนเป‰เบŠเบฒเบเบ„เบปเบ™เบ”เบฝเบงเบเบฑเบ™เปเบฅเบฐเบกเบฑเบเบญเบฐเบ—เบดเบšเบฒเบเบเบปเบ”เบฅเบฐเบšเบฝเบšเบ‚เบญเบ‡เป€เบงเบ—เบต / เป€เบงเบฑเบšเป„เบŠเบ—เปŒ, เปเบ•เปˆเบˆเบฐเบšเปเปˆเปƒเบซเป‰เบ„เปเบฒเบ•เบญเบš.

เบ™เบตเป‰เปเบกเปˆเบ™เบšเบฒเบ‡เบ›เบฑเบ”เปƒเบˆเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡:

  • เบšเปเปˆเบกเบตเปƒเบœเบเบปเบเป€เบงเบฑเป‰เบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฎเบนเป‰เบšเบฑเบ™เบซเบฒเป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™;
  • เบšเปเปˆเบกเบตเปƒเบœเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบžเบฒเบเปƒเบ•เป‰เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป€เบˆเบปเป‰เบฒ

เปเบฅเบฐเบซเบปเบงเบ‚เปเป‰:

  • เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบšเปเปˆเปƒเบซเป‰เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒ, เป€เบžเบฒเบฐเบงเปˆเบฒเบ—เปˆเบฒเบ™เป„เบ”เป‰เบกเบฒเบเบฑเบšเบ—เบดเบ”เบ—เบฒเบ‡ "เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡" เปเบฅเบฐเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบชเบธเบกเปƒเบชเปˆเบกเบฑเบ™;
  • foreman (เบœเบนเป‰เบ„เบงเบšเบ„เบธเบก, timer, old-timer, admin) เปเบกเปˆเบ™เบชเบฐเป€เบซเบกเบต, เบ–เป‰เบฒ foreman เบœเบดเบ” ... , เป€เบˆเบปเป‰เบฒเบฎเบนเป‰ ...

เบ–เป‰เบฒ เบซเบฒเบ เบงเปˆเบฒ, เปƒเบ™ เป€เบง เบฅเบฒ เบ—เบตเปˆ เบ•เบญเบš เบเบฑเบš เบ„เปเบฒ เป€เบซเบฑเบ™, เบ—เปˆเบฒเบ™ เบเบฑเบ‡ เบขเบนเปˆ เปƒเบ™ เบ‚เบญเบš เป€เบ‚เบ” เบˆเปเบฒ เบเบฑเบ” เบ‚เบญเบ‡ เบ„เปเบฒ เบชเบฑเบš censored, เบซเบผเบฑเบ‡ เบˆเบฒเบ เบ™เบฑเป‰เบ™ เบ—เปˆเบฒเบ™ เบกเบต เป€เบชเบฑเป‰เบ™ เบ›เบฐ เบชเบฒเบ” เบ—เบตเปˆ เป€เบ‚เบฑเป‰เบก เปเบ‚เบ‡.

เบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆ

เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปเบšเปˆเบ‡เบงเบฝเบเบญเบญเบเป€เบ›เบฑเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเบชเบฐเบฅเบฑเบšเบชเบฑเบšเบŠเป‰เบญเบ™.

เบžเบงเบเป€เบฎเบปเบฒเบขเบธเบ”เป€เบŠเบปเบฒเบเบฒเบ™เบญเบตเบ‡เปƒเบชเปˆเบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบชเบฐเบ–เบดเบ•เบด, เบ—เบตเปˆเบ›เบถเบเบชเบฒเปเบฅเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบˆเบฐเบšเปเปˆ "เบญเบฐเบ—เบดเบšเบฒเบ" เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบชเบธเบ”เบ—เป‰เบฒเบ, เปเบ•เปˆเบŠเบญเบเบซเบฒเป€เบซเบ”เบœเบปเบ™เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡.

เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบœเบนเป‰เปƒเบ”เบœเบนเป‰เบซเบ™เบถเปˆเบ‡เบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒ, เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เบ•เป‰เบญเบ‡เป€เบเบตเบ”เบ‚เบถเป‰เบ™.

เบ„เบทเบเบฑเบ™เบเบฑเบšเปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™เบŠเบญเบšเปเบงเป€เบญเบเบฐเบชเบฒเบ™เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เปเบซเบผเปˆเบ‡, เบชเบฐเบ™เบฑเป‰เบ™เปƒเบ™เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบฅเบฐเบšเบปเบš, เบœเบนเป‰เบŠเปˆเบงเบเบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบš, เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เบเบฒเบ™เบเบงเบ”เบชเบญเบš.

เบ›เบฑเบ”โ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ„เบงเบฒเบกโ€‹เบชเบปเบ‡โ€‹เปƒเบชโ€‹เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบœเปˆเบฒเบ™ mana, เปเบ•เปˆเบšเปเปˆเปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒเปƒเบ™ Linux เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™ clock_settime ะธ เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ‚เบญเบ‡โ€‹เบกเบทเป‰โ€‹, เบชเบฐเบ™เบฑเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป€เบฅเบทเบญเบเบเบฒเบ™เป‚เบ— "เป€เบซเบกเบฒเบฐเบชเบปเบก" เบ—เบฑเบ‡เบซเบกเบปเบ”:

# man syscalls | col | grep -F '(2)' | grep -vE '(:|;)' | grep -E '(time|date|clock)' | sed "s/(2).*//" | xargs -I SYSCALL echo "-S SYSCALL " | xargs echo
-S adjtimex -S clock_adjtime -S clock_getres -S clock_gettime -S clock_nanosleep -S clock_settime -S futimesat -S getitimer -S gettimeofday -S mq_timedreceive -S mq_timedsend -S rt_sigtimedwait -S s390_runtime_instr -S setitimer -S settimeofday -S stime -S time -S timer_create -S timer_delete -S timer_getoverrun -S timer_gettime -S timer_settime -S timerfd_create -S timerfd_gettime -S timerfd_settime -S times -S utime -S utimensat -S utimes

เปเบฅเบฐเบ–เบดเป‰เบก s390_runtime_instr, stime, timerfd_create, เบ—เบตเปˆ เบเบฒเบ™เบเบงเบ”เบชเบญเบš เบšเปเปˆเบฎเบฑเบšเบฎเบนเป‰เบกเบฑเบ™, เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เป„เบ”เป‰เป€เบ›เบตเบ”เบ•เบปเบงเบเบฒเบ™เบเบงเบ”เบชเบญเบšเปƒเบ™เบฎเบนเบšเปเบšเบš:

auditctl -a exit,always -S adjtimex -S clock_adjtime -S clock_getres -S clock_nanosleep -S clock_settime -S futimesat -S getitimer -S gettimeofday -S mq_timedreceive -S mq_timedsend -S rt_sigtimedwait -S semtimedop -S setitimer -S settimeofday -S time -S timer_create -S timer_delete -S timer_getoverrun -S timer_gettime -S timer_settime -S timerfd_gettime -S timerfd_settime -S times -S utime -S utimensat -S utimes

เบซเบผเบฑเบ‡เบˆเบฒเบเปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบšเปเปˆเบกเบตเบšเบฑเบ™เบ—เบถเบเบญเบทเปˆเบ™เป†เปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบšเบฑเบ™เบ—เบถเบเบ—เบตเปˆเบ‚เป‰เบญเบเบชเบปเบ™เปƒเบˆ เบชเบฝเบ‡เบฎเป‰เบญเบ‡ เบ™เบญเบ เป€เปœเบทเบญ เบˆเบฒเบเบชเบญเบ‡เบญเบฑเบ™เบ™เบตเป‰, เบ‚เป‰เบญเบเปƒเบŠเป‰เบžเบฝเบ‡เปเบ•เปˆเบžเบงเบเบกเบฑเบ™เบ•เบทเปˆเบกเบญเบตเบ.

เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบš clock_settime ะธ เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ‚เบญเบ‡โ€‹เบกเบทเป‰โ€‹ เปเบฅเบฐเบžเบฐเบเบฒเบเบฒเบกเบ›เปˆเบฝเบ™เบงเบฑเบ™เบ—เบต:

# auditctl -a exit,always -S clock_settime -S settimeofday && date -s "2019-08-22 12:10:00" && sleep 5 && auditctl -D

เบเบฒเบ™เบŠเบฑเบเบŠเป‰เบฒเบซเป‰เบฒเบงเบดเบ™เบฒเบ—เบตเบ–เบทเบเป€เบžเบตเปˆเบกเป€เบžเบทเปˆเบญเปƒเบซเป‰ "เปเบกเปˆเบเบฒเบเบฒเบ" เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ–เบทเบเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบ—เบตเปˆเบˆเบฐเปเบเป‰เป„เบ‚เป€เบงเบฅเบฒ.

เปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™:

# aureport -s -i

Syscall Report
=======================================
# date time syscall pid comm auid event
=======================================
Warning - freq is non-zero and incremental flushing not selected.
1. 08/22/2019 12:10:00 settimeofday 3088 chkcache_proces root 479630
2. 08/26/2019 09:37:06 clock_settime 1538 date root 479629

เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ เบงเบฑเบ™ เปเบฅเบฐเบšเปเปˆเบฎเบนเป‰เบˆเบฑเบเบเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ chkcache_processes. เบกเบฑเบ™เบˆเบปเบšเบฅเบปเบ‡เปƒเบ™เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เป€เบžเบฒเบฐเบงเปˆเบฒ aureport เบˆเบฑเบ”เบฎเบฝเบ‡เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ•เบฒเบกเบงเบฑเบ™เบ—เบตเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ›เปˆเบฝเบ™เบˆเบฒเบเบ–เบฒเบ™เบชเบญเบ‡, เปเบฅเบฐเป€เบซเบ”เบเบฒเบ™เป€เบเบตเบ”เบ‚เบถเป‰เบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ”. เบงเบฑเบ™เบ—เบต "2019-08-22 12:10:00".
เปƒเบœเปƒเบซเป‰เบเบณเป€เบ™เบตเบ”เบฅเบฒเบง?

# ausearch -sc settimeofday --comm "chkcache_proces"
----
time->Thu Aug 22 12:10:00 2019
type=PROCTITLE msg=audit(1566465000.000:479630): proctitle="/usr/local/bin/oscam"
type=SYSCALL msg=audit(1566465000.000:479630): arch=c000003e syscall=164 success=yes exit=0 a0=7fde0dfc6e60 a1=0 a2=136cf a3=713ba56 items=0 ppid=3081 pid=3088 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts20 ses=68149 comm="chkcache_proces" exe="/usr/local/bin/oscam" key=(null)

/usr/local/bin/oscam - เปเบกเปˆเบเบฒเบเบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ–เบทเบเบžเบปเบšเป€เบซเบฑเบ™. เป€เบ–เบดเบ‡เบงเปˆเบฒเบˆเบฐเบกเบตเบžเบถเบ”เบ•เบดเบเปเบฒ "เป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบ", เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเป€เบชเบ”เบฅเบฐเบšเบปเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ—เบตเปˆเบกเบตเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚, เปเบ•เปˆเบ‚เป‰เบญเบเบเบฑเบ‡เบขเบฒเบเบฎเบนเป‰. oscam, WTF?

เบ„เปเบฒเบ•เบญเบšเปเบกเปˆเบ™เบžเบปเบšเป€เบซเบฑเบ™เบขเปˆเบฒเบ‡เป„เบงเบงเบฒเปƒเบ™ เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡:

#if defined(CLOCKFIX)
if (tv.tv_sec > lasttime.tv_sec || (tv.tv_sec == lasttime.tv_sec && tv.tv_usec >= lasttime.tv_usec)) // check for time issues!
{
  lasttime = tv; // register this valid time
}
  else
{
  tv = lasttime;
  settimeofday(&tv, NULL); // set time back to last known valid time
  //fprintf(stderr, "*** WARNING: BAD TIME AFFECTING WHOLE OSCAM ECM HANDLING, SYSTEMTIME SET TO LAST KNOWN VALID TIME **** n");
}

เบกเบฑเบ™เปœเป‰เบฒเบฎเบฑเบเปเบ™เบงเปƒเบ”เบขเบนเปˆเบ™เบตเป‰ เบญเบญเบเบ„เปเบฒเป€เบซเบฑเบ™ เบชเบฒเบ เป€เบ•เบทเบญเบ™เป„เบž...

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™