Memperbarui sistem CentOS Anda secara teratur adalah salah satu aspek terpenting dari keamanan sistem secara keseluruhan. Jika Anda tidak memperbarui paket sistem operasi dengan patch keamanan terbaru, maka mesin Anda akan rentan terhadap serangan.

Jika Anda mengelola beberapa mesin CentOS, memperbarui paket sistem secara manual akan memakan banyak waktu. Bahkan jika Anda mengelola satu instalasi CentOS terkadang Anda mungkin mengabaikan pembaruan penting. Di sinilah pembaruan otomatis berguna.

Dalam tutorial ini, kita akan membahas konfigurasi update otomatis pada CentOS 7. Instruksi yang sama berlaku untuk CentOS 6.

Prasyarat

Sebelum melanjutkan dengan tutorial ini, pastikan Anda masuk sebagai user dengan hak istimewa sudo.

Install Paket yum-cron

Paket yum-cron memungkinkan Anda menjalankan perintah yum secara otomatis sebagai cron job untuk memeriksa, mengunduh, dan menerapkan pembaruan. Kemungkinan paket ini sudah diinstal pada sistem CentOS Anda. Jika belum diinstal, Anda dapat menginstal paket dengan menjalankan perintah berikut:

sudo yum install yum-cron

Setelah instalasi selesai, aktifkan dan mulai layanan:

sudo systemctl enable yum-cron
sudo systemctl start yum-cron

Untuk memverifikasi bahwa layanan sedang berjalan, ketikkan perintah berikut:

systemctl status yum-cron

Informasi tentang status layanan yum-cron akan ditampilkan di layar:

● yum-cron.service - Run automatic yum updates as a cron job
   Loaded: loaded (/usr/lib/systemd/system/yum-cron.service; enabled; vendor preset: disabled)
   Active: active (exited) since Sat 2019-05-04 21:49:45 UTC; 8min ago
  Process: 2713 ExecStart=/bin/touch /var/lock/subsys/yum-cron (code=exited, status=0/SUCCESS)
 Main PID: 2713 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/yum-cron.service

Konfigurasi yum-cron

yum-cron hadir dengan dua file konfigurasi yang disimpan di direktori /etc/yum, file konfigurasi per jam adalah yum-cron.conf dan file konfigurasi harian adalah yum-cron-hourly.conf.

Layanan yum-cron hanya mengontrol apakah cron jobs akan berjalan atau tidak. Utilitas yum-cron dipanggil oleh file /etc/cron.hourly/0yum-hourly.cron dan file cron /etc/cron.daily/0yum-daily.cron .

Secara default, cron per jam dikonfigurasi untuk tidak melakukan apa pun. Jika ada pembaruan yang tersedia, cron harian diatur untuk mengunduh tetapi tidak menginstal pembaruan yang tersedia dan mengirim pesan ke stdout. Konfigurasi default cukup baik untuk sistem produksi di mana Anda ingin menerima pemberitahuan dan melakukan pembaruan secara manual setelah menguji pembaruan di server pengujian.

File konfigurasi terstruktur dalam bagian-bagian dan setiap bagian berisi komentar yang menggambarkan apa yang dilakukan setiap baris konfigurasi.

Untuk mengedit file konfigurasi yum-cron, buka file dengan teks editor nano di terminal Anda:

sudo nano /etc/yum/yum-cron-hourly.conf

Di bagian pertama, [commands] Anda dapat menentukan jenis paket yang ingin Anda perbarui, mengaktifkan notifikasi, download dan mengatur untuk secara otomatis menerapkan pembaruan saat tersedia. Secara default, update_cmd diatur ke default yang akan memperbarui semua paket. Jika Anda ingin mengatur pembaruan tanpa pengawasan otomatis, disarankan untuk mengubah nilai security yang akan memberitahu Anda untuk memperbarui paket yang hanya memperbaiki masalah keamanan.

Dalam contoh berikut ini, kami mengubah update_cmd menjadi security dan mengaktifkan update tanpa pengawasan dengan menetapkan apply_updates menjadi yes:

[commands]
update_cmd = security
update_messages = yes
download_updates = yes
apply_updates = no
random_sleep = 360

Bagian kedua menentukan cara mengirim pesan. Untuk mengirim pesan ke stdout dan email, ubah nilai  emit_via ke stdio,email..

[emitters]
system_name = None
emit_via = stdio,email
output_width = 80

Di bagian [email] Anda dapat mengatur alamat email pengirim dan penerima. Pastikan Anda memiliki alat yang dapat mengirim email yang diinstal pada sistem Anda, seperti mailx atau postfix.

[email]
email_from = [email protected]
email_to = [email protected]
email_host = localhost

Bagian [base] memungkinkan Anda untuk menimpa pengaturan yang ditentukan dalam file yum.conf. Jika Anda ingin mengecualikan paket tertentu agar tidak diperbarui, Anda dapat menggunakan parameter exclude . Dalam contoh berikut, kita akan mengecualikan paket [mongodb].

[base]
debuglevel = -2
mdpolicy = group:main
exclude = mongodb*

Anda tidak perlu restart layanan yum-cron, begitu anda keluar, perubahan diterapkan.

Melihat log

Gunakan grep untuk memeriksa apakah cron jobs yang terkait dengan yum dijalankan:

sudo grep yum /var/log/cron
May  4 22:01:01 localhost run-parts(/etc/cron.hourly)[5588]: starting 0yum-hourly.cron
May  4 22:32:01 localhost run-parts(/etc/cron.daily)[5960]: starting 0yum-daily.cron
May  4 23:01:01 localhost run-parts(/etc/cron.hourly)[2121]: starting 0yum-hourly.cron
May  4 23:01:01 localhost run-parts(/etc/cron.hourly)[2139]: finished 0yum-hourly.cron

history update yum dicatat dalam file /var/log/yum. Anda dapat melihat update terbaru menggunakan perintah tail:

sudo tail -f  /var/log/yum.log
May 04 23:47:28 Updated: libgomp-4.8.5-36.el7_6.2.x86_64
May 04 23:47:31 Updated: bpftool-3.10.0-957.12.1.el7.x86_64
May 04 23:47:31 Updated: htop-2.2.0-3.el7.x86_64

Kesimpulan

Dalam tutorial ini, Anda telah belajar cara mengkonfigurasi update otomatis dan menjaga sistem CentOS Anda tetap terbarui.