Mertcan GÖKGÖZ
Takip Et
Linux Hacısı, Sistem Uzmanı
· 2 dak. Okunur

Centos 7 Otomatik Güncelleştirmeleri Aktif Etmek

Linux sistemlerde son zamanlarda ortaya çıkan bir otomatik güncelleme furyası var Centos/RHEL ailesi bunu uzun zamandır yapıyordu zaten. Kurumsal çözümler için oldukça güzel bir durum her paketin anında güncellenmesi yerine sadece güvenlik güncelleştirmelerinin geçilmesi yeter

Kritik çalışan ve sorun olması istenmeyen durumlar için çoğu zaman güvenlik güncelleştirmeleri bile göz ardı edilir. Çalışıyorsa dokunma mantığı bu gibi durumlar için risk oluşturur.

Gelin hep beraber Centos/RHEL ailesinde bu durumu nasıl çözebileceğiz bir bakalım

İlk önce yum-cron adlı paketi sistemimize dahil etmemiz gerekiyor. Bu paket bize gerektiği zaman güncellemeyi otomatik olarak yüklemesini sağlayacak

yum -y install yum-cron

Bu komut, yum-cron paketini kısa bir sürede yükleyecektir, şimdi yapılandırma zamanı geldi, varsayılan yapılandırma dosyası /etc/yum/yum-cron.conf dır.

#  What kind of update to use:
# default                            = yum upgrade
# security                           = yum --security upgrade
# security-severity:Critical         = yum --sec-severity=Critical upgrade
# minimal                            = yum --bugfix upgrade-minimal
# minimal-security                   = yum --security upgrade-minimal
# minimal-security-severity:Critical =  --sec-severity=Critical upgrade-minimal
update_cmd = default

# Whether a message should be emitted when updates are available,
# were downloaded, or applied.
update_messages = yes

# Whether updates should be downloaded when they are available.
download_updates = yes

# Whether updates should be applied when they are available.  Note
# that download_updates must also be yes for the update to be applied.
apply_updates = no

# Maximum amout of time to randomly sleep, in minutes.  The program
# will sleep for a random amount of time between 0 and random_sleep
# minutes before running.  This is useful for e.g. staggering the
# times that multiple systems will access update servers.  If
# random_sleep is 0 or negative, the program will run immediately.
# 6*60 = 360
random_sleep = 360

Şimdi bu default yapılandırma dosyamız içerisinde yapılacak olanları belirleyebiliyoruz. Biz sadece güvenlik güncelleştirmelerini yapmak istiyoruz. Bunun aynı zamanda otomatik olmasınıda istiyoruz.

İlk olarak bence en can alıcı noktamız, CENTOS/RHEL 6 serisinde hangi tür güncellemenin otomatik olarak yapılabileceğini seçemiyorduk, CENTOS/RHEL 7'de bu konu çözülmüş ve bir çok seçenekte yukardaki gibi getirilmiş.

Şimdi geldik yapılandırmayı yapmaya güvenlik güncelleştirmeleri için aşağıdaki değişikliği default yapılandırma dosyası üzerinde uygulayınız.

update_cmd = security-severity:Critical

Bu size sistem üzerinde tüm güvenlik güncelleştirmelerini değil sadece kritik olanları getireceği anlamına gelir. Böylelikle sistemde istenmeyen durumların önüne geçebilirsiniz.

Ne demiştik kritik servislerin çalışmasına engel olmayacak şekilde güvenlik yamalarını yapmamız önemli demiştik. Yeniden başlaması uzun sürecek servislerin yeniden başlatılması önerilmez. Bu yüzden aşağıdaki parametreyi kullanmanız zorunludur.

exclude=kernel* mysql*

Bu uygulamalara gelecek olası güvenlik güncelleştirmelerini yapmak için ise yoğunluğun az olduğu, kesintinin sisteminizi etkilemeyeceği bir zamanı seçip güncellemeleri yapabilirsiniz. (Örneğin gece 03:00 gibi)

Aynı zamanda bu güncellemelerin otomatik olarak yapılmasınıda sağlayabilirsiniz.

apply_updates = yes

Tabi ben gözümle göreceğim illaki derseniz bu seçeneği no olarak ayarlayın sadece size mail yada sunucuya bağlandığınızda bir mesaj olarak kritik güncelleştirmeler var bak yap yoksa sıkıntı çıkar diye uyaracak

Tabi mail ile size ulaşabilmesi için aşağıdaki ayarlarında aynı yapılandırma dosyasının en altına eklenmesi gerekiyor.

[email]
email_from = [email protected]
email_to = [email protected]
email_host = smtp.mertcangokgoz.com

Kayıt edip çıkış yapıyorsunuz bundan sonra güncelleme geldiğinde ve güncellemelerin durumları hakkında hem size bildiriyor hemde yaptıklarına dair bir bildirimde atmayı ihmal etmiyor.

Servisin çalıştığını ise systemctl status yum-cron.service komutu aracılığı ile öğrenebilirsiniz. Daha yeni kurduysanız ve ayarlamarı yeni yaptıysanız. stopped olarak görmeniz gayet normal bu durumda systemctl start yum-cron.service komutu ile servisi başlatabilirsiniz.